/* A unified photographic portfolio, inspired by the supplied reference. */
:root{--ink:#202320;--pad:clamp(22px,3vw,56px);background:#f3f2ee}body{background:#f3f2ee}h1,h2,h3{font-weight:600;letter-spacing:-.055em}em{color:inherit}.header{background:#f3f2ee}.unified-home .header{padding-top:22px;padding-bottom:22px}.unified-home .hero{height:calc(100svh - 93px);min-height:590px;max-height:1050px}.unified-home .hero-content{padding-bottom:115px}.unified-home .hero h1{font-size:clamp(2.8rem,5vw,5.8rem);max-width:850px}.unified-home .hero-content>.eyebrow{display:none}.unified-home .hero-shade{background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.12) 45%,rgba(0,0,0,.66))}.unified-home .hero-link{gap:0}.unified-home .hero-bottom{bottom:24px}.projects-unified{padding:100px var(--pad) 80px;scroll-margin-top:20px}.projects-heading{margin-bottom:44px}.projects-heading h2{font-size:clamp(2.8rem,5.5vw,6rem);line-height:1.05;margin:0}.projects-heading .eyebrow{font-size:.875rem;margin-bottom:18px}.project-accordion{display:flex;flex-direction:column;gap:18px}.project-panel{--rail:#cac9be;display:flex;min-width:0;background:var(--rail)}.project-panel-rio{--rail:#f4a35e}.project-panel-altura{--rail:#c1c5ad}.project-panel-boat{--rail:#d0dae0}.project-panel-acacias{--rail:#c89375}.project-tab{border:0;background:var(--rail);width:48px;flex:0 0 48px;padding:24px 12px;display:flex;align-items:center;gap:24px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.875rem;letter-spacing:.035em;text-align:left}.project-tab:hover{filter:brightness(.96)}.project-number{font-size:.875rem;opacity:.7}.project-panel-content{position:relative;flex:1;min-width:0;min-height:620px;color:white}.project-panel-content[hidden]{display:none}.project-panel-content>img,.project-panel-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-panel-shade{background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.02) 45%,rgba(0,0,0,.73))}.project-panel-copy{position:relative;min-height:inherit;height:100%;padding:clamp(26px,4vw,62px);display:flex;flex-direction:column;justify-content:space-between;gap:110px}.project-panel h3{font-size:clamp(2.6rem,4.8vw,5.8rem);line-height:1.05;max-width:770px;margin:0;text-wrap:balance}.project-panel-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.project-panel-bottom p{margin:0;font-size:1rem;line-height:1.9}.project-visit{text-transform:uppercase;font-size:.875rem;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid #fff;padding:12px 0;flex-shrink:0}.project-visit:hover{border-bottom-width:3px}.project-accordion.enhanced{flex-direction:row;gap:0;min-height:min(740px,82svh)}.enhanced .project-panel{flex:0 0 48px}.enhanced .project-panel.is-open{flex:1}.enhanced .project-panel-content{min-height:min(740px,82svh)}.studio{padding-top:75px}.studio-body{padding-top:65px;gap:8%;grid-template-columns:1fr 1fr}.studio h2{font-size:clamp(2.8rem,4.6vw,5.6rem)}.studio-copy{max-width:600px}.studio-copy p{font-size:1rem;line-height:1.8}.studio-team{max-width:380px}.section-kicker{font-size:.875rem}.contact{background:#e7e7df}.contact h2{font-size:clamp(3rem,6.5vw,7rem)}footer{background:#f3f2ee}.project-page .project-intro h1{font-size:clamp(3.2rem,7vw,7rem)}.project-page .project-homes,.project-page .project-finishes{background:#e7e7df}
@media(max-width:850px){.project-accordion.enhanced{flex-direction:column;min-height:0}.project-panel,.enhanced .project-panel,.enhanced .project-panel.is-open{display:flex;flex-direction:column;flex:initial}.project-tab{width:100%;writing-mode:horizontal-tb;transform:none;flex:initial;padding:21px 24px;min-height:64px;gap:22px}.project-panel-content,.enhanced .project-panel-content{min-height:560px}.project-panel h3{font-size:clamp(2.5rem,7vw,4rem)}.project-panel-copy{padding:30px;gap:130px}.projects-unified{padding-top:65px;padding-bottom:55px}.unified-home .hero-content{padding-bottom:175px}.studio-body{grid-template-columns:1fr;gap:42px}.studio-team{max-width:380px}.studio-copy{max-width:none}}
@media(max-width:580px){.unified-home .hero{height:calc(94svh - 75px);min-height:570px}.unified-home .hero h1{font-size:2.8rem}.project-panel-content,.enhanced .project-panel-content{min-height:540px}.project-panel-copy{padding:28px 22px}.project-panel-bottom{flex-direction:column;align-items:flex-start;gap:18px}.project-panel-bottom p{font-size:1rem;line-height:1.75}.project-panel h3{font-size:2.6rem}.projects-heading .eyebrow{line-height:1.7}.projects-unified{padding-left:16px;padding-right:16px}.projects-heading{padding:0 6px;margin-bottom:30px}.project-panel-content>img{object-position:center}.hero-bottom>span{max-width:280px}.project-tab{font-size:1rem}}
/* Loading signature and cinematic, sliding project panels. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-loader{display:none}.site-loading .site-loader{display:flex}.site-loader{position:fixed;inset:0;z-index:1000;background:#f3f2ee;align-items:center;justify-content:center;flex-direction:column;gap:30px;transition:opacity .65s ease,visibility .65s;animation:loader-failsafe 6s forwards}.loader-logo-frame{position:relative;display:block;width:150px;aspect-ratio:3613/1479;overflow:hidden;animation:logo-breathe 1.5s ease-in-out infinite}.loader-logo-frame img{position:absolute;width:196.1528%;max-width:none;height:auto;left:-47.5505%;top:-189.1143%}.loader-line{width:64px;height:2px;background:#ff8500;transform-origin:left;animation:loading-line 1.5s ease-in-out infinite}.site-loader.is-finished{display:flex;opacity:0;visibility:hidden;pointer-events:none}.site-loading .site-loader:not(.is-finished){opacity:1}.site-loading .hero-image{transform:scale(1.045)}.hero-image{transition:opacity 1.2s ease,transform 1.5s cubic-bezier(.22,1,.36,1)}@keyframes logo-breathe{50%{opacity:.45;transform:translateY(-4px)}}@keyframes loading-line{0%,100%{transform:scaleX(.25);opacity:.4}50%{transform:scaleX(1);opacity:1}}@keyframes loader-failsafe{0%,95%{visibility:visible}100%{visibility:hidden;pointer-events:none}}
.unified-home .header{position:fixed;z-index:20;top:0;left:0;padding:22px var(--pad);background:#f3f2ee;transition:background .45s,color .45s}.unified-home .header.over-image{background:transparent;color:#fff}.unified-home .header.over-image .brand{background:transparent;padding:0}.unified-home .desktop-nav{display:none}.unified-home .menu-toggle{display:flex;font-size:.875rem;text-transform:uppercase}.unified-home .menu-toggle i{display:none}.unified-home .hero{height:100svh;min-height:600px;max-height:none}.unified-home .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.1),transparent 70%,rgba(0,0,0,.35))}.hero-scroll{font-size:.875rem;text-transform:uppercase;letter-spacing:.03em}.unified-home .slideshow-toggle{border:0;padding:8px 0;font-size:.875rem}.unified-home .hero-bottom{bottom:22px}.intro-statement{padding-top:110px;padding-bottom:90px;min-height:65svh}.intro-statement h2{font-size:clamp(3.2rem,6.2vw,7rem);line-height:1.05;margin-bottom:55px;max-width:1100px}.intro-text{display:grid;grid-template-columns:1fr 1fr;gap:8%}.intro-text>span{font-size:2.5rem}.intro-text p{font-size:1.125rem;max-width:600px;margin:0}.projects-unified{padding-top:32px;padding-bottom:90px;scroll-margin-top:90px}.project-accordion.enhanced{height:calc(100svh - 160px);min-height:570px;max-height:900px;overflow:hidden}.enhanced .project-panel{position:relative;flex:0 0 46px;overflow:hidden;transition:flex-grow 1s cubic-bezier(.76,0,.24,1)}.enhanced .project-panel.is-open{flex:1 0 46px}.project-tab{width:46px;flex-basis:46px;position:relative;z-index:2;justify-content:flex-start;padding:24px 14px;text-transform:uppercase}.project-number{display:none}.enhanced .project-panel-content{position:absolute;top:0;bottom:0;left:46px;width:var(--panel-width);min-height:0;height:100%;overflow:hidden;pointer-events:none}.enhanced .project-panel.is-open .project-panel-content{pointer-events:auto}.project-panel-copy{padding:clamp(30px,4vw,62px);min-height:0;height:100%;gap:60px}.project-panel-content>img{transform:scale(1.065);transition:transform 1.45s cubic-bezier(.22,1,.36,1)}.is-open .project-panel-content>img{transform:scale(1)}.project-panel h3,.project-panel-bottom{opacity:0;transform:translateY(22px);transition:opacity .25s,transform .25s}.is-open h3{opacity:1;transform:none;transition:opacity .75s .4s,transform .85s .35s}.is-open .project-panel-bottom{opacity:1;transform:none;transition:opacity .65s .55s,transform .8s .5s}.project-panel h3{font-size:clamp(3rem,5.5vw,6.5rem);font-weight:650}.project-panel-bottom p{text-transform:uppercase;line-height:1.8;font-size:.875rem;letter-spacing:.025em}.project-visit{border:0;padding:12px 0}.project-visit:hover{text-decoration:underline;text-underline-offset:6px}.project-panel-rio{--rail:#f5a65b}.project-panel-altura{--rail:#ece1d8}.project-panel-boat{--rail:#263e3a}.project-panel-boat>.project-tab{color:#fff}.project-panel-acacias{--rail:#e0a18c}.project-panel-shade{background:linear-gradient(180deg,rgba(0,0,0,.2),transparent 40%,rgba(0,0,0,.65))}.reveal-on-scroll{opacity:0;transform:translateY(45px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}.reveal-on-scroll.is-visible{opacity:1;transform:none}
@media(max-width:850px){.intro-statement{min-height:0;padding-top:85px;padding-bottom:70px}.intro-text{grid-template-columns:1fr;gap:20px}.intro-statement h2{font-size:clamp(3rem,8vw,5rem)}.projects-unified{padding-top:10px}.project-accordion.enhanced{height:auto;min-height:0;max-height:none;gap:35px;overflow:visible}.enhanced .project-panel,.enhanced .project-panel.is-open{flex:initial;overflow:hidden}.project-tab{width:100%;flex-basis:auto;writing-mode:horizontal-tb;transform:none;padding:20px 24px;min-height:60px}.enhanced .project-panel-content{position:relative;left:0;width:100%;height:70svh;min-height:540px;pointer-events:auto}.project-panel h3{font-size:clamp(2.8rem,7vw,4.5rem)}.project-panel-copy{padding:28px 24px;gap:60px}.project-panel-bottom{align-items:flex-start}.project-panel-bottom p{font-size:.875rem}.unified-home .hero{height:100svh;min-height:540px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-on-scroll{opacity:1;transform:none}.site-loading .hero-image,.project-panel-content>img{transform:none}.site-loader.is-finished{display:none}.loader-line{transform:none}}
.project-accordion:not(.enhanced) h3,.project-accordion:not(.enhanced) .project-panel-bottom{opacity:1;transform:none}
/* Full-width cards rise over the previous card, retaining 14px rails on every screen. */
 .projects-unified{padding:60px 0 0;overflow:visible}
 .project-accordion.enhanced{display:block;height:auto;min-height:0;max-height:none;overflow:visible;isolation:isolate}
 .enhanced .project-panel,.enhanced .project-panel.is-open{position:sticky;top:calc(var(--stack-top,80px) + var(--stack-index)*14px);z-index:var(--stack-index);display:block;height:calc(100svh - var(--stack-top,80px) - var(--stack-index)*14px);min-height:500px;border-top:14px solid var(--rail);overflow:hidden;transition:none}
 .enhanced .project-tab{display:none}
 .enhanced .project-panel-content{position:relative;inset:auto;width:100%;height:100%;min-height:0;pointer-events:auto;transform:none;transition:none}
 .enhanced .project-panel-content>img{transform:none;transition:none}
 .enhanced .project-panel-copy{padding:40px 1.8rem 28px;justify-content:flex-start;gap:26px}
 .enhanced .project-panel h3{font-size:clamp(2.6rem,11.5vw,3.6rem);line-height:1;max-width:600px;opacity:1;transform:none;transition:none}
 .enhanced .project-panel-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:24px;opacity:1;transform:none;transition:none}
 .enhanced .project-panel-bottom p{font-size:.875rem;line-height:1.8}
 .enhanced .project-panel-shade{background:linear-gradient(90deg,rgba(0,0,0,.43),rgba(0,0,0,.07))}
 .enhanced .project-visit{padding:10px 0}
 .projects-unified+.studio{position:relative;margin-top:0;background:#f3f2ee}
@media(min-width:851px){
 .projects-unified{--stack-top:96px;padding-top:60px}
 .enhanced .project-panel-copy{padding:clamp(36px,4vw,72px);gap:32px}
 .enhanced .project-panel h3{font-size:clamp(3.6rem,6vw,7rem);max-width:1000px}
 .enhanced .project-panel-bottom{gap:28px}
 .enhanced .project-panel-bottom p{font-size:1rem;line-height:1.8}
 .enhanced .project-visit{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){.enhanced .project-panel,.enhanced .project-panel.is-open{position:relative;top:auto}}

/* White neutral lettering; retain the orange accent and original alpha. */
.unified-home .header.over-image .logo-frame img{filter:url(#logo-white-lettering)}

/* The image, title and project information share one native, keyboard-accessible link. */
.project-panel-copy .project-visit::after{content:"";position:absolute;inset:0;z-index:3;cursor:pointer}
.project-panel-copy .project-visit:focus-visible{outline:none}
.project-panel-copy .project-visit:focus-visible::after{outline:3px solid #fff;outline-offset:-8px}
.project-page .project-lead{max-width:780px}

/* Carry the homepage signature into the dark navigation overlay. */
.menu-head .logo-frame img{filter:url(#logo-white-lettering)}
