*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --charcoal:#1E1E1C;
  --dark:#2E2E2C;
  --mid:#5C5C5A;
  --muted:#919190;
  --rule:#E0DED8;
  --sand:#F4F2EC;
  --cream:#FAF8F3;
  --white:#FFFFFF;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--white);color:var(--dark);-webkit-font-smoothing:antialiased;font-size:14px;overflow-x:hidden}

/* ── PAGES ── */
.page{display:none}.page.on{display:block}

/* ── SHARED ── */
.eyebrow{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.eyebrow-light{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.btn-dark,.btn-light,.btn-outline,.btn-ghost{-webkit-appearance:none;appearance:none;font-family:var(--sans);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:14px 30px;text-decoration:none;cursor:pointer;transition:all .2s;line-height:1}
.btn-dark{background:#242422;color:#FFFFFF;border:1px solid #242422}
.btn-dark:hover{background:#3a3a38;border-color:#3a3a38;color:#FFFFFF}
.btn-light{background:#FFFFFF;color:#242422;border:1px solid #FFFFFF}
.btn-light:hover{background:#f0eeea;border-color:#f0eeea;color:#242422}
.btn-outline{background:transparent;color:#FFFFFF;border:1px solid rgba(255,255,255,.4)}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:#FFFFFF;color:#FFFFFF}
.btn-ghost{background:transparent;color:#242422;border:1px solid #E0DED8}
.btn-ghost:hover{background:#242422;border-color:#242422;color:#FFFFFF}

/* ── PAGE SWITCHER ── */
.pager{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;gap:4px;background:rgba(20,20,18,.88);padding:8px 12px;backdrop-filter:blur(10px)}
.pager-btn{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3);background:none;border:none;cursor:pointer;padding:6px 14px;transition:color .2s}
.pager-btn:hover{color:rgba(255,255,255,.65)}
.pager-btn.on{color:var(--white);border-bottom:1px solid rgba(255,255,255,.45)}

/* ── TOP BAR ── */
.topbar{background:var(--charcoal);height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 48px}
.topbar-l{font-family:var(--serif);font-style:italic;font-size:13px;color:rgba(255,255,255,.4);letter-spacing:.02em}
.topbar-r{display:flex;gap:28px;align-items:center}
.topbar-r a{font-size:11px;font-weight:300;color:rgba(255,255,255,.4);text-decoration:none;display:flex;align-items:center;gap:6px;letter-spacing:.03em;transition:color .2s}
.topbar-r a:hover{color:rgba(255,255,255,.75)}
.topbar-socials{display:flex;gap:14px;margin-left:8px;padding-left:20px;border-left:1px solid rgba(255,255,255,.1)}
.topbar-socials a{font-size:11px;color:rgba(255,255,255,.3);text-decoration:none;transition:color .2s}
.topbar-socials a:hover{color:rgba(255,255,255,.65)}

/* ── NAV ── */
.nav{background:var(--white);border-bottom:1px solid var(--rule);height:70px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 48px;position:sticky;top:0;z-index:200;gap:32px}
.nav-brand{display:flex;flex-direction:column;gap:3px;cursor:pointer;text-decoration:none;flex-shrink:0}
.nav-wm{font-family:var(--sans);font-size:20px;font-weight:700;letter-spacing:.18em;color:var(--charcoal);line-height:1}
.nav-sub{font-size:7px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:flex;gap:20px;list-style:none;justify-content:center}
.nav-links a{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--mid);padding-bottom:2px;border-bottom:1.5px solid transparent;transition:all .2s;cursor:pointer;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--charcoal);border-bottom-color:var(--charcoal)}
.nav-cta{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--charcoal);padding:9px 18px;background:none;color:var(--charcoal);cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}
.nav-cta:hover{background:var(--charcoal);color:var(--white)}

/* ── HERO ── */
.hero{position:relative;height:92vh;min-height:580px;overflow:hidden;background:var(--charcoal)}
.hero-bg{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.52)}
.hero-grad{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,20,18,.1) 0%,rgba(20,20,18,.55) 100%)}
.hero-body{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 48px}
.hero-wm{font-family:var(--sans);font-size:100px;font-weight:700;letter-spacing:.2em;color:var(--white);line-height:1;margin-bottom:16px}
.hero-sub{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:24px}
.hero-desc{font-family:var(--serif);font-size:18px;font-weight:300;color:rgba(255,255,255,.72);line-height:1.75;max-width:580px;margin-bottom:40px}
.hero-btns{display:flex;gap:14px}
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.25)}
.hero-line{width:1px;height:36px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent)}

