@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Italiana&display=swap');
@import url('./design-tokens.css?v=20260912-surfaces-126');
@import url('./cookie-motion.css');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--surface-page);color:var(--ink);font:400 16px/1.8 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:5px}img{display:block;max-width:100%;width:100%;object-fit:cover}p{margin:0 0 24px}h1,h2,h3{font-family:var(--font);font-weight:300;line-height:1.25;margin:0 0 28px;letter-spacing:-.025em}h1{font-size:clamp(36px,4vw,58px)}h2{font-size:clamp(28px,2.5vw,38px)}h3{font-size:22px}em{font-family:inherit;font-weight:300;font-style:italic}strong{font-weight:700}.wrap{width:min(1120px,84%);margin-inline:auto}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;line-height:1.6;margin-bottom:28px}.muted{color:var(--muted)}.lead{max-width:490px;color:var(--muted);font-weight:300;font-size:18px}.text-link{display:inline-flex;align-items:center;gap:36px;font-size:14px;padding:8px 0;border-bottom:1px solid #9ca59b;line-height:1.5}.text-link span{font-size:18px}.text-link:hover{color:#6f846c}.skip-link{position:fixed;top:-100px;left:16px;background:white;padding:12px;z-index:200}.skip-link:focus{top:12px}.top{height:106px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;position:relative;background:white;z-index:10}.wordmark{position:absolute;left:50%;transform:translateX(-50%);font-size:37px;letter-spacing:-2px;font-weight:900;line-height:1}.wordmark span{display:block;font-size:9px;font-weight:400;letter-spacing:2.5px;margin-top:10px;text-align:center}.menu-trigger{display:flex;align-items:center;gap:15px;min-height:44px;padding:0;font-size:12px;letter-spacing:1.3px}.hamburger{width:25px;height:9px;border-top:1px solid;border-bottom:1px solid}.top-contact{font-size:12px;letter-spacing:1.3px}.top-contact span{margin-left:20px}.home .top{position:absolute;inset:0 0 auto;background:transparent;color:#fff}.home-hero{height:86svh;min-height:620px;max-height:920px;position:relative;color:white}.hero-media,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-shade{background:linear-gradient(180deg,#17211945,#17211900 30%,#17211990)}.hero-copy{position:absolute;bottom:23%;left:10%}.hero-copy h1{font-size:clamp(36px,4.2vw,62px);line-height:1.2;margin-bottom:32px}.hero-copy .eyebrow{font-size:12px}.hero-copy .text-link{border-color:#ffffff90}.hero-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1.5px}.video-open{font-size:12px;letter-spacing:1px;display:inline-flex;align-items:center;gap:20px}.video-open span{display:grid;place-items:center;width:38px;height:38px;border:1px solid currentColor;border-radius:50%;font-size:16px}.home-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:14%;padding-block:155px}.home-intro>div{max-width:440px}.home-intro p:not(.eyebrow){color:var(--muted)}.home-feature{padding-bottom:145px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:38px}.section-heading .eyebrow{margin:0}.section-heading h2{margin:20px 0 0}.project-card{display:block}.project-card>img{aspect-ratio:1.92;transition:filter .3s}.project-card:hover>img{filter:brightness(.94)}.card-caption{display:flex;align-items:center;justify-content:space-between;padding-top:28px}.card-caption .eyebrow{font-size:11px;color:var(--muted);font-weight:400;display:block;margin:0 0 12px}.card-caption h2{font-size:29px;margin:0}.card-arrow{font-size:28px;font-weight:300}.page-intro{padding:88px 0 90px}.page-intro h1{max-width:750px}.page-intro .lead{margin:0}.editorial{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:13%;padding-bottom:120px}.editorial>img{aspect-ratio:4/5}.editorial p:not(.eyebrow){color:var(--muted)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;padding:25px 0 70px}.principles span{font-size:12px;font-weight:100;display:block;border-top:1px solid var(--line);padding-top:26px;margin-bottom:28px}.principles h3{font-weight:400}.principles p{color:var(--muted)}.page-end{padding:55px 0 120px}.listing{padding-bottom:135px}.reference-note{font-size:13px;color:var(--muted);max-width:640px;margin:35px 0 0}.project-cover{margin-top:0;margin-bottom:0}.project-cover>img{aspect-ratio:1.85}.project-cover figcaption{font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:12px}.project-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:80px;position:relative;margin-top:80px}.project-rail{align-self:stretch}.side-nav{position:sticky;top:65px;display:flex;flex-direction:column;gap:16px;padding-bottom:30px}.rail-title{font-size:11px;font-weight:700;letter-spacing:1.5px;margin:0 0 18px}.side-nav a{font-size:13px;line-height:1.6;color:var(--muted);padding:4px 0 4px 14px;border-left:1px solid var(--line)}.side-nav a.active{color:var(--ink);border-left:2px solid var(--ink);font-weight:700}.project-content{min-width:0}.project-section{padding:45px 0 110px;scroll-margin-top:30px}.project-section>p:not(.eyebrow){max-width:590px;color:var(--muted)}.project-section>img{margin:42px 0 0;aspect-ratio:1.35}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:50px;padding:26px 0}.project-facts span{display:block;font-size:10px;color:var(--muted);letter-spacing:1px;margin-bottom:7px}.project-facts strong{font-size:18px;font-weight:300}.split-copy{display:grid;grid-template-columns:1fr 1.4fr;gap:35px;margin-top:35px}.split-copy p{color:var(--muted);margin:0}.compact{width:100%;padding:0;gap:45px}.compact h2{font-size:30px}.compact>img{aspect-ratio:3/4;object-position:80% center}.space-list{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:36px}.space-list h3{font-size:20px;font-weight:400;margin-bottom:12px}.space-list p{font-size:15px;color:var(--muted)}details{border-block:1px solid var(--line);margin-top:32px;padding:20px 0}details+details{border-top:0}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-size:15px}summary::-webkit-details-marker{display:none}summary span{font-size:23px;font-weight:300}details[open] summary span{transform:rotate(45deg)}details p{font-size:15px;color:var(--muted);max-width:600px;margin:24px 0 0}.gallery-controls{display:flex;gap:12px}.gallery-controls button{width:44px;height:44px;border:1px solid var(--line);font-size:22px}.gallery-image{display:block;width:100%;padding:0;cursor:zoom-in}.gallery-image img{aspect-ratio:1.45}.gallery-caption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);gap:20px;margin-top:18px}.gallery-thumbs{display:flex;gap:12px;margin-top:26px}.gallery-thumbs button{padding:3px;width:82px;border:1px solid transparent;opacity:.6}.gallery-thumbs button[aria-pressed=true]{border-color:var(--ink);opacity:1}.gallery-thumbs img{height:54px}.film-link{margin-top:35px;letter-spacing:0;font-size:14px}.specs{margin-top:45px}.specs>div{display:grid;grid-template-columns:1fr 1.4fr;gap:25px;border-bottom:1px solid var(--line);padding:18px 0;font-size:14px}.specs dt{color:var(--muted)}.specs dd{margin:0}.location-note{background:var(--soft);padding:30px;margin:32px 0}.location-note span{font-weight:700;letter-spacing:1.5px;font-size:11px}.location-note p{font-size:14px;margin:15px 0 0;color:var(--muted)}.film-page{padding-bottom:130px}.film-poster{position:relative}.film-poster>img{aspect-ratio:1.9;filter:brightness(.7)}.film-poster>.video-open{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;white-space:nowrap}.film-description{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:55px}.film-description p{color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:30px 0 170px}.contact-info{border-top:1px solid var(--line);padding-top:30px}.contact-info p{color:var(--muted)}footer{padding:70px 8% 25px;background:#f4f5f1}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;padding-bottom:65px}.footer-logo{font-size:48px;font-weight:900;letter-spacing:-3px;line-height:1}.footer-main>div>p{font-size:11px;letter-spacing:1px;margin-top:15px}.footer-main nav{display:flex;flex-direction:column;gap:9px;font-size:14px}.footer-invite>p{font-size:19px!important;font-weight:300;letter-spacing:0!important;margin-top:0!important}.footer-fine{border-top:1px solid #d8dcd3;display:flex;justify-content:space-between;gap:25px;padding-top:22px;font-size:11px;color:var(--muted)}.footer-fine button{font-size:12px;padding:0}.cookie-banner{position:fixed;inset:auto 0 0;z-index:40;background:#f4f3ef;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:20px 6%;border-top:1px solid #dedfd6}.cookie-banner[hidden]{display:none}.cookie-banner p{font-size:14px;margin:0;font-weight:300}.cookie-actions{display:flex;align-items:center;gap:25px;flex-shrink:0}.cookie-actions button{font-size:13px;border-bottom:1px solid #8b9487;line-height:1.6;padding:4px 0}.cookie-actions button:first-child{font-weight:700}dialog{border:0;color:var(--ink);background:white;padding:0;max-width:none}dialog::backdrop{background:#1d251dc0;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.close-dialog{position:absolute;right:5%;top:28px;display:flex;align-items:center;gap:20px;font-size:12px;letter-spacing:1px;z-index:2}.close-dialog b{font-size:26px;font-weight:300}.menu-dialog{width:100%;height:100svh;max-height:100svh;margin:0}.menu-logo{position:absolute;top:30px;left:8%;font-size:36px;font-weight:900;letter-spacing:-2px}.menu-layout{min-height:100%;padding:140px 12% 70px;display:grid;grid-template-columns:1fr 1fr;gap:17%;align-items:center}.menu-links{display:flex;flex-direction:column;gap:17px}.menu-links a{font-size:clamp(26px,3vw,42px);font-weight:300;line-height:1.5}.menu-links small{font-size:11px;font-weight:400;color:var(--muted);width:40px;display:inline-block;vertical-align:middle}.menu-links a:hover{color:#84947d}.menu-aside img{aspect-ratio:4/5;max-height:360px}.menu-aside p{font-size:11px;letter-spacing:1px;margin-top:22px;color:var(--muted)}.small-dialog{width:min(540px,90vw);padding:80px 45px 45px}.small-dialog h2{font-size:30px}.small-dialog p{font-size:15px;color:var(--muted)}.video-dialog{width:min(1100px,95vw);padding:60px 20px 15px;background:#20261f;color:white}.video-dialog video{width:100%;max-height:75svh}.video-dialog p{font-size:11px;letter-spacing:1px;margin:15px 0 0}.lightbox{background:#20261f;color:white;width:95vw;padding:65px 20px 25px}.lightbox img{height:75svh;object-fit:contain}.loader{position:fixed;inset:0;background:white;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;animation:loader-out .45s .2s forwards}.loader strong{font-size:48px;font-weight:900;letter-spacing:-3px}.loader span{font-size:10px;letter-spacing:2px;font-weight:300}@keyframes loader-out{to{opacity:0;visibility:hidden}}
@media(max-width:950px){.wrap{width:86%}.project-layout{grid-template-columns:140px minmax(0,1fr);gap:35px}.compact{display:block}.compact>img{aspect-ratio:1.4;margin-bottom:35px}.space-list{grid-template-columns:1fr}.split-copy{display:block}.home-intro{gap:7%}.cookie-banner{gap:20px;padding:18px 4%}.cookie-actions{gap:15px}.menu-layout{gap:9%}.contact-layout{gap:50px}}
@media(max-width:700px){h1{font-size:36px}h2{font-size:29px}.wrap{width:86%}.top{height:88px;padding:0 7%}.wordmark{font-size:31px}.wordmark span{font-size:8px}.menu-trigger>span:last-child{display:none}.top-contact{font-size:11px}.top-contact span{margin-left:10px}.home-hero{min-height:570px;height:82svh}.hero-copy{left:7%;right:7%;bottom:25%}.hero-copy h1{font-size:37px}.hero-bottom{left:7%;right:7%;bottom:28px}.hero-bottom>span{display:none}.hero-bottom .video-open{margin-left:auto}.home-intro{display:block;padding-block:85px}.home-intro>.eyebrow{margin-bottom:32px}.home-feature{padding-bottom:85px}.section-heading{gap:20px;align-items:flex-start}.section-heading>.text-link{font-size:12px;gap:15px}.section-heading .eyebrow{font-size:11px}.project-card>img{aspect-ratio:1.2}.card-caption h2{font-size:25px}.page-intro{padding:55px 0 65px}.lead{font-size:17px}.editorial{display:block;padding-bottom:65px}.editorial>img{aspect-ratio:1.1;margin-bottom:45px}.principles{grid-template-columns:1fr;gap:30px;padding-bottom:15px}.principles span{margin-bottom:15px}.page-end{padding:35px 0 75px}.listing{padding-bottom:85px}.project-cover>img{aspect-ratio:1.05}.project-cover figcaption{font-size:9px}.project-layout{display:block;margin-top:25px}.project-rail{position:sticky;top:0;z-index:8;background:#fff}.side-nav{position:static;flex-direction:row;gap:22px;padding:16px 0;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}.rail-title{display:none}.side-nav a{white-space:nowrap;border-left:0;border-bottom:1px solid transparent;padding:4px 0;font-size:12px}.side-nav a.active{border-left:0;border-bottom:1px solid var(--ink)}.project-section{padding:60px 0 45px;scroll-margin-top:70px}.project-facts{gap:12px}.project-facts strong{font-size:16px}.project-facts span{font-size:9px;letter-spacing:.6px}.project-section>img{aspect-ratio:1.1}.split-copy{margin-top:28px}.compact{padding:0}.compact>img{aspect-ratio:1.2}.gallery .section-heading{display:block}.gallery-controls{margin-top:22px}.gallery-image img{aspect-ratio:1.05}.gallery-caption{font-size:11px}.specs>div{grid-template-columns:1fr 1.15fr;gap:15px;font-size:13px}.film-page{padding-bottom:80px}.film-poster>img{aspect-ratio:1.1}.film-description{display:block;margin-top:35px}.contact-layout{display:block;padding:0 0 85px}.contact-info{margin-top:40px}footer{padding:50px 7% 25px}.footer-main{grid-template-columns:1fr 1fr;gap:35px;padding-bottom:40px}.footer-invite{grid-column:1/-1}.footer-fine{flex-wrap:wrap;gap:14px;font-size:10px}.footer-fine>span{width:100%}.footer-fine>a{margin-left:auto}.cookie-banner{padding:16px 7%;display:block}.cookie-banner p{font-size:13px}.cookie-actions{gap:24px;margin-top:10px}.cookie-actions button{font-size:12px}.menu-layout{display:block;padding:130px 10% 40px}.menu-links{gap:18px}.menu-links a{font-size:30px}.menu-aside img{display:none}.menu-aside p{margin-top:55px}.small-dialog{padding:75px 28px 30px}.small-dialog h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.loader{display:none}}
/* Palette and immersive media direction, September 2026. */
body{background:var(--paper)}.top{background:var(--paper)}h1,h2{color:var(--navy)}.home h1{color:white}.home-hero{height:100svh;min-height:580px;max-height:none;overflow:hidden}.hero-media{object-fit:cover}.hero-shade{background:linear-gradient(180deg,#0d182e50,#0d182e00 35%,#0d182e80)}.hero-copy{bottom:26%}.hero-bottom{bottom:35px;pointer-events:none}.hero-bottom button{pointer-events:auto}.hero-bottom>span{max-width:60%}.ambient-toggle,.sound-toggle{position:absolute;bottom:92px;right:5%;z-index:3;color:white;font-size:11px;font-weight:700;letter-spacing:1px;min-height:44px;padding:8px 0;}.sound-toggle{right:auto;left:5%}.bleed-frame{height:85svh;min-height:460px;position:relative;overflow:hidden;margin-block:0}.bleed-frame>img{width:100%;height:100%;object-fit:cover;max-width:none;will-change:transform}.card-caption{width:min(1120px,100%);margin-inline:auto;padding-top:35px}.home-feature{padding-bottom:120px}.home-feature .bleed-frame{height:90svh}.editorial{display:flex;flex-direction:column;gap:0;align-items:stretch}.editorial>.bleed-frame{order:2;margin-top:80px}.editorial>div:not(.bleed-frame){max-width:540px;margin-left:auto}.editorial>div:not(.bleed-frame)>p:last-child{margin-bottom:0}.project-cover .bleed-frame{height:90svh}.project-cover figcaption{padding-top:6px}.project-section>.bleed-frame{margin-top:50px}.compact>.bleed-frame{margin-top:50px;height:85svh}.compact>div:not(.bleed-frame){margin-left:0;max-width:590px}.side-nav{background:var(--paper);padding:22px 16px 26px;margin-left:-16px;}.project-rail{z-index:5;position:relative;pointer-events:none}.side-nav{pointer-events:auto}.gallery-image{height:85svh;min-height:450px;overflow:hidden}.gallery-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}.project-content .section-heading{position:relative;z-index:1}.immersive-film{height:100svh;position:relative;overflow:hidden}.immersive-film video{width:100%;height:100%;object-fit:cover}.immersive-film .ambient-toggle,.immersive-film .sound-toggle{bottom:30px}.film-page{padding-bottom:120px}.film-description{padding-top:35px}.menu-dialog,.small-dialog{background:var(--paper)}.menu-links a{color:var(--navy)}.menu-logo,.wordmark{color:var(--navy)}.home .wordmark{color:white}.cookie-banner{background:var(--stone);border-color:var(--line)}.cookie-actions button:first-child{color:var(--navy)}footer{background:var(--navy);color:var(--paper)}.footer-main nav,.footer-invite{color:var(--paper)}.footer-fine{color:#c9cec9;border-color:#ffffff25}.footer-invite .text-link{border-color:#9da79d}.location-note{background:var(--forest);color:var(--paper)}.location-note p{color:#d9ddd4}.loader{background:var(--paper)}.loader strong{color:var(--navy)}.specs{background:var(--paper)}
@media(max-width:700px){.home-hero{height:100svh;min-height:560px}.hero-copy{bottom:28%}.hero-copy h1{font-size:36px}.hero-bottom{bottom:25px}.ambient-toggle{bottom:75px;right:7%}.bleed-frame,.home-feature .bleed-frame,.project-cover .bleed-frame,.compact>.bleed-frame{height:70svh;min-height:390px}.gallery-image{height:70svh;min-height:390px}.project-rail{position:sticky;background:var(--paper)}.side-nav{margin-left:0;box-shadow:none;padding:16px 0}.editorial>.bleed-frame{margin-top:45px}.compact{padding-bottom:0}.project-section{padding-bottom:70px}.home-feature{padding-bottom:85px}.film-description{padding-top:0}.immersive-film{height:100svh}}
@media(prefers-reduced-motion:reduce){.bleed-frame>img{transform:none!important;will-change:auto}}
/* Targeted refinements: original footer, floating cookie pill and unboxed project navigation. */
.cookie-banner{inset:auto auto 30px 50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 48px);padding:23px 42px;gap:38px;border:0;border-radius:100px;background:#eeece6f5;box-shadow:none;backdrop-filter:blur(12px);display:flex}.cookie-banner p{font:400 13px/1.7 var(--font);letter-spacing:.2px}.cookie-actions{margin:0;gap:22px}.cookie-actions button,.cookie-actions button:first-child{font-size:11px;letter-spacing:.4px;font-weight:400;color:var(--ink);white-space:nowrap}.project-rail{mix-blend-mode:difference;color:#fff;background:transparent}.side-nav{background:none;box-shadow:none;padding:12px 0 26px;margin:0;color:#fff}.side-nav .rail-title{display:none}.side-nav a{color:inherit;border-left:0;display:flex;align-items:center;gap:10px;padding:5px 0;font-weight:400;opacity:.72}.side-nav a::before{content:'';width:12px;height:1px;background:currentColor;flex-shrink:0}.side-nav a.active{color:inherit;border-left:0;font-weight:400;opacity:1}.side-nav a.active::before{width:24px}.restored-footer{background:var(--forest);color:var(--stone);padding:90px 8% 80px}.restored-footer .footer-main{display:flex;justify-content:space-between;gap:80px;padding:0}.restored-footer .footer-main>div>p{font-size:12px;letter-spacing:1.8px;margin:0 0 34px}.restored-footer h2{font-family:var(--font-project);font-size:clamp(38px,4.1vw,64px);font-weight:400;color:inherit;line-height:1.16;letter-spacing:-1.5px;margin:0 0 35px}.restored-footer h2 em{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-2px}.restored-footer .footer-main nav{min-width:150px;gap:20px;padding-top:12px;font-size:14px}.restored-footer .text-link{font-size:12px;letter-spacing:1.3px;gap:48px;border-color:#ffffff90;color:inherit}.footer-brand{display:flex;align-items:center;gap:40px;margin-top:95px;padding-bottom:55px;border-bottom:1px solid #ffffff25}.restored-footer .footer-logo{font-size:100px;font-weight:700;line-height:1;letter-spacing:-7px}.footer-brand p{font-size:10px;letter-spacing:2px;line-height:1.9;margin:12px 0 0}.footer-brand>a:last-child{margin-left:auto;font-size:10px;letter-spacing:1px}.restored-footer .footer-fine{border:0;padding-top:25px;color:#cbcfc2;font-size:10px;display:flex;justify-content:space-between;gap:20px}.restored-footer .footer-fine button{font-size:11px}.portfolio-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;padding-bottom:24px;border-bottom:1px solid var(--line)}.portfolio-heading h2{font-size:26px;margin:0}.portfolio-heading>span{font-size:10px;letter-spacing:1px;color:var(--muted)}.portfolio-list{list-style:none;margin:0;padding:0}.portfolio-list>li{padding:42px 0;border-bottom:1px solid var(--line)}.portfolio-row{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}.portfolio-row>img{width:100%;aspect-ratio:1.5}.portfolio-info h3{font-size:32px;color:var(--navy);margin:0 0 15px}.portfolio-info .eyebrow{font-size:11px;margin:0 0 20px}.portfolio-info>p:not(.eyebrow){font-size:15px;color:var(--muted)}.portfolio-row:hover .text-link{color:var(--navy)}
@media(max-width:700px){.cookie-banner{width:calc(100% - 28px);max-width:none;bottom:16px;padding:20px 25px;border-radius:32px;display:block}.cookie-banner p{font-size:12px}.cookie-actions{margin-top:10px;gap:20px;flex-wrap:wrap}.cookie-actions button{font-size:10px}.project-rail{background:none}.side-nav{padding:14px 0;border-bottom:0}.side-nav a{border-bottom:0;font-size:12px;gap:6px}.side-nav a::before{display:none}.side-nav a.active{border-bottom:1px solid currentColor}.restored-footer{padding:65px 7% 40px}.restored-footer .footer-main{display:block}.restored-footer .footer-main nav{margin-top:40px;gap:16px}.restored-footer h2{font-size:38px}.restored-footer h2 em{letter-spacing:-1.5px}.footer-brand{gap:22px;margin-top:60px;padding-bottom:35px;flex-wrap:wrap}.restored-footer .footer-logo{font-size:75px;letter-spacing:-5px}.footer-brand>a:last-child{margin-left:0;width:100%;margin-top:15px}.restored-footer .footer-fine{flex-direction:column;align-items:flex-start;gap:15px}.portfolio-heading{display:block}.portfolio-heading h2{margin-bottom:15px}.portfolio-row{grid-template-columns:1fr;gap:26px}.portfolio-info h3{font-size:28px}}
.project-identity{padding:15px 0 35px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.project-wordmark{font-family:var(--font-project);font-size:clamp(42px,5vw,72px);line-height:1.1;color:var(--navy);letter-spacing:-1px}.logo-caption{font-size:9px;letter-spacing:1.7px;color:var(--muted)}h1.project-tagline{font-size:25px;font-weight:300;margin-top:12px}.construction{border-top:1px solid var(--line);margin-top:40px}.construction-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.construction-value{font-size:90px;font-weight:100;line-height:1;color:var(--navy);letter-spacing:-5px}.construction-value span{font-size:32px;letter-spacing:0}.construction label{display:block;font-size:14px;margin:26px 0 16px}.construction progress{display:block;appearance:none;width:100%;height:4px;border:0;background:#dcd8cf;color:var(--navy)}.construction progress::-webkit-progress-bar{background:#dcd8cf}.construction progress::-webkit-progress-value{background:var(--navy)}.construction progress::-moz-progress-bar{background:var(--navy)}.construction-meta{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.9px;color:var(--muted);margin-top:18px}@media(max-width:700px){.construction-value{font-size:68px}.construction-heading h2{font-size:27px}.construction-meta{flex-direction:column;gap:8px}.project-wordmark{font-size:48px}}
/* Current-site refinements: richer editorial content, edge-to-edge portfolio and one type family. */
.restored-footer h2,.restored-footer h2 em{font-family:var(--font);font-weight:300;letter-spacing:-.025em}.restored-footer h2{font-size:clamp(35px,3.5vw,54px);line-height:1.25}.restored-footer h2 em{font-style:italic}.narrative-chapter{display:grid;grid-template-columns:1fr 1.2fr;gap:14%;padding-block:135px}.chapter-title h2{font-size:clamp(30px,2.5vw,40px);line-height:1.25}.chapter-copy{padding-top:45px;max-width:510px}.chapter-copy p{color:var(--muted);line-height:1.9}.chapter-copy .text-link{margin-top:12px}.home-landscape{height:85svh}.home-project-selection{margin:0}.story-image{display:block;overflow:hidden}.project-story .bleed-frame{height:88svh}.story-caption{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:50px;padding-block:45px 95px}.story-caption .eyebrow{font-size:11px;margin:0 0 14px}.story-caption h3{font-size:34px;margin:0;color:var(--navy)}.story-caption>p{font-weight:300;font-size:18px;color:var(--muted);margin:0}.home-study-note{font-size:11px;color:var(--muted);margin-bottom:80px;max-width:1120px}.portfolio-intro{padding-top:85px;padding-bottom:110px}.portfolio-intro h1{font-size:clamp(36px,4vw,60px);font-weight:300;margin-bottom:50px;max-width:720px}.portfolio-intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px}.portfolio-intro-bottom p{color:var(--muted);font-size:17px;line-height:1.8;margin:0}.portfolio-editorial-list{margin:0;padding:0;list-style:none}.portfolio-project{margin:0;padding:0}.portfolio-hero{display:block;position:relative;overflow:hidden;color:white}.portfolio-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0d182e00 40%,#0d182e80);pointer-events:none}.portfolio-hero .bleed-frame{height:90svh;min-height:550px}.portfolio-image-title{position:absolute;left:8%;bottom:10%;z-index:1}.portfolio-image-title>span:first-child{font-size:11px;letter-spacing:1.7px}.portfolio-image-title h2{color:inherit;font-family:var(--font);font-weight:300;font-size:clamp(42px,5vw,76px);letter-spacing:-.035em;margin:22px 0 20px}.portfolio-explore{font-size:13px;border-bottom:1px solid #ffffff90;padding-bottom:8px;display:inline-block}.portfolio-description{display:grid;grid-template-columns:1fr 1.2fr auto;gap:60px;align-items:start;padding-block:70px 130px}.portfolio-description h3{font-weight:300;font-size:26px;line-height:1.4}.portfolio-description p{color:var(--muted);font-size:16px;line-height:1.9;margin:0}.portfolio-description .text-link{white-space:nowrap;gap:25px}.portfolio-closing{padding:30px 0 130px}.portfolio-closing h2{font-size:38px}.portfolio-closing .reference-note{max-width:570px;margin-top:60px}.project-page .project-layout{display:block;position:relative;width:100%;margin-inline:0}.project-page .project-rail{display:none}.project-page .project-content{width:min(870px,calc(100% - 330px));margin-left:auto;margin-right:8%}.project-nav-floating.side-nav{position:fixed;left:28px;top:160px;width:max-content;max-width:150px;height:auto;z-index:25;margin:0;padding:0;border:0;box-shadow:none;background:none;display:flex;flex-direction:column;gap:15px;overflow:visible;mix-blend-mode:difference;color:#fff;pointer-events:auto;visibility:hidden}.project-nav-floating.side-nav.is-visible{visibility:visible}.project-nav-floating.side-nav a{display:flex;align-items:center;font-family:var(--font);font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.5px;color:#fff;opacity:.76;padding:4px 0;border:0;gap:12px;white-space:nowrap}.project-nav-floating.side-nav a::before{content:'';display:block;width:12px;height:1px;background:#fff;flex-shrink:0}.project-nav-floating.side-nav a.active{opacity:1;font-weight:700;border:0}.project-nav-floating.side-nav a.active::before{width:25px}.project-nav-floating .rail-title{display:none}
@media(max-width:1050px){.story-caption,.portfolio-description{grid-template-columns:1fr 1fr;gap:30px}.story-caption>.text-link,.portfolio-description>.text-link{grid-column:2;justify-self:start}.portfolio-description{padding-block:55px 90px}.project-page .project-content{width:calc(100% - 230px);margin-right:6%}.project-nav-floating.side-nav{left:24px;max-width:135px}.project-nav-floating.side-nav a{font-size:11px}}
@media(max-width:700px){.narrative-chapter{grid-template-columns:1fr;gap:10px;padding-block:85px}.chapter-copy{padding-top:0}.chapter-title h2{font-size:31px}.story-caption{grid-template-columns:1fr;gap:22px;padding-block:30px 65px}.story-caption>.text-link{grid-column:1}.story-caption h3{font-size:30px}.project-story .bleed-frame{height:75svh;min-height:420px}.portfolio-intro{padding-top:60px;padding-bottom:75px}.portfolio-intro h1{font-size:40px;margin-bottom:35px}.portfolio-intro-bottom{display:block}.portfolio-intro-bottom .text-link{margin-top:25px}.portfolio-hero .bleed-frame{height:80svh;min-height:460px}.portfolio-image-title{left:7%;bottom:9%}.portfolio-image-title h2{font-size:47px}.portfolio-description{grid-template-columns:1fr;gap:20px;padding-block:40px 85px}.portfolio-description h3{margin:0;font-size:26px}.portfolio-description>.text-link{grid-column:1}.portfolio-closing{padding-bottom:85px}.portfolio-closing h2{font-size:31px}.project-page .project-content{width:calc(100% - 185px);margin-right:6%}.project-nav-floating.side-nav{left:20px;gap:13px;max-width:120px}.project-nav-floating.side-nav a{font-size:11px;gap:10px}.project-section h2{font-size:29px}.project-facts{grid-template-columns:1fr;gap:15px}.project-facts>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.project-facts span{margin:0}.specs>div{grid-template-columns:1fr;gap:6px}.split-copy{display:block}.restored-footer h2{font-size:36px}.restored-footer h2 em{font-family:var(--font);letter-spacing:-.025em}}
@media(max-width:480px){.project-page .project-content{width:calc(100% - 138px);margin-right:5%}.project-nav-floating.side-nav{left:12px;max-width:100px;gap:12px}.project-nav-floating.side-nav a{font-size:10px;gap:7px;letter-spacing:0}.project-nav-floating.side-nav a::before{width:8px}.project-nav-floating.side-nav a.active::before{width:17px}.project-section h2{font-size:25px}.project-section p{font-size:15px}.project-section .eyebrow{font-size:10px}.construction-heading{display:block}.construction-value{font-size:62px}.project-page .gallery-thumbs{gap:5px}.project-page .gallery-thumbs button{width:65px}.project-page .gallery-thumbs img{height:44px}.construction-meta{font-size:8px}}

.project-nav-floating.side-nav a{opacity:1}.project-nav-floating.side-nav{right:auto;bottom:auto;transform:none}
@media(max-height:560px){.project-nav-floating.side-nav{gap:5px}.project-nav-floating.side-nav a{font-size:10px;padding-block:2px}}

/* Privacy reminder follows the site's paper, quiet type and fine editorial links. */
.cookie-banner {
  width: max-content;
  max-width: calc(100% - 32px);
  bottom: 24px;
  padding: 3px 24px;
  gap: 28px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  color: var(--navy);
  backdrop-filter: none;
  box-shadow: none;
  display: flex;
  align-items: center;
}
.cookie-banner p { margin: 0; font: 300 13px/1.5 var(--font); letter-spacing: 0; }
.cookie-actions { display: flex; align-items: center; gap: 20px; margin: 0; flex-wrap: nowrap; }
.cookie-actions button, .cookie-actions button:first-child {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font: 400 10px/1.5 var(--font);
  letter-spacing: .7px;
  min-height: 44px;
  padding: 0;
  color: var(--navy);
  border-bottom: 0;
  text-decoration: none;
}
.cookie-actions button > span { padding-block: 3px; border-bottom: 1px solid #9ca59b; }
.cookie-actions button:hover > span { border-bottom-color: currentColor; }
.cookie-arrow { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1; }

/* Extend the existing home with a launch feature and a quieter, varied rhythm. */
.launch-scene { position: relative; overflow: hidden; color: #fff; }
.launch-scene .bleed-frame { height: 94svh; min-height: 600px; }
.launch-scene::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, #0d182e50, #0d182e00 24%, #0d182e95 100%);
}
.launch-overline {
  position: absolute; inset: 45px 8% auto; z-index: 1;
  display: flex; justify-content: space-between; gap: 20px;
  font-size: 10px; letter-spacing: 1.8px;
}
.launch-overline span:first-child { border-bottom: 1px solid #ffffff80; padding-bottom: 10px; }
.launch-copy { position: absolute; left: 0; right: 0; bottom: 9%; z-index: 1; }
.launch-copy .eyebrow { font-size: 10px; margin-bottom: 20px; }
.launch-copy h2 { color: inherit; font-size: clamp(50px, 5.5vw, 78px); letter-spacing: -.035em; margin-bottom: 20px; }
.launch-copy > p:not(.eyebrow) { font-size: 18px; font-weight: 300; line-height: 1.6; margin-bottom: 26px; }
.launch-copy .text-link { border-color: #ffffff90; font-size: 13px; }
.launch-copy .text-link:hover { color: #fff; }
.launch-details { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; padding-block: 50px 25px; }
.launch-details > p { font-size: 20px; font-weight: 300; line-height: 1.5; margin: 0; }
.launch-details dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin: 0; }
.launch-details dt { font-size: 9px; letter-spacing: 1.2px; color: var(--muted); margin-bottom: 12px; }
.launch-details dd { font-size: 15px; margin: 0; }
.launch-note { font-size: 10px; color: var(--muted); margin-bottom: 0; padding-bottom: 45px; border-bottom: 1px solid var(--line); }
.home-evolution { background: var(--navy); color: var(--paper); padding-block: 110px; }
.evolution-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 16%; }
.evolution-intro .eyebrow { font-size: 10px; }
.evolution-intro h2 { color: inherit; font-size: clamp(30px, 3vw, 43px); }
.evolution-intro > p:not(.eyebrow) { font-size: 15px; color: #c2c8d0; max-width: 350px; }
.evolution-intro .text-link { color: inherit; border-color: #ffffff70; font-size: 13px; }
.evolution-row { display: block; padding-bottom: 30px; margin-bottom: 20px; }
.evolution-row > div { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 13px; }
.evolution-row h3 { font-size: 23px; margin: 0; color: inherit; }
.evolution-value { font-size: 36px; line-height: 1; font-weight: 300; }
.evolution-value small { font-size: 14px; margin-left: 5px; }
.evolution-row progress { appearance: none; display: block; width: 100%; height: 2px; border: 0; background: #ffffff26; color: #e6e5d7; }
.evolution-row progress::-webkit-progress-bar { background: #ffffff26; }
.evolution-row progress::-webkit-progress-value { background: #e6e5d7; transform-origin: left; transition: transform 1.5s ease; }
.evolution-row progress::-moz-progress-bar { background: #e6e5d7; transform-origin: left; transition: transform 1.5s ease; }
.evolution-pending progress::-webkit-progress-value { transform: scaleX(0); }
.evolution-pending progress::-moz-progress-bar { transform: scaleX(0); }
.evolution-row:nth-child(2) progress::-webkit-progress-value { transition-delay: .15s; }
.evolution-row:nth-child(3) progress::-webkit-progress-value { transition-delay: .3s; }
.evolution-caption { display: flex; justify-content: space-between; align-items: center; font-size: 8px; letter-spacing: 1.1px; color: #bac1cd; margin-top: 12px; }
.evolution-caption > span { font-size: 15px; transition: transform .2s; }
.evolution-row:hover .evolution-caption > span { transform: translate(3px, -3px); }
.evolution-note { font-size: 9px; color: #aeb6c3; margin: 0; line-height: 1.8; }
.home-details { padding-block: 120px; }
.details-heading { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; margin-bottom: 70px; }
.details-heading h2 { margin: 0; font-size: clamp(30px, 3vw, 42px); }
.details-heading .eyebrow { font-size: 10px; padding-top: 10px; }
.details-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 55px; margin-bottom: 30px; }
.details-columns article { border-top: 1px solid var(--line); padding-top: 20px; }
.details-columns article > span { font-size: 9px; letter-spacing: 1.2px; color: var(--muted); }
.details-columns h3 { margin-top: 26px; font-size: 24px; line-height: 1.4; }
.details-columns p { font-size: 14px; color: var(--muted); line-height: 1.85; max-width: 290px; }
.home-details > .text-link { font-size: 13px; }
@media(max-width:950px) {
  .launch-details { grid-template-columns: 1fr; gap: 30px; }
  .evolution-layout { gap: 8%; }
  .details-columns { gap: 30px; }
}
@media(max-width:700px) {
  .launch-scene .bleed-frame { height: 85svh; min-height: 580px; }
  .launch-overline { inset: 30px 7% auto; font-size: 8px; letter-spacing: 1.2px; }
  .launch-copy h2 { font-size: 54px; }
  .launch-copy > p:not(.eyebrow) { font-size: 17px; }
  .launch-details { padding-top: 35px; }
  .launch-details dl { gap: 15px; }
  .launch-details dt { font-size: 8px; letter-spacing: .7px; }
  .launch-details dd { font-size: 13px; line-height: 1.5; }
  .launch-note { font-size: 9px; padding-bottom: 35px; }
  .home-evolution { padding-block: 75px; }
  .evolution-layout { grid-template-columns: 1fr; gap: 55px; }
  .evolution-intro h2 { font-size: 34px; }
  .evolution-row h3 { font-size: 24px; }
  .home-details { padding-block: 80px; }
  .details-heading { grid-template-columns: 1fr; gap: 8px; margin-bottom: 40px; }
  .details-heading .eyebrow { margin-bottom: 15px; }
  .details-columns { grid-template-columns: 1fr; gap: 25px; }
  .details-columns h3 { margin-block: 18px; }
  .details-columns p { max-width: 100%; }
}
@media(max-width:430px) {
  .cookie-banner { gap: 16px; padding-inline: 18px; bottom: 16px; }
  .cookie-banner p { font-size: 12px; max-width: 110px; }
  .cookie-actions { gap: 14px; }
  .cookie-actions button, .cookie-actions button:first-child { font-size: 9px; letter-spacing: .5px; gap: 7px; }
}
@media(max-width:350px) {
  .cookie-banner { gap: 12px; padding-inline: 14px; }
  .cookie-banner p { max-width: 90px; }
  .cookie-actions { gap: 10px; }
}

/* Shared alignment axes; image frames continue to span the viewport. */
.wrap { width: min(var(--layout-width), calc(100% - 2 * var(--layout-gutter))); }
.top { padding-inline: var(--page-gutter); }
.hero-copy { left: var(--page-gutter); right: var(--page-gutter); text-align: left; }
.hero-copy h1 { max-width: 680px; }
.hero-bottom { left: var(--page-gutter); right: var(--page-gutter); align-items: center; }
.ambient-toggle { right: var(--page-gutter); }
.sound-toggle { left: var(--page-gutter); }
.launch-overline { left: var(--page-gutter); right: var(--page-gutter); align-items: baseline; }
.portfolio-image-title { left: var(--page-gutter); right: var(--page-gutter); }
.narrative-chapter, .evolution-layout, .details-heading { grid-template-columns: 5fr 7fr; gap: var(--grid-gap); }
.chapter-copy { padding-top: 46px; max-width: 510px; }
.details-heading .eyebrow { padding-top: 0; }
.details-columns, .principles { gap: var(--grid-gap); }
.story-caption, .portfolio-description { grid-template-columns: 4fr 5fr 3fr; gap: var(--grid-gap); }
.story-caption > .text-link, .portfolio-description > .text-link { justify-self: end; }
.story-caption { align-items: start; }
.story-caption > .text-link { margin-top: 26px; }
.launch-details { grid-template-columns: 4fr 8fr; gap: var(--grid-gap); }
.launch-details dl { gap: var(--grid-gap); }
.launch-details > p { line-height: 1.6; }
.contact-layout, .film-description { gap: var(--grid-gap); }
.restored-footer { padding-inline: var(--page-gutter); }
.restored-footer .footer-main { align-items: flex-start; gap: var(--grid-gap); }
.restored-footer .footer-main nav { padding-top: 0; }
.restored-footer .footer-logo { font-weight: 900; }
.footer-brand { gap: var(--space-10); }
.footer-brand p { margin-top: 0; }
.footer-brand > a:last-child { text-align: right; }
.menu-logo { left: var(--page-gutter); }
.menu-layout { padding-inline: var(--page-gutter); grid-template-columns: 5fr 7fr; gap: var(--grid-gap); }
.menu-aside { width: min(100%, 380px); justify-self: end; text-align: right; }
.close-dialog { right: var(--page-gutter); }
.small-dialog .close-dialog { right: 28px; }
.project-page .project-content { width: min(870px, calc(100% - 330px)); margin-right: var(--page-gutter); }
.project-page .page-end { text-align: right; }

/* Natural photographs: no gradient, opacity fade or brightness filter. */
.launch-scene::after, .portfolio-hero::after { content: none; background: none; }
.hero-shade { background: none; }
.film-poster > img { filter: none; }
.hero-copy, .hero-bottom, .launch-copy, .launch-overline, .portfolio-image-title,
.home .top, .ambient-toggle, .sound-toggle {
  color: #fff;
  mix-blend-mode: difference;
}
.hero-copy h1, .launch-copy h2, .portfolio-image-title h2 { color: inherit; }
.home .top .wordmark { color: inherit; }
.hero-copy .text-link:hover, .portfolio-image-title:hover { color: inherit; }
[data-parallax] > img { transform: none; }

@media(max-width:1050px) {
  .story-caption, .portfolio-description { grid-template-columns: 1fr 1fr; }
  .story-caption > .text-link, .portfolio-description > .text-link { grid-column: 2; justify-self: start; margin-top: 0; }
  .project-page .project-content { width: calc(100% - 230px); }
}
@media(max-width:950px) {
  .launch-details { grid-template-columns: 1fr; gap: 30px; }
}
@media(max-width:700px) {
  .narrative-chapter, .evolution-layout, .details-heading { grid-template-columns: 1fr; }
  .narrative-chapter { gap: 10px; }
  .evolution-layout { gap: 55px; }
  .details-heading { gap: 8px; }
  .chapter-copy { padding-top: 0; }
  .story-caption, .portfolio-description { grid-template-columns: 1fr; }
  .story-caption > .text-link, .portfolio-description > .text-link { grid-column: 1; margin-top: 0; }
  .menu-layout { display: block; }
  .menu-aside { width: 100%; }
  .footer-brand { gap: 22px; }
  .footer-brand > a:last-child { text-align: left; }
  .project-page .project-content { width: calc(100% - 185px); }
  .project-page .page-end { text-align: left; }
}
@media(max-width:480px) {
  .project-page .project-content { width: calc(100% - 138px); }
}
@media(prefers-reduced-motion:reduce) {
  [data-parallax] > img { transform: none !important; }
}
/* Video copy keeps a simple, fixed white color. */
.hero-copy, .hero-bottom, .launch-copy, .launch-overline, .portfolio-image-title,
.ambient-toggle, .sound-toggle {
  mix-blend-mode: normal;
  
}
.editorial:not(.compact) > div:not(.bleed-frame) {
  width: calc((100% - var(--grid-gap)) * 7 / 12);
  max-width: none;
  margin-left: auto;
}
@media(max-width:700px) {
  .editorial:not(.compact) > div:not(.bleed-frame) { width: 100%; }
}

/* v1.2 — restrained type, fluid composition and clear editorial pauses. */
.wrap { width: calc(100% - 2 * var(--layout-gutter)); max-width: none; }
.top, .home .top { mix-blend-mode: normal; }
.top { color: var(--navy); }
.home .top { color: #fff; }
.top .wordmark { color: inherit; font-weight: 700; }
.menu-trigger, .top-contact { font-weight: 400; }
.hero-copy h1 { max-width: none; font-size: clamp(36px, 3.4vw, 58px); line-height: 1.12; }
.hero-copy { bottom: 24%; }
.hero-copy .eyebrow { margin-bottom: 32px; }
.home-hero > .ambient-toggle { bottom: 28px; }
.hero-bottom { bottom: 28px; min-height: 44px; }
.home-study-note { max-width: none; }
.page-intro h1 { max-width: none; }
.portfolio-intro h1 { font-size: clamp(34px, 3.2vw, 52px); max-width: none; }
.portfolio-intro-bottom p { max-width: 52ch; font-size: 17px; }

.home-opening, .collection-heading, .city-editorial, .home-closing-note {
  padding-block: clamp(85px, 9vw, 172px);
}
.home-opening { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gap); row-gap: 72px; }
.opening-index { grid-column: 1 / 4; }
.opening-index > span { display: block; margin-top: 52px; font-size: 11px; letter-spacing: 1.5px; line-height: 1.8; color: var(--muted); }
.home-opening h2 { grid-column: 4 / -1; font-size: clamp(30px, 2.6vw, 42px); line-height: 1.18; margin: 0; }
.home-opening blockquote { grid-column: 1 / 4; margin: 0; font-size: 22px; font-weight: 300; line-height: 1.5; }
.opening-copy { grid-column: 5 / 9; }
.opening-copy:last-child { grid-column: 10 / -1; }
.opening-copy p { font-size: 16px; color: var(--muted); line-height: 1.9; }
.opening-copy .opening-lead { color: var(--ink); font-size: 22px; line-height: 1.5; font-weight: 300; }
.opening-copy .text-link { margin-top: 10px; }

.launch-scene { color: inherit; }
.launch-editorial { display: grid; grid-template-columns: 5fr 1fr 6fr; gap: var(--grid-gap); padding-block: 64px 60px; }
.launch-identity { grid-column: 1; }
.launch-identity h2 { font-size: clamp(36px, 3vw, 48px); margin-bottom: 0; }
.launch-identity .eyebrow { font-size: 11px; }
.launch-description { grid-column: 3; max-width: 56ch; }
.launch-description .launch-lead { color: var(--navy); font-size: 24px; font-weight: 300; line-height: 1.4; }
.launch-description > p:not(.launch-lead) { color: var(--muted); font-size: 17px; line-height: 1.85; }
.launch-details { border-top: 1px solid var(--line); padding-top: 35px; }
.launch-details dd { font-size: 17px; }
.launch-note { border-bottom: 0; }

.collection-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gap); row-gap: 36px; }
.collection-heading > .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.collection-heading h2 { grid-column: 1 / 7; font-size: clamp(30px, 2.6vw, 42px); margin: 0; }
.collection-intro { grid-column: 8 / -1; max-width: 54ch; }
.collection-intro p { font-size: 17px; color: var(--muted); }
.collection-intro p:first-child { font-size: 22px; line-height: 1.5; font-weight: 300; color: var(--ink); }
.collection-index { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: 40px; }
.collection-index a { display: flex; align-items: baseline; gap: 18px; padding-block: 18px; border-bottom: 1px solid var(--line); font-size: 24px; font-weight: 300; }
.collection-index a > span:first-child { font-size: 10px; font-weight: 400; color: var(--muted); }
.collection-index a > span:last-child { margin-left: auto; font-size: 20px; }
.story-caption h3 { font-size: 32px; }
.story-caption > p { font-size: 17px; }

.evolution-layout { grid-template-columns: 5fr 2fr 5fr; }
.evolution-list { grid-column: 3; }
.evolution-intro h2 { font-size: clamp(30px, 2.6vw, 42px); }
.evolution-intro > p:not(.eyebrow) { max-width: 44ch; font-size: 17px; }
.evolution-row h3 { font-size: 24px; }
.evolution-value { font-size: 36px; }
.city-editorial > .eyebrow { margin-bottom: 48px; }
.city-headline { display: flex; align-items: baseline; justify-content: space-between; gap: 60px; padding-bottom: 62px; border-bottom: 1px solid var(--line); }
.city-headline h2 { font-size: clamp(40px, 3.6vw, 58px); line-height: 1; margin: 0; letter-spacing: -.045em; }
.city-headline > p { font-size: 24px; font-weight: 300; margin: 0; line-height: 1.4; }
.city-copy { display: grid; grid-template-columns: 4fr 4fr 4fr; gap: clamp(32px, 5vw, 96px); padding-top: 48px; }
.city-copy > p, .city-copy > div > p { font-size: 17px; line-height: 1.85; color: var(--muted); max-width: 52ch; }
.city-copy .city-lead { color: var(--ink); font-size: 24px; font-weight: 300; line-height: 1.45; }
.details-heading { grid-template-columns: 4fr 8fr; }
.details-heading h2 { font-size: clamp(30px, 2.6vw, 42px); }
.details-columns h3 { font-size: 24px; }
.details-columns p { font-size: 17px; max-width: 46ch; }
.home-closing-note { display: grid; grid-template-columns: 7fr 1fr 4fr; gap: var(--grid-gap); align-items: end; }
.home-closing-note > .eyebrow { grid-column: 1 / -1; }
.home-closing-note h2 { margin: 0; font-size: clamp(30px, 2.6vw, 42px); }
.home-closing-note > div { grid-column: 3; max-width: 50ch; }
.home-closing-note > div > p { color: var(--muted); font-size: 17px; }

.portfolio-description { grid-template-columns: 5fr 1fr 6fr; gap: var(--grid-gap); padding-block: 65px 120px; }
.portfolio-identity { grid-column: 1; }
.portfolio-identity h2 { font-size: clamp(36px, 3vw, 48px); margin: 0; }
.portfolio-identity .eyebrow { font-size: 11px; margin-bottom: 32px; }
.portfolio-copy { grid-column: 3; max-width: 54ch; }
.portfolio-copy h3 { font-size: 24px; margin-bottom: 24px; }
.portfolio-copy p { font-size: 17px; line-height: 1.85; margin-bottom: 24px; }
.portfolio-copy .text-link { margin-top: 4px; }
.restored-footer h2 { font-size: clamp(32px, 3.1vw, 52px); }
.project-page .project-content { width: calc(100% - var(--page-gutter) - max(220px, 14vw)); margin-left: max(220px, 14vw); margin-right: var(--page-gutter); }
.project-section > p:not(.eyebrow) { max-width: 64ch; }
.project-section h2 { font-size: clamp(28px, 2.5vw, 40px); }
.project-section .film-link { display: inline-flex; align-items: center; gap: 28px; border-bottom: 1px solid var(--line); padding-bottom: 8px; }

@media(max-width:1050px) {
  .home-opening { grid-template-columns: 4fr 8fr; gap: 42px var(--grid-gap); }
  .opening-index, .home-opening blockquote { grid-column: 1; }
  .home-opening h2, .opening-copy, .opening-copy:last-child { grid-column: 2; }
  .opening-copy:last-child { grid-row: 3; }
  .home-opening h2 { font-size: 36px; }
  .launch-editorial, .portfolio-description { grid-template-columns: 1fr 1fr; }
  .launch-description, .portfolio-copy { grid-column: 2; }
  .evolution-layout { grid-template-columns: 1fr 1fr; gap: 8%; }
  .evolution-list { grid-column: 2; }
  .city-copy { gap: 32px; }
  .project-page .project-content { width: calc(100% - 170px - var(--page-gutter)); margin-left: 170px; }
}
@media(max-width:700px) {
  .hero-copy h1 { font-size: clamp(32px, 8vw, 38px); }
  .hero-copy { bottom: 26%; }
  .home-opening, .collection-heading, .home-closing-note { display: block; }
  .opening-index { margin-bottom: 36px; }
  .opening-index > span { display: none; }
  .home-opening h2 { font-size: 32px; margin-bottom: 44px; }
  .home-opening blockquote { font-size: 23px; margin-bottom: 30px; }
  .opening-copy { margin-bottom: 30px; }
  .opening-copy:last-child { margin-bottom: 0; }
  .launch-editorial, .portfolio-description { display: block; padding-block: 38px 55px; }
  .launch-identity, .portfolio-identity { margin-bottom: 35px; }
  .launch-identity h2, .portfolio-identity h2 { font-size: 36px; }
  .launch-description .launch-lead { font-size: 22px; }
  .launch-details dd { font-size: 13px; }
  .collection-heading > .eyebrow { margin-bottom: 28px; }
  .collection-heading h2 { font-size: 32px; margin-bottom: 35px; }
  .collection-index { grid-template-columns: 1fr; gap: 0; margin-top: 30px; }
  .collection-index a { font-size: 24px; }
  .evolution-layout { grid-template-columns: 1fr; gap: 48px; }
  .evolution-list { grid-column: 1; }
  .evolution-intro h2 { font-size: 32px; }
  .evolution-row h3 { font-size: 24px; }
  .city-headline { display: block; padding-bottom: 36px; }
  .city-headline h2 { font-size: 40px; margin-bottom: 28px; }
  .city-headline > p { font-size: 22px; }
  .city-copy { grid-template-columns: 1fr; gap: 20px; padding-top: 30px; }
  .city-copy .city-lead { font-size: 22px; }
  .details-heading { grid-template-columns: 1fr; }
  .details-heading h2 { font-size: 32px; }
  .home-closing-note h2 { font-size: 32px; margin-bottom: 34px; }
  .restored-footer h2 { font-size: 32px; }
  .project-page .project-content { width: calc(100% - 132px - var(--page-gutter)); margin-left: 132px; }
  .project-section h2 { font-size: 29px; }
}
@media(max-width:480px) {
  .project-page .project-content { width: calc(100% - 108px - var(--page-gutter)); margin-left: 108px; }
  .project-section h2 { font-size: 25px; }
}

/* Short chapter introductions leave a pause before the next image. */
.hero-copy .eyebrow { margin-bottom: 24px; }
.chapter-heading {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 48px var(--grid-gap);
  align-items: start;
  padding-block: clamp(100px, 8vw, 152px);
}
.chapter-heading > .chapter-identity { grid-column: 2 / 6; max-width: none; }
.chapter-heading > .chapter-description { grid-column: 7 / 11; max-width: 46ch; padding-top: 39px; }
.chapter-identity .eyebrow { margin: 0 0 24px; font-size: 10px; font-weight: 400; letter-spacing: 1.5px; }
.chapter-identity h2 { margin: 0; line-height: 1.25; }
.chapter-heading .chapter-description > p {
  margin: 0;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.9;
  color: var(--ink);
}
.chapter-description > .text-link { margin-top: 32px; font-size: 13px; }
.home-launch { background: var(--surface-section); }
.project-location { display: block; margin-top: 24px; font-size: 9px; letter-spacing: 1.2px; color: var(--muted); }
.launch-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin: 36px 0 0; padding-top: 26px; border-top: 1px solid var(--line); }
.launch-facts dt { font-size: 9px; letter-spacing: 1px; color: var(--muted); margin-bottom: 12px; }
.launch-facts dd { font-size: 15px; margin: 0; }
.collection-heading { padding-bottom: clamp(76px, 6vw, 112px); }
.city-editorial #city-title { font-size: clamp(40px, 3.6vw, 58px); }

/* A manual photographic sequence; captions stay outside the images. */
.home-project-selection { padding-bottom: clamp(80px, 7vw, 132px); }
.project-gallery-rail {
  display: flex;
  gap: clamp(24px, 2.5vw, 48px);
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.project-gallery-rail::-webkit-scrollbar { display: none; }
.project-gallery-rail .project-story { flex: 0 0 42%; min-width: 0; scroll-snap-align: center; }
.project-gallery-rail .project-photo { position: relative; overflow: hidden; height: clamp(380px, 43vw, 760px); min-height: 0; width: 100%; }
.project-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.project-gallery-rail .story-caption { display: block; margin: 0; width: 100%; padding: 28px 0 0; }
.project-gallery-rail .project-story:first-child .story-caption { padding-left: var(--layout-gutter); }
.project-gallery-rail .story-caption .eyebrow { font-size: 9px; font-weight: 400; letter-spacing: 1.2px; margin-bottom: 12px; }
.project-gallery-rail .story-caption h3 { font-size: 26px; line-height: 1.3; margin: 0; }
.project-gallery-rail .story-caption > p { font-size: 15px; font-weight: 400; line-height: 1.7; margin: 12px 0 0; }
.project-gallery-footer { display: flex; align-items: center; gap: 64px; padding-top: 44px; }
.project-gallery-footer .text-link { font-size: 13px; }
.project-gallery-controls { display: flex; align-items: center; gap: 24px; }
.project-gallery-controls button { display: grid; place-items: center; width: 64px; height: 44px; padding: 0; background: none; border: 0; color: var(--ink); }
.project-gallery-controls svg { width: 64px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1; }
.project-gallery-controls button:disabled { opacity: .28; cursor: default; }
.project-gallery-controls output { font-size: 12px; letter-spacing: 1.5px; white-space: nowrap; min-width: 57px; text-align: center; }
.home-details { padding-block: clamp(100px, 8vw, 152px); }
.details-heading { margin-bottom: 72px; }
.details-columns { gap: clamp(40px, 7vw, 132px); }
.details-columns h3 { font-size: 24px; margin-block: 24px 18px; }
.details-columns p { font-size: 16px; line-height: 1.85; max-width: 34ch; }
.home-details > .text-link { margin-top: 24px; }

@media(max-width:1050px) {
  .chapter-heading > .chapter-identity { grid-column: 1 / 6; }
  .chapter-heading > .chapter-description { grid-column: 7 / -1; }
  .project-gallery-rail .project-story { flex-basis: 48%; }
  .project-gallery-rail .project-photo { height: 54vw; }
}
@media(max-width:700px) {
  .chapter-heading { grid-template-columns: 1fr; gap: 30px; padding-block: 76px; }
  .chapter-heading > .chapter-identity, .chapter-heading > .chapter-description { grid-column: 1; padding-top: 0; max-width: none; }
  .chapter-identity .eyebrow { margin-bottom: 20px; }
  .chapter-identity h2 { margin: 0; }
  .chapter-heading .chapter-description > p { font-size: 16px; line-height: 1.85; }
  .chapter-description > .text-link { margin-top: 26px; }
  .launch-facts { gap: 20px; margin-top: 28px; }
  .launch-facts dd { font-size: 14px; }
  .project-location { margin-top: 18px; }
  .collection-heading { padding-bottom: 52px; }
  .city-editorial #city-title { font-size: 40px; }
  .project-gallery-rail { gap: 20px; }
  .project-gallery-rail .project-story { flex-basis: 82%; }
  .project-gallery-rail .project-photo { height: 104vw; }
  .project-gallery-rail .story-caption h3 { font-size: 24px; }
  .project-gallery-rail .story-caption > p { font-size: 14px; }
  .project-gallery-footer { align-items: flex-start; flex-direction: column; gap: 24px; padding-top: 32px; }
  .project-gallery-controls { gap: 20px; }
  .home-details { padding-block: 76px; }
  .details-heading { margin-bottom: 44px; }
  .details-columns { gap: 32px; }
}

/* A quiet header returns on upward scroll; its original flow space is preserved. */
.portfolio-hero > .bleed-frame,
.launch-scene > .bleed-frame,
.project-cover > .bleed-frame,
main > .home-landscape { width: 100%; margin-inline: 0; }
.project-page .project-cover { width: 100%; margin: 0; }
.project-page .project-cover > .bleed-frame { height: 100svh; min-height: 460px; }
.project-page .project-cover figcaption { margin-block: 16px 0; }
.project-page .project-layout { background: var(--surface-section); }
.project-page .top { position: absolute; inset: 0 0 auto; background: transparent; color: #fff; }
.project-page .top .wordmark { color: inherit; }
.top-scroll-anchor { height: 0; pointer-events: none; }
.top-scroll-placeholder { height: 0; pointer-events: none; }
/* Keep the transition on both states so returning to the cover also animates. */
body .top {
  transform: translateY(0);
  transition: transform 280ms cubic-bezier(.22, 1, .36, 1),
    background-color 450ms ease, color 450ms ease;
}
.project-nav-floating.side-nav {
  opacity: 0;
  pointer-events: none;
  transition: opacity 320ms ease, visibility 0s linear 320ms;
}
.project-nav-floating.side-nav.is-visible {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 320ms ease, visibility 0s;
}
body .top.is-scroll-docked {
  position: fixed;
  inset: 0 0 auto;
  z-index: 35;
  background: var(--paper);
  color: var(--navy);
  mix-blend-mode: normal;
  text-shadow: none;
  box-shadow: none;
  transform: translateY(0);
  transition: transform 280ms cubic-bezier(.22, 1, .36, 1),
    background-color 450ms ease, color 450ms ease;
}
body .top.is-scroll-docked .wordmark { color: inherit; }
body .top.is-scroll-docked.is-scroll-hidden {
  transform: translateY(-100%);
  pointer-events: none;
}
body .top.is-scroll-docked:has(:focus-visible) {
  transform: translateY(0);
  pointer-events: auto;
  transition: none;
}
body .top.is-scroll-docked.is-scroll-switching { transition: none; }
@media(prefers-reduced-motion:reduce) {
  body .top.is-scroll-docked { transition: none; }
}

/* Direct navigation, institutional chapters and a quieter page opening. */
.top-actions { display: flex; align-items: center; gap: clamp(20px, 2.4vw, 46px); margin-left: auto; }
.top-actions a { display: inline-flex; align-items: center; min-height: 44px; font: 400 12px/1.5 var(--font); letter-spacing: 1.3px; }
.top-actions .top-contact span { margin-left: 20px; }
.restored-footer .footer-main nav { align-items: flex-end; text-align: right; }
.restored-footer .footer-brand > a:last-child { text-align: right; }
.restored-footer .footer-fine > span:last-child { text-align: right; }
.about-cover, .about-landscape { margin: 0; width: 100%; overflow: hidden; }
.about-cover { height: 66.667svh; }
.about-landscape { height: 80svh; }
.about-cover > img, .about-landscape > img { width: 100%; height: 100%; object-fit: cover; }
.about-intro h1 { font-size: clamp(30px, 2.6vw, 42px); margin: 0; }
.about-soft { background: var(--surface-section); }
.about-principles { padding-block: 0 clamp(100px, 8vw, 152px); }
.about-principles article { max-width: 38ch; }
.about-principles article > span { font: 400 10px/1.6 var(--font); letter-spacing: 1.5px; }
.about-principles h3, .about-process h3 { font-size: 24px; font-weight: 300; }
.about-process { list-style: none; padding: 0 0 clamp(100px, 8vw, 152px); display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(32px, 6vw, 100px); }
.about-process li { border-top: 1px solid var(--line); padding-top: 24px; }
.about-process li > span { display: block; font-size: 11px; margin-bottom: 32px; }
.about-process p { font-size: 16px; color: var(--muted); max-width: 36ch; margin: 0; }
.about-study-note { font-size: 11px; color: var(--muted); padding-bottom: 72px; }
.loader { animation: loader-out 1.5s cubic-bezier(.22, 1, .36, 1) 0s both; }
@keyframes loader-out {
  0%, 40% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}
[data-parallax] > img { transition: none; will-change: transform; }
@media(max-width:1050px) {
  .top-actions { gap: 18px; }
  .top-actions a { font-size: 10px; letter-spacing: .8px; }
  .top-actions .top-contact span { margin-left: 10px; }
}
@media(max-width:700px) {
  .top { height: 112px; align-items: flex-start; padding-top: 19px; }
  .top .wordmark { top: 19px; }
  .top-actions { position: absolute; right: var(--page-gutter); bottom: 3px; gap: 24px; }
  .top-actions a { font-size: 10px; }
  .about-principles { padding-bottom: 76px; }
  .about-process { grid-template-columns: 1fr; gap: 38px; padding-bottom: 76px; }
  .about-process li { display: grid; grid-template-columns: 28px 1fr; column-gap: 16px; }
  .about-process li > span { grid-row: 1 / 3; margin-top: 5px; }
  .about-process h3 { margin-bottom: 14px; }
  .about-process p { grid-column: 2; }
  .restored-footer .footer-fine > span:last-child { align-self: flex-end; }
}
@media(prefers-reduced-motion:reduce) { .loader { display: none; } }

@media(prefers-reduced-motion:reduce) { [data-parallax] > img { will-change: auto; } }

/* Real project content: new components inherit the existing editorial system. */
.project-logo { width: auto; max-width: min(320px, 100%); max-height: 130px; object-fit: contain; object-position: left center; }
.project-plans .plan-image { display: block; width: 100%; padding: 0; background: var(--soft); cursor: zoom-in; }
.project-plans .plan-image img { width: 100%; height: clamp(340px, 65svh, 780px); object-fit: contain; }
.project-plans .gallery-caption { text-transform: uppercase; letter-spacing: 1px; }
.plans-note { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 24px 0 0; }
.gallery-thumbs { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: 8px; }
.gallery-thumbs button { flex: 0 0 82px; }
.project-plans .gallery-thumbs img { object-fit: contain; }
.plan-lightbox { background: var(--paper); color: var(--navy); }
.plan-lightbox img { background: var(--paper); }
.location-map { display: block; border: 0; width: 100%; height: clamp(340px, 52svh, 600px); margin-top: 44px; background: var(--soft); }
.location-interests { margin-block: 48px; }
.location-interests h3 { font-size: 11px; font-weight: 400; letter-spacing: 1.3px; margin: 38px 0 20px; }
.location-interests ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(24px,4vw,76px); row-gap: 0; list-style: none; margin: 0; padding: 0; }
.location-interests li { padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 11px; letter-spacing: .6px; line-height: 1.8; }
.construction-meta { flex-wrap: wrap; }
@media(max-width:700px) {
 .location-interests ul { grid-template-columns: 1fr; }
 .location-map { height: 340px; }
 .gallery-thumbs button { flex-basis: 65px; }
 .project-plans .plan-image img { height: 350px; }
 .loader > span { font-size: 9px; letter-spacing: 1.3px; }
}

/* Supplied Curitiba artboards: full width and their original shallow proportion. */
.menu-aside .menu-project-link { display: block; }
.menu-aside .menu-project-link:focus-visible { outline-offset: 8px; }
.menu-aside .menu-project-link img { aspect-ratio: 1; height: auto; max-height: none; }
.menu-aside .menu-project-link p { display: flex; justify-content: flex-end; gap: 20px; }

/* Keep the photographs close to their supplied crop, with only a small travel area. */
.home-project-selection { position: relative; }
.home-project-selection > .project-gallery-controls {
  position: absolute; inset: 0 0 auto; height: var(--project-photo-height, 40vw);
  z-index: 3; pointer-events: none; display: flex; align-items: center;
  justify-content: space-between; padding-inline: clamp(16px, 2vw, 38px);
  mix-blend-mode: difference;
}
.home-project-selection > .project-gallery-controls button { pointer-events: auto; color: #fff; height: 64px; }
.home-project-selection > .project-gallery-controls button:disabled { opacity: .25; pointer-events: none; }
.home-project-selection > .project-gallery-controls svg { width: 48px; }
@media(min-width:1051px) {
  .project-gallery-rail .project-story { flex-basis: 32%; }
  .project-gallery-rail .project-photo { height: auto; aspect-ratio: var(--photo-ratio, 4 / 4.7); }
  .portfolio-hero > .bleed-frame,
  .launch-scene > .bleed-frame,
  main > .home-landscape,
  .project-section > .bleed-frame,
  .about-landscape {
    height: auto; min-height: 0; aspect-ratio: var(--photo-ratio, 1.7);
  }
}
.project-gallery-rail .project-story { scroll-snap-align: start; }

/* Supplied Tricon vector marks. Masks preserve the exact artwork and inherit color. */
.brand-mark { display: block; background-color: currentColor; mask-repeat: no-repeat; mask-position: center; mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; -webkit-mask-size: contain; }
.brand-mark-word { aspect-ratio: 646.79 / 159.25; mask-image: url('/assets/brand/tricon-topo.svg'); -webkit-mask-image: url('/assets/brand/tricon-topo.svg'); }
.brand-mark-full { aspect-ratio: 646.79 / 159.25; mask-image: url('/assets/brand/tricon-completa.svg'); -webkit-mask-image: url('/assets/brand/tricon-completa.svg'); }
.brand-mark-icon { aspect-ratio: 167.51 / 159.25; mask-image: url('/assets/brand/tricon-icone.svg'); -webkit-mask-image: url('/assets/brand/tricon-icone.svg'); }
.top .wordmark { display: block; width: 132px; line-height: 0; }
.top .wordmark .brand-mark { width: 100%; margin: 0; }
.menu-logo { display: block; width: 132px; line-height: 0; }
.menu-logo .brand-mark { width: 100%; }
.loader > .brand-mark-full { width: clamp(210px, 22vw, 300px); margin: 0; color: var(--navy); }
.restored-footer { background: var(--navy-deep); }
.restored-footer .footer-logo { display: block; width: clamp(184px, 18.4vw, 288px); flex: 0 0 auto; line-height: 0; }
.footer-logo .brand-mark { width: 100%; }
.restored-footer .footer-fine { color: var(--stone); }
.about-brand-icon { width: 48px; margin-bottom: 30px; color: var(--navy); }
@media(max-width:700px) {
  .top .wordmark, .menu-logo { width: 110px; }
  .restored-footer .footer-logo { width: min(208px, 80%); }
  .footer-brand > p { width: 100%; }
  .about-brand-icon { width: 40px; margin-bottom: 24px; }
}

/* Single supplied panorama, with its complete original framing. */
.city-photo { width: 100%; margin: 0; }
.city-photo > img { display: block; width: 100%; height: auto; }
/* Only a minimal chevron remains on each edge of the project collection. */
.home-project-selection > .project-gallery-controls svg { width: 22px; height: 28px; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.home-project-selection > .project-gallery-controls { mix-blend-mode: difference; color: #fff; }
.home-project-selection > .project-gallery-controls button { color: #fff; }

/* Shared footer: one invitation, two navigation columns, one signature. */
.restored-footer { padding-block: 80px 36px; }
.footer-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(340px, 1fr); gap: var(--grid-gap); align-items: start; }
.footer-invitation .eyebrow { margin-bottom: 30px; font-size: 11px; font-weight: 400; }
.restored-footer .footer-invitation h2 { font: 300 clamp(30px, 2.6vw, 46px)/1.3 var(--font); letter-spacing: -.025em; margin-bottom: 32px; }
.restored-footer .footer-invitation h2 em { font: italic 300 1em/1.3 var(--font); letter-spacing: inherit; }
.footer-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; text-align: right; padding-top: 2px; }
.footer-navigation nav { display: flex; flex-direction: column; align-items: flex-end; gap: 13px; }
.footer-navigation h3 { font: 400 10px/1.6 var(--font); text-transform: uppercase; letter-spacing: 1.3px; color: inherit; opacity: .6; margin: 0 0 12px; }
.footer-navigation nav > a { font: 400 13px/1.6 var(--font); }
.footer-signature { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-top: 90px; padding-bottom: 40px; border-bottom: 1px solid #ffffff25; }
.footer-identity { display: flex; align-items: center; gap: 40px; }
.footer-identity p { margin: 0; font: 400 12px/1.8 var(--font); opacity: .65; }
.footer-to-top { font-size: 10px; letter-spacing: .8px; white-space: nowrap; }
.restored-footer .footer-fine { align-items: center; gap: 20px; padding-top: 24px; font-size: 10px; }
.restored-footer .footer-fine button { font-size: 10px; }
@media(max-width:900px) {
 .footer-layout { grid-template-columns: 1fr; gap: 48px; }
 .footer-navigation { width: min(420px,100%); margin-left: auto; }
 .footer-signature { margin-top: 64px; }
}
@media(max-width:700px) {
 .restored-footer { padding-block: 56px 28px; }
 .restored-footer .footer-invitation h2 { font-size: 30px; }
 .footer-navigation { gap: 24px; }
 .footer-navigation nav { gap: 12px; }
 .footer-signature { display: block; padding-bottom: 28px; margin-top: 48px; }
 .footer-identity { display: block; }
 .footer-identity p { margin-top: 22px; font-size: 11px; }
 .footer-to-top { display: block; text-align: right; margin-top: 28px; }
 .restored-footer .footer-fine { align-items: flex-start; gap: 14px; }
 .restored-footer .footer-fine > span:last-child { text-align: left; }
}

/* Essential project facts: small labels, readable values, no table background. */
.project-section .project-specification { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 52px; background: transparent; margin: 48px 0 32px; }
.project-specification > div { display: block; padding: 22px 0 0; border-top: 1px solid var(--line); border-bottom: 0; min-width: 0; }
.project-specification dt { font: 400 10px/1.6 var(--font); text-transform: uppercase; letter-spacing: 1.2px; color: var(--muted); margin-bottom: 14px; }
.project-specification dd { font: 300 20px/1.5 var(--font); color: var(--navy); margin: 0; max-width: 28ch; }
#ficha > details { border: 0; margin-top: 32px; padding: 0; }
#ficha > details summary { font-size: 11px; color: var(--muted); padding: 8px 0; }
#ficha > details p { font-size: 12px; max-width: 75ch; }
.location-map[data-bleed] { max-width: none; height: clamp(360px, 58svh, 640px); margin-block: 48px 0; }
.project-address { display: flex; gap: 48px; align-items: baseline; justify-content: space-between; padding-block: 28px; border-bottom: 1px solid var(--line); background: transparent; }
.project-address > span { font: 400 10px/1.6 var(--font); letter-spacing: 1.1px; color: var(--muted); }
.project-address p { margin: 0; font-size: 14px; max-width: 60ch; }
.location-interests { margin-block: 38px; }
.location-interests li { text-transform: none; font-size: 11px; letter-spacing: .3px; }
@media(max-width:1050px) {
 .project-section .project-specification { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
 .project-address { display: block; }
 .project-address p { margin-top: 12px; }
}
@media(max-width:700px) {
 .project-section .project-specification { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; }
 .project-specification dd { font-size: 19px; }
 .location-map[data-bleed] { height: 380px; margin-top: 32px; }
}

/* Contact channels: shared type scale, open columns, no cards or repeated address. */
.contact-page .page-intro { padding-bottom: 72px; }
.contact-channels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(32px,5vw,90px); padding-bottom: 64px; }
.contact-channels article { border-top: 1px solid var(--line); padding-top: 28px; }
.contact-channels .eyebrow { font-size: 10px; font-weight: 400; margin-bottom: 24px; }
.contact-channels h2 { font-size: 26px; margin-bottom: 22px; }
.contact-channels p:not(.eyebrow), .contact-channels address { font-size: 14px; font-style: normal; color: var(--muted); line-height: 1.9; max-width: 32ch; margin: 0 0 24px; }
.contact-number { display: block; font-size: 21px; font-weight: 300; margin-bottom: 18px; }
.contact-channels .text-link { font-size: 12px; gap: 20px; }
.contact-other { display: flex; justify-content: space-between; gap: 36px; border-top: 1px solid var(--line); padding-block: 30px 90px; }
.contact-other > div { display: flex; flex-direction: column; gap: 12px; }
.contact-other > div:last-child { text-align: right; }
.contact-other .eyebrow { font-size: 10px; font-weight: 400; margin: 0; }
.contact-other a { font-size: 14px; overflow-wrap: anywhere; }
.contact-page #contact-interest { font-size: 14px; margin-top: 24px; }
@media(max-width:850px) {
 .contact-channels { grid-template-columns: 1fr; gap: 42px; }
 .contact-channels p:not(.eyebrow), .contact-channels address { max-width: 48ch; }
 .contact-other { flex-direction: column; gap: 32px; padding-bottom: 64px; }
 .contact-other > div:last-child { text-align: left; }
}
/* Transition palettes are confined to the loader; the page palette stays unchanged. */
.loader .transition-brand { display: block; max-width: 62vw; margin: 0; mask: var(--transition-logo) center / contain no-repeat; -webkit-mask: var(--transition-logo) center / contain no-repeat; }
.loader[data-phase="idle"] { animation: none; opacity: 0; visibility: hidden; pointer-events: none; }
.loader[data-phase="exit"] { animation: loader-cover 450ms cubic-bezier(.4,0,.2,1) both !important; pointer-events: auto; }
@keyframes loader-cover { from { opacity: 0; visibility: visible; } to { opacity: 1; visibility: visible; } }
@media(prefers-reduced-motion:reduce) { .loader { display: none !important; } }

/* Identidades oficiais. Pastéis individuais reservados à transição de entrada. */
body[data-project="goa"] { --project-pastel: #e6ebea; --project-logo-color: #38372f; --project-logo-ratio: 2.040853010866901; --project-logo: url('/assets/brand/projects/goa.svg?v=2'); }
body[data-project="loom"] { --project-pastel: #f0e5df; --project-logo-color: #38372f; --project-logo-ratio: 2.752228342513771; --project-logo: url('/assets/brand/projects/loom.svg?v=2'); }
body[data-project="avvio"] { --project-pastel: #e1eeeb; --project-logo-color: #38372f; --project-logo-ratio: 2.680332688033269; --project-logo: url('/assets/brand/projects/avvio.svg?v=2'); }
body[data-project="nillo"] { --project-pastel: #e9ecdf; --project-logo-color: #38372f; --project-logo-ratio: 3.4262114537444934; --project-logo: url('/assets/brand/projects/nillo.svg?v=2'); }
.project-brand { display: block; width: clamp(190px, 20vw, 270px); max-width: 65vw; aspect-ratio: var(--project-logo-ratio); background: var(--project-logo-color, var(--ink)); mask: var(--project-logo) left center / contain no-repeat; -webkit-mask: var(--project-logo) left center / contain no-repeat; }
.project-page .project-layout { background: var(--surface-section); }

/* About opens directly on its photograph, with the same header behavior as the other covers. */
.about-page .top:not(.is-scroll-docked) { position: absolute; inset: 0 0 auto; background: transparent; color: #fff; border: 0; box-shadow: none; }
.about-page .top .wordmark { color: inherit; }
.about-photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 2.5vw, 48px); padding-block: 0 clamp(76px, 6vw, 112px); }
.about-photo-pair.after-process { padding-top: clamp(76px, 6vw, 112px); padding-bottom: 0; }
.about-office-photo { margin: 0; min-width: 0; }
.about-office-photo > div { width: 100%; overflow: hidden; position: relative; aspect-ratio: var(--photo-ratio, 1.6); }
.about-office-photo img { width: 100%; height: 100%; object-fit: cover; }
.about-office-photo figcaption { margin: 18px var(--page-gutter) 0; font: 400 10px/1.7 var(--font); letter-spacing: 1.1px; text-transform: uppercase; color: var(--muted); }
@media(max-width:700px) {
 .about-photo-pair { grid-template-columns: 1fr; gap: 40px; }
}

/* Opening the menu focuses its dialog, not the brand link. */
.menu-dialog:focus { outline: none; }
.project-identity .project-brand { background-color: var(--navy); }

/* The catalogue marks follow the existing capital-letter height. */
.portfolio-brand { display: block; width: clamp(190px, 20vw, 270px); max-width: 65vw; height: auto; aspect-ratio: var(--portfolio-logo-ratio); background: var(--navy); mask: var(--portfolio-logo) left center / contain no-repeat; -webkit-mask: var(--portfolio-logo) left center / contain no-repeat; }

/* More open footer spacing while preserving the established composition. */
.restored-footer { padding-block: clamp(104px, 8vw, 152px) 48px; }
.footer-layout { column-gap: clamp(48px, 5vw, 96px); }
.footer-invitation .eyebrow { margin-bottom: 40px; }
.restored-footer .footer-invitation h2 { margin-bottom: 44px; }
.footer-navigation nav { gap: 18px; }
.footer-signature { margin-top: clamp(112px, 9vw, 168px); padding-bottom: 64px; }
.restored-footer .footer-fine { padding-top: 36px; }
@media(max-width:900px) { .footer-layout { row-gap: 72px; } }
@media(max-width:700px) {
 .restored-footer { padding-block: 80px 40px; }
 .footer-invitation .eyebrow { margin-bottom: 32px; }
 .restored-footer .footer-invitation h2 { margin-bottom: 36px; }
 .footer-navigation nav { gap: 16px; }
 .footer-signature { margin-top: 80px; padding-bottom: 40px; }
 .footer-to-top { margin-top: 40px; }
 .restored-footer .footer-fine { padding-top: 28px; gap: 24px; }
}

/* Each chevron blends directly with the photograph beneath it. */
.home-project-selection { isolation: isolate; }
.home-project-selection > .project-gallery-controls { z-index: auto; mix-blend-mode: normal; background: transparent; }
.home-project-selection > .project-gallery-controls button { position: relative; z-index: 3; width: 96px; height: 108px; color: #fff; mix-blend-mode: difference; background: transparent; opacity: 1; }
.home-project-selection > .project-gallery-controls svg { width: 66px; height: 84px; stroke: #fff; }
.home-project-selection > .project-gallery-controls svg path { vector-effect: non-scaling-stroke; }
.home-project-selection > .project-gallery-controls button:disabled { opacity: .3; }

/* Local font reserved for the requested Yard signature. */
@font-face { font-family: 'Poppins'; src: url('/assets/fonts/Poppins-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }

/* A quiet invitation to continue below the opening image. */
.home-hero, .project-cover { isolation: isolate; }
.project-cover { position: relative; }
.scroll-cue { position: absolute; z-index: 4; left: 50%; bottom: 24px; transform: translateX(-50%); width: 84px; height: 66px; display: grid; place-items: center; color: #fff; mix-blend-mode: normal; }
.project-cover > .scroll-cue { top: calc(100svh - 90px); bottom: auto; }
.scroll-cue svg { width: 64px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; animation: scroll-cue-drift 2.8s ease-in-out infinite; }
.scroll-cue path { vector-effect: non-scaling-stroke; }
@keyframes scroll-cue-drift { 0%, 100% { transform: translateY(-3px); } 50% { transform: translateY(5px); } }
@media(prefers-reduced-motion:reduce) { .scroll-cue svg { animation: none; } }

/* Assinatura Yard original; fonte local dentro do SVG. */
.footer-yard { display: block; width: 249px; flex: 0 0 auto; line-height: 0; }
.footer-yard object { display: block; width: 100%; height: 32px; pointer-events: none; }
@media(max-width:700px) { .restored-footer .footer-yard { align-self: flex-end; margin-top: 12px; } }

/* Cartografia Tricon: papel, vegetação suave, água azul clara e ruas sem POIs. */
.tricon-map { position: relative; isolation: isolate; overflow: hidden; background: var(--paper); }
.tricon-map .map-surface { position: absolute; inset: 0; width: 100%; height: 100%; }
.tricon-map .map-status { position: absolute; inset: 0; margin: 0; display: grid; place-items: center; color: var(--muted); font-size: 13px; pointer-events: none; }
.tricon-map .map-status[hidden] { display: none; }
.tricon-map-marker { width: 18px; height: 18px; border: 3px solid var(--paper); border-radius: 50%; background: var(--navy); }
.tricon-map-marker span { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); color: var(--navy); background: var(--paper); padding: 8px 14px; white-space: nowrap; font: 400 12px/1.5 var(--font); letter-spacing: 1px; }
.tricon-map .maplibregl-ctrl-group { box-shadow: none; border: 1px solid var(--line); border-radius: 0; background: var(--paper); }
.tricon-map .maplibregl-ctrl-group button { width: 40px; height: 40px; }
.tricon-map .maplibregl-ctrl-attrib { font-size: 10px; background: #f4f1ede6; color: var(--muted); }
.tricon-map .maplibregl-canvas { outline-offset: -3px; }

/* Refinamento da cartografia e da evolução da obra. */
.tricon-map-marker span { background: var(--navy); color: var(--paper); padding: 9px 16px; border-radius: 2px; font-size: 11px; letter-spacing: .8px; }
.tricon-map-marker span::after { content: ''; position: absolute; left: 50%; top: 100%; margin-left: -4px; border: 4px solid transparent; border-top-color: var(--navy); }
.map-credit { display: flex; justify-content: flex-end; gap: 5px; padding-top: 8px; color: var(--muted); font: 400 9px/1.5 var(--font); }
.map-credit a:hover { color: var(--navy); }
.project-page .construction-heading { display: block; }
.project-page .construction-heading h2 { margin-bottom: 44px; }
.construction-stat { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; max-width: 560px; margin-bottom: 14px; }
.project-page .construction-stat label { margin: 0; font-size: 12px; color: var(--muted); }
.project-page .construction-value { font-size: 28px; font-weight: 400; letter-spacing: -.5px; line-height: 1.2; white-space: nowrap; }
.project-page .construction-value span { font-size: 14px; letter-spacing: 0; margin-left: 3px; }
.project-page .construction progress { max-width: 560px; height: 2px; }
.project-page .construction-meta { max-width: 560px; font-size: 9px; margin-top: 16px; }
@media(max-width:700px) { .project-page .construction-value { font-size: 24px; } .project-page .construction-value span { font-size: 12px; } }

/* Marca oficial no lançamento da Home, com respiro entre os textos. */
.home-launch-brand { background-color: var(--navy); }
.launch-identity .eyebrow { margin-bottom: 32px; }
.launch-identity .project-location { display: block; margin-top: 32px; }

/* Superfícies oficiais: regras compartilhadas pelas nove páginas. */
body { background-color: var(--surface-page); }
.menu-dialog, .small-dialog, body .top.is-scroll-docked { background-color: var(--surface-page); }
.project-page .page-intro, .project-page .project-related { background-color: var(--surface-page); }
.project-page .project-layout { background-color: var(--surface-section); }
.home-launch, .about-soft { background-color: var(--surface-section); }
.restored-footer { background-color: var(--surface-footer); }
.home-evolution { background-color: var(--surface-feature); }


/* Developments expand in the navigation flow, on the same menu surface. */
.menu-links { min-width: 0; }
.menu-links > a, .menu-projects-toggle {
 display: flex; align-items: baseline; min-height: 44px;
}
.menu-links > a small, .menu-projects-toggle small { flex: 0 0 40px; }
.menu-projects-toggle {
 width: 100%; padding: 0; gap: 0; text-align: left;
 font-size: clamp(26px, 3vw, 42px); font-weight: 300; line-height: 1.5;
 color: var(--navy); transition: color .2s ease;
}
.menu-projects-toggle > span:first-of-type { min-width: 0; }
.menu-projects-toggle:hover, .menu-projects-toggle[aria-expanded="true"] { color: #84947d; }
.menu-projects-indicator { margin-left: auto; padding-left: 14px; font-size: 24px; font-weight: 300; }
.menu-projects-panel {
 display: grid; grid-template-rows: 0fr; opacity: 0;
 transition: grid-template-rows .4s ease, opacity .25s ease;
}
.menu-projects-toggle[aria-expanded="true"] + .menu-projects-panel { grid-template-rows: 1fr; opacity: 1; }
.menu-projects-clip { min-height: 0; overflow: hidden; }
.menu-projects-list { list-style: none; margin: 18px 0 8px 40px; padding: 0; }
.menu-projects-list li { border-top: 1px solid var(--line); }
.menu-projects-list li:last-child { border-bottom: 1px solid var(--line); }
.menu-links .menu-development {
 display: flex; align-items: center; justify-content: space-between; gap: 20px;
 min-height: 72px; padding: 14px 4px 14px 0;
 font-size: 22px; line-height: 1.4; font-weight: 300;
}
.menu-development-copy { display: grid; gap: 5px; min-width: 0; }
.menu-development-name { overflow-wrap: anywhere; }
.menu-development-stage { color: var(--muted); font-size: 11px; font-weight: 400; letter-spacing: 1.25px; text-transform: uppercase; }
.menu-development-arrow { flex-shrink: 0; font-size: 24px; transition: transform .2s ease; }
.menu-development:hover .menu-development-arrow { transform: translateX(3px); }
.menu-links .menu-development:focus-visible { outline-offset: -2px; }
.menu-dialog { overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 1100px) and (min-width: 701px) {
 .menu-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
 .menu-projects-toggle { font-size: clamp(22px, 3vw, 33px); }
 .menu-projects-indicator { padding-left: 8px; }
}
@media (max-width: 700px) {
 .menu-projects-toggle { font-size: 30px; }
 .menu-links .menu-development { font-size: 21px; }
}
@media (max-width: 420px) {
 .menu-links > a, .menu-projects-toggle { font-size: clamp(22px, 6.6vw, 28px); }
 .menu-links > a small, .menu-projects-toggle small { flex-basis: 27px; width: 27px; }
 .menu-projects-list { margin-left: 27px; }
 .menu-projects-indicator { padding-left: 10px; font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
 .menu-projects-panel, .menu-projects-toggle, .menu-development-arrow { transition: none; }
}
