/* Brand: StrongBox purple #4B2F80, magenta #CD1181, charcoal #2B2B2A. Layout: an audit file. Left-aligned columns, mono references that cite real clauses and controls, and one bold object per page (the clause ledger / brand band). */
:root{
  --paper:#F6F5F8; --surface:#FFFFFF; --ink:#1F1D24; --muted:#56525F; --rule:#E1DDE8;
  --brand:#4B2F80; --on-brand:#F3EFFB; --on-brand-muted:#C9BCE6; --accent-on-brand:#FF9ACF; --on-accent:#FFFFFF;
  --link:#4B2F80; --accent:#CD1181; --accent-ink:#A80F6A; --focus:#CD1181;
  --btn-bg:#4B2F80; --btn-fg:#FFFFFF; --btn-hover:#3A2366;
  --seg1:#4B2F80; --seg2:#CD1181; --seg3:#8D8899; --seg4:#8263C4;
  --display:"Familjen Grotesk","Helvetica Neue",Arial,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --radius:6px; --wrap:72rem;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#121016; --surface:#1C1922; --ink:#ECE9F2; --muted:#AAA4B6; --rule:#2F2B38;
    --brand:#3B2768; --on-brand:#F3EFFB; --on-brand-muted:#BEB0DE; --accent-on-brand:#FF9ACF; --on-accent:#FFFFFF;
    --link:#BBA3F0; --accent:#D42A8A; --accent-ink:#F27DBE; --focus:#F27DBE;
    --btn-bg:#AC8DEB; --btn-fg:#16121E; --btn-hover:#C0A6F3;
    --seg1:#AC8DEB; --seg2:#D42A8A; --seg3:#7E7889; --seg4:#6D50B2;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#121016; --surface:#1C1922; --ink:#ECE9F2; --muted:#AAA4B6; --rule:#2F2B38;
  --brand:#3B2768; --on-brand:#F3EFFB; --on-brand-muted:#BEB0DE; --accent-on-brand:#FF9ACF; --on-accent:#FFFFFF;
  --link:#BBA3F0; --accent:#D42A8A; --accent-ink:#F27DBE; --focus:#F27DBE;
  --btn-bg:#AC8DEB; --btn-fg:#16121E; --btn-hover:#C0A6F3;
  --seg1:#AC8DEB; --seg2:#D42A8A; --seg3:#7E7889; --seg4:#6D50B2;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--body)}
img,svg{max-width:100%}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--display);line-height:1.12;letter-spacing:-.015em;text-wrap:balance;margin:0;color:var(--ink)}
h1{font-size:clamp(2.1rem,1.3rem + 3.2vw,3.4rem);font-weight:700}
h2{font-size:clamp(1.55rem,1.2rem + 1.4vw,2.2rem);font-weight:700}
h3{font-size:1.2rem;font-weight:600;letter-spacing:-.005em}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
.eyebrow{font:500 .75rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
.lede{font-size:1.15rem;color:var(--muted);max-width:40rem}
.prose{max-width:42rem;display:grid;gap:1rem}
.prose p{color:var(--muted)}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:16px;background:var(--surface);color:var(--ink);padding:.5rem 1rem;z-index:30;border:1px solid var(--rule)}

/* Header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--paper);border-bottom:1px solid var(--rule)}
@supports (backdrop-filter:blur(8px)){.site-header{background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(8px)}}
.bar-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.75rem;position:relative}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink)}
.brand svg{width:30px;height:30px;flex:none}
.brand-name{font:700 1.15rem/1 var(--display);letter-spacing:-.01em;display:block}
.brand-sub{font:500 .62rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-top:.32rem}
.nav{display:none}
.nav ul{display:flex;gap:1.2rem;list-style:none;margin:0;padding:0;align-items:center}
.nav a:not(.btn){color:var(--ink);text-decoration:none;font-size:.93rem;padding-block:.4rem;border-bottom:2px solid transparent}
.nav a:not(.btn):hover{border-bottom-color:var(--rule)}
.nav a[aria-current="page"]{border-bottom-color:var(--accent)}
.menu summary{list-style:none;cursor:pointer;font:600 .9rem/1 var(--body);padding:.7rem .95rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface)}
.menu summary::-webkit-details-marker{display:none}
.menu-panel{position:absolute;left:0;right:0;top:calc(100% + 1px);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.4rem;box-shadow:0 14px 34px rgb(0 0 0 / .14)}
.menu-panel ul{list-style:none;margin:0;padding:0}
.menu-panel a{display:block;padding:.8rem .85rem;color:var(--ink);text-decoration:none;border-radius:4px}
.menu-panel a[aria-current="page"]{color:var(--accent-ink);font-weight:600}
@media (min-width:80rem){.nav{display:block}.menu{display:none}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 .95rem/1 var(--body);padding:.9rem 1.25rem;border-radius:var(--radius);text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--btn-bg);color:var(--btn-fg)}
.btn-primary:hover{background:var(--btn-hover)}
.btn-ghost{border-color:var(--rule);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--ink)}
.btn-sm{padding:.65rem .95rem;font-size:.9rem}

/* Sections */
.section{padding-block:clamp(3.5rem,2.5rem + 4vw,6rem)}
.section + .section{border-top:1px solid var(--rule)}
.section-head{display:grid;gap:.75rem;margin-bottom:2.5rem;max-width:44rem}
.section-head p{color:var(--muted)}
.split{display:grid;gap:2.5rem}
@media (min-width:60rem){.split{grid-template-columns:1fr 1.45fr;gap:4rem}.split .section-head{position:sticky;top:6rem;align-self:start;margin-bottom:0}}

