:root{
  --ground:#F5F7FA; --surface:#FFFFFF; --surface-2:#EAEEF4;
  --ink:#101624; --body:#444F60; --label:#5C6878;
  --brand:#0088FE; --btn:#0B63BC; --btn-hover:#08498C; --wash:#E6F2FE;
  --line:#DCE2EB; --line-strong:#78849A;
  --navy:#101624; --navy-2:#161E2E; --navy-line:#252F41; --navy-line-2:#5C6B80;
  --navy-body:#AAB6C6; --navy-blue:#47A9FF;
  --ring:#0B63BC;
  --flag:#7A5510; --flag-bg:#FBF2DE; --flag-line:#C08A1E;
  --lift:0 1px 2px rgba(16,22,36,.05), 0 10px 30px -14px rgba(16,22,36,.22);
  --lift-2:0 2px 6px rgba(16,22,36,.07), 0 24px 56px -20px rgba(16,22,36,.32);
  --r:4px; --pad:clamp(1.15rem,4vw,2.5rem); --maxw:1200px;
  --t:200ms cubic-bezier(.2,.6,.2,1);
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#0A0E15; --surface:#141A24; --surface-2:#1B2230;
    --ink:#EDF2F8; --body:#AAB6C6; --label:#8593A6;
    --brand:#47A9FF; --btn:#47A9FF; --btn-hover:#8CC8FF; --wash:#132132;
    --line:#232B38; --line-strong:#6E7C90;
    --navy:#05080D; --navy-2:#0C121B; --navy-line:#1D2532;
    --ring:#8CC8FF;
    --flag:#E8C179; --flag-bg:#2A2110; --flag-line:#A8801F;
    --lift:0 1px 2px rgba(0,0,0,.55), 0 10px 30px -14px rgba(0,0,0,.75);
    --lift-2:0 2px 6px rgba(0,0,0,.6), 0 24px 56px -20px rgba(0,0,0,.85);
  }
}
:root[data-theme="dark"]{
  --ground:#0A0E15; --surface:#141A24; --surface-2:#1B2230;
  --ink:#EDF2F8; --body:#AAB6C6; --label:#8593A6;
  --brand:#47A9FF; --btn:#47A9FF; --btn-hover:#8CC8FF; --wash:#132132;
  --line:#232B38; --line-strong:#6E7C90;
  --navy:#05080D; --navy-2:#0C121B; --navy-line:#1D2532;
  --ring:#8CC8FF;
  --flag:#E8C179; --flag-bg:#2A2110; --flag-line:#A8801F;
  --lift:0 1px 2px rgba(0,0,0,.55), 0 10px 30px -14px rgba(0,0,0,.75);
  --lift-2:0 2px 6px rgba(0,0,0,.6), 0 24px 56px -20px rgba(0,0,0,.85);
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--body);
  font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Jost,"Century Gothic",Futura,sans-serif;color:var(--ink);
  font-weight:400;line-height:1.1;letter-spacing:.005em;text-wrap:balance;margin:0}
h1 b,h2 b,h3 b{font-weight:600}
p{margin:0}
img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.mono{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.6875rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--label);font-weight:500}
section{padding-block:clamp(3rem,7.5vw,5.5rem)}
.skip{position:absolute;left:-9999px;background:var(--btn);color:#fff;padding:.85rem 1.1rem;z-index:300}
.skip:focus{left:0;top:0}
:where(a,button,input,select):focus-visible{outline:2px solid var(--ring);outline-offset:3px}
.flag{background:var(--flag-bg);color:var(--flag);border-bottom:1px dashed var(--flag-line);
  padding:0 .2rem;font-weight:600;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* header */
header{position:sticky;top:0;z-index:120;background:color-mix(in srgb,var(--ground) 90%,transparent);
  backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1.25rem;min-height:78px}
.brand{display:flex;align-items:center;min-height:48px;text-decoration:none}
.brand svg{height:44px;width:auto;color:var(--ink);display:block}
nav{margin-left:auto;display:flex;align-items:center;gap:.2rem}
nav a.nl{font-size:.9375rem;text-decoration:none;color:var(--body);padding:.6rem .8rem;
  min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent;
  transition:color var(--t),border-color var(--t)}
nav a.nl:hover{color:var(--ink)}
nav a.nl[aria-current="page"]{color:var(--ink);border-bottom-color:var(--brand);font-weight:600}
.tel{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink);
  font-weight:500;font-size:.9375rem;padding:.6rem .75rem;min-height:44px;border-radius:var(--r);
  font-family:"IBM Plex Mono",monospace;border:1px solid var(--line);background:var(--surface);
  transition:border-color var(--t),color var(--t)}
.tel:hover{color:var(--btn);border-color:var(--btn)}
.tel svg{flex:none;color:var(--btn)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:.9375rem;text-decoration:none;
  padding:.9rem 1.6rem;min-height:50px;border:1px solid transparent;border-radius:var(--r);
  cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t),box-shadow var(--t)}
