:root{--dark:#1c1718;--room:#302326;--red:#b8483d;--paper:#ede5d8;--cream:#f8f2e8;--muted:#c1aea7;--line:#765e59;--mono:'SFMono-Regular',Consolas,'Courier New',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--dark);color:var(--paper);font-family:'Hiragino Kaku Gothic ProN','Noto Sans JP',Arial,sans-serif;line-height:1.75}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #fa9b78;outline-offset:4px}.skip{position:absolute;top:-60px;left:10px;background:#fff;color:#000;padding:8px;z-index:100}.skip:focus{top:8px}.demo-banner{display:flex;justify-content:space-between;gap:15px;padding:6px clamp(20px,4vw,65px);background:#5e251f;color:#fff;font:700 .62rem var(--mono);letter-spacing:.07em}.header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 clamp(20px,4vw,65px);border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:800;font-size:1.3rem;letter-spacing:-.05em;white-space:nowrap}.brand small{display:block;font:700 .54rem var(--mono);letter-spacing:.2em;color:#e2755e}.header nav{display:flex;gap:clamp(15px,3vw,50px)}.header nav a,.back{text-decoration:none;font-size:.73rem}.header nav a:hover,.back:hover{color:#e2755e}.back{white-space:nowrap;border-bottom:1px solid var(--red)}.opening{display:grid;grid-template-columns:36% 64%;min-height:760px;background:radial-gradient(circle at 90% 10%,#512922,#1c1718 60%)}.opening-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(35px,5vw,85px);position:relative}.eyebrow,.film-code,.hero-frame figcaption,.story-number,.story-strip span,.develop-bar,.develop-bottom,.tiny-label,.thumbs button>span,.memo>span,.notes .eyebrow{font:700 .65rem var(--mono);letter-spacing:.12em}.eyebrow{color:#e67660}.opening h1{font-weight:900;font-size:clamp(3.3rem,6.2vw,7rem);line-height:1.1;letter-spacing:-.1em;margin:30px 0}.opening h1 em{font-style:normal;color:#e67660}.opening-copy>p{font-size:.82rem;max-width:360px;color:#d2c3bb}.opening-copy>a{margin-top:28px;padding:10px 0;border-bottom:1px solid var(--red);text-decoration:none;font-size:.76rem}.film-code{position:absolute;bottom:40px;color:#a78d85}.contact-hero{position:relative;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr .9fr;gap:15px;padding:45px clamp(20px,5vw,80px) 45px 0;min-width:0}.hero-frame{margin:0;position:relative;padding:12px 12px 29px;background:#0e0c0d;box-shadow:0 8px 25px #0007;min-width:0;overflow:hidden}.hero-frame img{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.15) contrast(1.06)}.hero-frame figcaption{position:absolute;bottom:7px;left:12px;color:#d0b9ac;font-size:.5rem}.hero-frame.one{grid-row:1/3;transform:rotate(-3deg)}.hero-frame.two{transform:rotate(4deg) translateY(10px)}.hero-frame.three{transform:rotate(-5deg) translateY(-8px)}.hero-frame img{animation:develop 1.5s ease-out both}.hero-frame.two img{animation-delay:.25s}.hero-frame.three img{animation-delay:.5s}.proof-stamp{position:absolute;right:35px;bottom:30px;z-index:2;display:grid;place-items:center;width:110px;height:110px;border:4px double #e67e66;border-radius:50%;color:#e67e66;font:800 .9rem var(--mono);line-height:1.2;text-align:center;transform:rotate(15deg)}.story{display:grid;grid-template-columns:160px minmax(0,1fr) 280px;gap:25px;padding:clamp(90px,10vw,155px) clamp(20px,5vw,90px);background:var(--paper);color:var(--dark);align-items:start}.story-number{color:var(--red);padding-top:17px}.story h2,.gallery h2,.styles h2,.notes h2{font-size:clamp(2.2rem,4.5vw,5rem);line-height:1.25;letter-spacing:-.07em;margin:0;font-weight:800}.story>p{font-size:.82rem}.story-strip{grid-column:2/4;display:flex;justify-content:space-between;gap:10px;padding-top:35px;border-top:2px solid var(--dark);margin-top:30px}.gallery{padding:clamp(90px,10vw,150px) clamp(20px,5vw,90px);background:#3a2527}.gallery-top{display:grid;grid-template-columns:160px 1fr 270px;gap:25px;align-items:end;margin-bottom:50px}.gallery-top .eyebrow{align-self:start}.gallery-top>p{font-size:.78rem;color:#dac7bf}.gallery-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:40px;align-items:start}.develop{padding:14px;background:#0e0c0c;box-shadow:14px 14px 0 #60332f}.develop-bar,.develop-bottom{display:flex;justify-content:space-between;gap:10px;padding:8px 0;color:#e48a71;font-size:.56rem}.develop-image{overflow:hidden;aspect-ratio:1.18}.develop-image img{display:block;width:100%;height:100%;object-fit:cover;animation:develop 1.1s ease-out both}.develop-image img.changing{animation:develop 1.1s ease-out both}.gallery-side{padding:15px 0}.tiny-label{color:#e48a71}.gallery-side h3{font-size:clamp(1.7rem,2.8vw,3rem);line-height:1.3;margin:20px 0}.gallery-side>p{font-size:.82rem;color:#dfcfc5}.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:38px}.thumbs button{padding:6px;background:#21191a;border:1px solid #84625b;color:#fff;text-align:left;cursor:pointer;min-width:0}.thumbs button[aria-pressed=true]{border:2px solid #f08b6c;background:#67342f}.thumbs img{display:block;width:100%;aspect-ratio:.88;object-fit:cover;filter:grayscale(.35)}.thumbs button[aria-pressed=true] img{filter:none}.thumbs button>span{display:block;margin-top:8px;font-size:.54rem}.thumbs button b{display:block;margin-top:3px;font:700 .73rem Arial,sans-serif}.gallery-side>small{display:block;margin-top:20px;font-size:.68rem;color:#c9aaa1}.styles{padding:clamp(90px,10vw,150px) clamp(20px,5vw,90px);background:#e8ddd0;color:var(--dark)}.styles-heading{display:grid;grid-template-columns:160px 1fr 290px;gap:25px;align-items:end;margin-bottom:55px}.styles-heading .eyebrow{align-self:start;color:var(--red)}.styles-heading>p{font-size:.79rem}.styles-heading>p:last-child{grid-column:2/4;padding:13px 17px;border-left:4px solid var(--red);background:#f7eee4;margin:0}.styles-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.selectors{padding:clamp(25px,4vw,55px);background:#332728;color:#fff}fieldset{border:0;border-bottom:1px solid #8c746c;margin:0 0 30px;padding:0 0 30px}legend{font:700 .78rem var(--mono);letter-spacing:.05em;margin-bottom:18px}.choices{display:flex;flex-wrap:wrap;gap:8px}.choices button{min-height:47px;padding:9px 13px;border:1px solid #9b837a;background:transparent;color:#fff;font:inherit;font-size:.76rem;cursor:pointer}.choices button[aria-pressed=true]{background:#df795e;border-color:#df795e;color:#161010;font-weight:800}.reset{padding:0 0 4px;border:0;border-bottom:1px solid #f5a187;background:none;color:#f5a187;font:inherit;font-size:.75rem;cursor:pointer}.memo{padding:clamp(30px,4vw,60px);background:#f8f0e4;border:1px solid #a69184;box-shadow:12px 12px 0 #c5ada0}.memo>span{color:var(--red)}.memo h3{font-size:clamp(1.8rem,2.7vw,3rem);line-height:1.3;margin:22px 0;font-weight:800}.memo>p{font-size:.78rem}.memo dl{margin:30px 0;border-top:1px solid #a49485}.memo dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #a49485;padding:10px 0}.memo dt{font-size:.7rem}.memo dd{margin:0;font-size:.76rem;font-weight:800;text-align:right}.notes{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:clamp(90px,10vw,150px) clamp(20px,5vw,90px);background:var(--dark)}.notes h2{margin-top:22px}.notes details{padding:14px 0;border-top:1px solid #846c65}.notes details:last-of-type{border-bottom:1px solid #846c65}.notes summary{cursor:pointer;font-size:.84rem}.notes details p{font-size:.76rem;color:#d1bcb3}.notes a{display:inline-block;margin-top:35px;border-bottom:1px solid #e77b61;text-decoration:none;font-size:.8rem}footer{display:flex;justify-content:space-between;gap:20px;padding:25px clamp(20px,5vw,90px);background:#0c090a;color:#bba49c;font:700 .61rem var(--mono)}footer a{text-decoration:none;color:#e8d2c9}@keyframes develop{0%{filter:grayscale(1) contrast(1.7) brightness(.4);opacity:.1}45%{filter:sepia(.9) contrast(1.3) brightness(.75);opacity:.7}100%{filter:none;opacity:1}}
.hero-frame.one img{object-position:30% center}
@media(max-width:1100px){.header nav{display:none}.opening{grid-template-columns:40% 60%}.contact-hero{padding-right:30px}.story,.gallery-top,.styles-heading{grid-template-columns:130px 1fr}.story>p,.gallery-top>p,.styles-heading>p{grid-column:2}.story-strip{grid-column:2}.styles-heading>p:last-child{grid-column:2}.gallery-layout{grid-template-columns:1fr}.gallery-side{max-width:750px}.thumbs{max-width:550px}}
@media(max-width:700px){.demo-banner{font-size:.49rem}.demo-banner span:last-child{display:none}.header{height:68px}.brand{font-size:1.1rem}.brand small{font-size:.42rem}.back{font-size:.65rem}.opening{grid-template-columns:1fr}.opening-copy{min-height:520px;padding:65px 24px}.opening h1{font-size:clamp(4rem,14vw,7rem)}.film-code{bottom:20px}.contact-hero{height:520px;padding:0 24px 45px}.hero-frame{padding:7px 7px 24px}.hero-frame figcaption{font-size:.37rem}.proof-stamp{width:75px;height:75px;right:20px;bottom:25px;font-size:.58rem;border-width:3px}.story,.gallery,.styles,.notes{padding:85px 24px}.story,.gallery-top,.styles-heading{display:block}.story h2,.gallery h2,.styles h2,.notes h2{margin:20px 0}.story-strip{font-size:.5rem}.gallery-layout{display:block}.develop{box-shadow:8px 8px 0 #60332f}.gallery-side{margin-top:40px}.thumbs button>span{font-size:.48rem}.thumbs button b{font-size:.63rem}.styles-layout{grid-template-columns:1fr}.selectors,.memo{padding:28px 23px}.notes{grid-template-columns:1fr;gap:35px}footer{display:block}footer>*{display:block;margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-frame img,.develop-image img,.develop-image img.changing{animation:none}}

/* Japanese body copy: avoid stranded short endings at responsive widths. */
p:not(.handnote){text-wrap:pretty;line-break:strict}

/* Darkroom title: the contact sheet leads, followed by the industry name. */
.opening-copy{justify-content:flex-start;padding-top:clamp(85px,10vw,145px)}
.opening-phrase{margin:28px 0 0;color:#f0ad98;font-size:clamp(1.1rem,1.8vw,1.8rem);font-weight:800;letter-spacing:.06em}
.opening h1{font-size:clamp(2.7rem,4.2vw,4.9rem);line-height:1.18;letter-spacing:-.08em;margin:12px 0 25px}
@media(max-width:700px){.contact-hero{order:-1;height:400px;padding:20px 24px 35px}.opening-copy{min-height:0;padding:32px 24px 45px}.opening-phrase{margin:8px 0 0}.opening h1{font-size:clamp(2.65rem,11vw,4rem);margin:8px 0 20px}.film-code{position:static;display:block;margin-top:28px}.proof-stamp{bottom:12px}}
