@font-face{font-family:ObsessiveDisplay;src:local('Didot'),local('Didot-Regular'),url('theme/font/BodoniModa-VF.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:LibreBaskerville;src:url('theme/font/LibreBaskerville-Regular.woff') format('woff');font-display:swap;font-weight:400}
/* A single, quiet fade on page entry; opacity returns to its normal state afterward. */
@keyframes page-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){body{animation:page-enter 1.1s cubic-bezier(.25,.1,.25,1) backwards}}
:root{--ink:#162234;--slate:#4c5c68;--mid:#71818a;--mist:#d3d5d9;--paper:#fff;--line:rgba(22,34,52,.18);--serif:ObsessiveDisplay,'Times New Roman',serif;--jp:'Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;--rhythm:clamp(88px,9vw,152px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--jp);font-size:16px;line-height:2;letter-spacing:.025em;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;vertical-align:middle}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--slate);outline-offset:5px}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(1200px,100% - 112px);margin-inline:auto}.section{padding-block:var(--rhythm)}.eyebrow{font-size:12px;letter-spacing:.12em;font-family:LibreBaskerville,serif;line-height:1.8}.section-heading{display:flex;align-items:baseline;gap:24px;margin-bottom:55px}.section-heading h2{font:400 clamp(36px,4vw,58px)/1.1 var(--serif);letter-spacing:.015em}.section-number{font:11px/1.6 LibreBaskerville,serif;letter-spacing:.08em}.section-heading>p{font-size:13px;margin-left:auto}.text-link{display:inline-flex;align-items:center;gap:40px;font:14px/2 LibreBaskerville,serif;border-bottom:1px solid var(--ink);padding-bottom:8px}.text-link span{font:22px/1 var(--jp);transition:transform .4s}.text-link:hover span{transform:translate(3px,-3px)}
.site-header{position:fixed;inset:0 0 auto;z-index:30;height:88px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(22,34,52,.09);display:flex;align-items:center;justify-content:space-between;padding-inline:4.8%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s,visibility .65s}.site-header.is-visible,.site-header.always{opacity:1;visibility:visible;pointer-events:auto}.header-logo img{width:172px;display:block}.site-header nav{display:flex;gap:32px}.site-header nav a{font:13px/2 LibreBaskerville,serif;position:relative}.site-header nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--ink);transition:right .3s}.site-header nav a:hover:after,.site-header nav a.is-active:after{right:0}.menu-toggle{display:none;border:0;background:none;width:40px;height:44px;padding:6px}.menu-toggle>span:not(.menu-label){display:block;height:1px;background:currentColor;width:26px;margin:6px 0;transition:transform .4s}.menu-label{font:9px/1 LibreBaskerville,serif;display:block}.mobile-menu{display:none}
.hero{position:relative;min-height:620px;height:100svh;max-height:1100px;overflow:hidden}.hero-one{color:white;background:var(--ink)}.motion-art,.art-base,.motion-layer{position:absolute;inset:0;width:100%;height:100%}.motion-art{overflow:hidden}.art-base{object-fit:cover;transform:scale(1.055)}.motion-layer{object-fit:cover;transform-origin:center;will-change:transform}.motion-layer:nth-of-type(1){animation:art-drift-1 32s ease-in-out infinite alternate}.motion-layer:nth-of-type(2){animation:art-drift-2 39s ease-in-out infinite alternate}.motion-layer:nth-of-type(3){animation:art-drift-3 46s ease-in-out infinite alternate}.hero-logo{position:absolute;inset:43% 0 auto;text-align:center;z-index:2}.hero-logo img{width:270px}.hero-bottom{position:absolute;left:5%;right:5%;bottom:35px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;font:11px/1.6 LibreBaskerville,serif;z-index:5;letter-spacing:.02em}.hero-bottom>a{position:absolute;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap}.hero-bottom i{display:block;width:1px;height:32px;background:currentColor;margin:15px auto 0;transform-origin:top;animation:scroll-line 3s ease-in-out infinite}.motion-toggle{background:none;border:0;padding:10px 0;font:10px/1.4 LibreBaskerville,serif;letter-spacing:.03em;display:flex;align-items:center;gap:12px}.motion-toggle span{border-bottom:1px solid currentColor;min-width:29px}.concept-layout{max-width:980px}.concept-title .section-heading{justify-content:center;margin-bottom:32px}.concept-display{font:400 clamp(34px,4vw,54px)/1.28 var(--serif);letter-spacing:.045em;text-align:center;margin-bottom:50px}.prose{max-width:760px;margin:auto}.prose>p+p{margin-top:30px}.prose>p:first-child{font-size:19px;margin-bottom:35px}.graphic-band{height:clamp(150px,17vw,250px);overflow:hidden}.graphic-band img{width:100%;height:100%;object-fit:cover}.services .wrap{max-width:1080px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:40px 260px 1fr 24px;gap:22px;align-items:start;padding-block:31px;border-bottom:1px solid var(--line)}.service-index{font:11px/2 LibreBaskerville,serif;opacity:.6}.service-row h3{font-size:18px;line-height:1.8}.service-row p{font-size:15px;line-height:2}.service-mark{font-size:26px;line-height:1;opacity:.5}.works{background:#f6f7f8}.works-heading{display:flex;justify-content:space-between;align-items:baseline}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 27px}.work-image{overflow:hidden;background:var(--mist);aspect-ratio:310/214}.work-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.6,.2,1)}.work-card a{display:block}.work-card a:hover img{transform:scale(1.035)}.work-caption{display:flex;align-items:baseline;gap:12px;justify-content:space-between;margin-top:16px}.work-caption h3{font-size:14px;line-height:1.85;letter-spacing:.01em}.work-caption>span{font-size:20px;flex-shrink:0}.more-link{display:flex;align-items:center;gap:48px;width:max-content;margin:55px auto 0;padding:10px 4px;border-bottom:1px solid var(--ink);font:17px/1.8 var(--serif)}.company-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:100px;max-width:1060px}.company-copy h3{font-size:22px;margin-bottom:24px}.company-copy p{font-size:15px;line-height:2.2}.company-copy dl{margin:36px 0 0;display:grid;grid-template-columns:95px 1fr;gap:22px 25px}.company-copy dt,.company-copy dd{margin:0;font-size:14px;line-height:2.1}.company-copy dt{color:var(--slate)}.contact{border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:80px}.contact-note>p{font-size:24px;line-height:1.9;margin:0 0 40px}.contact-note>a{display:block;font:14px/2.5 LibreBaskerville,serif;letter-spacing:0}.contact-note>a span{margin-left:12px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-fields label{display:block}.form-fields label>span{display:block;font:12px/1.6 LibreBaskerville,serif;margin-bottom:10px}.form-fields label:nth-child(3),.message-field{grid-column:1/-1}input,textarea{display:block;width:100%;border:0;border-radius:0;background:#f0f1f2;color:var(--ink);padding:15px 18px;font-size:14px;line-height:1.8}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#737e87}.send-button{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white;border:1px solid var(--ink);width:100%;padding:12px 22px;margin-top:28px;font:24px/1.6 var(--serif);transition:background .3s,color .3s}.send-button:hover{background:white;color:var(--ink)}.send-button>span{font:22px/1 var(--jp)}.form-status{font-size:13px;line-height:1.8;margin-top:18px}.form-status:empty{display:none}.site-footer{border-top:1px solid var(--line);padding:42px 5%;display:flex;align-items:center;gap:35px}.site-footer>a:first-child img{width:155px}.site-footer p{font:9px/1.8 LibreBaskerville,serif;color:var(--slate);margin-left:auto}.back-top{font:11px/1.8 LibreBaskerville,serif}.back-top>span{margin-left:14px}
/* 02 — Expanded composition: the existing image sits inside human/puzzle forms. */
.hero-two{min-height:650px;display:grid;grid-template-columns:1fr 1fr;background:#fff}.opening-logo{position:absolute;top:42px;left:5%;z-index:3}.opening-logo img{width:205px}.hero-copy{align-self:center;position:relative;z-index:4;padding:90px 0 65px 10%}.hero-copy .eyebrow{font-size:10px;margin-bottom:32px;letter-spacing:.035em}.hero-copy h1{font-size:clamp(42px,4.8vw,76px);line-height:1.45;letter-spacing:.1em}.hero-copy h1 span{color:var(--slate)}.hero-intro{font-size:15px;line-height:2.1;margin-top:28px}.hero-copy .text-link{margin-top:30px;font-size:12px}.assembly{position:absolute;top:0;bottom:0;left:48%;right:0;overflow:hidden}.assembly-field{position:absolute;background:var(--ink);inset:0 0 0 12%;opacity:.055}.puzzle-piece{position:absolute;display:block;aspect-ratio:230/222;clip-path:url(#human-clip);background:var(--ink);will-change:transform}.puzzle-piece img{width:100%;height:100%;object-fit:cover;transform:scale(1.2)}.puzzle-large{width:90%;top:14%;right:-4%;animation:piece-large 24s ease-in-out infinite alternate}.puzzle-middle{width:61%;top:46%;left:-6%;transform:rotate(92deg);animation:piece-middle 29s ease-in-out infinite alternate;opacity:.9}.puzzle-middle img{object-position:0% 100%;transform:scale(1.8) rotate(-90deg)}.puzzle-small{width:31%;top:12%;left:7%;animation:piece-small 31s ease-in-out infinite alternate;opacity:.7}.puzzle-small img{transform:scale(1.5) rotate(180deg)}.assembly-caption{position:absolute;bottom:48px;right:10%;writing-mode:vertical-rl;font:10px LibreBaskerville,serif;letter-spacing:.1em}.hero-two>.motion-toggle{position:absolute;bottom:35px;left:5%;z-index:5}.hero-edition{position:absolute;bottom:45px;left:25%;font:10px LibreBaskerville,serif;letter-spacing:.05em}.variant-2 .concept{background:var(--ink);color:#fff}.variant-2 .concept-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;gap:8%}.variant-2 .concept-title .section-heading{justify-content:flex-start}.variant-2 .concept-display{font-family:var(--jp);font-size:clamp(32px,3.2vw,48px);line-height:1.7;text-align:left;margin:60px 0 0}.variant-2 .prose{font-size:15px;line-height:2.2}.variant-2 .prose>p:first-child{font-size:17px}.variant-2 .graphic-band-one{display:none}.variant-2 .services .wrap{max-width:1200px}.variant-2 .service-row{grid-template-columns:40px 1fr 1.2fr 24px;padding-block:38px}.variant-2 .works{background:white;padding-top:50px}.variant-2 .works .section-heading h2{font-size:84px}.variant-2 .work-grid{gap:60px 32px}.variant-2 .work-card:nth-child(3n+2){transform:translateY(45px)}.variant-2 .work-caption h3{font-size:15px}.variant-2 .more-link{margin-top:90px}.variant-2 .graphic-band-two{height:320px}.variant-2 .company{background:#f3f4f5}.variant-2 .contact-note p{font-size:28px}
/* 03 — Type, whitespace and a single restrained relationship between forms. */
.hero-three{padding:125px 6% 60px;max-height:1100px;min-height:650px;background:white}.opening-bar{position:absolute;inset:38px 6% auto;display:flex;align-items:center;justify-content:space-between;gap:30px;font:10px/1.8 LibreBaskerville,serif}.opening-bar .opening-logo{position:static}.opening-bar .opening-logo img{width:180px}.opening-bar>a:last-child{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:5px}.opening-bar>a:last-child span{margin-left:20px}.hero-type{height:calc(100% - 60px);position:relative;display:flex;flex-direction:column;justify-content:center}.hero-type .eyebrow{font:13px/1.8 var(--jp);letter-spacing:.15em;margin-bottom:24px}.hero-type h1{position:relative;font:400 clamp(65px,8vw,122px)/.94 var(--serif);letter-spacing:-.035em;z-index:2}.hero-type h1 em{font-style:italic;color:var(--slate)}.quiet-composition{position:absolute;right:0;top:18%;width:37%;height:78%}.quiet-back{width:65%;right:4%;top:8%;opacity:.38;transform:rotate(-12deg);animation:quiet-piece 28s ease-in-out infinite alternate}.quiet-front{width:74%;left:4%;bottom:3%;transform:rotate(8deg);animation:quiet-piece-two 34s ease-in-out infinite alternate}.quiet-front img{object-position:70% 40%;transform:scale(1.8)}.hero-three-bottom{position:absolute;bottom:35px;left:6%;right:6%;display:flex;align-items:center;gap:35px}.hero-three-bottom>p{font-size:14px;margin-right:auto}.scroll-round{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font:22px var(--jp)}.variant-3 .section-heading{margin-bottom:40px}.variant-3 .section-number{display:none}.variant-3 .concept{border-top:1px solid var(--line)}.variant-3 .concept-layout{max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.variant-3 .concept-title .section-heading{justify-content:flex-start}.variant-3 .concept-display{font-family:var(--jp);font-size:clamp(27px,3vw,42px);line-height:1.8;text-align:left;margin-top:85px}.variant-3 .prose{font-size:16px}.variant-3 .graphic-band{display:none}.variant-3 .services{padding-top:20px}.variant-3 .services .wrap{max-width:1200px}.variant-3 .service-row{padding-block:35px;grid-template-columns:40px 1fr 1.25fr 24px}.variant-3 .works{background:white;border-top:1px solid var(--line)}.variant-3 .works .section-heading h2{font-size:70px}.variant-3 .work-caption h3{font-size:15px}.variant-3 .company{border-top:1px solid var(--line)}.variant-3 .contact{background:#f4f5f6}.variant-3 input,.variant-3 textarea{background:white}.variant-3 .site-footer{background:#f4f5f6}
/* 04 — A scroll-controlled opening, using only the existing puzzle imagery. */
.scroll-story{height:265svh;background:var(--ink);position:relative}.hero-four{position:sticky;top:0;height:100svh;max-height:none;min-height:580px;color:white;isolation:isolate}.scroll-original{position:absolute;inset:-4%;transform-origin:center;will-change:transform,opacity}.scroll-original img{width:100%;height:100%;object-fit:cover}.scroll-logo{position:absolute;top:44%;left:0;right:0;text-align:center;will-change:transform,opacity;z-index:3}.scroll-logo img{width:270px}.scroll-pieces{position:absolute;inset:0;z-index:2;opacity:0}.scroll-piece{width:24vw;max-width:400px;left:50%;top:50%;transform:translate(-50%,-50%);will-change:transform,opacity}.scroll-piece:nth-child(even) img{transform:scale(1.6) rotate(90deg)}.scroll-statement{position:absolute;left:9%;top:39%;z-index:3;opacity:0;transform:translateY(20px);will-change:transform,opacity}.scroll-statement .eyebrow{font-size:11px;margin-bottom:25px}.scroll-statement h2{font-size:clamp(32px,4vw,62px);line-height:1.6;letter-spacing:.12em}.scroll-statement>p:last-child{margin-top:24px;font-size:14px}.story-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(255,255,255,.1);z-index:5}.story-progress span{display:block;width:100%;height:100%;transform-origin:left;transform:scaleX(0);background:var(--mist)}.variant-4 .concept-layout{max-width:1100px;display:grid;grid-template-columns:1fr 1fr;gap:8%}.variant-4 .concept-title .section-heading{justify-content:flex-start}.variant-4 .concept-display{text-align:left;font-size:45px}.variant-4 .graphic-band-one{height:210px}.variant-4 .services .wrap{max-width:1200px}.variant-4 .works{background:#f3f4f5}.variant-4 .contact{background:var(--ink);color:white}.variant-4 .contact input,.variant-4 .contact textarea{background:rgba(255,255,255,.09);color:white}.variant-4 .contact input::placeholder,.variant-4 .contact textarea::placeholder{color:#a4adb5}.variant-4 .send-button{border-color:#d3d5d9;background:transparent}.variant-4 .send-button:hover{background:white;color:var(--ink)}
/* Shared Works pages. */
.subpage .site-header{opacity:1;visibility:visible;pointer-events:auto}.archive-page,.detail-page{padding:165px 0 100px;min-height:80svh}.archive-intro{margin-bottom:65px}.archive-intro h1{font:70px/1.2 var(--serif);margin:18px 0 20px}.archive-intro>p:last-child{font-size:15px}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:75px;font:13px LibreBaskerville,serif}.pagination a{padding:10px 13px;border-bottom:1px solid transparent}.pagination a[aria-current]{border-color:var(--ink)}.detail-page .wrap{max-width:1080px}.detail-back{font-size:11px}.detail-heading{padding:70px 0 50px;border-bottom:1px solid var(--line);margin-bottom:55px}.detail-heading h1{font-size:clamp(25px,3.5vw,42px);line-height:1.7;margin:20px 0}.detail-heading>p:last-child{font:12px LibreBaskerville,serif;opacity:.65}.entry-content{font-size:16px}.entry-content p{margin:20px 0}.entry-content img{max-width:100%;height:auto;display:block;margin:25px auto}.entry-content a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.entry-content iframe,.entry-content video{max-width:100%}.work-adjacent{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:80px;padding-top:35px;font:14px LibreBaskerville,serif}.work-adjacent a:last-child{margin-left:auto}.subpage.variant-2 .work-card{transform:none}
.motion-paused .art-base,.motion-paused .motion-layer,.motion-paused .puzzle-piece,.motion-paused .hero-bottom i{animation-play-state:paused!important}
@keyframes art-drift-1{from{transform:scale(1.055) translate(-5px,2px)}to{transform:scale(1.065) translate(6px,-4px)}}@keyframes art-drift-2{from{transform:scale(1.055) translate(4px,-3px)}to{transform:scale(1.065) translate(-5px,5px)}}@keyframes art-drift-3{from{transform:scale(1.055) translate(0,3px)}to{transform:scale(1.065) translate(3px,-3px)}}@keyframes scroll-line{0%,100%{transform:scaleY(.7);opacity:.4}50%{transform:scaleY(1);opacity:1}}@keyframes piece-large{from{transform:translate(-6px,7px) rotate(-4deg)}to{transform:translate(7px,-8px) rotate(1deg)}}@keyframes piece-middle{from{transform:translate(-8px,8px) rotate(89deg)}to{transform:translate(9px,-7px) rotate(94deg)}}@keyframes piece-small{from{transform:translate(5px,-8px) rotate(-12deg)}to{transform:translate(-5px,7px) rotate(-7deg)}}@keyframes quiet-piece{from{transform:translateY(0) rotate(-12deg)}to{transform:translateY(-7px) rotate(-10deg)}}@keyframes quiet-piece-two{from{transform:translateY(0) rotate(8deg)}to{transform:translateY(5px) rotate(7deg)}}
@media(min-width:1600px){.hero-copy{padding-left:15%}.hero-type h1{font-size:145px}.hero-three{padding-inline:10%}.opening-bar,.hero-three-bottom{left:10%;right:10%}}
@media(max-width:1050px){.wrap{width:calc(100% - 72px)}.site-header nav{gap:20px}.service-row{grid-template-columns:30px 220px 1fr 20px;gap:15px}.company-layout{gap:55px}.contact-layout{gap:45px}.hero-copy h1{font-size:52px}.hero-type h1{font-size:92px}.quiet-composition{right:-3%;width:38%}.opening-bar>span{display:none}}
@media(max-width:768px){
 :root{--rhythm:80px}html{scroll-padding-top:85px}body{font-size:15px;line-height:2}.wrap{width:calc(100% - 44px)}.site-header{height:68px;padding-inline:23px}.header-logo img{width:139px}.site-header>nav{display:none}.menu-toggle{display:block}.mobile-menu{display:block;position:fixed;inset:68px 0 0;z-index:29;background:rgba(255,255,255,.98);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;padding:45px 9%}.mobile-menu nav{display:flex;flex-direction:column;gap:21px}.mobile-menu nav a{font:28px/1.5 var(--serif)}.menu-open .mobile-menu{opacity:1;visibility:visible}.menu-open .menu-toggle>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.menu-open .menu-label{opacity:0}.hero{min-height:570px;height:100svh;max-height:950px}.hero-logo{top:42%}.hero-logo img{width:216px}.hero-bottom{left:23px;right:23px;bottom:28px}.hero-bottom>span{display:none}.hero-bottom>.motion-toggle{margin-left:auto}.hero-bottom>a{font-size:11px}.section-heading{gap:16px;margin-bottom:35px}.section-heading h2{font-size:40px}.section-number{font-size:10px}.concept-display{font-size:34px;line-height:1.4;letter-spacing:.02em;margin-bottom:34px}.prose{font-size:15px}.prose>p:first-child{font-size:17px;margin-bottom:26px}.prose p br{display:none}.prose>p+p{margin-top:25px}.graphic-band{height:150px}.graphic-band img{width:100%;object-fit:cover}.graphic-band-one img{content:url('theme/img/top_concept_bg01_sp.jpg')}.graphic-band-two img{content:url('theme/img/top_service_bg01_sp.jpg')}.service-row,.variant-2 .service-row,.variant-3 .service-row{grid-template-columns:27px 1fr 20px;gap:12px;padding-block:26px}.service-row h3{font-size:17px}.service-row>div{grid-column:2/3}.service-row p{font-size:14px;line-height:2}.service-row p br{display:none}.service-mark{grid-row:1;grid-column:3;font-size:21px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.home-work-grid>.work-card:nth-child(n+9){display:none}.work-caption{gap:7px;margin-top:12px}.work-caption h3,.variant-2 .work-caption h3,.variant-3 .work-caption h3{font-size:12px;line-height:1.9}.work-caption>span{font-size:15px}.works-heading .text-link{font-size:10px;gap:12px}.more-link{margin-top:36px;font-size:19px}.company-layout{display:block}.company-copy h3{font-size:21px}.company-copy p{font-size:14px}.company-copy dl{grid-template-columns:70px 1fr;gap:20px 15px}.company-copy dt,.company-copy dd{font-size:13px}.contact-layout{display:block}.contact-note{margin-bottom:36px}.contact-note>p{font-size:23px;margin-bottom:22px}.contact-note>a{font-size:12px}.form-fields{gap:20px;grid-template-columns:1fr}.form-fields label{grid-column:1}.form-fields label>span{font-size:11px}input,textarea{font-size:16px;padding:14px 15px}.send-button{font-size:23px}.site-footer{padding:32px 23px;flex-wrap:wrap;gap:25px}.site-footer>a:first-child img{width:135px}.site-footer p{order:3;width:100%;font-size:8px;margin:0}.back-top{margin-left:auto;font-size:10px}
 .hero-two{display:block;min-height:720px;max-height:950px}.opening-logo{top:30px;left:24px}.opening-logo img{width:164px}.hero-copy{padding:138px 23px 70px;width:100%}.hero-copy .eyebrow{font-size:9px;letter-spacing:0;margin-bottom:22px}.hero-copy h1{font-size:clamp(35px,9vw,48px);line-height:1.5;letter-spacing:.08em}.hero-intro{font-size:13px;margin-top:28px;line-height:2}.hero-copy .text-link{margin-top:28px;font-size:11px}.assembly{left:38%;top:8%;bottom:0;right:-15%;opacity:.73}.assembly-field{inset:0 0 0 40%;opacity:.045}.puzzle-large{top:22%;width:120%;right:-42%;opacity:.7}.puzzle-middle{top:64%;left:9%;width:72%}.puzzle-small{top:7%;left:45%;width:43%}.assembly-caption{display:none}.hero-two>.motion-toggle{bottom:26px;left:24px}.hero-edition{left:auto;right:24px;bottom:36px;font-size:9px}.variant-2 .concept-layout,.variant-3 .concept-layout,.variant-4 .concept-layout{display:block}.variant-2 .concept-display{margin:35px 0;font-size:31px;line-height:1.6}.variant-2 .prose{font-size:15px}.variant-2 .work-grid{gap:38px 14px}.variant-2 .work-card:nth-child(3n+2){transform:none}.variant-2 .works .section-heading h2{font-size:46px}.variant-2 .works{padding-top:40px}.variant-2 .more-link{margin-top:40px}.variant-2 .graphic-band-two{height:175px}.variant-2 .contact-note p{font-size:25px}
 .hero-three{padding:120px 24px 70px;min-height:690px}.opening-bar{top:30px;left:24px;right:24px}.opening-bar .opening-logo img{width:150px}.opening-bar>a:last-child{font-size:10px}.opening-bar>a:last-child span{margin-left:10px}.hero-type{height:calc(100% - 60px);justify-content:flex-start;padding-top:35px}.hero-type .eyebrow{font-size:12px;margin-bottom:25px}.hero-type h1{font-size:clamp(53px,12.8vw,88px);line-height:1.04;letter-spacing:-.035em}.quiet-composition{top:58%;right:0;width:50%;height:38%;opacity:.85}.quiet-back{width:55%;top:0;right:0}.quiet-front{width:65%;bottom:0;left:0}.hero-three-bottom{left:24px;right:24px;bottom:30px;flex-wrap:wrap;gap:15px}.hero-three-bottom>p{font-size:12px;width:100%;line-height:1.8;max-width:none}.hero-three-bottom>.motion-toggle{margin-right:auto}.scroll-round{width:38px;height:38px}.variant-3 .concept-display{font-size:28px;margin:35px 0}.variant-3 .prose{font-size:15px}.variant-3 .works .section-heading h2{font-size:46px}
 .scroll-story{height:235svh}.hero-four{min-height:570px}.scroll-logo{top:43%}.scroll-logo img{width:216px}.scroll-piece{width:50vw}.scroll-statement{top:39%;left:24px;right:24px}.scroll-statement h2{font-size:32px;letter-spacing:.06em}.scroll-statement .eyebrow{font-size:9px;margin-bottom:22px}.scroll-statement>p:last-child{font-size:12px;max-width:none}.hero-four .hero-bottom>.story-phase{display:block;font-size:9px}.hero-four .hero-bottom>a{font-size:9px}.variant-4 .concept-display{font-size:33px;margin-bottom:35px}.variant-4 .graphic-band-one{height:150px}
 .archive-page,.detail-page{padding:115px 0 65px}.archive-intro{margin-bottom:40px}.archive-intro h1{font-size:55px}.archive-intro>p:last-child{font-size:13px}.pagination{gap:7px;font-size:12px;margin-top:45px}.pagination a{padding:8px 9px}.detail-heading{padding:45px 0 30px;margin-bottom:30px}.detail-heading h1{font-size:25px;line-height:1.6}.entry-content{font-size:14px}.entry-content img{margin:18px auto}.work-adjacent{font-size:12px;margin-top:50px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.scroll-story{height:100svh}.scroll-pieces,.scroll-statement{display:none}.scroll-logo,.scroll-original{opacity:1!important;transform:none!important}.motion-toggle{display:none}}

/* Motion revision: preserve the contours of the actual camouflage artwork.
   All four directions move continuously; none uses invented puzzle cutouts. */
.motion-art{background:#4c5c68;isolation:isolate}
.motion-art[data-layers="3"]>.art-base{opacity:0}
.motion-layer{animation:none!important;transform:scale(1.14);backface-visibility:hidden}
.art-base{transition:opacity .8s}
.assembly{left:54%;right:0;top:12%;bottom:7%;overflow:hidden;opacity:1;background:#4c5c68;will-change:transform}
.quiet-composition{right:0;top:22%;width:33%;height:59%;overflow:hidden;opacity:1;background:#4c5c68;will-change:transform}
.hero-two .hero-copy{z-index:4}
.type-line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.type-line>span,.type-line>em{display:block;animation:type-appear 1.8s cubic-bezier(.2,.65,.2,1) both}
.type-line:nth-child(2)>*{animation-delay:.18s}
.type-line:nth-child(3)>*{animation-delay:.36s}
.hero-copy h1 .type-line,.hero-copy h1 .type-line>span{color:inherit}
.hero-copy h1 .type-line:last-child{color:var(--slate)}
.hero-logo img,.scroll-logo img{animation:logo-appear 1.8s ease-out both}
.scroll-story{height:330svh;--story-shade:0}
.hero-four:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#162234 0%,#162234df 32%,#16223400 70%);opacity:var(--story-shade);pointer-events:none;z-index:1}
.scroll-original{inset:-8%;opacity:1!important}
.scroll-original .motion-art{overflow:visible;background:transparent}
.scroll-statement{z-index:3}
.scroll-logo{z-index:3}
@keyframes type-appear{from{transform:translate3d(0,108%,0)}to{transform:translate3d(0,0,0)}}
@keyframes logo-appear{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.motion-paused .type-line>*,.motion-paused .hero-logo img,.motion-paused .scroll-logo img{animation-play-state:paused}
@media(max-width:768px){
 .assembly{left:57%;right:-14%;top:19%;bottom:4%;opacity:.7;transform-origin:right center}
 .quiet-composition{top:60%;right:0;width:50%;height:35%;opacity:1}
 .scroll-story{height:290svh}
 .hero-four:after{background:linear-gradient(90deg,#162234 0%,#162234cc 45%,#16223400 100%)}
}
@media(prefers-reduced-motion:reduce){
 .type-line>*{animation:none!important}.hero-logo img,.scroll-logo img{animation:none!important}
 .assembly,.quiet-composition{transform:none!important}
 .scroll-story{height:100svh}
}
/* Clean reconstructed alpha artwork; flat fills preserve the brand palette. */
.motion-art,.scroll-original .motion-art{background:#162234;overflow:hidden}
.motion-art[data-layers="clean"]>.art-base{opacity:0}
.motion-plane{position:absolute;inset:-10%;display:block;will-change:transform;background:#71818a;-webkit-mask-image:url('graphic/obsessive-layer-v3.png');mask-image:url('graphic/obsessive-layer-v3.png');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center;backface-visibility:hidden}
.motion-plane[data-layer="1"]{background:#4c5c68}
.motion-plane[data-layer="2"]{background:#aaa;-webkit-mask-size:72% auto;mask-size:72% auto;-webkit-mask-position:25% 45%;mask-position:25% 45%}
.motion-plane[data-layer="3"]{background:#162234;-webkit-mask-size:50% auto;mask-size:50% auto;-webkit-mask-position:85% 90%;mask-position:85% 90%}
.motion-plane[data-layer="3"]{-webkit-mask-size:135% auto;mask-size:135% auto;-webkit-mask-position:100% 75%;mask-position:100% 75%}
.motion-plane[data-layer="3"]{-webkit-mask-image:url('graphic/obsessive-large-navy-v4.png');mask-image:url('graphic/obsessive-large-navy-v4.png');-webkit-mask-size:95% auto;mask-size:95% auto;-webkit-mask-position:70% 55%;mask-position:70% 55%}
/* English carries the visual hierarchy. Japanese remains supporting copy. */
.hero-copy h1{font:400 clamp(58px,6.6vw,100px)/1.02 var(--serif);letter-spacing:-.035em}
.hero-copy h1 em{font-style:italic;color:var(--slate)}
.hero-intro{font-size:13px;line-height:2.1;letter-spacing:.025em;max-width:36em}
.hero-type .eyebrow{font:10px/1.8 LibreBaskerville,serif;letter-spacing:.04em}
.variant-2 .concept-display,.variant-3 .concept-display{font:400 clamp(34px,3.5vw,54px)/1.22 var(--serif);letter-spacing:.005em}
.variant-2 .prose,.variant-3 .prose,.variant-4 .prose{font-size:15px;line-height:2.2}
.variant-2 .prose>p:first-child,.variant-3 .prose>p:first-child,.variant-4 .prose>p:first-child{font-size:15px}
.scroll-statement{top:28%}
.scroll-statement h2{font:400 clamp(58px,7vw,106px)/1.02 var(--serif);letter-spacing:-.025em}
.scroll-statement>p:last-child{font-size:12px;line-height:2.1}
@media(max-width:768px){
 .hero-copy h1{font-size:clamp(43px,11.6vw,64px);line-height:1.05;letter-spacing:-.04em}
 .hero-intro{font-size:12px;max-width:24em}
 .variant-2 .concept-display,.variant-3 .concept-display{font-size:34px;line-height:1.25}
 .variant-2 .prose,.variant-3 .prose,.variant-4 .prose,.variant-2 .prose>p:first-child,.variant-3 .prose>p:first-child,.variant-4 .prose>p:first-child{font-size:14px}
 .scroll-statement{top:29%}
 .scroll-statement h2{font-size:60px;line-height:1.05}
 .scroll-statement>p:last-child{font-size:11px}
}
.graphic-band{position:relative;isolation:isolate}
.graphic-band .band-art{inset:-30% 0;width:100%;height:160%}
.graphic-band .art-base{width:100%;height:100%;object-fit:cover}