.btn-solid{background:var(--btn);color:#fff;box-shadow:var(--lift)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-solid{color:#05080D}}
:root[data-theme="dark"] .btn-solid{color:#05080D}
.btn-solid:hover{background:var(--btn-hover);box-shadow:var(--lift-2)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-line:hover{border-color:var(--ink);background:var(--surface)}
.btn-onnavy{background:var(--navy-blue);color:var(--navy);box-shadow:none}
.btn-onnavy:hover{background:#fff}
.btn-navyline{background:transparent;color:#fff;border-color:var(--navy-line-2)}
.btn-navyline:hover{border-color:#fff}
.btn-lg{padding:1.1rem 2rem;min-height:58px;font-size:1rem}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* hero */
.hero{background:var(--navy);color:var(--navy-body);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,var(--navy) 24%,rgba(16,22,36,.90) 44%,rgba(16,22,36,.44) 66%,rgba(16,22,36,.05) 90%)}
@media(max-width:899px){.hero::after{
  background:linear-gradient(160deg,rgba(16,22,36,.55) 0%,rgba(16,22,36,.88) 42%,rgba(16,22,36,.96) 100%)}}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% 55%;opacity:.96}
@media(max-width:899px){.hero-media img{object-position:55% 55%}}
.hero .wrap{position:relative;z-index:3;padding-block:clamp(3.25rem,8vw,7rem)}
.hero h1{color:#fff;font-size:clamp(2.3rem,6vw,4.15rem);max-width:15ch}
.hero .mono{color:var(--navy-blue)}
.hero .lede{margin-top:1.5rem;max-width:40ch;font-size:clamp(1.0625rem,1.9vw,1.2rem);color:var(--navy-body)}

/* strip */
.strip{background:var(--surface);border-bottom:1px solid var(--line)}
.strip ul{list-style:none;margin:0;padding:1.75rem 0;display:grid;gap:1.5rem;
  grid-template-columns:repeat(2,1fr)}
@media(min-width:860px){.strip ul{grid-template-columns:repeat(4,1fr)}}
.strip li{display:flex;flex-direction:column;gap:.35rem}
.strip b{font-family:Jost,sans-serif;font-size:1.15rem;color:var(--ink);font-weight:500}

/* section heads */
.head{max-width:48ch}
.head h2{font-size:clamp(1.9rem,4.4vw,2.9rem);margin-top:.9rem}
.head p{margin-top:1rem;max-width:58ch;font-size:1.0625rem}

/* cards */
.paths{display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:2.75rem}
@media(min-width:880px){.paths{grid-template-columns:1.1fr 1fr}}
.path{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);
  box-shadow:var(--lift);overflow:hidden;display:flex;flex-direction:column;
  transition:box-shadow var(--t)}
.path:hover{box-shadow:var(--lift-2)}
.path .pic{height:180px;background:var(--navy)}
.path .pic img{width:100%;height:100%;object-fit:cover}
.path .in{padding:clamp(1.5rem,3vw,2.15rem);display:flex;flex-direction:column;flex:1}
.path.lead{background:var(--navy);border-color:var(--navy-line);color:var(--navy-body)}
.path.lead h3{color:#fff}.path.lead .mono{color:var(--navy-blue)}
.path h3{font-size:clamp(1.4rem,2.8vw,1.85rem);margin-top:.7rem}
.path p{margin-top:.9rem}
.path ul{list-style:none;padding:0;margin:1.35rem 0 0;display:flex;flex-direction:column;gap:.6rem}
.path li{display:flex;gap:.65rem;font-size:.9375rem}
.path li svg{flex:none;margin-top:.3rem;color:var(--btn)}
.path.lead li svg{color:var(--navy-blue)}
.path .btn{margin-top:auto;align-self:flex-start}
.path ul+.btn{margin-top:1.85rem}

/* navy spec band */
.navyband{background:var(--navy);background-image:linear-gradient(180deg,var(--navy),var(--navy-2));
  color:var(--navy-body)}
.navyband h2,.navyband h3{color:#fff}
.navyband .mono{color:var(--navy-blue)}
.spec{display:grid;grid-template-columns:1fr;margin-top:3rem;border-top:1px solid var(--navy-line)}
@media(min-width:760px){.spec{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.spec{grid-template-columns:repeat(3,1fr)}}
.spec>div{border-bottom:1px solid var(--navy-line);padding:1.9rem 0}
@media(min-width:760px){.spec>div{padding:1.9rem;border-right:1px solid var(--navy-line)}
  .spec>div:nth-child(2n){border-right:0}}
@media(min-width:1080px){.spec>div:nth-child(2n){border-right:1px solid var(--navy-line)}
  .spec>div:nth-child(3n){border-right:0}}
.spec h3{font-size:1.125rem;margin-top:.8rem}
.spec p{margin-top:.55rem;font-size:.9375rem}
.spec .idx{font-family:"IBM Plex Mono",monospace;font-size:.6875rem;color:var(--navy-line-2);
  letter-spacing:.12em}

/* services grid */
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  grid-template-columns:1fr;margin-top:3rem;border-radius:var(--r);overflow:hidden}
@media(min-width:680px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.grid{grid-template-columns:repeat(3,1fr)}}
.cell{background:var(--surface);padding:2rem 1.7rem;transition:background var(--t)}
.cell:hover{background:var(--wash)}
.cell h3{font-size:1.125rem;margin-top:1rem}
.cell p{margin-top:.6rem;font-size:.9375rem}
.cell svg{color:var(--btn)}

/* steps */
.steps{list-style:none;margin:3rem 0 0;padding:0;display:grid;gap:2rem;grid-template-columns:1fr;
  counter-reset:s}
@media(min-width:820px){.steps{grid-template-columns:repeat(3,1fr);gap:2.5rem}}
.steps li{border-top:2px solid var(--brand);padding-top:1.3rem}
.steps li::before{counter-increment:s;content:"0" counter(s);
  font-family:"IBM Plex Mono",monospace;font-size:.6875rem;letter-spacing:.14em;color:var(--btn)}
.steps h3{font-size:1.1875rem;margin-top:.6rem}
.steps p{margin-top:.6rem;font-size:.9375rem}

/* sectors */
.sectors{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.25rem;padding:0;list-style:none}
.sectors li{font-family:"IBM Plex Mono",monospace;font-size:.8125rem;padding:.6rem .95rem;
  border:1px solid var(--navy-line);color:var(--navy-body);border-radius:var(--r)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.25rem;padding:0;list-style:none}
.chips li{font-family:"IBM Plex Mono",monospace;font-size:.8125rem;color:var(--body);
  border:1px solid var(--line);background:var(--surface);padding:.55rem .85rem;border-radius:var(--r)}

/* form */
.quote{background:var(--surface);border-block:1px solid var(--line)}
.qgrid{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr;align-items:start}
@media(min-width:920px){.qgrid{grid-template-columns:1fr 1.05fr}}
form{border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.5rem,3.5vw,2.25rem);
  background:var(--ground);box-shadow:var(--lift)}
fieldset{border:0;padding:0;margin:0}
legend{padding:0;margin-bottom:.7rem}
.seg{display:flex;gap:.5rem}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg label{flex:1;display:flex;align-items:center;justify-content:center;min-height:54px;
  border:1px solid var(--line-strong);border-radius:var(--r);cursor:pointer;font-weight:600;
  font-size:.9375rem;color:var(--body);background:var(--surface);transition:all var(--t)}
.seg input:checked+label{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.seg input:focus-visible+label{outline:2px solid var(--ring);outline-offset:3px}
.field{display:flex;flex-direction:column;gap:.4rem;margin-top:1.2rem}
.field label{font-size:.875rem;font-weight:600;color:var(--ink)}
.req{color:var(--btn)}
.hint{font-size:.8125rem;color:var(--label)}
input[type=text],select{font-family:inherit;font-size:1rem;padding:.9rem;min-height:54px;
  border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);
  color:var(--ink);transition:border-color var(--t),box-shadow var(--t)}
input[type=text]:hover,select:hover{border-color:var(--ink)}
input[aria-invalid="true"]{border-color:#B42318;box-shadow:0 0 0 1px #B42318}
.err{font-size:.8125rem;font-weight:600;color:#B42318}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .err{color:#FDA29B}
  :root:not([data-theme="light"]) input[aria-invalid="true"]{border-color:#FDA29B;box-shadow:0 0 0 1px #FDA29B}}
:root[data-theme="dark"] .err{color:#FDA29B}
form .btn{width:100%;margin-top:1.8rem}
.privacy{font-size:.8125rem;color:var(--label);margin-top:1rem}
.status{margin-top:1.2rem;padding:1rem;border:1px solid var(--btn);background:var(--wash);
  color:var(--ink);border-radius:var(--r);font-size:.9375rem;font-weight:500}
.status:empty{display:none;padding:0;border:0}
.qside ul{list-style:none;padding:0;margin:1.85rem 0 0}
.qside li{display:flex;gap:.75rem;margin-top:1rem;font-size:.9375rem}
.qside svg{flex:none;margin-top:.28rem;color:var(--btn)}

/* review slots */
.slots{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:2.5rem}
@media(min-width:820px){.slots{grid-template-columns:repeat(3,1fr)}}
.slot{border:1px dashed var(--flag-line);background:var(--flag-bg);color:var(--flag);
  padding:1.5rem;border-radius:var(--r);font-size:.9375rem}
.slot b{display:block;font-family:"IBM Plex Mono",monospace;font-size:.6875rem;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:.6rem}

/* footer */
footer{background:var(--navy);color:var(--navy-body);padding-block:4rem 2.5rem;font-size:.9375rem}
footer .brand svg{height:54px;color:#fff}
.fgrid{display:grid;gap:2.5rem;grid-template-columns:1fr;margin-top:2.75rem}
@media(min-width:780px){.fgrid{grid-template-columns:1.25fr 1fr 1fr}}
footer h3{font-family:"IBM Plex Mono",monospace;font-size:.6875rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--navy-line-2);font-weight:500;margin-bottom:.85rem}
footer ul{list-style:none;padding:0;margin:0}
footer a{color:var(--navy-body);text-decoration:none;display:inline-flex;align-items:center;
  min-height:44px;transition:color var(--t)}
footer a:hover{color:#fff}
.legal{margin-top:3rem;padding-top:1.75rem;border-top:1px solid var(--navy-line);
  color:var(--navy-line-2);font-size:.8125rem;max-width:82ch}
.legal .flag{background:#2A2110;color:#E8C179;border-bottom-color:#A8801F}


/* ---------- owner ---------- */
.owner{max-width:64ch}
.owner blockquote{margin:1rem 0 0;font-family:Jost,sans-serif;font-weight:300;
  font-size:clamp(1.3rem,2.6vw,1.75rem);line-height:1.32;color:var(--ink);text-wrap:balance}
.owner p.said{margin-top:1.15rem;max-width:58ch}
.byline{display:flex;align-items:center;gap:.9rem;margin-top:1.75rem;padding-top:1.35rem;
  border-top:1px solid var(--line)}
.byline img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 30%;
  flex:none;border:2px solid var(--line)}
.byline b{font-family:Jost,sans-serif;font-weight:600;font-size:1rem;color:var(--ink);display:block;
  line-height:1.3}
.byline span{font-family:"IBM Plex Mono",monospace;font-size:.6875rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--label)}

/* ---------- payment / eco feature ---------- */
.feature{display:grid;gap:clamp(1.5rem,3.5vw,3rem);grid-template-columns:1fr;align-items:start;
  margin-top:3rem}
@media(min-width:840px){.feature{grid-template-columns:repeat(2,1fr)}}
.fbox{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);
  padding:clamp(1.6rem,3vw,2.25rem)}
.fbox.on-navy{background:var(--navy-2);border-color:var(--navy-line)}
.fbox.on-navy h3{color:#fff}
.fbox h3{font-size:1.35rem;margin-top:.9rem}
.fbox p{margin-top:.85rem;font-size:.9375rem}
.fbox ul{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-direction:column;gap:.55rem}
.fbox li{display:flex;gap:.65rem;font-size:.9375rem}
.fbox li svg{flex:none;margin-top:.3rem;color:var(--btn)}
.fbox.on-navy li svg{color:var(--navy-blue)}
.pill{display:inline-flex;align-items:center;gap:.45rem;font-family:"IBM Plex Mono",monospace;
  font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--btn);
  border:1px solid var(--btn);border-radius:100px;padding:.35rem .75rem}
.fbox.on-navy .pill{color:var(--navy-blue);border-color:var(--navy-line-2)}

/* ---------- accreditations ---------- */
.accred{display:grid;gap:1px;background:var(--navy-line);border:1px solid var(--navy-line);
  grid-template-columns:repeat(2,1fr);margin-top:2.5rem;border-radius:var(--r);overflow:hidden}
@media(min-width:760px){.accred{grid-template-columns:repeat(5,1fr)}}
.accred div{background:var(--navy-2);padding:1.5rem 1rem;text-align:center;
  font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.06em;color:var(--navy-line-2)}
.accred div b{display:block;color:#fff;font-size:.8125rem;letter-spacing:.1em;margin-bottom:.35rem;
  font-weight:500}
.accred div.have b{color:var(--navy-blue)}

/* ---------- faq ---------- */
.faq{margin-top:3rem;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.35rem 2.5rem 1.35rem 0;position:relative;
  font-family:Jost,sans-serif;font-size:1.125rem;font-weight:500;color:var(--ink);min-height:44px;
  display:flex;align-items:center;transition:color var(--t)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--btn)}
.faq summary::after{content:"";position:absolute;right:.4rem;top:50%;width:11px;height:11px;
  border-right:2px solid var(--btn);border-bottom:2px solid var(--btn);
  transform:translateY(-70%) rotate(45deg);transition:transform var(--t)}
.faq details[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
.faq .ans{padding:0 0 1.5rem;max-width:66ch;font-size:.9375rem}
.faq .ans a{color:var(--btn)}

/* ---------- price note ---------- */
.pricebox{margin-top:2.5rem;border:1px solid var(--line);border-left:3px solid var(--brand);
  background:var(--surface);border-radius:0 var(--r) var(--r) 0;padding:clamp(1.4rem,3vw,2rem);
  max-width:62ch}
.pricebox h3{font-size:1.2rem;margin-top:.75rem}
.pricebox p{margin-top:.8rem;font-size:.9375rem}


/* ---------- credentials pack ---------- */
.pack{background:var(--navy);color:var(--navy-body);border-radius:var(--r);
  padding:clamp(1.75rem,4vw,3rem);margin-top:3rem;display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:860px){.pack{grid-template-columns:1.15fr .85fr;align-items:center}}
.pack h2{color:#fff;font-size:clamp(1.6rem,3.4vw,2.25rem);margin-top:.8rem}
.pack .mono{color:var(--navy-blue)}
.pack p{margin-top:.9rem;max-width:52ch;font-size:.9375rem}
.pack ul{list-style:none;padding:0;margin:1.35rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.pack ul li{font-family:"IBM Plex Mono",monospace;font-size:.75rem;color:var(--navy-body);
  border:1px solid var(--navy-line);padding:.4rem .7rem;border-radius:var(--r)}
.packform{background:var(--navy-2);border:1px solid var(--navy-line);border-radius:var(--r);
  padding:1.5rem}
.packform label{font-size:.8125rem;font-weight:600;color:#fff;display:block;margin-bottom:.4rem}
.packform input{width:100%;font-family:inherit;font-size:1rem;padding:.85rem;min-height:52px;
  border:1px solid var(--navy-line-2);border-radius:var(--r);background:var(--navy);color:#fff}
.packform input::placeholder{color:var(--navy-line-2)}
.packform .field{margin-top:0}
.packform .field+.field{margin-top:1rem}
.packform .btn{width:100%;margin-top:1.25rem}
.packform .note{font-size:.75rem;color:var(--navy-line-2);margin-top:.9rem}


/* ---------- legal document page ---------- */
.legaldoc{max-width:72ch}
.legaldoc h3{font-size:1.2rem;margin-top:2.5rem}
.legaldoc h4{font-family:Jost,sans-serif;font-weight:600;font-size:1rem;color:var(--ink);
  margin:1.6rem 0 0}
.legaldoc p{margin-top:.9rem}
.legaldoc ul{margin-top:.9rem;padding-left:1.2rem}
.legaldoc li{margin-top:.5rem}
.legaldoc .updated{font-family:"IBM Plex Mono",monospace;font-size:.75rem;color:var(--label);
  margin-top:1.25rem}
.legaldoc table{width:100%;border-collapse:collapse;margin-top:1.15rem;font-size:.9375rem}
.legaldoc th,.legaldoc td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line);
  vertical-align:top}
.legaldoc th{font-family:"IBM Plex Mono",monospace;font-size:.6875rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--label);font-weight:500;background:var(--surface-2)}
.legaldoc .tw{overflow-x:auto}


/* ---------- cookie banner ---------- */
.cbar{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--navy);
  color:var(--navy-body);border-top:2px solid var(--brand);
  padding:1.15rem var(--pad) calc(1.15rem + env(safe-area-inset-bottom))}
.cbar[hidden]{display:none!important}
.cbar-in{max-width:var(--maxw);margin:0 auto;display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:940px){.cbar-in{grid-template-columns:1fr auto;align-items:center;gap:2rem}}
.cbar h2{color:#fff;font-size:1.0625rem;font-family:Jost,sans-serif;font-weight:600}
.cbar p{margin-top:.4rem;font-size:.875rem;max-width:64ch}
.cbar a{color:var(--navy-blue)}
.cbtns{display:flex;flex-wrap:wrap;gap:.6rem}
.cbtns .btn{flex:1;min-width:130px;font-size:.875rem;padding:.75rem 1.1rem;min-height:48px}
@media(max-width:759px){body.cbar-open{padding-bottom:0}}
.cset{background:none;border:0;color:var(--navy-blue);text-decoration:underline;cursor:pointer;
  font:inherit;font-size:.8125rem;padding:.5rem 0;min-height:44px}

/* mobile bar + routing */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:150;display:flex;gap:.5rem;
  padding:.65rem .8rem calc(.65rem + env(safe-area-inset-bottom));
  background:var(--surface);border-top:1px solid var(--line)}
.mcta .btn{flex:1;padding-inline:.6rem}
@media(min-width:760px){.mcta{display:none}}
@media(max-width:899px){
  .bar{flex-wrap:wrap;gap:.5rem 1rem;min-height:0;padding-block:.65rem}
  .brand{order:1}
  .tel{order:2;margin-left:auto;padding-inline:.35rem}
  nav{order:3;width:100%;margin-left:0;gap:0;border-top:1px solid var(--line);padding-top:.15rem}
  nav a.nl{flex:1;justify-content:center;padding:.55rem .3rem;font-size:.875rem}
  nav>a.btn{display:none}
  .brand svg{height:34px}
}
@media(max-width:759px){body{padding-bottom:80px}}
.view[hidden]{display:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:1ms!important}
  html{scroll-behavior:auto}}
html{scroll-behavior:smooth}

/* multi-page build: logo via sprite */
.logo-use{height:44px;width:auto;color:var(--ink);display:block;aspect-ratio:1741/968}
footer .logo-use{height:54px;color:#fff}
@media(max-width:899px){.logo-use{height:34px}}