/* Hero */
.hero{padding-block:clamp(2.5rem,1.5rem + 4vw,5rem)}
.hero-grid{display:grid;gap:2.5rem;align-items:start}
@media (min-width:62rem){.hero-grid{grid-template-columns:1.15fr .85fr;gap:4rem}}
.hero-copy{display:grid;gap:1.4rem;min-width:0}
.actions{display:flex;flex-wrap:wrap;gap:.75rem}
.creds{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font:500 .8rem/1.5 var(--mono);color:var(--muted);list-style:none;padding:0;margin:0}
.creds li{display:flex;gap:.45rem;align-items:baseline}
.creds li::before{content:"";width:.5rem;height:.5rem;background:var(--accent);flex:none;transform:translateY(-.05rem)}

.ledger-card{background:var(--brand);color:var(--on-brand);border-radius:10px;padding:1.5rem 1.5rem 1.35rem;min-width:0}
.ledger-card .eyebrow{color:var(--accent-on-brand)}
.ledger-title{font:600 1.15rem/1.3 var(--display);margin-top:.35rem;color:var(--on-brand)}
.ledger{list-style:none;margin:1rem 0 0;padding:0}
.ledger li{display:grid;grid-template-columns:2.25rem 1fr;gap:.75rem;padding:.7rem 0;border-top:1px solid color-mix(in srgb,var(--on-brand) 18%,transparent)}
.ledger .cl{font:600 1rem/1.4 var(--mono);color:var(--accent-on-brand)}
.ledger strong{display:block;font:600 .98rem/1.35 var(--body)}
.ledger small{display:block;color:var(--on-brand-muted);font-size:.84rem;line-height:1.45;margin-top:.1rem}
.ledger-note{margin-top:1rem;font-size:.82rem;line-height:1.5;color:var(--on-brand-muted)}

/* Service cards */
.cards{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
@media (min-width:44rem){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:68rem){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--surface);padding:1.75rem;display:grid;gap:.75rem;align-content:start;min-width:0}
.card .ref{font:500 .74rem/1.4 var(--mono);color:var(--accent-ink);letter-spacing:.04em}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a:hover{text-decoration:underline}
.card p{color:var(--muted);font-size:.98rem}
.card .more{font-weight:600;font-size:.93rem}
.card-cta{background:var(--brand);color:var(--on-brand)}
.card-cta h3{color:var(--on-brand)}
.card-cta p{color:var(--on-brand-muted)}
.card-cta .ref{color:var(--accent-on-brand)}
.card-cta .more{color:var(--accent-on-brand)}

/* Points */
.points{display:grid;gap:2rem}
@media (min-width:44rem){.points{grid-template-columns:repeat(2,1fr);gap:2.5rem 3rem}}
.point{display:grid;gap:.5rem;padding-top:1.1rem;border-top:2px solid var(--ink);align-content:start}
.point p{color:var(--muted)}

/* Steps */
.steps{list-style:none;padding:0;margin:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding-block:1.3rem;border-top:1px solid var(--rule)}
.steps li:last-child{border-bottom:1px solid var(--rule)}
.steps li::before{content:counter(s,decimal-leading-zero);font:600 .95rem/1.6 var(--mono);color:var(--accent-ink)}
.steps h3{margin-bottom:.3rem}
.steps p{color:var(--muted)}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.chips li{font:500 .8rem/1.3 var(--mono);padding:.45rem .7rem;border:1px solid var(--rule);border-radius:4px;background:var(--surface)}