/* ── STRIP ── */
.strip3{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--rule)}
.strip3-cell{padding:44px 40px;border-right:1px solid var(--rule)}
.strip3-cell:last-child{border-right:none}
.strip3-n{font-family:var(--serif);font-size:42px;font-weight:300;color:var(--rule);line-height:1;margin-bottom:16px}
.strip3-title{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--charcoal);margin-bottom:10px}
.strip3-body{font-size:13px;font-weight:300;color:var(--mid);line-height:1.85}

/* ── SPLIT ── */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:580px}
.split-photo{position:relative;overflow:hidden}
.split-photo img{width:100%;height:100%;object-fit:cover;display:block}
.split-copy{padding:80px 64px;display:flex;flex-direction:column;justify-content:center}
.split-copy.sand{background:var(--sand)}
.split-copy.dark{background:var(--charcoal)}
.split-copy.white{background:var(--white)}
.split-h{font-family:var(--serif);font-size:42px;font-weight:300;line-height:1.2;margin:16px 0 24px}
.split-h em{font-style:italic}
.split-h.light{color:rgba(255,255,255,.9)}
.split-p{font-size:13px;font-weight:300;line-height:1.9;color:var(--mid);margin-bottom:12px}
.split-p.light{color:rgba(255,255,255,.48)}

/* ── RISK LIST ── */
.rlist{list-style:none;margin:20px 0 32px;border-top:1px solid var(--rule)}
.rlist li{display:flex;gap:14px;padding:12px 0;font-size:13px;font-weight:300;line-height:1.55;border-bottom:1px solid var(--rule);color:var(--mid)}
.rlist li::before{content:'—';flex-shrink:0;color:var(--charcoal);font-weight:400}

/* ── PILLARS ── */
.pillars-sec{padding:96px 48px;background:var(--white)}
.sec-header{text-align:center;margin-bottom:64px}
.sec-header span{display:block;margin-bottom:16px}
.sec-header h2{font-family:var(--serif);font-size:48px;font-weight:300;color:var(--charcoal)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule)}
.pcell{padding:40px 32px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .25s}
.pcell:nth-child(3n){border-right:none}
.pcell:nth-child(n+4){border-bottom:none}
.pcell:hover{background:var(--sand)}
.pn{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.pt{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--charcoal);margin-bottom:12px;line-height:1.3}
.pb{font-size:12px;font-weight:300;color:var(--mid);line-height:1.8}

/* ── SERVICES ── */
.svc{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.07);transition:padding-left .2s;cursor:pointer}
.svc:last-child{border-bottom:none}
.svc:hover{padding-left:6px}
.svc-n{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72);display:flex;justify-content:space-between;margin-bottom:6px}
.svc-n::after{content:'→';color:rgba(255,255,255,.18);transition:color .2s}
.svc:hover .svc-n::after{color:rgba(255,255,255,.55)}
.svc-p{font-size:12px;font-weight:300;color:rgba(255,255,255,.38);line-height:1.7}

/* ── AUDIENCES ── */
.aud-sec{padding:96px 48px;background:var(--sand)}
.aud-header{margin-bottom:56px}
.aud-header span{display:block;margin-bottom:16px}
.aud-header h2{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--charcoal)}
.agrid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.acard{background:var(--white);padding:28px 24px;position:relative;transition:transform .2s,box-shadow .2s}
.acard:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.06)}
.atag{position:absolute;top:0;left:0;background:var(--charcoal);color:rgba(255,255,255,.4);font-size:8px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px}
.an{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--charcoal);margin:0 0 12px;line-height:1.3}
.ap{font-size:12px;font-weight:300;color:var(--mid);line-height:1.75}

/* ── PHOTO STRIP ── */
.pstrip{display:grid;grid-template-columns:2fr 1fr 1fr;height:380px}
.pstrip-item{overflow:hidden;position:relative}
.pstrip-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.pstrip-item:hover img{transform:scale(1.04)}

