:root{--ink:#211f1b;--charcoal:#292724;--paper:#f6f3ed;--gold:#af863f;--muted:#726e66;--line:#d9d3c9;--font:'Caviar Dreams',Arial,sans-serif;--font-secondary:'Montserrat',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.7 var(--font-secondary);opacity:0;animation:pageIn .8s ease forwards}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 56px));margin:auto}.site-header{height:92px;background:var(--paper);display:flex;align-items:center}.site-header.is-overlay{position:absolute;z-index:3;inset:0 0 auto;background:linear-gradient(#0006,transparent);color:#fff}.nav{display:flex;align-items:center;justify-content:space-between}.brand-logo{display:block;width:260px;height:auto;line-height:0;transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}.site-header .brand-logo{margin-left:calc((min(1180px,calc(100vw - 56px)) - 100vw) / 2 + 20px)}.brand-logo img{display:block;width:100%;height:auto}.is-overlay .brand-logo img,footer .brand-logo img{filter:invert(1);opacity:.94}.brand-logo:hover{opacity:.76;transform:translateY(-1px)}.nav-links{display:flex;gap:30px;align-items:center;font-size:10px;font-weight:400;letter-spacing:.16em;text-transform:uppercase}.nav-links a{opacity:.65;position:relative;transition:opacity .35s ease}.nav-links a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:currentColor;transition:right .45s cubic-bezier(.22,1,.36,1)}.nav-links a:hover,.nav-links a.active{opacity:1}.nav-links a:hover:after,.nav-links a.active:after{right:0}.menu-toggle{display:none}.hero{height:760px;min-height:760px;display:flex;align-items:end;color:#fff;background-position:center;background-size:cover}.hero-home{background-image:linear-gradient(90deg,#000b 0%,#0005 45%,#0001 100%),url('assets/hero-poster.jpg')}.hero-content{padding:0 0 110px;max-width:780px}.eyebrow{margin:0 0 18px;font:400 10px/1.7 var(--font-secondary);letter-spacing:.2em;text-transform:uppercase}.gold{color:var(--gold)}h1,h2,h3{font-weight:500}h1{margin:0 0 24px;font:500 clamp(54px,7vw,96px)/.92 var(--font);letter-spacing:-.035em}h1 em{font-style:normal;color:#dab369}h2{margin:0;font:500 clamp(42px,5vw,66px)/.98 var(--font);letter-spacing:-.025em}h3{font:500 30px/1 var(--font)}.hero-content>p:not(.eyebrow){max-width:610px;margin:0 0 34px;font:400 15px/1.7 var(--font-secondary);color:#f4f1ec}.actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 25px;border:1px solid var(--ink);font:400 10px/1 var(--font-secondary);letter-spacing:.16em;text-transform:uppercase;transition:transform .5s cubic-bezier(.22,1,.36,1),background .4s ease,color .4s ease,border-color .4s ease}.button:hover{transform:translateY(-2px)}.button-light{color:var(--ink);background:#fff;border-color:#fff}.button-outline-light{color:#fff;border-color:#fff}.text-link{font:400 10px/1 var(--font-secondary);letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:7px;transition:opacity .35s ease}.text-link:hover{opacity:.62}.text-link span{padding-left:12px;font-size:16px;vertical-align:-1px}.light{color:#fff}.intro-section{padding:120px 0}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.lead{margin:0;color:#5f5a52;font:400 16px/1.7 var(--font-secondary)}.projects-section{padding:105px 0;background:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.project-card{position:relative;overflow:hidden;height:360px;color:#fff;background:#333}.project-card.featured{grid-row:span 2;height:742px}.project-card img{height:100%;width:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.22,1,.36,1),filter .8s ease}.project-card:hover img{transform:scale(1.025);filter:saturate(.94)}.project-card>div{position:absolute;inset:auto 0 0;padding:76px 28px 24px;background:linear-gradient(transparent,#000b)}.project-card h3{margin:0 0 5px;font-size:34px}.project-card p{margin:0;font:400 9px/1.7 var(--font-secondary);letter-spacing:.17em;text-transform:uppercase}.services-band{padding:110px 0;background:var(--charcoal);color:#fff}.services-band h2{margin-bottom:52px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #55514a}.service-grid article{min-height:240px;padding:27px 24px;border-right:1px solid #55514a;transition:background .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}.service-grid article:first-child{border-left:1px solid #55514a}.service-grid article:hover{background:#302e2a;transform:translateY(-4px)}.service-grid small{color:#d3a65c;font:400 10px/1.7 var(--font-secondary);letter-spacing:.15em}.service-grid h3{margin:48px 0 14px}.service-grid p{color:#c3beb5;font:400 12px/1.65 var(--font-secondary)}.quote{padding:135px 0;text-align:center}.quote blockquote{max-width:900px;margin:0 auto;font:500 clamp(37px,5vw,65px)/1.05 var(--font)}cite{display:block;margin-top:28px;color:var(--gold);font:500 10px/1 var(--font);letter-spacing:.2em;text-transform:uppercase;font-style:normal}.cta{padding:110px 0;background:var(--gold);color:#fff;text-align:center}.cta h2{margin-bottom:18px}.cta>div>p:not(.eyebrow){max-width:530px;margin:0 auto 30px;font:400 14px/1.7 var(--font-secondary);color:#fbf4e8}.cta .eyebrow{color:#f8ecdc}footer{padding:48px 0;background:#1d1b18;color:#c7c0b5;font:400 10px/1.7 var(--font-secondary);letter-spacing:.07em}footer .footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1.6fr;align-items:center;gap:35px}footer .brand-logo{width:155px}footer p{margin:0}footer .footer-contacts{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap}footer a{transition:color .35s ease,opacity .35s ease}footer a:hover{color:#fff}.page-hero{height:760px;min-height:760px;display:flex;align-items:end;color:#fff;background:linear-gradient(#0003,#0009),url('assets/hero-poster.jpg') center/cover}.page-hero .container{padding-bottom:76px}.page-hero h1{font-size:clamp(54px,7vw,84px)}.page-hero p{max-width:540px;margin:20px 0 0}.page-section{padding:110px 0}.page-section.white{background:#fff}.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.case-card{display:block}.case-card img{display:block;width:100%;height:420px;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1)}.case-card:hover img{transform:scale(1.012)}.case-card h2{font-size:41px;margin:20px 0 7px}.case-card p,.service-copy p{color:var(--muted);font-family:var(--font-secondary)}.case-card small,.service-copy small{font:400 10px/1.7 var(--font-secondary);letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-copy{padding:48px;background:var(--paper);min-height:280px;transition:background .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}.service-copy:hover{background:#fff;transform:translateY(-3px)}.about-image{width:100%;height:600px;object-fit:cover}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-grid h2{margin-bottom:22px}.contact-grid p{color:var(--muted);max-width:470px}.contact-options{display:grid;gap:18px;margin-top:35px}.contact-options a{padding:19px 0;border-bottom:1px solid var(--line);font:400 13px/1.7 var(--font-secondary);transition:padding-left .4s ease,color .35s ease}.contact-options a:hover{padding-left:8px;color:var(--gold)}.contact-options span{float:right;color:var(--gold)}.contact-note{padding:35px;background:#e9e2d6}.contact-note p{margin:0 0 12px}.contact-note p:last-child{margin:0}.project-detail-hero{min-height:680px;display:flex;align-items:end;color:#fff;background-position:center;background-size:cover}.project-detail-hero .container{padding-bottom:85px}.project-detail-hero h1{max-width:900px}.project-meta{display:flex;gap:40px;flex-wrap:wrap;margin-top:30px;font:400 9px/1.7 var(--font-secondary);letter-spacing:.16em;text-transform:uppercase}.project-story{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:start}.project-story .lead{font-size:18px}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-gallery img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.project-gallery img:first-child{grid-column:1/-1;aspect-ratio:16/8}.project-closing{text-align:center;max-width:850px;margin:0 auto}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform 1s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:none}@keyframes pageIn{to{opacity:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:760px){.container{width:min(100% - 36px,1180px)}.site-header{height:76px}.brand-logo{width:190px}.site-header .brand-logo{margin-left:calc((100vw - 36px - 100vw) / 2)}.site-header .brand-logo img{width:190px!important;height:auto!important;display:block!important}.menu-toggle{display:block;border:0;background:none;color:inherit;font:400 10px/1 var(--font-secondary);letter-spacing:.16em;text-transform:uppercase}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;padding:25px 18px;background:var(--charcoal);color:#fff;flex-direction:column;align-items:flex-start;gap:18px}.nav-links.open{display:flex}.hero{min-height:690px}.hero-content{padding-bottom:72px}.hero-content>p:not(.eyebrow){font-size:13px}.actions{gap:20px;align-items:flex-start;flex-direction:column}.intro-section,.page-section{padding:76px 0}.split,.contact-grid,.project-story{grid-template-columns:1fr;gap:32px}.section-head{align-items:flex-start;gap:25px;flex-direction:column;margin-bottom:32px}.project-grid,.service-grid,.project-list,.service-list,.project-gallery{grid-template-columns:1fr}.project-card,.project-card.featured{height:390px;grid-row:auto}.service-grid article{min-height:auto;border-left:1px solid #55514a}.quote{padding:88px 0}.page-hero{min-height:690px}.project-detail-hero{min-height:590px}.project-detail-hero .container{padding-bottom:68px}.case-card img{height:330px}.about-image{height:430px}.project-gallery img:first-child{aspect-ratio:4/3}footer .footer-inner{grid-template-columns:1fr;align-items:flex-start;gap:24px}footer .footer-contacts{justify-content:flex-start;gap:15px}}

/* Project navigation */
.project-next-links{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:22px}
.project-next-links a{font:500 9px/1.2 var(--font-secondary,Montserrat,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:7px;opacity:.82;transition:opacity .25s ease}
.project-next-links a:hover{opacity:1}


/* Media performance — reserve stable geometry and avoid decoding every image at once. */
.project-card .project-media{position:absolute;inset:0;overflow:hidden;contain:paint}
.project-card .project-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.case-card img,.project-gallery img,.villa-gallery img,.about6-hero-media img,.about6-close img{content-visibility:auto}

/* Portfolio placeholders — used only where final project photography has not yet been supplied. */
.case-card-placeholder{width:100%;aspect-ratio:16/10;background:#e9e6df;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(45,44,42,.48)}