/* Checklist */
.checks{list-style:none;padding:0;margin:0;display:grid;gap:1.1rem 2.5rem}
@media (min-width:44rem){.checks{grid-template-columns:repeat(2,1fr)}}
.checks li{display:grid;grid-template-columns:.9rem 1fr;gap:.75rem;min-width:0}
.checks li::before{content:"";width:.55rem;height:.55rem;margin-top:.6rem;background:var(--accent)}
.checks strong{display:block;font-weight:600}
.checks span{color:var(--muted);font-size:.97rem}

/* Annex A bar */
.annex{display:grid;gap:1.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:1.5rem}
.annex-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:baseline}
.annex-head strong{font:600 1.05rem var(--display)}
.annex-head span{font:500 .78rem var(--mono);color:var(--muted)}
.annex-bar{display:flex;height:2.25rem;border-radius:4px;overflow:hidden;gap:2px}
.annex-bar span{display:block;min-width:4px}
.annex-legend{display:grid;gap:1rem;list-style:none;padding:0;margin:0;grid-template-columns:repeat(2,1fr)}
@media (min-width:40rem){.annex-legend{grid-template-columns:repeat(4,1fr)}}
.annex-legend li{display:grid;gap:.25rem;min-width:0}
.annex-legend .n{font:700 1.7rem/1 var(--display);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:.5rem}
.annex-legend .sw{width:.7rem;height:.7rem;border-radius:2px;flex:none}
.annex-legend .t{font-size:.88rem;color:var(--muted)}

/* Tables */
.table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:10px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:34rem;font-size:.95rem}
th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{font:500 .72rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
td:first-child{font-family:var(--mono);color:var(--accent-ink);white-space:nowrap;font-size:.88rem}
td{color:var(--ink)}
tr:last-child td{border-bottom:0}

/* FAQ */
.faq{border-top:1px solid var(--rule);max-width:50rem}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:1.15rem 2.25rem 1.15rem 0;font:600 1.05rem/1.4 var(--body);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:1.05rem;font:400 1.4rem/1 var(--mono);color:var(--accent-ink)}
.faq details[open] summary::after{content:"\2212"}
.faq .a{padding-bottom:1.3rem;color:var(--muted);max-width:44rem}

/* CTA band */
.cta{background:var(--brand);color:var(--on-brand);border-radius:12px;padding:clamp(2rem,1.5rem + 2vw,3rem);display:grid;gap:1.25rem;align-items:center}
@media (min-width:56rem){.cta{grid-template-columns:1fr auto;gap:3rem}}
.cta h2{color:var(--on-brand)}
.cta p{color:var(--on-brand-muted);margin-top:.6rem;max-width:38rem}
.cta .btn{background:var(--accent);color:var(--on-accent)}
.cta .btn:hover{filter:brightness(1.06)}

