:root{--gold:#c9a84c;--brown:#8b3a32;--ebony:#1a1410;--ivory:#f9f6f0;--bronze:#a67c52;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ebony);font-family:Inter,sans-serif;line-height:1.65}img{display:block;width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:88px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:32px;color:#fff;border-bottom:1px solid rgba(201,168,76,.38);transition:.35s}.site-header.scrolled{height:74px;background:rgba(26,20,16,.94);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--gold);color:var(--gold);font-family:'Playfair Display';font-size:20px}.brand strong{letter-spacing:.08em;font-size:15px}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:.18em;color:#d8c8a6}.site-header nav{display:flex;gap:24px;font-size:13px}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--gold);transition:.25s}.site-header nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:16px}.lang{border:0;background:none;color:#fff;font-size:12px}.lang span{opacity:.5}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600;transition:.25s}.btn-gold{background:var(--gold);color:var(--ebony)}.btn-gold:hover{background:#e0bf62;box-shadow:0 0 24px rgba(201,168,76,.28)}.btn-outline{color:#fff;border-color:rgba(255,255,255,.55)}.btn-outline:hover{border-color:var(--gold);color:var(--gold)}.btn-dark{background:var(--ebony);color:#fff}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,11,8,.89) 0%,rgba(20,14,10,.65) 44%,rgba(20,14,10,.08) 78%),linear-gradient(0deg,rgba(20,14,10,.5),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(760px,calc(100% - 48px));margin:auto max(24px,calc((100vw - var(--max))/2));padding-top:85px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:#ead28b;font-weight:600}.eyebrow:before{content:"";display:inline-block;width:32px;height:1px;background:currentColor;margin:0 12px 3px 0}.eyebrow.dark{color:var(--brown)}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500;margin:0;line-height:1.08}h1{font-size:clamp(56px,8vw,105px);letter-spacing:-.035em}h2{font-size:clamp(40px,5vw,69px);letter-spacing:-.025em}.hero-content>p:not(.eyebrow){max-width:640px;font-size:17px;color:rgba(255,255,255,.82)}.hero-actions{display:flex;gap:14px;margin-top:30px}.scroll-cue{position:absolute;z-index:2;bottom:28px;right:max(24px,calc((100vw - var(--max))/2));font-size:10px;text-transform:uppercase;letter-spacing:.18em}.scroll-cue span{color:var(--gold);font-size:20px;margin-left:8px}.section{padding:120px max(24px,calc((100vw - var(--max))/2))}.intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.lead{font-size:20px;color:#4b4139}.section-copy>p:not(.eyebrow){max-width:530px}.text-link{display:inline-block;margin-top:20px;padding-bottom:5px;border-bottom:1px solid var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.text-link span{color:var(--gold)}.feature-image{position:relative;margin:0}.feature-image img{height:600px;object-fit:cover}.feature-image:before{content:"";position:absolute;z-index:-1;inset:30px -30px -30px 30px;border:1px solid var(--gold)}.feature-image figcaption{position:absolute;left:0;bottom:0;background:var(--ebony);color:#d8d0c7;padding:20px 28px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.feature-image figcaption span{display:block;color:var(--gold);font-family:'Playfair Display';font-size:18px;text-transform:none;letter-spacing:0}.services{background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-heading>p{max-width:400px;color:#6e655e}.section-heading.light{color:#fff}.section-heading.light>p{color:#bbb2a8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ded7ce;border-left:1px solid #ded7ce}.service-card{min-height:255px;padding:36px;border-right:1px solid #ded7ce;border-bottom:1px solid #ded7ce;transition:.3s}.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(48,35,25,.1);border-color:var(--gold)}.service-card>span{color:var(--gold);font-size:11px}.service-card h3{margin:55px 0 10px;font-size:24px}.service-card p{color:#766d66;font-size:14px}.portfolio{background:var(--ebony);color:#fff}.filters{display:flex;gap:10px;margin:-15px 0 30px}.filters button{border:1px solid #554a42;background:none;color:#c9c0b8;padding:9px 17px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.filters button.active{background:var(--gold);border-color:var(--gold);color:var(--ebony)}.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:12px}.project{position:relative;padding:0;border:0;background:#222;overflow:hidden;cursor:pointer;color:#fff;text-align:left}.project-large{grid-column:span 2;grid-row:span 2}.project-wide{grid-column:span 2}.project img{height:100%;object-fit:cover;transition:.6s}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,10,7,.86),transparent 60%)}.project:hover img{transform:scale(1.045)}.project>span{position:absolute;z-index:2;left:22px;bottom:20px;font-family:'Playfair Display';font-size:20px}.project small{display:block;color:var(--gold);font-family:Inter;font-size:9px;text-transform:uppercase;letter-spacing:.16em}.project.hidden{display:none}.diaspora{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:var(--gold)}.diaspora-image img{height:100%;object-fit:cover}.diaspora-copy{padding:100px clamp(35px,7vw,110px);align-self:center}.diaspora-copy p{max-width:580px}.diaspora-copy ul{list-style:none;padding:0;margin:38px 0}.diaspora-copy li{padding:14px 0;border-top:1px solid rgba(26,20,16,.23);font-size:14px}.diaspora-copy li span{display:inline-block;width:45px;font-size:10px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.contact-heading>p{max-width:430px}.contact-details{display:flex;flex-direction:column;border-left:2px solid var(--gold);padding-left:18px;margin-top:36px;font-size:13px}.quote-form{background:#fff;padding:45px;box-shadow:0 20px 70px rgba(37,27,20,.09)}.quote-form label{display:block;margin-bottom:20px;color:#665d56;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #cec5bb;background:transparent;padding:11px 0;color:var(--ebony);outline:none;text-transform:none;letter-spacing:0;font-size:15px}.quote-form textarea{border:1px solid #cec5bb;padding:12px;margin-top:8px;resize:vertical}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-note{font-size:11px;color:#82776e}.form-note.success{color:#4c681f}footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;background:var(--ebony);color:#d5cec7;padding:70px max(24px,calc((100vw - var(--max))/2)) 30px;border-top:2px solid var(--gold);font-size:13px}footer h3{color:var(--gold);font-family:Inter;font-size:11px;text-transform:uppercase;letter-spacing:.15em}footer>div:not(.footer-bottom)>a{display:block;margin:7px 0}.footer-brand p{margin-top:24px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:30px;padding-top:24px;border-top:1px solid #433931;font-size:10px}dialog{width:min(1050px,92vw);border:0;padding:0;background:#0d0b09;color:#fff;box-shadow:0 30px 80px #000}dialog::backdrop{background:rgba(0,0,0,.88)}dialog img{max-height:82vh;object-fit:contain}dialog p{margin:0;padding:14px 20px;font-family:'Playfair Display';font-size:18px}dialog .close{position:absolute;z-index:2;right:10px;top:8px;border:0;background:rgba(0,0,0,.6);color:#fff;width:40px;height:40px;font-size:25px;cursor:pointer}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@media(max-width:980px){.site-header nav,.header-actions{display:none}.site-header nav.open{position:absolute;display:flex;flex-direction:column;top:74px;left:0;width:100%;padding:25px;background:var(--ebony)}.menu-toggle{display:block}.intro,.contact{grid-template-columns:1fr}.feature-image img{height:480px}.service-grid{grid-template-columns:repeat(2,1fr)}.mosaic{grid-template-columns:repeat(2,1fr)}.diaspora{grid-template-columns:1fr}.diaspora-image{height:500px}}@media(max-width:620px){.site-header{height:72px}.hero-content{padding-top:110px}.hero-shade{background:linear-gradient(90deg,rgba(15,11,8,.9),rgba(15,11,8,.42))}.hero-actions{flex-direction:column;align-items:stretch}.section{padding-top:80px;padding-bottom:80px}.section-heading{display:block}.service-grid{grid-template-columns:1fr}.mosaic{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.project,.project-large,.project-wide{min-width:84vw;height:430px;scroll-snap-align:center}.diaspora-image{height:360px}.diaspora-copy{padding:70px 25px}.form-row{grid-template-columns:1fr}.quote-form{padding:28px 22px}footer{grid-template-columns:1fr}.footer-bottom{display:block}.feature-image:before{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.project img{transition:none}}

/* Refined bilingual, slider and compact-section update */
.lang-switch{display:flex;align-items:center;gap:4px;color:rgba(255,255,255,.4)}.lang-switch .lang{border:0;background:none;color:rgba(255,255,255,.58);padding:5px;cursor:pointer;font-weight:600}.lang-switch .lang.active{color:var(--gold)}
.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity 1s ease,transform 3s ease}.hero-slide.active{opacity:1;transform:scale(1)}.slide-dots{position:absolute;z-index:3;left:50%;bottom:28px;display:flex;gap:9px;transform:translateX(-50%)}.slide-dots button{width:30px;height:3px;padding:0;border:0;background:rgba(255,255,255,.4);cursor:pointer;transition:.3s}.slide-dots button.active{width:52px;background:var(--gold)}
.section{padding-top:78px;padding-bottom:78px}.section-heading{margin-bottom:38px}.intro{position:relative;gap:7vw;background:linear-gradient(115deg,#f9f6f0 0%,#fff 48%,#f3ece2 100%);overflow:hidden}.intro:before{content:"";position:absolute;left:-100px;top:40px;width:270px;height:270px;border:1px solid rgba(201,168,76,.32);transform:rotate(45deg)}.signature-copy{position:relative;padding:38px 0 28px 42px;border-left:1px solid var(--gold)}.signature-mark{position:absolute;right:0;top:-30px;font-family:'Playfair Display';font-size:140px;line-height:1;color:rgba(201,168,76,.075);pointer-events:none}.signature-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0 5px}.signature-values span{padding:13px 8px;border-top:1px solid #d7cab7;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.signature-values b{display:block;color:var(--gold);font-size:9px;margin-bottom:3px}.signature-image{padding:20px 20px 54px;background:var(--ebony);box-shadow:24px 24px 0 rgba(139,58,50,.12)}.signature-image .image-frame{overflow:hidden}.signature-image img{height:480px;transition:transform .8s ease}.signature-image:hover img{transform:scale(1.035)}.signature-image:before{inset:0;border-color:rgba(201,168,76,.6)}.signature-image figcaption{left:20px;bottom:15px;padding:10px 0;background:none}.heritage-badge{position:absolute;right:-22px;top:48px;width:118px;height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gold);color:var(--ebony);border:7px solid var(--ivory);text-align:center}.heritage-badge strong{font-family:'Playfair Display';font-size:30px;line-height:1}.heritage-badge small{margin-top:5px;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.service-card{position:relative;isolation:isolate;overflow:hidden}.service-card:before{content:"";position:absolute;z-index:-1;inset:100% 0 0;background:linear-gradient(145deg,var(--brown),#371916);transition:inset .38s ease}.service-card:nth-child(2):before,.service-card:nth-child(5):before{background:linear-gradient(145deg,#b88d35,#6e4d13)}.service-card:nth-child(3):before,.service-card:nth-child(6):before{background:linear-gradient(145deg,#29231e,#0f0d0b)}.service-card:hover:before{inset:0}.service-card:hover{color:#fff;transform:translateY(-7px);box-shadow:0 22px 48px rgba(48,35,25,.2)}.service-card:hover p{color:rgba(255,255,255,.78)}.service-card:hover>span{color:#f3d983}.service-card h3,.service-card p,.service-card>span{transition:color .3s}
@media(max-width:980px){.signature-copy{padding-left:28px}.signature-image img{height:440px}.slide-dots{bottom:20px}}
@media(max-width:980px){.site-header .header-actions{display:flex;margin-left:auto}.site-header .header-actions>.btn{display:none}.site-header .menu-toggle{margin-left:0}}
@media(max-width:620px){.section{padding-top:58px;padding-bottom:58px}.signature-values{grid-template-columns:1fr}.signature-image{padding:12px 12px 48px}.signature-image img{height:360px}.heritage-badge{right:-5px;top:30px}.slide-dots{left:24px;transform:none}.scroll-cue{display:none}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}}
.project>span:after{content:attr(data-empty);display:block}.project:before{content:attr(data-cta);position:absolute;z-index:3;right:18px;bottom:20px;padding:8px 11px;border:1px solid rgba(255,255,255,.65);color:#fff;font-family:Inter,sans-serif;font-size:9px;text-transform:uppercase;letter-spacing:.11em;opacity:0;transform:translateY(8px);transition:.3s}.project:hover:before,.project:focus-visible:before{opacity:1;transform:none}.project:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.lightbox-nav{position:absolute;z-index:3;top:50%;width:48px;height:58px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.48);color:#fff;font-size:35px;cursor:pointer;transform:translateY(-50%)}.lightbox-nav:hover{background:var(--gold);color:var(--ebony)}.lightbox-nav.previous{left:12px}.lightbox-nav.next{right:12px}
@media(max-width:620px){.project:before{opacity:1;transform:none}.lightbox-nav{width:40px;height:50px}}
.featured-project-note{display:grid;grid-template-columns:.7fr 2fr .8fr;gap:32px;align-items:center;margin:0 0 18px;padding:24px 26px;border:1px solid #4d423a;background:linear-gradient(110deg,#211a15,#18130f)}.featured-project-note>span,.featured-project-note>small{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.featured-project-note h3{font-size:25px}.featured-project-note p{margin:7px 0 0;color:#bdb5ae;font-size:13px;line-height:1.55}@media(max-width:760px){.featured-project-note{grid-template-columns:1fr;gap:10px}}
.project>span:after{display:none}