/* ── CTA BAND ── */
.ctaband{background:var(--charcoal);padding:72px 80px;color:var(--white);display:grid;grid-template-columns:1fr auto;align-items:center;gap:80px}
.ctaband-h{font-family:var(--serif);font-size:36px;font-weight:300;font-style:italic;color:rgba(255,255,255,.9);line-height:1.3;margin-bottom:10px}
.ctaband-sub{font-size:12px;font-weight:300;color:rgba(255,255,255,.32);letter-spacing:.04em}
.ctaband-btns{display:flex;gap:12px;flex-shrink:0}

/* ── PAGE HERO ── */
.phero{position:relative;height:54vh;min-height:360px;overflow:hidden;background:var(--charcoal)}
.phero img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.38)}
.phero-body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:64px 80px}
.phero-ey{margin-bottom:12px}
.phero-h{font-family:var(--serif);font-size:58px;font-weight:300;color:var(--white);line-height:1.1;max-width:720px}
.phero-h em{font-style:italic}

/* ── PROCESS ── */
.proc-sec{padding:96px 80px}
.proc-intro{max-width:580px;margin-bottom:72px}
.proc-intro span{display:block;margin-bottom:16px}
.proc-intro h2{font-family:var(--serif);font-size:34px;font-weight:300;color:var(--charcoal);line-height:1.35}
.srow{display:grid;grid-template-columns:60px 1fr 400px;gap:48px;padding:52px 0;border-bottom:1px solid var(--rule);align-items:start}
.srow:first-child{padding-top:0}
.srow:last-child{border-bottom:none;padding-bottom:0}
.sn{font-family:var(--serif);font-size:52px;font-weight:300;color:var(--rule);line-height:1}
.st{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--charcoal);margin-bottom:16px}
.sp{font-size:13px;font-weight:300;color:var(--mid);line-height:1.85;margin-bottom:10px}
.snote{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--muted);padding:13px 18px;border-left:2px solid var(--rule);margin-top:14px;line-height:1.6}
.simg{height:230px;overflow:hidden}
.simg img{width:100%;height:100%;object-fit:cover;display:block}

/* ── COMPARE ── */
.cmp-sec{padding:96px 80px;background:var(--sand)}
.cmp-intro{max-width:580px;margin-bottom:56px}
.cmp-intro span{display:block;margin-bottom:16px}
.cmp-intro h2{font-family:var(--serif);font-size:40px;font-weight:300;color:var(--charcoal);line-height:1.25}
.cgrid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);overflow:hidden;max-width:860px}
.ccol{}
.chead{padding:18px 24px;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--rule)}
.ccol.std .chead{background:var(--white);color:var(--muted);border-right:1px solid var(--rule)}
.ccol.aman .chead{background:var(--charcoal);color:rgba(255,255,255,.35)}
.crow{padding:15px 24px;font-size:13px;font-weight:300;line-height:1.5;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:10px}
.crow:last-child{border-bottom:none}
.ccol.std .crow{color:var(--muted);background:var(--white);border-right:1px solid var(--rule)}
.ccol.std .crow::before{content:'✕';color:var(--rule);font-size:11px;flex-shrink:0}
.ccol.aman .crow{color:var(--dark);background:var(--cream);font-weight:400}
.ccol.aman .crow::before{content:'✓';color:var(--charcoal);font-size:11px;flex-shrink:0}

/* ── ABOUT ── */
.about-split{display:grid;grid-template-columns:1fr 1fr;min-height:680px}
.about-img{overflow:hidden}
.about-img img{width:100%;height:100%;object-fit:cover;display:block}
.about-copy{padding:96px 72px;display:flex;flex-direction:column;justify-content:center;background:var(--white)}
.about-copy span{display:block;margin-bottom:16px}
.about-copy h2{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--charcoal);margin-bottom:24px;line-height:1.2}
.about-copy h2 em{font-style:italic}
.about-p{font-size:13px;font-weight:300;line-height:1.9;color:var(--mid);margin-bottom:14px}
.pullq{font-family:var(--serif);font-size:22px;font-weight:300;font-style:italic;color:var(--charcoal);padding:28px 0 28px 28px;border-left:2px solid var(--charcoal);margin:32px 0;line-height:1.5}