/* Inner page head */
.page-head{padding-block:clamp(2.25rem,1.5rem + 3vw,4rem)}
.page-head-grid{display:grid;gap:2rem;align-items:end}
@media (min-width:60rem){.page-head-grid{grid-template-columns:1.4fr 1fr;gap:4rem}}
.page-head .intro{display:grid;gap:1.1rem;min-width:0}
.crumbs{font:500 .76rem/1.4 var(--mono);color:var(--muted);display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 .25rem}
.crumbs a{color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:.5rem;color:var(--muted)}
.facts{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:.5rem 1.5rem;margin:0;min-width:0}
.facts div{display:grid;gap:.15rem;padding-block:.85rem;border-top:1px solid var(--rule)}
.facts div:first-child{border-top:0}
.facts dt{font:500 .7rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.facts dd{margin:0;font-weight:500;font-size:.98rem}

/* Contact */
.contact-grid{display:grid;gap:2.5rem;align-items:start}
@media (min-width:60rem){.contact-grid{grid-template-columns:1fr 1.5fr;gap:4rem}}
.form{display:grid;gap:1.15rem;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:clamp(1.25rem,1rem + 1.5vw,2rem);min-width:0;position:relative}
.row2{display:grid;gap:1.15rem}
@media (min-width:36rem){.row2{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:.4rem;min-width:0}
.field label{font-weight:600;font-size:.92rem}
.opt{font-weight:400;color:var(--muted)}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:.75rem .85rem;width:100%}
textarea{min-height:9rem;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:1px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:.85rem;color:var(--muted)}
.notice{padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));font-size:.95rem;color:var(--ink)}
.contact-info{display:grid;gap:1.5rem;min-width:0}
.contact-info dl{margin:0;display:grid;gap:1rem}
.contact-info dt{font:500 .7rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.contact-info dd{margin:.2rem 0 0;font-weight:500;overflow-wrap:anywhere}

/* Footer */
.site-footer{border-top:1px solid var(--rule);padding-block:3rem 2rem;font-size:.93rem;color:var(--muted)}
.foot-grid{display:grid;gap:2rem}
@media (min-width:48rem){.foot-grid{grid-template-columns:1.6fr 1fr 1fr}}
.site-footer h2{font:500 .72rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.8rem}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.site-footer a{color:var(--ink);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.foot-about{display:grid;gap:.9rem;max-width:26rem}
.legal{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--rule);font-size:.82rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}

.mt-l{margin-top:2.5rem}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* StrongAccess components */
.mt-s{margin-top:1rem}
.cards-2{grid-template-columns:1fr}
@media (min-width:44rem){.cards-2{grid-template-columns:repeat(2,1fr)}}
.points-3{grid-template-columns:1fr}
@media (min-width:44rem){.points-3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:68rem){.points-3{grid-template-columns:repeat(3,1fr)}}
.annex-legend-2{grid-template-columns:repeat(2,minmax(0,14rem))!important}

.layers{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
@media (min-width:62rem){.layers{grid-template-columns:repeat(3,1fr)}}
.layer{background:var(--surface);padding:1.6rem;display:grid;gap:.6rem;align-content:start;min-width:0}
.layer ul{list-style:none;padding:0;margin:.4rem 0 0;display:grid;gap:1rem}
.layer li{display:grid;gap:.2rem;padding-top:.9rem;border-top:1px solid var(--rule)}
.layer li strong{font:600 .98rem/1.35 var(--body)}
.layer li strong::first-letter{font-family:var(--mono)}
.layer li span{color:var(--muted);font-size:.95rem}

.stages{list-style:none;padding:0;margin:0;display:grid;gap:1.25rem}
@media (min-width:62rem){.stages{grid-template-columns:repeat(3,1fr)}}
.stage{background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--accent);border-radius:8px;padding:1.5rem;display:grid;gap:.5rem;align-content:start;min-width:0}
.dur{font:500 .8rem/1.4 var(--mono);color:var(--muted)}
.stage ul,.pkg ul{margin:.5rem 0 0;padding-left:1.1rem;display:grid;gap:.4rem;color:var(--muted);font-size:.96rem}
.stage li::marker,.pkg li::marker{color:var(--accent)}

.pkgs{display:grid;gap:1.25rem}
@media (min-width:62rem){.pkgs{grid-template-columns:repeat(3,1fr)}}
.pkg{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:1.6rem;display:grid;gap:.55rem;grid-template-rows:auto auto auto auto 1fr auto;min-width:0}
.pkg > p:not(.eyebrow):not(.dur):not(.best){color:var(--muted)}
.pkg .best{padding-top:.9rem;border-top:1px solid var(--rule);font-size:.93rem;color:var(--muted)}
.pkg .best strong{display:block;font:500 .7rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin-bottom:.25rem}

.opts{display:grid;gap:1.25rem}
@media (min-width:56rem){.opts{grid-template-columns:repeat(3,1fr)}}
.opt-card{border-top:2px solid var(--ink);padding-top:1.1rem;display:grid;gap:.5rem;align-content:start;min-width:0}
.opt-card p:not(.eyebrow){color:var(--muted)}
.opt-card .more{font-weight:600;font-size:.95rem}

table.plain td:first-child{font-family:var(--body);color:var(--ink);white-space:normal;font-size:.95rem;font-weight:600}
table.plain td:last-child{color:var(--ink)}
table.plain td:nth-child(2){color:var(--muted)}
table.matrix th[scope="row"]{font:600 .9rem/1.4 var(--body);text-transform:none;letter-spacing:0;color:var(--ink);white-space:nowrap}
table.matrix td:first-of-type{font-family:var(--body);color:var(--ink);white-space:normal;font-size:.95rem}
table.matrix{min-width:44rem}
@media (min-width:48rem){.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}

/* Page head with illustration + facts strip */
.page-head .page-head-grid{align-items:center}
@media (min-width:60rem){.page-head .page-head-grid{grid-template-columns:1.1fr .9fr;gap:3.5rem}}
.facts-strip{display:grid;grid-template-columns:1fr;gap:0;margin-top:2.5rem;padding:.25rem 1.5rem}
.facts-strip div{border-top:1px solid var(--rule)}
.facts-strip div:first-child{border-top:0}
@media (min-width:44rem){.facts-strip{grid-template-columns:repeat(2,1fr);column-gap:2rem}.facts-strip div:nth-child(2){border-top:0}}
@media (min-width:68rem){.facts-strip{grid-template-columns:repeat(4,1fr)}.facts-strip div{border-top:0;border-left:1px solid var(--rule);padding-left:1.25rem}.facts-strip div:first-child{border-left:0;padding-left:0}}

/* Illustrations */
.ill{margin:0;min-width:0}
.ill svg{display:block;width:100%;height:auto;max-width:34rem;margin-inline:auto}
.ill .f-tint{fill:color-mix(in srgb,var(--brand) 7%,var(--paper))}
.ill .f-surface{fill:var(--surface)} .ill .f-paper{fill:var(--paper)} .ill .f-rule{fill:var(--rule)}
.ill .f-brand{fill:var(--brand)} .ill .f-accent{fill:var(--accent)} .ill .f-seg3{fill:var(--seg3)}
.ill .f-onbrand{fill:var(--on-brand)} .ill .f-accent-onbrand{fill:var(--accent-on-brand)}
.ill .f-accent-soft{fill:color-mix(in srgb,var(--accent) 50%,var(--surface))}
.ill .f-brand-soft{fill:color-mix(in srgb,var(--brand) 16%,var(--surface))}
.ill .f-none{fill:none}
.ill .s-rule{stroke:var(--rule)} .ill .s-ink{stroke:var(--ink)} .ill .s-accent{stroke:var(--accent)} .ill .s-brand{stroke:var(--brand)}
.ill .s-onbrand{stroke:var(--on-brand)} .ill .s-onacc{stroke:var(--on-accent)} .ill .s-surface{stroke:var(--surface)} .ill .s-accent-onbrand{stroke:var(--accent-on-brand)}
.ill .t-mono{font-family:var(--mono)} .ill .t-body{font-family:var(--body)} .ill .t-display{font-family:var(--display)}
.ill .t-ar{font-family:"Noto Sans Arabic",Tahoma,"Segoe UI",Arial,sans-serif}
.ill .t-ink{fill:var(--ink)} .ill .t-muted{fill:var(--muted)} .ill .t-accent{fill:var(--accent-ink)}
.ill .t-onbrand{fill:var(--on-brand)} .ill .t-onbrand-muted{fill:var(--on-brand-muted)} .ill .t-accent-onbrand{fill:var(--accent-on-brand)} .ill .t-onacc{fill:var(--on-accent)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ill .s-brand{stroke:var(--link)} :root:not([data-theme="light"]) .ill .f-brand-soft{fill:color-mix(in srgb,var(--link) 18%,var(--surface))}}
:root[data-theme="dark"] .ill .s-brand{stroke:var(--link)}
:root[data-theme="dark"] .ill .f-brand-soft{fill:color-mix(in srgb,var(--link) 18%,var(--surface))}

/* Service icons */
.svc-icon{width:2.25rem;height:2.25rem;fill:none;stroke:var(--link);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.25rem}

/* Photos (render only when supplied) */
.with-photo{display:grid;gap:2rem;align-items:start}
@media (min-width:62rem){.with-photo{grid-template-columns:1.7fr 1fr;gap:3rem}.with-photo .points{grid-template-columns:1fr}}
.wp-text{min-width:0}
.photo{margin:0;border-radius:12px;overflow:hidden;background:var(--rule)}
.photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.page-head .photo img{aspect-ratio:1/1}

/* Brand logo (light/dark variants) */
.brand-logo{display:block;height:56px;width:auto}
.site-footer .brand-logo{height:68px}
.brand-logo.on-dark{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .brand-logo.on-light{display:none} :root:not([data-theme="light"]) .brand-logo.on-dark{display:block}}
:root[data-theme="dark"] .brand-logo.on-light{display:none}
:root[data-theme="dark"] .brand-logo.on-dark{display:block}
@media (max-width:30rem){.brand-logo{height:48px}}
