*{box-sizing:border-box}
  body{margin:0;background:var(--surface-page);color:var(--text-primary);font:var(--text-body);font-family:var(--font-grotesque);-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:var(--font-serif);color:var(--text-heading);margin:0;text-wrap:pretty}
  p{margin:0}
  a{color:var(--ink-navy);text-decoration:none}
  a:hover{color:var(--brass-dim)}
  .wrap{max-width:1200px;margin:0 auto;padding:0 var(--space-7)}
  section{padding:var(--space-9) 0}
  .eyebrow{font:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-primary)}
  .lede{font:var(--text-body);color:var(--text-primary);max-width:62ch}

  /* rule motif */
  .rule{position:relative;height:11px}
  .rule i{position:absolute;top:2.5px;width:1.5px;height:8px;background:var(--charcoal-60);transform:translateX(-50%)}
  .rule b{position:absolute;left:0;right:0;top:0;height:2.5px;background:var(--ink-navy)}
  .rule.on-ink b{background:var(--paper)}
  .rule.on-ink i{background:var(--text-inverse-muted)}

  /* header */
  header{position:sticky;top:0;z-index:60;background:var(--surface-page);border-bottom:1px solid var(--border-default)}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-4) 0}
  .brand{display:flex;flex-direction:column;gap:5px;width:104px;flex:none;align-items:center}
  .brand .word{font:600 26px/1 var(--font-wordmark);letter-spacing:var(--tracking-wordmark);text-align:center}
  .brand .rule{width:100%}
  .brand .word span{color:var(--brass)}
  .navlinks{display:flex;gap:var(--space-6);align-items:center}
  .navlink{position:relative;font:var(--text-body-sm);font-weight:500;padding-bottom:8px;background:none;border:0;cursor:pointer;font-family:var(--font-grotesque);color:var(--ink-navy);display:flex;align-items:center;gap:5px}
  .navlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--rule-weight-accent);background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-standard) var(--ease-standard)}
  .navlink:hover::after,.navlink[aria-current]::after,.dd[data-open=true] .navlink::after{transform:scaleX(1)}
  .navlink:hover{color:var(--ink-navy)}
  .dd{position:relative}
  .caret{font-size:14px;line-height:1;opacity:.75;transition:transform var(--duration-fast)}
  .dd[data-open=true] .caret{transform:rotate(180deg)}
  .mega{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);background:var(--surface-page);border:1px solid var(--border-strong);padding:var(--space-6);display:none;min-width:520px}
  .dd[data-open=true] .mega{display:block}
  .mega-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
  .mega h4{font:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-primary);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-default);font-family:var(--font-grotesque)}
  .mega ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
  .mega a{font:var(--text-body-sm)}
  .mega-all{display:block;margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--border-default);font:var(--text-body-sm);font-weight:600}
  .navcta{display:flex;align-items:center;gap:var(--space-4);flex:none}
  .tel{font:var(--text-body-sm);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
  .btn{display:inline-flex;align-items:center;justify-content:center;font:var(--text-body);font-weight:600;font-family:var(--font-grotesque);padding:13px 26px;border:1px solid transparent;border-radius:0;cursor:pointer;white-space:nowrap;transition:background var(--duration-standard) var(--ease-standard),color var(--duration-standard) var(--ease-standard)}
  .btn-sm{padding:10px 18px;font:var(--text-body-sm);font-weight:600}
  .btn-primary{background:var(--ink-navy);color:var(--paper)}
  .btn-primary:hover{background:var(--ink-navy-90);color:var(--paper)}
  .btn-secondary{background:transparent;color:var(--ink-navy);border-color:var(--border-strong)}
  .btn-secondary:hover{background:var(--ink-navy-06);color:var(--ink-navy)}
  .btn-on-ink{background:var(--paper);color:var(--ink-navy)}
  .btn-on-ink:hover{background:var(--paper);color:var(--ink-navy);opacity:.88}
  .btn-ghost-ink{background:transparent;color:var(--paper);border-color:var(--border-on-ink)}
  .btn-ghost-ink:hover{background:rgba(250,247,241,.08);color:var(--paper)}
  header{background:var(--surface-ink);border-bottom:1px solid var(--border-on-ink)}
  header .brand .word{color:var(--paper)}
  header .brand .word span{color:var(--brass)}
  header .rule b{background:var(--paper)}
  header .rule i{background:var(--text-inverse-muted)}
  header .navlink{color:var(--text-inverse-muted)}
  header .navlink:hover,header .navlink[aria-current]{color:var(--paper)}
  header .navlink::after{background:var(--brass)}
  header .caret{color:inherit}
  header .tel{color:var(--paper)}
  header .btn-primary{background:var(--brass);color:var(--ink-navy)}
  header .btn-primary:hover{background:var(--brass-dim);color:var(--paper)}
  header .burger{border-color:var(--border-on-ink)}
  header .burger span{background:var(--paper)}
  header .burger span:last-child{background:var(--brass)}
  .burger{display:none;background:none;border:1px solid var(--border-strong);cursor:pointer;padding:9px 11px;flex-direction:column;gap:3px}
  .burger span{display:block;width:16px;height:1.5px;background:var(--ink-navy)}
  .burger span:last-child{background:var(--brass)}
  #mobilenav{display:none;border-top:1px solid var(--border-default);background:var(--surface-page)}
  #mobilenav[data-open=true]{display:block}
  #mobilenav ul{list-style:none;margin:0;padding:var(--space-4) 0;display:flex;flex-direction:column}
  #mobilenav li{border-bottom:1px solid var(--border-default)}
  #mobilenav li:last-child{border-bottom:0}
  #mobilenav a{display:block;padding:14px 0;font:var(--text-body);font-weight:500}
  #mobilenav .sub{padding-left:var(--space-5);font:var(--text-body-sm);color:var(--text-primary)}
  #mobilenav .grp{font:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-primary);padding:var(--space-4) 0 var(--space-2)}
  #mobilenav .mtel{display:block;padding:14px 0;font:var(--text-body);font-weight:600;font-variant-numeric:tabular-nums}

  /* hero */
  .hero{padding:var(--space-9) 0 var(--space-8)}
  .hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--space-8);align-items:center}
  .hero h1{font:600 clamp(2.4rem,3.6vw,3.4rem)/1.06 var(--font-serif)}
  .hero .tag{font:400 1.35rem/1.3 var(--font-serif);color:var(--brass-dim);font-style:italic}
  .hero-stack{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start}
  .ctas{display:flex;gap:var(--space-4);flex-wrap:wrap}
  .creds{display:flex;gap:var(--space-6);flex-wrap:wrap;align-items:center;padding-top:var(--space-4);margin-top:var(--space-2);border-top:1px solid var(--border-default);width:100%}
  .creds img{height:52px;width:auto;display:block}
  .creds .lic{font:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);color:var(--text-primary);font-variant-numeric:tabular-nums}
  .cred{display:flex;flex-direction:column;gap:3px;max-width:190px}
  .cred b{font:var(--text-label);letter-spacing:var(--tracking-label);color:var(--ink-navy)}
  .cred span{font:var(--text-body-sm);font-size:.8125rem;color:var(--text-primary)}
  .hero-media{position:relative;aspect-ratio:4/3}

  /* trust bar */
  .trust{background:var(--surface-ink);color:var(--text-inverse-muted);padding:var(--space-6) 0;border-top:var(--rule-weight-accent) solid var(--brass)}
  .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
  .trust b{display:block;font:600 1.375rem/1.2 var(--font-serif);color:var(--brass);margin-bottom:4px;font-variant-numeric:tabular-nums}
  .trust span{font:var(--text-body-sm)}

  /* generic head */
  .head{max-width:64ch;margin-bottom:var(--space-7);display:flex;flex-direction:column;gap:var(--space-3)}
  .head h2{font:600 2.125rem/1.15 var(--font-serif)}

  /* jwl */
  .soft{background:var(--surface-raised)}
  .jwl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
  .jwl-card{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:2px solid var(--ink-navy)}
  .jwl-card h3{font:600 1.3rem/1.2 var(--font-serif)}
  .jwl-card h3 em{color:var(--brass);font-style:normal}
  .jwl-card p{font:var(--text-body-sm);color:var(--text-primary)}
  .pull{margin-top:var(--space-7);font:400 1.45rem/1.35 var(--font-serif);color:var(--ink-navy);font-style:italic;text-align:center}

  /* cards */
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}
  .card{border:1px solid var(--border-default);background:var(--surface-page);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
  .card h3{font:var(--text-h3)}
  .card p{font:var(--text-body-sm);color:var(--text-primary)}
  .card .more{margin-top:auto;font:var(--text-body-sm);font-weight:600;color:var(--brass-dim)}

  /* why choose */
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);grid-template-rows:auto auto auto}
  .why{border-top:2.5px solid var(--ink-navy);padding-top:var(--space-5);display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:var(--space-4)}
  .why .n{font:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);color:var(--brass-dim);font-variant-numeric:tabular-nums}
  .why h3{font:600 1.25rem/1.2 var(--font-serif)}
  .why .lead{font:400 1.0625rem/1.45 var(--font-serif);color:var(--ink-navy)}
  .why .rest{font:var(--text-body-sm);color:var(--text-primary)}

  /* steps */
  .steps{background:var(--surface-ink);color:var(--text-inverse-muted)}
  .steps h2{color:var(--paper)}
  .steps .lede{color:var(--text-inverse-muted)}
  .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
  .step{display:flex;flex-direction:column;gap:var(--space-3)}
  .step .n{font:600 2.5rem/1 var(--font-serif);color:var(--brass);font-variant-numeric:tabular-nums}
  .step h3{color:var(--paper);font:var(--text-h3)}
  .step p{font:var(--text-body-sm);color:var(--text-inverse-muted)}

  /* practice */
  .practice-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-8);align-items:center}
  .practice-media{position:relative;aspect-ratio:4/5}
  .practice-body{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}
  .name{font:600 1.25rem/1.2 var(--font-serif);color:var(--ink-navy)}
  .postnoms{font:var(--text-label);letter-spacing:var(--tracking-label);color:var(--brass-dim)}

  /* areas */
  .areas-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-8);align-items:start}
  #map{width:100%;max-width:400px;aspect-ratio:1/1.12;border:1px solid var(--border-default);background:var(--surface-page)}
  #map svg{width:100%;height:100%;display:block}
  .maplegend{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);font:var(--text-body-sm);color:var(--text-primary);max-width:400px}
  .maplegend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brass);margin-right:8px;vertical-align:middle}
  .maplegend em{display:inline-block;width:14px;height:1px;background:var(--ink-navy);margin-right:8px;vertical-align:middle}

  /* motion — quiet settle on entry; disabled for reduced-motion users */
  .rv{opacity:0;transform:translateY(10px)}
  .rv-in{opacity:1;transform:none;transition:opacity 460ms var(--ease-standard),transform 460ms var(--ease-standard)}
  @media (prefers-reduced-motion:reduce){
    .rv,.rv-in{opacity:1;transform:none;transition:none}
  }
  .gd{margin-top:var(--space-5)}
  .gd h3{font:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-primary);font-family:var(--font-grotesque);margin-bottom:var(--space-3)}
  .gd ul{list-style:none;margin:0;padding:0;border-top:2.5px solid var(--ink-navy);display:grid;grid-template-columns:1fr 1fr}
  .gd li{display:flex;align-items:baseline;gap:var(--space-3);padding:9px 0;border-bottom:1px solid var(--border-default);font:var(--text-body-sm)}
  .gd li::before{content:"";flex:none;width:1.5px;height:8px;background:var(--charcoal-60)}
  .areas-cta{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-default);display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}

  /* insights */
  .insight{border:1px solid var(--border-default);background:var(--surface-page);display:flex;flex-direction:column}
  .insight-media{position:relative;aspect-ratio:16/10}
  .insight-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);flex:1}
  .insight-body h3{font:var(--text-h3)}
  .insight-body .more{margin-top:auto;font:var(--text-body-sm);font-weight:600;color:var(--brass-dim)}

  /* closing */
  .closing{background:var(--surface-ink);text-align:center}
  .closing h2{color:var(--paper);font:600 2.25rem/1.15 var(--font-serif)}
  .closing p{color:var(--text-inverse-muted);max-width:56ch;margin:0 auto}
  .closing-inner{display:flex;flex-direction:column;gap:var(--space-5);align-items:center}
  .closing .ctas{justify-content:center}
  .closing .line{font:var(--text-body-sm);color:var(--text-inverse-muted)}

  /* footer */
  footer{background:var(--surface-ink);color:var(--text-inverse-muted);padding:var(--space-8) 0 var(--space-5);border-top:1px solid var(--border-on-ink)}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-7);margin-bottom:var(--space-7)}
  footer a{color:var(--text-inverse-muted)}
  footer a:hover{color:var(--brass)}
  .foot-brand .word{font:600 30px/1 var(--font-wordmark);letter-spacing:var(--tracking-wordmark);color:var(--paper);text-align:center;width:120px}
  .foot-brand .word span{color:var(--brass)}
  .foot-tag{font:400 1.05rem/1.3 var(--font-serif);font-style:italic;color:var(--paper)}
  .foot-col h4{font:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--brass);margin:0 0 var(--space-3);font-family:var(--font-grotesque)}
  .foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);font:var(--text-body-sm)}
  .foot-bottom{border-top:1px solid var(--border-on-ink);padding-top:var(--space-4);display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;font:var(--text-body-sm);font-size:.8125rem}

  @media (max-width:1000px){
    .hero-grid,.practice-grid,.areas-grid{grid-template-columns:1fr}
    .jwl-grid,.grid-3,.grid-4,.steps-grid,.trust-grid,.foot-grid{grid-template-columns:1fr 1fr}
    .why-grid{grid-template-columns:1fr 1fr}
    .navlinks{display:none}
    .tel{display:none}
    .burger{display:flex}
    .hero-media,.practice-media{max-width:420px}
  }
  @media (max-width:620px){
    .jwl-grid,.grid-3,.grid-4,.steps-grid,.trust-grid,.foot-grid{grid-template-columns:1fr}
    .why-grid{grid-template-columns:1fr;grid-template-rows:none}
    .why{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column}
    .wrap{padding:0 var(--space-5)}
    section{padding:var(--space-8) 0}
  }

/* service pages: list + prose on the ink-navy band */
.steps .head h2{color:var(--paper)}
.steps .prose p,.steps .lede{color:var(--text-inverse-muted)}
.steps .ticklist{border-top-color:var(--paper)}
.steps .ticklist li{color:var(--text-inverse-muted);border-bottom-color:var(--border-on-ink)}
.steps .ticklist li::before{background:var(--brass)}
.steps .eyebrow{color:var(--brass)}