/* ── TEAM ── */
.team-sec{padding:96px 48px;background:var(--sand)}
.team-hdr{margin-bottom:56px}
.team-hdr span{display:block;margin-bottom:16px}
.team-hdr h2{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--charcoal);margin-bottom:16px}
.team-hdr p{font-size:13px;font-weight:300;color:var(--mid);line-height:1.85;max-width:580px}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.tcard{}
.tphoto{height:340px;overflow:hidden}
.tphoto img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(15%);transition:filter .3s,transform .5s}
.tcard:hover .tphoto img{filter:grayscale(0%);transform:scale(1.03)}
.tinfo{background:var(--white);padding:24px}
.tname{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--charcoal);margin-bottom:4px}
.trole{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ── VALUES ── */
.val-sec{padding:96px 48px;background:var(--white)}
.val-hdr{max-width:600px;margin-bottom:56px}
.val-hdr span{display:block;margin-bottom:16px}
.val-hdr h2{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--charcoal)}
.vgrid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule)}
.vcell{padding:40px 36px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.vcell:nth-child(2n){border-right:none}
.vcell:nth-last-child(-n+2){border-bottom:none}
.vlabel{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--charcoal);margin-bottom:14px}
.vbody{font-size:13px;font-weight:300;color:var(--mid);line-height:1.85}

