
  :root{
    --navy:#002050;
    --navy-2:#0a2e63;
    --teal:#2A7F8E;
    --orange:#D83B01;
    --orange-dark:#b83201;
    --cream:#F3DBB1;
    --sage:#88ABA2;
    --ink:#1a1a1a;
    --grey:#5a5f66;
    --line:#e3e6ea;
    --bg-soft:#f6f8fa;
    --radius:10px;
    --maxw:1160px;
    --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;font-family:var(--font);color:var(--ink);background:#fff;
    line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:Arial, var(--font);line-height:1.2;color:var(--navy);}
  h1{font-weight:400;font-size:2.6rem;margin:0 0 .5em;}
  h2{font-weight:600;font-size:1.8rem;margin:0 0 .6em;}
  h3{font-weight:600;font-size:1.2rem;margin:0 0 .4em;}
  p{margin:0 0 1em;}
  a{color:var(--teal);text-decoration:none;}
  a:hover{text-decoration:underline;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

  /* Header */
  header.site{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;}
  .header-inner{display:flex;align-items:center;gap:24px;height:72px;}
  .brand{display:flex;align-items:center;gap:12px;cursor:pointer;}
  .brand .mark{width:34px;height:34px;flex:none;}
  .brand .word{color:#fff;font-family:Arial;font-size:1.28rem;font-weight:600;letter-spacing:.2px;white-space:nowrap;}
  .brand .word span{color:var(--orange);}
  nav.main{margin-left:auto;display:flex;align-items:center;gap:6px;}
  nav.main a{color:#fff;padding:10px 14px;border-radius:6px;font-size:.98rem;cursor:pointer;}
  nav.main a:hover{background:rgba(255,255,255,.12);text-decoration:none;}
  nav.main a.active{background:rgba(255,255,255,.18);}
  nav.main a.cta{background:var(--orange);margin-left:8px;}
  nav.main a.cta:hover{background:var(--orange-dark);}
  .menu-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer;padding:6px 10px;}

  /* Nav dropdown */
  .has-drop{position:relative;}
  .drop-toggle{color:#fff;padding:10px 14px;border-radius:6px;font-size:.98rem;cursor:pointer;display:inline-flex;align-items:center;gap:5px;}
  .drop-toggle:hover{background:rgba(255,255,255,.12);}
  .drop-toggle.active{background:rgba(255,255,255,.18);}
  .drop-toggle .caret{font-size:.7rem;transition:transform .15s ease;}
  .has-drop:hover .drop-toggle .caret,.has-drop.open .drop-toggle .caret{transform:rotate(180deg);}
  .dropdown{position:absolute;top:calc(100% + 4px);left:0;background:#fff;min-width:250px;border-radius:10px;
    box-shadow:0 14px 34px rgba(0,0,0,.2);padding:8px;display:none;z-index:60;}
  .has-drop:hover .dropdown,.has-drop.open .dropdown{display:block;}
  .dropdown a{display:block;color:var(--navy);padding:11px 12px;border-radius:7px;white-space:nowrap;font-size:.96rem;}
  .dropdown a:hover{background:var(--bg-soft);text-decoration:none;}
  .dropdown a small{display:block;color:var(--grey);font-weight:400;font-size:.82rem;white-space:normal;margin-top:2px;}
  .dropdown a b{font-weight:600;}

  /* Accent bar */
  .accent{height:6px;background:var(--teal);}

  /* Buttons */
  .btn{display:inline-block;background:var(--orange);color:#fff;padding:13px 26px;border-radius:6px;
    font-weight:600;border:0;cursor:pointer;font-size:1rem;transition:background .15s ease;}
  .btn:hover{background:var(--orange-dark);text-decoration:none;color:#fff;}
  .btn.ghost{background:transparent;border:2px solid #fff;padding:11px 24px;}
  .btn.ghost:hover{background:rgba(255,255,255,.14);}
  .btn.navy{background:var(--navy);}
  .btn.navy:hover{background:var(--navy-2);}

  /* Sections */
  section.pad{padding:64px 0;}
  section.pad.tight{padding:44px 0;}
  .bg-soft{background:var(--bg-soft);}
  .bg-navy{background:var(--navy);color:#fff;}
  .bg-navy h1,.bg-navy h2,.bg-navy h3{color:#fff;}
  .center{text-align:center;}
  .lead{font-size:1.18rem;color:var(--grey);max-width:760px;}
  .center .lead{margin-left:auto;margin-right:auto;}
  .eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--teal);margin:0 0 .6em;}
  .bg-navy .eyebrow{color:var(--cream);}

  /* Hero */
  .hero{background:linear-gradient(150deg,var(--navy) 0%,#062a63 55%,#0c3f7d 100%);color:#fff;padding:88px 0 92px;}
  .hero h1{color:#fff;max-width:16ch;}
  .hero p.lead{color:#dbe6f5;}
  .hero .actions{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;}
  .hero-strip{display:flex;gap:38px;flex-wrap:wrap;margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,255,255,.18);}
  .hero-strip div{color:#cdddf1;font-size:.95rem;}
  .hero-strip b{display:block;color:#fff;font-size:1.5rem;font-family:Arial;font-weight:600;}

  /* Grid */
  .grid{display:grid;gap:24px;}
  .g3{grid-template-columns:repeat(3,1fr);}
  .g2{grid-template-columns:repeat(2,1fr);}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;height:100%;}
  .card.soft{background:var(--bg-soft);border-color:transparent;}
  .card .ico{width:44px;height:44px;border-radius:10px;background:rgba(42,127,142,.12);
    display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
  .card .ico svg{width:24px;height:24px;stroke:var(--teal);}
  .card h3{color:var(--navy);}
  .card p{color:var(--grey);margin-bottom:0;}

  /* Service cards */
  .svc-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;}
  .svc-card .top{background:var(--navy);height:8px;}
  .svc-card .body{padding:24px;display:flex;flex-direction:column;flex:1;}
  .svc-card h3{margin-bottom:.5em;}
  .svc-card p{color:var(--grey);flex:1;}
  .svc-card .more{margin-top:16px;color:var(--orange);font-weight:600;cursor:pointer;}
  .svc-card .more:hover{text-decoration:underline;}
  .tag{display:inline-block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
    color:var(--teal);background:rgba(42,127,142,.1);padding:4px 10px;border-radius:20px;margin-bottom:12px;align-self:flex-start;}

  /* two column detail */
  .split{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:start;}
  .panel{background:var(--bg-soft);border-radius:var(--radius);padding:26px;border:1px solid var(--line);}
  .panel h3{margin-top:0;}
  .panel.navy{background:var(--navy);color:#fff;border-color:transparent;}
  .panel.navy h3{color:#fff;}
  .panel.navy p{color:#cdddf1;}
  ul.check{list-style:none;padding:0;margin:0 0 1em;}
  ul.check li{position:relative;padding:6px 0 6px 30px;color:var(--grey);}
  ul.check li:before{content:"";position:absolute;left:0;top:12px;width:16px;height:16px;border-radius:50%;
    background:var(--teal);}
  ul.check li:after{content:"";position:absolute;left:5px;top:15px;width:5px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(40deg);}

  .steps{counter-reset:s;display:grid;gap:14px;}
  .step{display:flex;gap:16px;align-items:flex-start;}
  .step .n{counter-increment:s;flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:700;font-family:Arial;}
  .step .n:before{content:counter(s);}
  .step h4{margin:2px 0 3px;color:var(--navy);}
  .step p{margin:0;color:var(--grey);}

  .pricebar{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 4px;}
  .price{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 16px;}
  .price b{font-family:Arial;color:var(--navy);font-size:1.1rem;}
  .price span{display:block;font-size:.85rem;color:var(--grey);}

  table.simple{width:100%;border-collapse:collapse;margin:0 0 1em;}
  table.simple th,table.simple td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);font-size:.96rem;}
  table.simple th{color:var(--navy);background:var(--bg-soft);}

  /* CTA band */
  .cta-band{background:var(--teal);color:#fff;border-radius:14px;padding:44px;display:flex;
    align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;}
  .cta-band h2{color:#fff;margin:0;}
  .cta-band p{color:#eaf5f6;margin:.4em 0 0;}

  /* Forms */
  form.enq{display:grid;gap:16px;max-width:640px;}
  form.enq .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  label{font-weight:600;font-size:.92rem;color:var(--navy);display:block;margin-bottom:6px;}
  .req{color:var(--orange);}
  input,select,textarea{width:100%;padding:11px 13px;border:1px solid #c9ced6;border-radius:7px;font-family:inherit;font-size:1rem;background:#fff;}
  input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);border-color:var(--teal);}
  textarea{min-height:130px;resize:vertical;}
  .form-note{font-size:.86rem;color:var(--grey);}

  /* About */
  .founder{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:start;}
  .founder .photo{width:200px;height:200px;border-radius:12px;border:4px solid var(--navy);
    background:linear-gradient(135deg,#1b3a6b,#2A7F8E);display:flex;align-items:center;justify-content:center;
    color:#fff;font-family:Arial;font-size:3rem;font-weight:600;}

  /* Footer */
  footer .upper{background:var(--cream);padding:48px 0;}
  footer .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;}
  footer .word{font-family:Arial;font-size:1.15rem;font-weight:600;color:var(--navy);}
  footer .word span{color:var(--orange);}
  footer h4{color:var(--navy);font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;}
  footer .upper a{display:block;color:#4a4033;padding:4px 0;cursor:pointer;}
  footer .upper p{color:#5a5044;font-size:.95rem;}
  footer .bottom{background:var(--sage);padding:16px 0;}
  footer .bottom .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
  footer .bottom p{margin:0;color:#123;font-size:.9rem;}

  .page{display:none;}
  .page.active{display:block;animation:fade .25s ease;}
  @keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

  .breadcrumb{color:var(--grey);font-size:.9rem;padding:18px 0 0;}
  .breadcrumb a{cursor:pointer;}

  @media (max-width:900px){
    h1{font-size:2.1rem;}
    .g3{grid-template-columns:1fr 1fr;}
    .split{grid-template-columns:1fr;}
    .founder{grid-template-columns:1fr;}
    .founder .photo{margin:0 auto;}
    footer .fgrid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:680px){
    nav.main{display:none;position:absolute;top:72px;left:0;right:0;background:var(--navy);flex-direction:column;padding:10px 16px 18px;gap:2px;}
    nav.main.open{display:flex;}
    nav.main a{width:100%;}
    nav.main a.cta{margin:6px 0 0;text-align:center;}
    .has-drop{width:100%;position:static;}
    .drop-toggle{width:100%;}
    .dropdown{position:static;display:block;box-shadow:none;background:transparent;padding:0 0 4px 14px;min-width:0;}
    .dropdown a{color:#fff;}
    .dropdown a:hover{background:rgba(255,255,255,.12);}
    .dropdown a small{color:#cdddf1;}
    .menu-toggle{display:block;}
    .g3,.g2,form.enq .row,footer .fgrid{grid-template-columns:1fr;}
    .cta-band{padding:30px;}
  }

  /* ============================================================
     ESTATES HUB DIRECTION — palette, type & 40+ accessibility
     Appended overrides (later rules win). Fonts self-hosted in
     /assets/fonts/. All body/heading text pairs verified WCAG AAA;
     gold used only as fills/large accents (never small text on
     light); gold buttons and sage tags carry dark text.
     ============================================================ */
  @font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url("fonts/spectral-400.woff2") format("woff2");}
  @font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;src:url("fonts/spectral-500.woff2") format("woff2");}
  @font-face{font-family:'Spectral';font-style:normal;font-weight:600;font-display:swap;src:url("fonts/spectral-600.woff2") format("woff2");}
  @font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url("fonts/worksans-400.woff2") format("woff2");}
  @font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;src:url("fonts/worksans-500.woff2") format("woff2");}
  @font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;src:url("fonts/worksans-600.woff2") format("woff2");}

  :root{
    --navy:#14303A; --navy-2:#1d4a54;
    --teal:#2F507C;            /* slate blue — Back Office accent (links, icons, bars) */
    --slate:#2F507C; --gold:#C2A15E; --gold-dark:#a9863f; --stone:#F0F2EA;
    --orange:#C2A15E;          /* legacy token remapped to gold (FILLS only) */
    --cream:#F0F2EA;           /* warm stone ground */
    --sage:#8E9075; --ink:#1E2A2A; --grey:#49525a;
    --bg-soft:#F0F2EA; --line:#e0e2da;
  }

  /* Type — Spectral headings/wordmark, Work Sans body; 18px for 40+ */
  body{font-family:'Work Sans',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:18px;color:var(--ink);}
  h1,h2,h3,h4{font-family:'Spectral',Georgia,'Times New Roman',serif;color:var(--navy);}
  h1{font-weight:500;} h2{font-weight:600;} h3{font-weight:600;} h4{font-weight:600;}
  .brand .word,footer .word{font-family:'Spectral',Georgia,serif;font-weight:600;}

  /* Links — slate (AAA); underline in prose so colour isn't the only cue */
  a{color:var(--slate);}
  .wrap p a,.panel p a,ul.check li a{text-decoration:underline;}
  .svc-card .more{color:var(--slate);}
  .req{color:var(--slate);}

  /* Buttons — gold fills carry DARK text; never white on gold */
  .btn{background:var(--gold);color:var(--navy);}
  .btn:hover{background:var(--gold-dark);color:var(--navy);}
  .btn.navy{background:var(--navy);color:#fff;}
  .btn.navy:hover{background:var(--navy-2);color:#fff;}
  .btn.ghost{background:transparent;color:#fff;border-color:#fff;}
  .btn.ghost:hover{background:rgba(255,255,255,.14);}
  nav.main a.cta{background:var(--gold);color:var(--navy);}
  nav.main a.cta:hover{background:var(--gold-dark);color:var(--navy);}

  /* Eyebrows — slate on light grounds, gold on dark grounds */
  .eyebrow{color:var(--slate);}
  .hero .eyebrow,.bg-navy .eyebrow,.panel.navy .eyebrow,.cta-band .eyebrow{color:var(--gold);}

  /* Wordmark accent — gold on the dark header, slate in the light footer */
  .brand .word span{color:var(--gold);}
  footer .word span{color:var(--slate);}

  /* Surfaces */
  .hero{background:linear-gradient(150deg,#14303A 0%,#173d47 55%,#1d4a54 100%);}
  .hero p.lead{color:#e7ece9;}
  .panel.navy p{color:#d3ddd8;}
  .panel.navy ul.check li:before{background:var(--gold);}
  .svc-card .top{background:var(--slate);}
  .card .ico{background:rgba(47,80,124,.12);}
  .card .ico svg{stroke:var(--slate);}
  .tag{color:var(--slate);background:rgba(47,80,124,.10);}
  .founder .photo{background:linear-gradient(135deg,#14303A,#2F507C);border-color:var(--navy);}

  /* Footer on warm stone */
  footer .upper a{color:#3c4a4f;}
  footer .upper p{color:#49525a;}
  footer .bottom p{color:#1E2A2A;}

  .brand:hover{text-decoration:none;}

.panel.navy ul.check li, .bg-navy ul.check li{color:#fff;}
