@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#10283b;--deep:#0b2031;--gold:#b99b69;--paper:#f9f8f5;--ink:#172d3d;--muted:#63717b;--line:#e3e1db}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.shell{max-width:1220px;margin:0 auto;padding-left:42px;padding-right:42px}.site-header{height:92px;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e9e8e3}.nav{height:100%;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:15px;white-space:nowrap}.brand-mark{font-family:Georgia,serif;font-size:38px;letter-spacing:-3px;color:var(--navy);line-height:1}.dot{color:var(--gold)}.brand-name{font-size:10px;letter-spacing:2.1px;line-height:1.45;font-weight:700}.brand-name em{font-style:normal;color:var(--gold)}.menu{display:flex;gap:31px;margin-left:auto;align-items:center}.menu a{font-size:12px;font-weight:600;transition:color .2s}.menu a:hover{color:var(--gold)}.language{display:flex;gap:9px;align-items:center;border-left:1px solid #dedede;padding-left:25px}.language button{background:none;border:0;padding:5px 0;cursor:pointer;color:#9a9fa3;font-size:12px;font-weight:700}.language button.selected{color:var(--navy)}.language span{color:#b9b9b9}.menu-toggle{display:none}.hero{background:var(--navy);color:white;min-height:680px;position:relative;overflow:hidden}.hero-lines{position:absolute;inset:0;background:linear-gradient(110deg,transparent 60%,rgba(185,155,105,.08) 60.1%,transparent 60.3%),linear-gradient(110deg,transparent 71%,rgba(185,155,105,.07) 71.1%,transparent 71.3%)}.hero-content{position:relative;z-index:1;padding-top:120px;padding-bottom:118px}.eyebrow,.section-label{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--gold)}.eyebrow .line{width:32px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(48px,6.1vw,85px);line-height:1.12;max-width:790px;margin:28px 0 25px}h1 i,h2 i{font-weight:400;color:var(--gold)}.hero-lead{color:#c9d3da;max-width:590px;font-size:16px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:33px;margin-top:40px}.button{display:inline-flex;align-items:center;gap:32px;justify-content:space-between;padding:17px 23px;font-size:12px;font-weight:700;letter-spacing:.2px}.button.gold{background:var(--gold);color:var(--deep)}.button:hover{filter:brightness(1.08)}.subtle-link{font-size:12px;color:#f4f4f4;border-bottom:1px solid #7b8c98;padding-bottom:8px}.hero-side{position:absolute;right:-40px;bottom:40px;font-family:Georgia,serif;font-size:360px;letter-spacing:-35px;opacity:.035;pointer-events:none}.hero-bottom{display:flex;justify-content:space-between;position:absolute;bottom:26px;left:0;right:0;color:#b1bec6;font-size:9px;letter-spacing:2px}.section{padding:115px 0}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section-label{margin-bottom:35px}.section h2{font-size:clamp(38px,4vw,57px);line-height:1.17}.about-copy p,.founder-copy p{font-size:14px;line-height:2;color:#52616a;margin-bottom:19px}.principles{margin-top:76px;display:grid;grid-template-columns:repeat(4,1fr)}.principles>div{padding:24px 20px;border-top:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px}.principles>div:first-child{padding-left:0}.principles>div:last-child{border-right:0}.principles span{font-size:11px;color:var(--gold)}.principles strong{font-size:13px;font-weight:600}.practices{background:#f0f1ef}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:50px}.section-intro h2{margin:0}.section-intro p{max-width:330px;font-size:14px;line-height:1.9;color:var(--muted)}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9dddc;border:1px solid #d9dddc}.practice-card{background:#fff;min-height:265px;padding:32px 30px;display:flex;flex-direction:column;transition:background .2s}.practice-card:hover{background:#fbfaf7}.practice-num{font-size:11px;letter-spacing:2px;color:var(--gold)}.practice-card h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:28px;line-height:1.15;margin:28px 0 12px}.practice-card p{font-size:12px;line-height:1.85;color:var(--muted);margin-bottom:0}.founder{background:#fff}.founder-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:95px}.founder-role{font-size:12px;letter-spacing:1px;color:var(--gold);font-weight:700}.founder-copy{border-left:1px solid var(--line);padding-left:42px}.insights{background:var(--paper)}.coming-soon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:center;padding:29px 0;font-size:13px}.coming-soon span:last-child{margin-left:auto}.gold-rule{width:24px;height:1px;background:var(--gold)}.contact{background:var(--deep);color:#fff}.contact-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:120px}.contact h2{font-size:clamp(40px,4.8vw,66px)}.contact p{color:#b9c6ce;font-size:14px;line-height:1.9;max-width:450px;margin:28px 0}.contact-details{padding-top:80px}.contact-details>div{display:flex;flex-direction:column;gap:13px;padding:20px 0;border-bottom:1px solid #344858}.contact-details small{font-size:10px;letter-spacing:1.7px;color:var(--gold)}.contact-details a,.contact-details span{font-size:15px;overflow-wrap:anywhere}footer{background:#081a29;color:#b3bdc4}.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:33px;padding-bottom:33px;font-size:11px}.footer-brand{display:flex;align-items:center;gap:12px;color:white}.footer-brand>span{font:30px Georgia,serif}.footer-brand small{font-size:9px;letter-spacing:1.5px}.footer>div:nth-child(2){display:flex;flex-direction:column;gap:5px}.footer>a{color:var(--gold)}
@media(max-width:950px){.shell{padding-left:24px;padding-right:24px}.nav{gap:16px}.menu{gap:15px}.menu a{font-size:11px}.two-column,.founder-layout{gap:42px}.contact-layout{gap:45px}.practice-card{padding:25px 20px}.practice-card h3{font-size:24px}}
@media(max-width:720px){.site-header{height:76px}.brand-mark{font-size:32px}.brand-name{font-size:8px}.menu-toggle{display:block;margin-left:auto;background:none;border:0;color:var(--navy);font-size:13px;cursor:pointer}.menu{display:none;position:absolute;top:76px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:18px 25px 25px;box-shadow:0 12px 20px #0001}.menu.open{display:flex}.menu a{padding:10px 0;font-size:13px}.language{padding-left:12px}.hero{min-height:640px}.hero-content{padding-top:105px;padding-bottom:115px}h1{font-size:clamp(43px,10vw,65px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:25px}.hero-bottom{font-size:8px}.section{padding:75px 0}.two-column,.founder-layout,.contact-layout{grid-template-columns:1fr;gap:22px}.section-label{margin-bottom:24px}.section h2{font-size:43px}.principles{grid-template-columns:repeat(2,1fr);margin-top:45px}.principles>div:nth-child(2){border-right:0}.principles>div:nth-child(3){padding-left:0}.section-intro{display:block}.section-intro p{margin-top:20px}.practice-grid{grid-template-columns:1fr}.practice-card{min-height:205px}.practice-card h3{margin-top:20px}.founder-copy{padding-left:0;border-left:0}.contact-details{padding-top:15px}.footer{flex-wrap:wrap}.hero-side{font-size:230px;right:-20px}}

/* GRI V2 — original identity and architectural hero */
.brand-logo{width:59px;height:49px;object-fit:contain;display:block}
.brand-divider{height:37px;width:1px;background:var(--gold);margin-left:0}
.brand-name{font-size:10px;letter-spacing:1.8px}
.hero{background-color:var(--navy);background-image:linear-gradient(90deg, #10283b 0%,#10283b 38%,rgba(16,40,59,.95) 50%,rgba(16,40,59,.68) 66%,rgba(16,40,59,.12) 100%),url('assets/architecture.jpg');background-size:cover,cover;background-position:center,center 47%}
.hero-lines{display:none}
.hero-content{z-index:2}
.hero h1{max-width:810px}
.hero-bottom{z-index:2}
.footer-logo{width:45px;height:38px;object-fit:contain;filter:brightness(1.65)}
@media(max-width:720px){.brand-logo{width:45px;height:38px}.brand-divider{height:30px}.brand-name{font-size:8px;letter-spacing:1px}.hero{background-image:linear-gradient(90deg,rgba(16,40,59,.97),rgba(16,40,59,.86)),url('assets/architecture.jpg');background-position:center,right center}}

/* Detailed service lists within the new practice areas */
.practice-card ul{margin:0;padding-left:1.1rem;list-style:disc}.practice-card li{margin:.38rem 0;line-height:1.55}.practice-card li::marker{color:#d24b4f}