/* ── CONTACT ── */
.contact-split{display:grid;grid-template-columns:1fr 1fr;min-height:90vh}
.contact-photo{overflow:hidden}
.contact-photo img{width:100%;height:100%;object-fit:cover;display:block}
.contact-form{padding:72px 60px;background:var(--sand);display:flex;flex-direction:column;justify-content:center}
.contact-form span{display:block;margin-bottom:16px}
.contact-form h1{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--charcoal);margin-bottom:10px;line-height:1.2}
.contact-form h1 em{font-style:italic}
.contact-lead{font-size:13px;font-weight:300;color:var(--mid);line-height:1.85;margin-bottom:32px}
.cinfo{margin-bottom:36px}
.cdet{display:flex;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--rule)}
.cdet:first-child{border-top:1px solid var(--rule)}
.cicon{font-size:14px;color:var(--muted);width:18px;flex-shrink:0}
.clabel{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.cval{font-size:13px;font-weight:400;color:var(--charcoal)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.ffield{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.flabel{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.finput,.fselect,.ftextarea{font-family:var(--sans);font-size:12px;font-weight:300;color:var(--charcoal);background:var(--white);border:1px solid var(--rule);padding:11px 14px;outline:none;transition:border-color .2s;-webkit-appearance:none;width:100%}
.finput:focus,.fselect:focus,.ftextarea:focus{border-color:var(--charcoal)}
.ftextarea{height:92px;resize:none}
.fnote{font-size:11px;font-weight:300;color:var(--muted);line-height:1.65;margin-bottom:18px}

/* ── BLOG ── */
.blog-top{background:var(--charcoal);padding:72px 80px;color:var(--white)}
.blog-top span{display:block;margin-bottom:16px}
.blog-top h1{font-family:var(--serif);font-size:58px;font-weight:300;color:var(--white);line-height:1.1;margin-bottom:16px}
.blog-top h1 em{font-style:italic}
.blog-top p{font-size:13px;font-weight:300;color:rgba(255,255,255,.42);line-height:1.85;max-width:520px}
.blog-main{padding:0 48px 80px}
.blog-feat-row{display:grid;grid-template-columns:2fr 1fr;gap:2px;padding-top:2px}
.bfeat{position:relative;overflow:hidden;height:480px;cursor:pointer}
.bfeat img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.bfeat:hover img{transform:scale(1.03)}
.bfeat-grad{position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(20,20,18,.85))}
.bfeat-content{position:absolute;bottom:0;left:0;right:0;padding:36px}
.bfeat-tag{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:10px}
.bfeat-title{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--white);line-height:1.3}
.bstack{display:grid;grid-template-rows:1fr 1fr;gap:2px}
.bsm{background:var(--sand);overflow:hidden;transition:background .2s;cursor:pointer}
.bsm:hover{background:var(--white)}
.bsm img{width:100%;height:180px;object-fit:cover;display:block}
.bsm-inner{padding:20px 22px}
.bsm-tag{font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.bsm-title{font-family:var(--serif);font-size:18px;font-weight:400;color:var(--charcoal);line-height:1.35}
.cluster-bar{background:var(--charcoal);padding:14px 28px;margin-top:2px}
.cluster-bar span{font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.blist{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-bottom:0}
.bli{background:var(--white);padding:24px;border-top:1px solid var(--rule);cursor:pointer;transition:background .2s}
.bli:hover{background:var(--sand)}
.blin{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.blit{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--charcoal);line-height:1.35}

/* ── FOOTER ── */
footer{background:var(--charcoal)}
.footer-top{display:grid;grid-template-columns:260px 1fr 1fr 1fr;gap:56px;padding:60px 48px;border-bottom:1px solid rgba(255,255,255,.07)}
.fwm{font-family:var(--sans);font-size:18px;font-weight:700;letter-spacing:.22em;color:var(--white);margin-bottom:6px}
.ftag{font-family:var(--serif);font-size:14px;font-style:italic;color:rgba(255,255,255,.28);margin-bottom:24px}
.fcontact a,.fcontact p{display:block;font-size:12px;font-weight:300;color:rgba(255,255,255,.38);text-decoration:none;line-height:2.3;transition:color .2s}
.fcontact a:hover{color:rgba(255,255,255,.72)}
.fcol-title{font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.18);margin-bottom:18px}
.flink{display:block;font-size:12px;font-weight:300;color:rgba(255,255,255,.38);text-decoration:none;line-height:2.3;cursor:pointer;transition:color .2s}
.flink:hover{color:rgba(255,255,255,.72)}
.footer-base{display:flex;justify-content:space-between;padding:18px 48px;font-size:11px;font-weight:300;color:rgba(255,255,255,.18)}
/* ── SERVICES PAGE ── */

/* services intro */
.svc-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:80px 80px 64px;align-items:center;border-bottom:1px solid var(--rule)}
.svc-intro-left h2{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--charcoal);line-height:1.2;margin-top:16px}
.svc-intro-left h2 em{font-style:italic}
.svc-intro-right p{font-size:14px;font-weight:300;color:var(--mid);line-height:1.9;margin-bottom:14px}

/* individual service sections */
.svc-full{display:grid;grid-template-columns:1fr 1fr;min-height:520px;border-bottom:1px solid var(--rule)}
.svc-full.reverse .svc-full-photo{order:2}
.svc-full.reverse .svc-full-content{order:1}
.svc-full:last-of-type{border-bottom:none}
.svc-full-photo{position:relative;overflow:hidden}
.svc-full-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}
.svc-full:hover .svc-full-photo img{transform:scale(1.03)}
.svc-full-content{padding:72px 64px;display:flex;flex-direction:column;justify-content:center}
.svc-full-content.sand{background:var(--sand)}
.svc-full-content.white{background:var(--white)}
.svc-full-content.dark{background:var(--charcoal)}
.svc-num{font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.svc-num.light{color:rgba(255,255,255,.28)}
.svc-full-title{font-family:var(--serif);font-size:38px;font-weight:300;line-height:1.2;margin-bottom:24px}
.svc-full-title.light{color:rgba(255,255,255,.9)}
.svc-full-title em{font-style:italic}
.svc-full-body{font-size:13px;font-weight:300;line-height:1.9;color:var(--mid);margin-bottom:14px}
.svc-full-body.light{color:rgba(255,255,255,.48)}
.svc-checklist{list-style:none;margin:20px 0 32px;border-top:1px solid var(--rule)}
.svc-checklist.dark-list{border-top-color:rgba(255,255,255,.08)}
.svc-checklist li{display:flex;gap:14px;padding:11px 0;font-size:13px;font-weight:300;line-height:1.5;border-bottom:1px solid var(--rule);color:var(--mid)}
.svc-checklist.dark-list li{border-bottom-color:rgba(255,255,255,.07);color:rgba(255,255,255,.45)}
.svc-checklist li::before{content:'✓';flex-shrink:0;color:var(--charcoal);font-weight:600;font-size:11px;margin-top:1px}
.svc-checklist.dark-list li::before{color:rgba(255,255,255,.3)}

/* services overview grid at bottom */
.svc-overview{padding:80px 48px;background:var(--sand)}
.svc-ov-title{font-family:var(--serif);font-size:40px;font-weight:300;color:var(--charcoal);margin:16px 0 48px}
.svc-ov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.svc-ov-card{background:var(--white);padding:36px 28px;border-top:3px solid transparent;transition:border-color .25s,background .25s;cursor:pointer}
.svc-ov-card:hover{border-top-color:var(--charcoal);background:var(--cream)}
.sov-n{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.sov-t{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--charcoal);margin-bottom:12px;line-height:1.3}
.sov-p{font-size:12px;font-weight:300;color:var(--mid);line-height:1.75}

/* ── PARTNERS BAND ── */
.partners-band{padding:56px 80px;background:var(--sand);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.partners-band-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}
.partners-band-title{font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.partners-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.partner-card{background:var(--white);padding:36px 40px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;transition:background .2s;cursor:pointer}
.partner-card:hover{background:var(--cream)}
.partner-name{font-family:var(--serif);font-size:28px;font-weight:400;color:var(--charcoal);margin-bottom:6px;line-height:1}
.partner-descriptor{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.partner-body{font-size:13px;font-weight:300;color:var(--mid);line-height:1.85}
.partner-link{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);display:flex;align-items:center;gap:8px;margin-top:4px}
.partner-link::after{content:'→';transition:transform .2s}
.partner-card:hover .partner-link::after{transform:translateX(4px)}
.partner-legal-note{font-size:11px;font-weight:300;color:var(--muted);font-style:italic;margin-top:32px;padding-top:24px;border-top:1px solid var(--rule);line-height:1.7}
/* =====================================
   MOBILE FIXES — AMANAH
   ===================================== */

@media (max-width: 900px){

  .topbar{
    height:auto;
    padding:10px 20px;
    flex-direction:column;
    gap:8px;
    text-align:center;
  }

  .topbar-r{
    gap:12px;
    flex-wrap:wrap;
    justify-content:center;
  }

  .topbar-socials{
    margin-left:0;
    padding-left:0;
    border-left:none;
  }

  .nav{
    height:auto;
    padding:18px 20px;
    display:flex;
    flex-direction:column;
    gap:16px;
    position:relative;
  }

  .nav-brand{
    align-items:center;
    text-align:center;
  }

  .nav-links{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px 18px;
  }

  .nav-cta{
    width:100%;
    max-width:280px;
    text-align:center;
  }

  .hero{
    height:auto;
    min-height:620px;
  }

  .hero-body{
    padding:90px 24px 70px;
  }

  .hero-wm{
    font-size:48px;
    letter-spacing:.16em;
  }

  .hero-desc{
    font-size:16px;
    line-height:1.65;
  }

  .hero-btns{
    flex-direction:column;
    width:100%;
    max-width:280px;
  }

  .strip3,
  .split,
  .pgrid,
  .agrid,
  .pstrip,
  .partners-grid,
  .ctaband,
  .footer-top,
  .footer-base{
    grid-template-columns:1fr;
  }

  .strip3-cell,
  .pcell{
    border-right:none;
  }

  .pcell:nth-child(n){
    border-right:none;
    border-bottom:1px solid var(--rule);
  }

  .split{
    min-height:auto;
  }

  .split-photo{
    min-height:260px;
  }

  .split-copy,
  .pillars-sec,
  .aud-sec,
  .partners-band,
  .ctaband{
    padding:56px 24px;
  }

  .split-h,
  .sec-header h2,
  .aud-header h2{
    font-size:34px;
  }

  .pstrip{
    height:auto;
  }

  .pstrip-item{
    height:240px;
  }

  .ctaband{
    gap:32px;
  }

  .ctaband-h{
    font-size:28px;
  }

  .ctaband-btns{
    flex-direction:column;
  }

  .footer-top{
    gap:32px;
    padding:48px 24px;
  }

  .footer-base{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:18px 24px;
  }
}

@media (max-width: 480px){

  .nav-wm{
    font-size:18px;
  }

  .nav-links a{
    font-size:10px;
  }

  .hero-wm{
    font-size:38px;
    letter-spacing:.12em;
  }

  .hero-sub{
    font-size:11px;
  }

  .hero-desc{
    font-size:15px;
  }

  .btn-dark,
  .btn-light,
  .btn-outline,
  .btn-ghost{
    width:100%;
    padding:14px 18px;
  }

  .strip3-cell{
    padding:36px 24px;
  }

  .split-h,
  .sec-header h2,
  .aud-header h2{
    font-size:30px;
  }
}
.topbar-r a{
    font-size:11px;
    font-weight:300;
    color:rgba(255,255,255,.75);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:6px;
    letter-spacing:.03em;
    transition:color .2s;
}

.topbar-r a:hover{
    color:#ffffff;
}

.topbar-socials{
    display:flex;
    gap:14px;
    margin-left:8px;
    padding-left:20px;
    border-left:1px solid rgba(255,255,255,.15);
}

.topbar-socials a{
    font-size:16px;
    color:rgba(255,255,255,.75);
    text-decoration:none;
    transition:all .2s;
}

.topbar-socials a:hover{
    color:#ffffff;
}

.topbar-r i{
    font-size:14px;
}
.nav-toggle{
    display:none;
    width:34px;
    height:28px;
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
}

.nav-toggle span{
    display:block;
    width:100%;
    height:2px;
    background:var(--charcoal);
    margin:6px 0;
}

.nav-menu{
    display:contents;
}

@media (max-width: 900px){

    .nav{
        display:grid;
        grid-template-columns:1fr auto;
        height:auto;
        padding:18px 22px;
        gap:14px;
    }

    .nav-brand{
        align-items:flex-start;
    }

    .nav-toggle{
        display:block;
        align-self:center;
    }

    .nav-menu{
        grid-column:1 / -1;
        display:none;
        width:100%;
        padding-top:16px;
        border-top:1px solid var(--rule);
    }

    .nav.open .nav-menu{
        display:block;
    }

    .nav-links{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:0;
        width:100%;
    }

    .nav-links li{
        width:100%;
    }

    .nav-links a{
        display:block;
        width:100%;
        padding:14px 0;
        border-bottom:1px solid var(--rule);
    }

    .nav-cta{
        display:flex;
        width:100%;
        justify-content:center;
        margin-top:18px;
    }
}
.strip3-cell,
.strip3-cell:link,
.strip3-cell:visited,
.strip3-cell:hover,
.strip3-cell:active{
    text-decoration:none;
    color:inherit;
}
.pcell,
.pcell:link,
.pcell:visited,
.pcell:hover,
.pcell:active{
    text-decoration:none;
    color:inherit;
}

.pt{
    font-family:var(--serif);
    font-size:22px;
    font-weight:400;
    color:var(--charcoal);
    margin-bottom:12px;
    line-height:1.3;
}
.services-list{
    margin-top:8px;
}

.services-cta{
    margin-top:32px;
}

.svc,
.svc:link,
.svc:visited,
.svc:hover,
.svc:active{
    text-decoration:none;
    color:inherit;
}
.aud-em{
    font-style:italic;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-weight:300;
}

.acard,
.acard:link,
.acard:visited,
.acard:hover,
.acard:active{
    text-decoration:none;
    color:inherit;
}
.partner-card,
.partner-card:link,
.partner-card:visited,
.partner-card:hover,
.partner-card:active{
    text-decoration:none;
    color:inherit;
}
.flink,
.flink:link,
.flink:visited{
    text-decoration:none;
}
/* ── ACCESSIBILITY / SEO HIDDEN TEXT ── */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ── SERVICES MOBILE ── */
@media (max-width: 768px) {
  .phero {
    height: auto;
    min-height: 420px;
  }

  .phero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .phero-body {
    position: relative;
    min-height: 420px;
    padding: 120px 24px 48px;
    justify-content: flex-end;
  }

  .phero-h {
    font-size: 38px;
    line-height: 1.08;
    max-width: 100%;
  }

  .svc-intro {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 56px 24px 48px;
  }

  .svc-intro-left h2 {
    font-size: 36px;
  }

  .svc-intro-right p {
    font-size: 13px;
    line-height: 1.85;
  }
}

@media (max-width: 480px) {
  .phero {
    min-height: 380px;
  }

  .phero-body {
    min-height: 380px;
    padding: 100px 20px 40px;
  }

  .phero-h {
    font-size: 32px;
  }

  .svc-intro {
    padding: 48px 20px 40px;
  }

  .svc-intro-left h2 {
    font-size: 32px;
  }
}
@media (max-width:768px){

  .svc-full{
    grid-template-columns:1fr;
  }

  .svc-full.reverse .svc-full-photo,
  .svc-full.reverse .svc-full-content{
    order:unset;
  }

  .svc-full-photo{
    min-height:320px;
  }

  .svc-full-content{
    padding:48px 24px;
  }

  .svc-full-title{
    font-size:34px;
    line-height:1.15;
  }

  .svc-checklist li{
    font-size:13px;
    line-height:1.7;
  }

}
@media (max-width:768px){

  .svc-ov-grid{
    grid-template-columns:1fr;
  }

  .svc-ov-title{
    font-size:34px;
    line-height:1.15;
  }

  .ctaband{
    flex-direction:column;
    gap:24px;
    text-align:center;
  }

  .ctaband-btns{
    width:100%;
    flex-direction:column;
  }

  .ctaband-btns .btn-light,
  .ctaband-btns .btn-outline{
    width:100%;
  }

  .footer-top{
    grid-template-columns:1fr;
    gap:36px;
  }

  .footer-base{
    flex-direction:column;
    gap:10px;
    text-align:center;
  }

}
@media (max-width: 768px) {
  .proc-sec {
    padding: 64px 22px;
  }

  .proc-intro h2 {
    font-size: 34px;
    line-height: 1.08;
  }

  .srow {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 38px 0;
  }

  .sn {
    font-size: 42px;
  }

  .st {
    font-size: 24px;
    line-height: 1.15;
  }

  .sp,
  .snote {
    font-size: 15px;
    line-height: 1.7;
  }

  .simg {
    min-height: 260px;
  }

  .simg img {
    width: 100%;
    height: 260px;
    object-fit: cover;
  }
}
@media (max-width: 768px) {

  .cmp-sec{
    padding:64px 22px;
  }

  .cmp-intro h2{
    font-size:34px;
    line-height:1.08;
  }

  .cgrid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .ccol{
    width:100%;
  }

  .chead{
    font-size:22px;
  }

  .crow{
    font-size:15px;
    line-height:1.6;
    padding:16px 14px;
  }
}
@media (max-width:768px){

  .tgrid{
    display:grid;
    grid-template-columns:1fr !important;
    gap:24px;
  }

  .tcard{
    width:100%;
  }

}
@media (max-width:768px){

  .vgrid{
    grid-template-columns:1fr !important;
    gap:24px;
  }

  .val-hdr h2{
    font-size:36px !important;
  }

}
.partner-sec{
    padding:56px 80px;
    background:var(--sand);
    border-top:1px solid var(--rule);
}

.partner-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.partner-cards{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.partner-card{
    display:block;
    background:var(--white);
    padding:32px;
    border:1px solid var(--rule);
    text-decoration:none;
    cursor:pointer;
}

@media (max-width:768px){

  .partner-sec{
    padding:48px 24px;
  }

  .partner-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .partner-card{
    padding:28px 24px;
  }

}
@media (max-width:768px){

  .contact-split{
    display:grid;
    grid-template-columns:1fr !important;
  }

  .contact-photo{
    order:1;
  }

  .contact-form{
    order:2;
  }

  .frow{
    display:grid;
    grid-template-columns:1fr !important;
    gap:16px;
  }

}
.cval a{
    color:inherit;
    text-decoration:none;
}

.cval a:hover{
    text-decoration:underline;
}
@media (max-width: 768px){
  .blog-feat-row,
  .blist{
    grid-template-columns:1fr;
  }

  .bstack{
    grid-template-columns:1fr;
  }

  .blog-top{
    padding-left:24px;
    padding-right:24px;
  }

  .blog-main{
    padding-left:20px;
    padding-right:20px;
  }
}
/* BLOG */

.bfeat,
.bsm,
.bli{
    display:block;
    color:inherit;
    text-decoration:none;
}

.bfeat:hover,
.bsm:hover,
.bli:hover{
    color:inherit;
    text-decoration:none;
}

.bfeat:visited,
.bsm:visited,
.bli:visited{
    color:inherit;
}

.bfeat p,
.bsm p,
.bli p{
    color:inherit;
}
