:root { --ink:#0b1425; --paper:#f4f2ed; --gold:#c3a36a; --muted:#6f7380; --line:rgba(11,20,37,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.6; }
.header { position:absolute; z-index:3; left:0; right:0; display:flex; align-items:center; justify-content:space-between; max-width:1440px; margin:auto; padding:26px 5vw; color:#fff; }
.brand { color:inherit; text-decoration:none; font-weight:700; letter-spacing:-.02em; display:flex; align-items:center; gap:11px; }
.brand span { width:37px; height:37px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); color:var(--gold); font-family:'Playfair Display',serif; }
.nav { display:flex; gap:28px; }
.nav a { color:inherit; text-decoration:none; font-size:.87rem; }
.nav a:hover { color:var(--gold); }
.menu-toggle { display:none; }
.hero { min-height:720px; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr); background:var(--ink); color:white; overflow:hidden; }
.hero-copy { align-self:center; max-width:700px; padding:154px 6vw 92px; position:relative; z-index:1; }
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:.69rem; font-weight:700; margin:0 0 20px; color:var(--gold); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:'Playfair Display',Georgia,serif; font-weight:600; letter-spacing:-.045em; line-height:1.06; }
h1 { font-size:clamp(3.3rem,6.4vw,6.2rem); margin-bottom:28px; }
em { font-weight:600; color:var(--gold); }
.lead { max-width:520px; color:#d3d7dd; font-size:1.1rem; margin-bottom:36px; }
.button { display:inline-block; padding:14px 22px; border:1px solid var(--gold); color:var(--ink); background:var(--gold); text-decoration:none; font-size:.84rem; font-weight:700; transition:.2s ease; }
.button:hover { transform:translateY(-2px); background:#e0c184; }
.hero-art { min-height:720px; position:relative; overflow:hidden; }
.hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--ink) 0%,transparent 32%,rgba(11,20,37,.2)); }
.hero-art img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.75) contrast(1.08); }
.art-caption { position:absolute; z-index:1; right:8%; bottom:54px; color:#eef0f3; font-family:'Playfair Display',serif; font-size:1.15rem; font-style:italic; }
.principles { display:grid; grid-template-columns:1fr 1fr; gap:11vw; max-width:1440px; margin:auto; padding:130px 6vw; }
h2 { font-size:clamp(2.45rem,4.4vw,4.7rem); margin-bottom:0; }
.principles-text { max-width:520px; padding-top:10px; font-size:1.08rem; }
.principles-text p + p { margin-top:28px; }
.experience { display:grid; grid-template-columns:1.08fr .92fr; gap:10vw; background:var(--ink); color:#fff; padding:120px 6vw; }
.experience-intro { max-width:760px; }.experience h2 { color:#fff; }.experience-aside { align-self:end; max-width:520px; color:#c5cad3; font-size:1.04rem; }.experience-aside p + p { margin-top:25px; }
.timeline { max-width:1440px; margin:auto; padding:0 6vw 118px; }.timeline-item { display:grid; grid-template-columns:100px 1fr; gap:32px; padding:37px 0; border-bottom:1px solid var(--line); }.timeline-item > span { color:var(--gold); font-size:.76rem; font-weight:700; }.timeline-label { margin-bottom:8px; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }.timeline h3 { font:600 clamp(1.65rem,2.8vw,2.65rem)/1.15 'Playfair Display',Georgia,serif; letter-spacing:-.035em; margin-bottom:14px; }.timeline-item div > p:last-child { max-width:640px; color:#535967; }
.areas { background:#e8e5de; padding:118px 6vw 126px; }
.section-heading { max-width:1440px; margin:0 auto 56px; }
.area-grid { max-width:1440px; margin:auto; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); }
.area-grid article { padding:28px 32px 10px 0; min-height:230px; border-right:1px solid var(--line); }
.area-grid article + article { padding-left:32px; }
.area-grid article:last-child { border-right:0; }
.area-grid span { color:var(--gold); font-size:.75rem; font-weight:700; }
.area-grid h3 { font-family:'Playfair Display',Georgia,serif; letter-spacing:-.03em; font-size:1.75rem; margin:38px 0 10px; }
.area-grid p { color:#535967; font-size:.95rem; }
.process { padding:120px 6vw; background:#d8d4ca; }.process-list { max-width:1440px; margin:54px auto 0; padding:0; list-style:none; border-top:1px solid var(--line); }.process-list li { display:grid; grid-template-columns:110px minmax(0,1fr); gap:26px; padding:30px 0; border-bottom:1px solid var(--line); }.process-list li > span { color:var(--gold); font-size:.76rem; font-weight:700; }.process-list h3 { font:600 clamp(1.5rem,2.5vw,2.2rem)/1.15 'Playfair Display',Georgia,serif; letter-spacing:-.03em; margin:0 0 9px; }.process-list p { max-width:610px; color:#535967; margin:0; }
.proof { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; padding:118px 6vw; max-width:1440px; margin:auto; }.proof-links { border-top:1px solid var(--line); }.proof-links a { display:grid; grid-template-columns:110px 1fr; gap:3px 22px; padding:22px 0; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }.proof-links a:hover strong { color:#92733e; }.proof-links span { grid-row:span 2; color:var(--gold); font-size:.73rem; font-weight:700; }.proof-links strong { font-size:1.02rem; }.proof-links small { color:#676d79; font-size:.83rem; line-height:1.45; }
.faq { display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; padding:118px 6vw; background:#e8e5de; }.faq-list { border-top:1px solid var(--line); }.faq details { border-bottom:1px solid var(--line); padding:21px 0; }.faq summary { cursor:pointer; font-weight:700; padding-right:28px; position:relative; list-style:none; }.faq summary::after { content:'+'; position:absolute; right:4px; color:var(--gold); font-size:1.35rem; font-weight:400; top:-5px; }.faq details[open] summary::after { content:'−'; }.faq details p { color:#565d69; margin:13px 35px 0 0; font-size:.95rem; }
.contact { padding:125px 6vw; text-align:center; background:var(--ink); color:#fff; }
.contact h2 { margin-bottom:26px; }
.contact > p:not(.eyebrow) { max-width:500px; color:#c5cad3; margin:0 auto 34px; }
.button-light { background:transparent; color:#fff; }
.button-light:hover { color:var(--ink); }
footer { display:flex; justify-content:center; gap:10px; padding:21px; background:#08101e; color:#a9b0bd; font-size:.78rem; }
@media (max-width:760px) { .header { padding:18px 6vw; }.nav { display:none; position:absolute; top:75px; left:6vw; right:6vw; padding:18px; background:#13213a; flex-direction:column; gap:12px; }.nav.is-open { display:flex; }.menu-toggle { display:block; background:none; border:0; color:#fff; font:700 .78rem Manrope,sans-serif; text-transform:uppercase; letter-spacing:.08em; }.hero { min-height:auto; grid-template-columns:1fr; }.hero-copy { padding:140px 6vw 66px; }.hero-art { min-height:390px; }.hero-art::after { background:linear-gradient(0deg,var(--ink),transparent 52%); }.art-caption { bottom:26px; }.principles,.experience,.proof,.faq { grid-template-columns:1fr; gap:32px; padding:80px 6vw; }.timeline { padding:0 6vw 75px; }.timeline-item { grid-template-columns:45px 1fr; gap:18px; padding:28px 0; }.areas,.process { padding:80px 6vw; }.area-grid { grid-template-columns:1fr; }.area-grid article,.area-grid article + article { min-height:auto; padding:24px 0; border-right:0; border-bottom:1px solid var(--line); }.area-grid h3 { margin:18px 0 8px; }.process-list { margin-top:36px; }.process-list li { grid-template-columns:45px 1fr; gap:18px; }.proof-links a { grid-template-columns:78px 1fr; gap:3px 12px; }.contact { padding:86px 6vw; } }
