
:root{--paper:#f2f1eb;--ink:#292c28;--green:#303c32;--line:#cdd0c5;--g:6vw;--serif:'Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Helvetica Neue',Arial,'Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-break:strict;word-break:normal;text-wrap:balance}p,figcaption,li{line-break:strict;word-break:normal;text-wrap:pretty}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;touch-action:manipulation}button,a,summary{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #9a9e76;outline-offset:5px}.wrap{padding-inline:var(--g)}.eyebrow{font-size:10px;line-height:1.7;letter-spacing:.16em}.serif{font-family:var(--serif)}.skip{position:fixed;top:-100px;z-index:30;background:white;padding:15px}.skip:focus{top:10px}.head{position:absolute;top:0;left:0;width:100%;z-index:5;padding:35px var(--g);display:flex;justify-content:space-between;align-items:center;color:white}.logo{display:flex;flex-direction:column;gap:6px}.logo b{font-size:30px;letter-spacing:.22em;font-weight:400;line-height:1}.logo small{font-size:8px;letter-spacing:.26em}.head nav{display:flex;gap:34px;font-size:11px;letter-spacing:.06em}.head nav a{padding-block:15px}.head nav a:last-child{border-bottom:1px solid #ffffff70}.menu-toggle{display:none;color:white;min-height:44px;font-size:10px;letter-spacing:.12em}.reading-progress{position:fixed;inset:0 auto auto 0;height:2px;background:#a8b397;width:100%;transform:scaleX(0);transform-origin:left;z-index:25;pointer-events:none}
.hero{height:100vh;height:100svh;position:relative;background:#30382f;color:white;overflow:hidden;isolation:isolate}.scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.8s,visibility 1.8s;z-index:-2}.scene.current{opacity:1;visibility:visible}.scene img{object-position:var(--position,50% 50%)}.motion-on .scene.current img{animation:breathe 10s linear both}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#09130b65,transparent 26%,transparent 60%,#09130b88);pointer-events:none}.hero-copy{position:absolute;left:var(--g);bottom:23%;padding-right:20px}.hero h1{font-family:var(--serif);font-size:clamp(22px,2.1vw,32px);letter-spacing:.14em;line-height:1.8;font-weight:400}.hero-bottom{position:absolute;bottom:34px;left:var(--g);right:var(--g);display:flex;align-items:end;justify-content:space-between;gap:12px}.hero-project{display:flex;gap:22px;align-items:center}.hero-project .number{font-size:10px;opacity:.7}.hero-project strong{font-size:12px;letter-spacing:.06em;font-weight:400}.hero-project small{display:block;font-size:8px;letter-spacing:.14em;margin-top:9px;opacity:.7}.hero-controls{display:flex;align-items:center;gap:5px}.hero-controls button{min-height:44px;min-width:44px;color:white;font-size:15px}.slide-count{font-size:9px;letter-spacing:.1em;margin-inline:8px}.scroll-cue{position:absolute;right:var(--g);top:48%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;display:flex;gap:18px;align-items:center}.scroll-cue:after{content:'';display:block;height:64px;width:1px;background:#fff8;transform-origin:top}.motion-on .scroll-cue:after{animation:line-flow 2.4s ease-in-out infinite}.motion-toggle{position:fixed;right:18px;bottom:16px;z-index:15;min-height:44px;padding:10px 15px;border:1px solid #ffffff50;border-radius:24px;background:#28372eef;color:#fff;font-size:10px;letter-spacing:.06em;box-shadow:0 2px 14px #0001}
.intro{padding-block:140px 150px;display:grid;grid-template-columns:1fr 1.8fr .9fr;gap:5vw;align-items:start}.intro .eyebrow{padding-top:9px}.intro h2{font-family:var(--serif);font-size:clamp(24px,2.5vw,37px);line-height:1.9;letter-spacing:.07em}.intro p.copy{font-size:13px;line-height:2.5;margin-top:32px}.intro-photo{margin-top:80px}.intro-photo .frame{aspect-ratio:2/3}.caption{font-size:9px;letter-spacing:.08em;line-height:1.7;margin-top:15px;color:#6c7166}.frame{overflow:hidden;background:#d9d9d0}.frame img{transition:transform .9s cubic-bezier(.2,.7,.3,1)}.motion-on a:hover .frame img,.motion-on button:hover .frame img{transform:scale(1.035)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;padding-bottom:38px}.section-heading h2{font-size:clamp(42px,5.7vw,82px);font-weight:300;letter-spacing:-.06em;line-height:1.1}.section-heading .eyebrow{margin-top:18px}.section-heading>p{font-size:11px;line-height:1.9}.editorial{padding-bottom:140px}.feature-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:6vw;align-items:start}.project-button{display:block;width:100%;text-align:left;padding:0}.feature-main .frame{aspect-ratio:1.42}.project-meta{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-top:23px}.project-meta h3{font-size:27px;letter-spacing:-.02em}.project-meta span{font-size:9px;letter-spacing:.08em}.project-note{font-family:var(--serif);font-size:17px;line-height:1.9;margin-top:18px}.feature-side{padding-top:145px}.feature-side .frame{aspect-ratio:.78}.feature-detail{width:45%;margin:55px 0 0 46%}.feature-detail .frame{aspect-ratio:.84}.feature-detail p{font-size:10px;line-height:2;margin-top:16px}.feature-side .small-line{font-size:11px;line-height:2.2;margin-top:24px;max-width:330px}.chapter{font-size:9px;letter-spacing:.17em;display:flex;align-items:center;gap:18px;margin-bottom:24px}.chapter:after{content:'';height:1px;flex:1;background:var(--line)}
.story{background:var(--green);color:var(--paper);padding-block:100px 110px}.story-head{display:grid;grid-template-columns:1fr 2fr;gap:6vw}.story-head h2{font-family:var(--serif);font-size:clamp(25px,3.2vw,45px);line-height:1.9;letter-spacing:.07em}.story-spread{display:grid;grid-template-columns:1.25fr 1fr;gap:11vw;align-items:start;margin-top:70px}.story-spread .frame{aspect-ratio:1.25}.story-spread figure:nth-child(2){padding-top:120px}.story-spread figure:nth-child(2) .frame{aspect-ratio:.8}.story figcaption{display:flex;justify-content:space-between;font-size:11px;margin-top:20px;gap:12px;line-height:1.8}.story figcaption span{font-size:9px;opacity:.6}.story-copy{margin:60px 0 0 42%;font-size:13px;line-height:2.6;max-width:490px}.moving-type{overflow:hidden;white-space:nowrap;margin-top:70px;opacity:.12;font-size:clamp(54px,10vw,150px);font-weight:300;letter-spacing:-.05em;line-height:1.2}.moving-type span{display:block;will-change:transform}
section.archive{padding-block:120px;overflow:hidden}.rail-actions{display:flex;gap:8px}.round{border:1px solid var(--line);border-radius:50%;width:46px;height:46px;font-size:19px}.round:disabled{opacity:.3;cursor:default}.rail{display:flex;gap:4vw;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--g);padding:0 var(--g) 28px;scrollbar-width:thin;scrollbar-color:#afb6a4 transparent;overscroll-behavior-x:contain}.rail article{flex:0 0 39vw;scroll-snap-align:start;min-width:0}.rail article:nth-child(even){flex-basis:25vw;padding-top:90px}.rail .frame{aspect-ratio:1.35}.rail article:nth-child(even) .frame{aspect-ratio:.73}.rail .project-meta h3{font-size:23px}.rail .project-meta{margin-top:20px}.rail-hint{font-size:9px;letter-spacing:.14em;margin-top:28px;color:#6e7468}.link{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;border-bottom:1px solid currentColor;padding:15px 0;font-size:12px;min-height:44px}.archive-foot{display:flex;justify-content:space-between;align-items:center;gap:25px}
.interlude{height:70vh;min-height:350px;max-height:850px;position:relative;overflow:hidden;background:#28302b;color:white;isolation:isolate}.interlude .depth-photo{position:absolute;inset:-8% 0;z-index:-2}.interlude:after{content:'';position:absolute;inset:0;background:#14201935;z-index:-1}.interlude p{position:absolute;left:var(--g);bottom:15%;font-family:var(--serif);font-size:clamp(22px,3vw,39px);letter-spacing:.12em;line-height:1.9}.interlude small{position:absolute;right:var(--g);bottom:7%;font-size:9px;letter-spacing:.1em}
.services{padding-block:125px}.services-heading{display:grid;grid-template-columns:1fr 2fr;gap:6vw;margin-bottom:60px}.services h2{font-family:var(--serif);font-size:clamp(25px,3vw,41px);line-height:1.85}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service summary{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:20px;padding:35px 0;cursor:pointer;list-style:none}.service summary::-webkit-details-marker{display:none}.service summary small{font-size:9px;letter-spacing:.12em}.service h3{font-family:var(--serif);font-size:25px}.plus{font-size:22px;transition:transform .35s}.service[open] .plus{transform:rotate(45deg)}.service-content{display:grid;grid-template-columns:.7fr 1fr;gap:5vw;margin:0 0 36px 26%}.service-content .frame{aspect-ratio:1.4}.service-content p{font-size:13px;line-height:2.3}.service-content .link{margin-top:15px}.motion-on .service[open] .service-content{animation:enter .6s both}
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:9vw;padding-bottom:100px;align-items:center}.contact-image .frame{aspect-ratio:.83}.contact-copy h2{font-family:var(--serif);font-size:clamp(26px,3vw,44px);line-height:1.8;margin:26px 0}.contact-copy>p:not(.eyebrow){font-size:13px;line-height:2.3}.contact-links{margin-top:35px}.contact-links button{width:100%;min-height:60px;display:flex;justify-content:space-between;align-items:center;text-align:left;border-bottom:1px solid var(--line);font-size:13px;padding:16px 0;gap:15px}.contact-links small{font-size:10px;color:#73776d}.footer{background:var(--green);color:var(--paper);padding:55px var(--g) 80px;display:flex;justify-content:space-between;align-items:end;gap:30px}.footer small{font-size:9px;line-height:2;opacity:.6}.footer>a:last-child{font-size:10px;letter-spacing:.1em;padding:15px 0}
.reveal{opacity:1}.motion-on .reveal:not(.seen){opacity:0;transform:translateY(28px)}.motion-on .reveal{transition:opacity 1s ease,transform 1.15s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}.motion-on .image-reveal:not(.seen){clip-path:inset(0 0 12% 0)}.motion-on .image-reveal{transition:opacity 1.1s,transform 1.2s,clip-path 1.3s cubic-bezier(.2,.7,.2,1)}.motion-off *{animation:none!important;transition:none!important}.motion-off{scroll-behavior:auto}.motion-off .reveal{opacity:1;transform:none;clip-path:none}.motion-off .depth-photo,.motion-off .moving-type span{transform:none!important}
dialog{border:0;background:var(--paper);color:var(--ink);width:min(860px,92vw);padding:0;max-height:90svh;overflow:auto}dialog::backdrop{background:#122017bb;backdrop-filter:blur(5px)}.dialog-head{position:sticky;top:0;z-index:1;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.dialog-head span{font-size:9px;letter-spacing:.12em}.close{min-height:44px;min-width:44px;font-size:25px}.dialog-body{padding:0 28px 35px}.dialog-body img{height:auto;max-height:55svh;object-fit:contain}.dialog-body h2{font-family:var(--serif);font-size:28px;margin:24px 0 16px}.dialog-body p{font-size:13px;line-height:2.2;white-space:pre-line}.menu-dialog{margin:0 0 0 auto;width:min(470px,100%);height:100%;max-height:none;background:var(--green);color:white;padding:25px}.menu-dialog .close{display:block;margin-left:auto}.menu-dialog nav{display:grid;gap:20px;margin-top:45px}.menu-dialog a{padding:16px 0;border-bottom:1px solid #ffffff30;font-family:var(--serif);font-size:23px}[hidden]{display:none!important}
@keyframes breathe{from{transform:scale(1.05)}to{transform:scale(1)}}@keyframes line-flow{0%,100%{transform:scaleY(.5);opacity:.4}50%{transform:scaleY(1);opacity:1}}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){.head nav{gap:20px}.intro{grid-template-columns:1.8fr 1fr;gap:6vw}.intro>.eyebrow{grid-column:1/-1}.intro-photo{margin-top:10px}.feature-side{padding-top:80px}.story-spread{gap:7vw}.story-head,.services-heading{grid-template-columns:.8fr 2fr}.contact{gap:6vw}.service-content{margin-left:15%}}
@media(max-width:600px){:root{--g:6vw}.head{padding-top:calc(24px + env(safe-area-inset-top))}.logo b{font-size:25px}.logo small{font-size:7px}.head nav{display:none}.menu-toggle{display:block}.hero h1{font-size:clamp(17px,4.6vw,22px);letter-spacing:.08em;white-space:nowrap}.hero-copy{bottom:25%;max-width:100%}.hero-bottom{bottom:calc(76px + env(safe-area-inset-bottom));align-items:center}.hero-project{gap:10px}.hero-project strong{font-size:11px}.hero-project small{font-size:7px}.hero-controls{gap:0}.hero-controls button{min-width:44px}.slide-count{display:none}.scene img{object-position:var(--mobile-position,50% 50%)}.scroll-cue{right:var(--g);top:48%;font-size:7px}.scroll-cue:after{height:40px}.motion-toggle{bottom:calc(12px + env(safe-area-inset-bottom));right:12px;font-size:9px}.intro{padding-block:75px 85px;grid-template-columns:1fr;gap:27px}.intro h2{font-size:clamp(22px,6vw,29px);line-height:1.9}.intro p.copy{font-size:12px;margin-top:23px}.intro-photo{width:48%;margin:3px 0 0 auto}.intro-photo .frame{aspect-ratio:.85}.section-heading{padding-bottom:28px;align-items:end;gap:18px}.section-heading h2{font-size:clamp(39px,10vw,55px)}.section-heading>p{display:none}.section-heading .eyebrow{font-size:8px;margin-top:13px}.editorial{padding-bottom:80px}.feature-grid{grid-template-columns:1fr;gap:45px}.feature-main .frame{aspect-ratio:1.08}.project-meta{margin-top:18px}.project-meta h3{font-size:25px}.project-note{font-size:16px;margin-top:15px}.feature-detail{width:46%;margin:28px 0 0 auto}.feature-side{width:76%;padding:0}.feature-side .frame{aspect-ratio:.95}.feature-side .small-line{font-size:11px}.chapter{font-size:8px}.story{padding-block:65px 55px}.story-head{display:block}.story-head h2{font-size:clamp(21px,5.7vw,28px);margin-top:25px}.story-spread{margin-top:35px;gap:7vw;grid-template-columns:1.1fr 1fr}.story-spread .frame{aspect-ratio:.76}.story-spread figure:nth-child(2){padding-top:75px}.story figcaption{display:block;font-size:10px}.story figcaption span{display:block;font-size:8px;margin-top:5px}.story-copy{margin:35px 0 0 14%;font-size:12px;line-height:2.4}.moving-type{margin-top:40px;font-size:60px}section.archive{padding-block:75px}.rail-actions{gap:5px;flex-shrink:0}.round{width:44px;height:44px}.rail article{flex-basis:80vw}.rail article:nth-child(even){flex-basis:65vw;padding-top:55px}.rail .project-meta h3{font-size:22px}.rail .project-meta span{font-size:8px}.archive-foot{align-items:start;flex-direction:column;gap:12px}.rail-hint{font-size:8px;margin-top:15px}.interlude{height:65svh;min-height:330px}.interlude p{font-size:23px;bottom:19%}.interlude small{font-size:8px}.services{padding-block:75px}.services-heading{display:block;margin-bottom:35px}.services h2{font-size:26px;margin-top:24px}.service summary{grid-template-columns:1fr auto;gap:12px;padding:25px 0}.service summary small{grid-column:1/-1;font-size:8px}.service h3{font-size:22px}.service-content{margin:0 0 28px;grid-template-columns:1fr;gap:23px}.service-content .frame{aspect-ratio:1.8}.service-content p{font-size:12px}.contact{grid-template-columns:1fr;gap:40px;padding-bottom:65px}.contact-image{width:78%}.contact-image .frame{aspect-ratio:1.1}.contact-copy h2{font-size:29px}.contact-copy>p:not(.eyebrow){font-size:12px}.footer{padding-top:40px;flex-wrap:wrap;gap:28px}.footer small{font-size:8px}.footer>a:last-child{margin-left:auto}.dialog-body{padding-inline:20px}.dialog-body h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important;clip-path:none!important}.depth-photo,.moving-type span{transform:none!important}}
.destination-links{display:flex;flex-wrap:wrap;gap:14px 38px;align-items:center;margin-top:30px}.destination-links .primary-link{font-size:15px}.destination-note{font-size:10px;line-height:1.8;color:#747a70;margin-top:14px}.about-links{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding-block:0 95px}.about-link{border-top:1px solid var(--line);padding-top:25px}.about-link h2{font-family:var(--serif);font-size:26px;margin:16px 0}.about-link p{font-size:12px;line-height:2.2}.footer-navigation{display:flex;flex-wrap:wrap;gap:15px 25px;width:100%;font-size:11px;line-height:1.8}.footer{flex-wrap:wrap}.footer-navigation a{padding:8px 0}.footer .destination-note{color:#c6cebf;width:100%;margin:0}.dialog-destinations{display:flex;gap:18px 30px;flex-wrap:wrap}.story .destination-links{margin-left:42%}.story .destination-note{color:#c6cebf}.service-destinations{padding-bottom:26px}.service-destinations .link{font-size:12px}@media(min-width:901px){.head nav{gap:22px}}@media(max-width:900px) and (min-width:601px){.head nav{gap:12px;font-size:10px}}@media(max-width:600px){.about-links{grid-template-columns:1fr;gap:35px;padding-bottom:65px}.about-link h2{font-size:24px}.destination-links{gap:8px 25px}.destination-links .primary-link{font-size:14px}.story .destination-links{margin-left:14%}.hero h1{white-space:normal;font-size:clamp(17px,4.6vw,22px)}.hero-copy{right:var(--g);padding-right:0}.footer-navigation{gap:8px 20px;font-size:10px}}
/* Photo composition refinement */
.intro{grid-template-columns:1fr 2fr}.intro-photo{grid-column:1/-1;width:83.3333vw;margin:32px calc(-1 * var(--g)) 0 auto}.intro-photo .frame{aspect-ratio:1.45}.intro-photo img{object-position:50% 45%}.intro-photo figcaption{padding-right:var(--g)}
.intro-text h2 .mobile-break{display:none}
.section-heading h2{font-family:var(--serif);font-size:clamp(22px,2.1vw,31px);letter-spacing:.07em;line-height:1.7}.feature-grid{grid-template-columns:1.28fr 1fr;gap:8vw}.feature-main .frame{aspect-ratio:1.05}.feature-side{padding-top:150px}.feature-side .frame{aspect-ratio:.78}.feature-detail{display:none}
.story-spread{margin-left:calc(-1 * var(--g));margin-right:calc(-1 * var(--g));grid-template-columns:1.2fr 1fr;gap:10vw}.story-spread figure:first-child .frame{aspect-ratio:1.15}.story-spread figure:first-child figcaption{padding-left:var(--g)}.story-spread figure:last-child figcaption{padding-right:var(--g)}.story-spread figure:last-child{padding-top:135px}
.story-spread{display:block}.story-project{margin:64px 0 90px}.story-project-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 var(--g) 22px}.story-project-heading h3{font-family:var(--serif);font-size:clamp(21px,2.3vw,32px);letter-spacing:.05em}.story-project-heading p{font-size:11px;line-height:1.8;color:#d1d8cf}.project-gallery{display:grid;grid-template-columns:1.65fr 1fr 1fr;gap:1.2vw;align-items:start}.project-gallery figure{min-width:0}.project-gallery .frame{aspect-ratio:.94}.project-gallery figure:first-child .frame{aspect-ratio:1.32}.project-gallery figure:nth-child(2){padding-top:84px}.project-gallery figure:nth-child(2) .frame{aspect-ratio:.78}.project-gallery figure:nth-child(3){padding-top:25px}.project-gallery figure:nth-child(3) .frame{aspect-ratio:1.04}.project-gallery figcaption{font-size:9px;letter-spacing:.07em;opacity:.75;margin:12px var(--g) 0}.story-project.home .project-gallery{grid-template-columns:1fr 1fr 1.65fr}.story-project.home .project-gallery figure:first-child{padding-top:62px}.story-project.home .project-gallery figure:first-child .frame{aspect-ratio:.8}.story-project.home .project-gallery figure:nth-child(2){padding-top:0}.story-project.home .project-gallery figure:nth-child(2) .frame{aspect-ratio:1}.story-project.home .project-gallery figure:nth-child(3){padding-top:96px}.story-project.home .project-gallery figure:nth-child(3) .frame{aspect-ratio:1.28}.news{padding-block:100px;background:#e7e8e0}.news-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #c4c8bc;padding-bottom:25px;gap:20px}.news-head h2{font-family:var(--serif);font-size:clamp(25px,3vw,40px);letter-spacing:.08em}.news-item{display:grid;grid-template-columns:150px 1fr auto;gap:25px;align-items:center;padding-block:29px;border-bottom:1px solid #c4c8bc}.news-date{font-size:10px;letter-spacing:.08em}.news-tag{display:block;margin-top:8px;font-size:9px;letter-spacing:.12em;color:#73796e}.news-title{font-family:var(--serif);font-size:clamp(17px,2vw,24px);line-height:1.8}.news-arrow{font-size:20px}.news-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}.news-foot p{font-size:10px;color:#70766c;line-height:1.8}
.rail{gap:0;padding:0;scroll-padding-left:0;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail article,.rail article:nth-child(even){flex:0 0 100%;padding-top:0}.rail .frame,.rail article:nth-child(even) .frame{aspect-ratio:auto;height:clamp(420px,65vw,780px);max-height:78svh}.rail .project-meta{padding-inline:var(--g);margin-block:25px 8px}.rail img{object-position:50% 50%}.rail-count{font-size:10px;letter-spacing:.12em;align-self:center;margin-inline:8px}
@media(max-width:600px){.intro{grid-template-columns:1fr}.intro-photo{width:83.3333vw;margin-top:10px}.intro-photo .frame{aspect-ratio:.92}.intro-text h2 .desktop-copy{display:none}.intro-text h2 .mobile-copy{display:block}.intro-text h2{font-size:clamp(22px,5.6vw,26px);line-height:1.8}.section-heading h2{font-size:22px;letter-spacing:.04em}.feature-grid{grid-template-columns:1fr;gap:45px}.feature-main{width:94%;margin-left:calc(-1 * var(--g))}.feature-main>.chapter,.feature-main>.project-note,.feature-main .project-meta{margin-left:var(--g)}.feature-side{width:80%;padding-top:0;margin-left:auto;margin-right:calc(-1 * var(--g))}.feature-side .project-meta,.feature-side>.small-line,.feature-side>.project-note{padding-right:var(--g)}.feature-side .frame{aspect-ratio:.85}.story-project{margin:42px 0 55px}.story-project-heading{display:block;margin-bottom:18px}.story-project-heading h3{font-size:23px}.story-project-heading p{margin-top:8px;font-size:10px}.project-gallery{display:flex;overflow-x:auto;gap:12px;padding:0 var(--g) 12px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ffffff75 transparent;overscroll-behavior-x:contain}.project-gallery figure,.story-project.home .project-gallery figure{flex:0 0 78vw;padding:0!important;scroll-snap-align:start}.project-gallery figure:first-child,.story-project.home .project-gallery figure:first-child{flex-basis:86vw}.project-gallery .frame,.project-gallery figure:first-child .frame,.story-project.home .project-gallery figure .frame{aspect-ratio:1.1}.project-gallery figcaption{margin:9px 0 0;font-size:8px}.news{padding-block:68px}.news-head{align-items:center}.news-head h2{font-size:26px}.news-item{grid-template-columns:90px 1fr auto;gap:13px;padding-block:22px}.news-date{font-size:9px}.news-tag{font-size:8px}.news-title{font-size:16px}.news-arrow{font-size:17px}.news-foot{align-items:start;flex-direction:column;gap:10px}.story-spread{grid-template-columns:1fr;gap:38px}.story-spread figure:first-child{width:84%}.story-spread figure:last-child{width:72%;padding-top:0;margin-left:auto}.story-spread figure:last-child .frame{aspect-ratio:.88}.story-spread figure:last-child figcaption{padding-left:0}.rail .frame,.rail article:nth-child(even) .frame{height:62svh;max-height:650px;min-height:350px}.rail .project-meta h3{font-size:23px}.rail-count{margin-inline:3px;font-size:9px}}
.project-gallery figure:nth-child(4) .frame{aspect-ratio:1.08}.project-gallery figure:nth-child(5){padding-top:64px}.project-gallery figure:nth-child(5) .frame{aspect-ratio:.9}.project-gallery figure:nth-child(6) .frame{aspect-ratio:1.28}.story-project.home .project-gallery figure:nth-child(4) .frame{aspect-ratio:1.3}.story-project.home .project-gallery figure:nth-child(5){padding-top:72px}.story-project.home .project-gallery figure:nth-child(5) .frame{aspect-ratio:.88}.story-project.home .project-gallery figure:nth-child(6){padding-top:24px}.story-project.home .project-gallery figure:nth-child(6) .frame{aspect-ratio:1.2}
@media(max-width:600px){.project-gallery figure,.story-project.home .project-gallery figure{flex:0 0 78vw}.project-gallery figure:first-child,.story-project.home .project-gallery figure:first-child{flex-basis:86vw}.project-gallery .frame,.project-gallery figure:first-child .frame,.story-project.home .project-gallery figure .frame{aspect-ratio:1.1}.project-gallery figure:nth-child(n){padding:0!important}}
.expertise{padding:100px 0 66px;background:#e7e8e0}.expertise-heading{display:grid;grid-template-columns:1.1fr 1.4fr .9fr;gap:35px;align-items:center;padding-bottom:42px}.expertise-heading .eyebrow{align-self:start;padding-top:12px}.expertise-heading h2{font-family:var(--serif);font-size:clamp(28px,3vw,43px);line-height:1.65;letter-spacing:.06em}.expertise-lead{font-size:12px;line-height:2.15;color:#62685e}.expertise-menu{border-top:1px solid #c4c8bc}.expertise-row{min-height:178px;padding:13px var(--g);display:grid;grid-template-columns:8vw 1fr 33vw 50px;align-items:center;gap:3vw;border-bottom:1px solid #c4c8bc;transition:background .35s,color .35s}.expertise-row:hover{background:#dfe3d7}.expertise-no{font-family:var(--serif);font-size:14px;color:#7b8273;align-self:start;padding-top:19px}.expertise-copy{display:grid;gap:12px}.expertise-copy strong{font-family:var(--serif);font-size:clamp(24px,3vw,39px);font-weight:400;letter-spacing:.06em}.expertise-copy small{font-size:11px;line-height:1.9;color:#62685e;max-width:450px}.expertise-photo{height:150px;overflow:hidden;background:#d4d7ce}.expertise-photo img{transition:transform .9s cubic-bezier(.2,.7,.3,1)}.expertise-row:hover .expertise-photo img{transform:scale(1.035)}.expertise-arrow{font-size:20px;text-align:center}.expertise-row.reverse .expertise-photo{grid-column:2;grid-row:1}.expertise-row.reverse .expertise-copy{grid-column:3;grid-row:1}.expertise-row.reverse .expertise-arrow{grid-column:4;grid-row:1}.expertise-foot{font-family:var(--serif);font-size:17px;line-height:2.1;letter-spacing:.045em;text-align:center;padding-top:37px}.lumina-strip{padding-bottom:90px}.lumina-strip .intro-photo{width:83.3333vw;margin-top:0}
.rail{scroll-snap-type:none;scroll-behavior:auto;overscroll-behavior-x:contain;will-change:scroll-position}
@media(max-width:900px){.expertise-heading{grid-template-columns:.7fr 1.4fr 1fr;gap:20px}.expertise-row{grid-template-columns:45px 1fr 30vw 40px;gap:2vw}.expertise-photo{height:130px}.expertise-row.reverse .expertise-photo{grid-column:2}.expertise-row.reverse .expertise-copy{grid-column:3}}
@media(max-width:600px){.expertise{padding:72px 0 48px}.expertise-heading{display:block;padding-bottom:29px}.expertise-heading .eyebrow{font-size:8px}.expertise-heading h2{font-size:27px;margin-top:20px}.expertise-lead{margin-top:17px;font-size:11px}.expertise-row{min-height:130px;padding:12px var(--g);grid-template-columns:28px 1fr 27vw 25px;gap:10px}.expertise-no{font-size:11px;padding-top:8px}.expertise-copy{gap:8px}.expertise-copy strong{font-size:21px}.expertise-copy small{font-size:9px;line-height:1.7}.expertise-photo{height:92px}.expertise-arrow{font-size:16px}.expertise-row.reverse .expertise-photo{grid-column:2;grid-row:1}.expertise-row.reverse .expertise-copy{grid-column:3;grid-row:1}.expertise-row.reverse .expertise-arrow{grid-column:4;grid-row:1}.expertise-foot{font-size:13px;padding-top:27px}.lumina-strip{padding-bottom:62px}.lumina-strip .intro-photo{width:83.3333vw}.rail{scroll-snap-type:none}}
/* Consistent case-study photo rhythm: a quiet 3×2 gallery on desktop, equal-card swipe on mobile. */
.footer{display:block;padding:76px var(--g) 28px;background:#26342d;color:var(--paper)}.footer-main{display:grid;grid-template-columns:.8fr 1.5fr;gap:9vw;padding-bottom:66px}.footer-brand .logo{display:inline-flex;align-items:flex-start;flex-direction:column;gap:0}.footer-brand .logo b{font-size:31px;letter-spacing:.12em}.footer-brand .logo small{font-size:8px;letter-spacing:.2em;margin-top:3px}.footer-brand>p{font-family:var(--serif);font-size:13px;line-height:2.1;color:#c6cebf;margin-top:26px}.footer-contact>.eyebrow{color:#c6cebf}.footer-contact h2{font-family:var(--serif);font-size:clamp(23px,2.6vw,36px);line-height:1.7;font-weight:400;letter-spacing:.055em;margin:17px 0 27px}.footer-contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #657168;border-bottom:1px solid #657168}.footer-contact-links>a{min-width:0;display:flex;flex-direction:column;gap:8px;padding:18px 16px 18px 0;text-decoration:none;border-right:1px solid #657168}.footer-contact-links>a+a{padding-left:16px}.footer-contact-links>a:last-child{border:0}.footer-contact-links span{font-size:8px;letter-spacing:.14em;color:#aeb8ad}.footer-contact-links strong{font-family:var(--serif);font-size:15px;font-weight:400;letter-spacing:.04em}.footer-contact-links small{font-size:9px;color:#c6cebf}.footer-lower{border-top:1px solid #657168;padding-top:22px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}.footer-navigation{gap:10px 25px;font-size:10px}.footer-navigation a{color:#e7e9e1}.footer-top{font-size:9px;letter-spacing:.1em;text-decoration:none;white-space:nowrap}.footer-top span{margin-left:8px}.footer-meta{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;color:#c6cebf}.footer-meta small{font-size:8px;line-height:1.8;opacity:.75}
.project-gallery,.story-project.home .project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.project-gallery figure,.story-project.home .project-gallery figure{padding:0!important;min-width:0}
.project-gallery .frame,.project-gallery figure:first-child .frame,.project-gallery figure:nth-child(n) .frame,.story-project.home .project-gallery figure:nth-child(n) .frame{aspect-ratio:1.28;overflow:hidden}
.project-gallery figcaption{margin:11px 0 0;font-size:10px;line-height:1.7}
@media(max-width:600px){.footer{padding:55px var(--g) 22px}.footer-main{grid-template-columns:1fr;gap:43px;padding-bottom:44px}.footer-brand>p{font-size:12px;margin-top:19px}.footer-contact h2{font-size:25px;margin:14px 0 20px}.footer-contact-links{grid-template-columns:1fr}.footer-contact-links>a,.footer-contact-links>a+a{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:13px 0;border-right:0;border-bottom:1px solid #657168}.footer-contact-links>a strong{grid-column:1;grid-row:2;font-size:14px}.footer-contact-links>a small{grid-column:2;grid-row:1/3;align-self:center;text-align:right;font-size:8px}.footer-lower{grid-template-columns:1fr;gap:20px}.footer-navigation{gap:3px 20px;font-size:9px}.footer-top{justify-self:start}.footer-meta{grid-column:1;flex-direction:column;gap:8px}.expertise-row,.expertise-row.reverse{min-height:0;padding:16px var(--g) 0;grid-template-columns:28px minmax(0,1fr) 25px;gap:10px}.expertise-no{grid-column:1;grid-row:1;align-self:start;padding-top:5px}.expertise-copy,.expertise-row.reverse .expertise-copy{grid-column:2;grid-row:1;min-width:0}.expertise-arrow,.expertise-row.reverse .expertise-arrow{grid-column:3;grid-row:1}.expertise-photo,.expertise-row.reverse .expertise-photo{grid-column:1/-1;grid-row:2;width:calc(100% + 12vw);height:auto;aspect-ratio:1.72;margin:13px 0 0 -6vw}.expertise-photo img{width:100%;height:100%;object-fit:cover}.project-gallery,.story-project.home .project-gallery{display:flex;overflow-x:auto;gap:12px;padding:0 var(--g) 12px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ffffff75 transparent;overscroll-behavior-x:contain}.project-gallery figure,.story-project.home .project-gallery figure{flex:0 0 78vw;padding:0!important;scroll-snap-align:start}.project-gallery .frame,.project-gallery figure:nth-child(n) .frame,.story-project.home .project-gallery figure:nth-child(n) .frame{aspect-ratio:1.18}.project-gallery figcaption{margin:9px 0 0;font-size:9px}}
.project-gallery,.story-project.home .project-gallery{display:block;position:relative;width:100vw;height:clamp(440px,62vw,760px);margin-left:calc(50% - 50vw);overflow:hidden;padding:0;scroll-snap-type:none;scrollbar-width:none;overscroll-behavior:auto}.project-gallery-track{display:flex;width:max-content;height:100%;animation:story-gallery-flow 96s linear infinite;animation-play-state:paused;will-change:transform}.project-gallery.is-active .project-gallery-track{animation-play-state:running}.project-gallery.is-paused .project-gallery-track,.motion-off .project-gallery-track{animation-play-state:paused}.project-gallery-track>figure{flex:0 0 100vw;width:100vw;height:100%;min-width:0;padding:0!important;scroll-snap-align:none;position:relative}.project-gallery-track .frame,.project-gallery-track figure:nth-child(n) .frame,.story-project.home .project-gallery-track figure:nth-child(n) .frame{height:calc(100% - 35px);width:100%;aspect-ratio:auto;overflow:hidden}.project-gallery-track .frame img{width:100%;height:100%;object-fit:cover}.project-gallery-track figcaption{margin:10px var(--g) 0;font-size:10px;line-height:1.5;letter-spacing:.07em}.project-gallery-track figure.reveal{opacity:1;transform:none;clip-path:none}.project-gallery-track figure.reveal .frame{clip-path:none}@keyframes story-gallery-flow{to{transform:translate3d(-50%,0,0)}}@media(max-width:600px){.project-gallery,.story-project.home .project-gallery{height:62svh;min-height:390px;max-height:640px}.project-gallery-track .frame,.project-gallery-track figure:nth-child(n) .frame,.story-project.home .project-gallery-track figure:nth-child(n) .frame{height:calc(100% - 32px)}.project-gallery-track figcaption{font-size:9px}}
.section-heading h2,.story-head h2,.story-project-heading h3,.expertise-heading h2{line-break:strict;word-break:normal;text-wrap:balance}.story-head h2{max-width:20em}.story-project-heading h3{max-width:18em}
/* Keep navigation available without covering the hero photo with a permanent solid bar. */
.head{position:fixed;z-index:24;transition:background-color .35s ease,color .35s ease,box-shadow .35s ease,padding .35s ease}.head.is-scrolled{background:rgba(237,239,232,.96);color:#26342d;box-shadow:0 1px 18px rgba(17,32,23,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-top:17px;padding-bottom:17px}.head.is-scrolled nav a:last-child{border-bottom-color:#6d776b}.head.is-scrolled .menu-toggle{color:#26342d}html{scroll-padding-top:105px}@media(max-width:600px){.head.is-scrolled{padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:14px}html{scroll-padding-top:82px}}
.head nav a.header-contact{border:1px solid rgba(255,255,255,.7);padding:13px 20px;line-height:1.4}.head.is-scrolled nav a.header-contact{border-color:#657168}.mobile-contact{display:none}
.brand-story{background:#e7e8e0;padding-block:116px 124px}.brand-story-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);gap:9vw;align-items:center}.brand-story-copy{max-width:510px}.brand-story-copy .eyebrow{color:#62685e}.brand-story-copy h2{font-family:var(--serif);font-size:clamp(29px,3.05vw,44px);line-height:1.75;letter-spacing:.055em;text-wrap:balance;margin:29px 0 33px}.brand-story-copy>p:not(.eyebrow){font-size:13px;line-height:2.45;margin-top:15px;max-width:440px}.brand-story-copy .link{display:inline-block;margin-top:38px;font-size:12px}.brand-story-photo .frame{height:clamp(420px,44vw,610px)}.brand-story-photo img{object-position:50% 50%}.brand-story-photo .caption{margin-top:15px}
.project-gallery,.story-project.home .project-gallery{width:min(100%,1180px);height:clamp(320px,39vw,500px);margin-inline:auto}.project-gallery-track>figure{flex:0 0 min(calc(100vw - 2*var(--g)),1180px);width:min(calc(100vw - 2*var(--g)),1180px)}
@media(max-width:600px){.head{gap:10px}.mobile-contact{display:block;margin-left:auto;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.7);font-size:9px;letter-spacing:.08em;white-space:nowrap}.head.is-scrolled .mobile-contact{border-bottom-color:#657168}.brand-story{padding-block:76px 80px}.brand-story-inner{grid-template-columns:1fr;gap:44px}.brand-story-copy h2{font-size:clamp(24px,6vw,30px);margin:20px 0 24px}.brand-story-copy>p:not(.eyebrow){font-size:12px;line-height:2.25}.brand-story-copy .link{margin-top:28px}.brand-story-photo{width:82vw;margin-left:auto;margin-right:calc(-1*var(--g))}.brand-story-photo .frame{height:auto;aspect-ratio:.9}.project-gallery,.story-project.home .project-gallery{width:100vw;height:clamp(390px,62svh,640px);margin-left:calc(50% - 50vw);margin-right:0}.project-gallery-track>figure{flex:0 0 100vw;width:100vw}}
.brand-story-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw;margin-top:74px}.brand-story-points>div{border-top:1px solid #bfc5b8;padding-top:18px}.brand-story-points span{font-size:9px;letter-spacing:.12em;color:#6b756a}.brand-story-points h3{font-family:var(--serif);font-size:clamp(18px,1.8vw,24px);margin-top:17px;letter-spacing:.05em}.brand-story-points p{font-size:11px;line-height:2.1;margin-top:12px;color:#5e675d;max-width:320px}@media(max-width:600px){.brand-story-points{grid-template-columns:1fr;gap:21px;margin-top:55px}.brand-story-points>div{padding-top:15px}.brand-story-points h3{font-size:20px;margin-top:10px}.brand-story-points p{font-size:11px;margin-top:6px}}
.project-gallery-track{animation-duration:48s}.consultation-flow{padding-block:96px 108px;border-top:1px solid var(--line)}.consultation-flow-head{display:grid;grid-template-columns:1fr 2fr;gap:12px 6vw;align-items:start}.consultation-flow-head .eyebrow{padding-top:9px}.consultation-flow-head h2{font-family:var(--serif);font-size:clamp(24px,2.6vw,37px);letter-spacing:.06em}.consultation-flow-head>p:last-child{grid-column:2;font-size:12px;line-height:2;color:#62685e}.consultation-steps{list-style:none;margin:52px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.consultation-steps li{padding:26px 28px 32px 0}.consultation-steps li+li{border-left:1px solid var(--line);padding-left:28px}.consultation-steps span{font-family:var(--serif);font-size:12px;color:#767d70}.consultation-steps h3{font-family:var(--serif);font-size:clamp(19px,1.8vw,25px);margin-top:24px;letter-spacing:.06em}.consultation-steps p{font-size:11px;line-height:2.1;color:#62685e;margin-top:14px;max-width:290px}.consultation-flow-foot{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:25px}.consultation-flow-foot p{font-size:10px;line-height:1.8;color:#62685e}.consultation-flow-foot .link{font-size:11px;white-space:nowrap}@media(max-width:600px){.consultation-flow{padding-block:67px 75px}.consultation-flow-head{grid-template-columns:1fr;gap:15px}.consultation-flow-head h2{font-size:25px}.consultation-flow-head>p:last-child{grid-column:1;font-size:11px}.consultation-steps{grid-template-columns:1fr;margin-top:31px}.consultation-steps li,.consultation-steps li+li{border-left:0;padding:17px 0 20px}.consultation-steps li+li{border-top:1px solid var(--line)}.consultation-steps h3{font-size:20px;margin-top:10px}.consultation-steps p{margin-top:7px}.consultation-flow-foot{align-items:start;flex-direction:column;gap:14px}.consultation-flow-foot .link{font-size:11px}}
.footer-contact-links>button{min-width:0;display:flex;flex-direction:column;gap:8px;padding:18px 16px 18px 0;text-align:left;border-right:1px solid #657168}.footer-contact-links>button+button{padding-left:16px}.footer-contact-links>button:last-child{border-right:0}.footer-contact-links>button span{font-size:8px;letter-spacing:.14em;color:#aeb8ad}.footer-contact-links>button strong{font-family:var(--serif);font-size:15px;font-weight:400;letter-spacing:.04em}.footer-contact-links>button small{font-size:9px;color:#c6cebf}@media(max-width:600px){.footer-contact-links>button,.footer-contact-links>button+button{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:13px 0;border-right:0;border-bottom:1px solid #657168}.footer-contact-links>button strong{grid-column:1;grid-row:2;font-size:14px}.footer-contact-links>button small{grid-column:2;grid-row:1/3;align-self:center;text-align:right;font-size:8px}}
.editorial{padding-top:clamp(52px,5vw,76px)}@media(max-width:600px){.editorial{padding-top:48px}}
