/* Law MSP: "legal document / chambers" design.
   A light warm-grey ground, white sheets with ruled edges, navy ink, antique brass for rules and ornaments only.
   Real clause numbering where content is sequential, margin notes beside the text, Lady Justice as the mark. */
:root{
  --ground:#F4F3F1;
  --sheet:#FFFFFF;
  --ink:#161B26;
  --ink-soft:#4A5162;
  --navy:#14213D;
  --navy-dk:#0B1428;
  --navy-tint:#E9ECF2;
  --brass:#A8834A;          /* rules and ornaments only, never text */
  --brass-pale:#E7DCC8;
  --rule:#D8D4CC;
  --rule-soft:#E8E5E0;
  --on-navy:#FFFFFF;
  --on-navy-soft:#C9D0DE;

  --display:"Libre Caslon Display","Libre Caslon Text",Georgia,"Times New Roman",serif;
  --serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --body:"Libre Franklin",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  --s--1:clamp(.84rem,.82rem + .1vw,.9rem);
  --s-0:clamp(1rem,.97rem + .15vw,1.075rem);
  --s-1:clamp(1.18rem,1.1rem + .35vw,1.36rem);
  --s-2:clamp(1.6rem,1.4rem + .9vw,2.25rem);
  --s-3:clamp(2rem,1.6rem + 1.9vw,3.2rem);
  --s-4:clamp(2.35rem,1.7rem + 3.1vw,4.4rem);

  --gutter:clamp(1rem,4vw,3rem);
  --wrap:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:var(--s-0);line-height:1.66;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
h1,h2,h3,h4{margin:0;font-weight:400;color:var(--navy);text-wrap:balance}
h1,h2{font-family:var(--display);line-height:1.08;letter-spacing:-.005em}
h3,h4{font-family:var(--serif);font-weight:700;line-height:1.25}
p{margin:0}
a{color:var(--navy);text-decoration-color:var(--brass);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
img,svg{max-width:100%}
.wrap{width:min(100% - (var(--gutter) * 2),var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}

/* ---------- masthead ---------- */
.masthead{position:sticky;top:0;z-index:60;background:var(--sheet);border-top:3px solid var(--navy);border-bottom:1px solid var(--rule);transition:box-shadow .25s}
.masthead.stuck{box-shadow:0 6px 18px -14px rgba(20,33,61,.5)}
.masthead::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--brass);opacity:.55}
.masthead .wrap{display:flex;align-items:center;gap:1.5rem;height:74px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--navy);flex:0 0 auto}
.brand img{height:40px;width:auto;flex:0 0 auto;display:block}
.brand-name{font-family:var(--display);font-size:1.6rem;line-height:1;white-space:nowrap;letter-spacing:.01em}
.nav{margin-left:auto;display:flex;align-items:center;gap:1.45rem}
.nav a{text-decoration:none;font-size:var(--s--1);color:var(--ink-soft);font-weight:500;white-space:nowrap}
.nav a:hover{color:var(--navy)}
.nav a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -2px 0 var(--brass)}
@media (max-width:1120px){.nav a:not(.btn){display:none}}

/* mobile section strip, scrolls sideways inside itself */
.strip{display:none;background:var(--sheet);border-bottom:1px solid var(--rule)}
.strip ul{list-style:none;margin:0;padding:.55rem var(--gutter);display:flex;gap:1.3rem;overflow-x:auto;scrollbar-width:none}
.strip ul::-webkit-scrollbar{display:none}
.strip a{font-size:.86rem;font-weight:500;color:var(--ink-soft);text-decoration:none;white-space:nowrap}
.strip a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -2px 0 var(--brass)}
@media (max-width:1120px){.strip{display:block}}

/* ---------- buttons ---------- */
.btn,.nav .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:2px;
  font-family:var(--body);font-weight:600;font-size:.9rem;letter-spacing:.03em;
  padding:.72rem 1.25rem;text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:background .2s,transform .2s;
}
.btn:hover,.nav .btn:hover{background:var(--navy-dk);color:#fff;transform:translateY(-1px)}
.btn-lg{font-size:1rem;padding:.92rem 1.6rem}
.btn-ghost,.nav .btn-ghost{background:transparent;color:var(--navy)}
.btn-ghost:hover{background:var(--navy-tint);color:var(--navy)}
.lbl-short{display:none}
@media (max-width:900px){.masthead .wrap{height:64px;gap:.75rem}.nav .btn{padding:.6rem 1rem;font-size:.84rem}.brand img{height:36px}.brand-name{font-size:1.4rem}}
@media (max-width:480px){.lbl-full{display:none}.lbl-short{display:inline}.brand-name{font-size:1.25rem}.brand img{height:32px}.brand{gap:.5rem}}

/* ---------- breadcrumbs ---------- */
.crumbs{padding-top:1.3rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.84rem;color:var(--ink-soft)}
.crumbs li+li::before{content:"\203A";margin-right:.5rem;color:var(--ink-soft)}
.crumbs a{color:var(--ink-soft)}

/* ---------- type helpers ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--body);font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--brass)}
.lede{font-size:var(--s-1);line-height:1.55;color:var(--ink-soft);max-width:60ch}
.ornament{display:flex;align-items:center;gap:.8rem;color:var(--brass);margin:0}
.ornament::before,.ornament::after{content:"";flex:1;height:1px;background:var(--brass);opacity:.7}
.ornament span{width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--brass)}

/* ---------- home hero ---------- */
.hero{padding:clamp(2.2rem,5vw,4.2rem) 0 clamp(2.4rem,5vw,4rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero-grid>*{min-width:0}
.hero h1{font-size:var(--s-4)}
.hero-eyebrow{display:flex;align-items:center;gap:.7rem;font-family:var(--body);font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.1rem;line-height:1.3}
.hero-eyebrow::before{content:"";width:28px;height:1px;background:var(--brass);flex:0 0 auto}
.hero .lede{margin-top:1.4rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero-note{margin-top:1.1rem;font-size:var(--s--1);color:var(--ink-soft)}
.niche{position:relative;background:var(--sheet);border:1px solid var(--rule);border-radius:999px 999px 2px 2px;padding:2.2rem 1.6rem 1.2rem;box-shadow:0 22px 40px -32px rgba(20,33,61,.55)}
.niche::before{content:"";position:absolute;inset:9px;border:1px solid var(--brass);border-radius:999px 999px 1px 1px;opacity:.75;pointer-events:none}
.niche svg{display:block;width:100%;height:auto;max-height:440px}
.niche-cap{margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--rule-soft);font-family:var(--serif);font-style:italic;font-size:.9rem;color:var(--ink-soft);text-align:center}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.niche{max-width:360px;justify-self:center;width:100%}}

/* ---------- bands ---------- */
.band{padding:clamp(2.8rem,6vw,4.8rem) 0}
.band-sheet{background:var(--sheet);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.band h2{font-size:var(--s-3)}
.band-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 3rem;align-items:end;margin-bottom:2.2rem}
.band-head>*{min-width:0}
.band-head .lede{font-size:var(--s-0)}
@media (max-width:820px){.band-head{grid-template-columns:minmax(0,1fr)}}
.more-link{display:inline-block;margin-top:1.8rem;font-weight:600;font-size:.95rem}

/* ---------- schedule (response times) ---------- */
.schedule{background:var(--sheet);border:1px solid var(--rule);border-top:3px double var(--brass)}
.schedule-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--rule)}
.schedule-head b{font-family:var(--serif);font-weight:700;color:var(--navy)}
.schedule-head span{font-size:.85rem;color:var(--ink-soft)}
.schedule-rows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.sched{padding:1.3rem 1.4rem 1.5rem;border-left:1px solid var(--rule)}
.sched:first-child{border-left:0}
.sched .no{font-family:var(--serif);font-size:.85rem;color:var(--ink-soft)}
.sched .t{display:block;font-family:var(--display);font-size:clamp(1.7rem,1.4rem + 1.2vw,2.3rem);color:var(--navy);line-height:1.1;margin:.3rem 0 .45rem}
.sched p{font-size:.93rem;color:var(--ink-soft)}
@media (max-width:900px){.schedule-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.sched:nth-child(3){border-left:0}.sched:nth-child(n+3){border-top:1px solid var(--rule)}}
@media (max-width:520px){.schedule-rows{grid-template-columns:minmax(0,1fr)}.sched{border-left:0}.sched+.sched{border-top:1px solid var(--rule)}}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:2.4rem;border-top:1px solid var(--rule)}
.pillar{padding:1.5rem 1.6rem 0 0;min-width:0}
.pillar+.pillar{padding-left:1.6rem;border-left:1px solid var(--rule)}
.pillar h3{font-size:var(--s-1);margin-bottom:.5rem}
.pillar p{color:var(--ink-soft)}
@media (max-width:820px){.pillars{grid-template-columns:minmax(0,1fr)}.pillar,.pillar+.pillar{padding:1.3rem 0;border-left:0;border-bottom:1px solid var(--rule)}}

/* ---------- services index ---------- */
.index{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;border-top:2px solid var(--navy)}
.index li{min-width:0;display:grid;grid-template-columns:3rem minmax(0,1fr);gap:0 .4rem;padding:1.4rem 0;border-bottom:1px solid var(--rule)}
.index .no{font-family:var(--serif);font-size:1rem;color:var(--ink-soft);padding-top:.15rem}
.index h3{font-size:var(--s-1);font-family:var(--serif)}
.index h3 a{text-decoration:none}
.index h3 a:hover{text-decoration:underline;text-decoration-color:var(--brass)}
.index p{margin-top:.4rem;color:var(--ink-soft);font-size:.97rem}
@media (max-width:760px){.index{grid-template-columns:minmax(0,1fr)}}

/* ---------- commitments ---------- */
.commit{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.commit li{min-width:0;background:var(--sheet);border:1px solid var(--rule);padding:1.3rem 1.4rem 1.4rem;position:relative}
.commit li::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--navy)}
.commit h3{font-size:1.08rem;margin-bottom:.35rem}
.commit p{color:var(--ink-soft);font-size:.96rem}
@media (max-width:720px){.commit{grid-template-columns:minmax(0,1fr)}}

/* ---------- guide teaser ---------- */
.teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 3.5rem;align-items:start}
.teaser>*{min-width:0}
.teaser ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.teaser li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);padding:.75rem 0;border-bottom:1px solid var(--rule);font-size:.98rem}
.teaser li span{font-family:var(--serif);color:var(--ink-soft)}
@media (max-width:820px){.teaser{grid-template-columns:minmax(0,1fr)}}

/* ---------- page hero (document head) ---------- */
.doc-head{padding:clamp(1.8rem,4vw,3rem) 0 clamp(1.8rem,4vw,2.6rem)}
.doc-head h1{font-size:var(--s-3);margin-top:1rem;max-width:22ch}
.doc-head .lede{margin-top:1.2rem}
.doc-head .hero-actions{margin-top:1.6rem}
.doc-rule{height:4px;border-top:1px solid var(--brass);border-bottom:1px solid var(--brass);margin-top:clamp(1.8rem,4vw,2.4rem)}

/* ---------- clauses: numbered sections with margin notes ---------- */
.doc{background:var(--sheet);border:1px solid var(--rule);padding:clamp(1.4rem,4vw,3rem) clamp(1rem,4vw,3rem)}
.clause{display:grid;grid-template-columns:3.4rem minmax(0,1fr) 15rem;gap:0 2rem;padding:1.8rem 0;border-top:1px solid var(--rule-soft)}
.clause:first-child{border-top:0;padding-top:.4rem}
.clause>*{min-width:0}
.cl-num{font-family:var(--display);font-size:var(--s-2);color:var(--navy);line-height:1}
.cl-body h2{font-size:var(--s-2);margin-bottom:.9rem}
.cl-body p+p,.cl-body p+ul,.cl-body ul+p,.cl-body p+ol,.cl-body ol+p,.cl-body ul+h3,.cl-body p+h3{margin-top:.9rem}
.cl-body h3{font-size:1.06rem;margin-bottom:.35rem}
.marginal{font-family:var(--serif);font-style:italic;font-size:.9rem;line-height:1.5;color:var(--ink-soft);border-left:1px solid var(--brass);padding:.1rem 0 .1rem 1rem;align-self:start;margin-top:.4rem}
.marginal b{font-style:normal;font-family:var(--body);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;display:block;margin-bottom:.25rem;color:var(--ink-soft)}
@media (max-width:1000px){.clause{grid-template-columns:2.6rem minmax(0,1fr);gap:0 1.1rem}.marginal{grid-column:2;margin-top:1.1rem}}
@media (max-width:520px){.clause{grid-template-columns:minmax(0,1fr)}.cl-num{font-size:1.4rem;margin-bottom:.4rem}.marginal{grid-column:1}}

/* sub-clauses 1.1, 1.2 */
.sub{list-style:none;margin:0;padding:0}
.sub li{display:grid;grid-template-columns:2.8rem minmax(0,1fr);gap:0 .6rem;padding:.7rem 0;border-bottom:1px dotted var(--rule)}
.sub li:last-child{border-bottom:0}
.sub li>*{min-width:0}
.sub .n{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:.95rem;padding-top:.08rem}
.sub strong{color:var(--navy)}
.dots{margin:0;padding-left:1.15rem}
.dots li{padding-left:.2rem}
.dots li+li{margin-top:.45rem}
.dots li::marker{color:var(--brass)}

/* ---------- side layout ---------- */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2rem;align-items:start}
.cols>*{min-width:0}
@media (max-width:1100px){.cols{grid-template-columns:minmax(0,1fr)}}
.aside{background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--navy);padding:1.4rem 1.4rem 1.5rem;position:sticky;top:96px}
.aside h2{font-family:var(--serif);font-weight:700;font-size:1.05rem;margin-bottom:.7rem}
.aside ul{list-style:none;margin:0 0 1rem;padding:0}
.aside li{border-top:1px solid var(--rule-soft)}
.aside li a{display:block;padding:.5rem 0;text-decoration:none;font-size:.94rem}
.aside li a[aria-current="page"]{font-weight:700;box-shadow:inset 3px 0 0 var(--brass);padding-left:.6rem}
.aside p{font-size:.92rem;color:var(--ink-soft);margin-bottom:1rem}
@media (max-width:1100px){.aside{position:static}}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto;margin-top:1rem;border:1px solid var(--rule)}
table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px}
th,td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--rule-soft);vertical-align:top}
thead th{background:var(--navy);color:#fff;font-weight:600;font-size:.86rem;letter-spacing:.03em}
tbody th{font-weight:600;color:var(--navy)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}

/* ---------- price ---------- */
.worked{margin-top:1.4rem;background:var(--navy-tint);border:1px solid var(--rule);border-left:4px solid var(--navy);padding:1.1rem 1.2rem 1.2rem}
.worked b{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink-soft);margin-bottom:.35rem}
.worked .worked-sum{font-family:var(--display);font-size:var(--s-2);line-height:1.15;color:var(--navy);margin-bottom:.5rem}
.worked .worked-sum span{display:inline-block;font-family:var(--body);font-size:var(--s-0);font-weight:600;color:var(--navy)}
.worked p{font-size:.95rem;color:var(--ink)}
.price-card{background:var(--sheet);border:1px solid var(--rule);border-top:3px double var(--brass);padding:1.6rem 1.6rem 1.7rem}
.price-card .amt{font-family:var(--display);font-size:clamp(3rem,2.4rem + 3vw,4.4rem);color:var(--navy);line-height:1}
.price-card .unit{display:block;margin-top:.4rem;color:var(--ink-soft);font-size:.95rem}
.price-card ul{margin:1.2rem 0 1.4rem}

/* ---------- FAQ ---------- */
.faq{border-top:2px solid var(--navy)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:2.2rem minmax(0,1fr) 1.2rem;gap:.6rem;align-items:baseline;padding:1.15rem 0;font-family:var(--serif);font-weight:700;font-size:1.07rem;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{font-family:var(--display);font-weight:400;font-size:1.2rem;color:var(--ink-soft)}
.faq summary::after{content:"+";font-family:var(--body);font-weight:400;font-size:1.3rem;color:var(--ink-soft);justify-self:end}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 1.8rem 1.3rem 2.8rem;color:var(--ink-soft);max-width:75ch}
@media (max-width:520px){.faq details p{padding:0 0 1.2rem}}

/* ---------- article (checklist) ---------- */
.byline{margin-top:1.1rem;font-size:.86rem;color:var(--ink-soft)}
.tick-sq{display:inline-block;width:.85rem;height:.85rem;border:1.5px solid var(--navy);margin-right:.2rem;vertical-align:-.08rem}

/* ---------- CTA band ---------- */
.cta-band{background:var(--navy);color:var(--on-navy);padding:clamp(2.6rem,6vw,4rem) 0;border-top:4px double var(--brass)}
.cta-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:center}
.cta-band .wrap>*{min-width:0}
.cta-band h2{color:#fff;font-size:var(--s-3)}
.cta-band p{margin-top:.8rem;color:var(--on-navy-soft);max-width:58ch}
.cta-band .btn{background:#fff;color:var(--navy);border-color:#fff}
.cta-band .btn:hover{background:var(--navy-tint);color:var(--navy)}
@media (max-width:760px){.cta-band .wrap{grid-template-columns:minmax(0,1fr)}.cta-band .btn{justify-self:start}}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.contact-grid>*{min-width:0}
.contact-grid h1{font-size:var(--s-3);margin-top:1rem}
.direct{margin-top:2rem;border-top:1px solid var(--rule)}
.direct>div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--rule);font-size:.95rem}
.direct .k{font-weight:600;color:var(--navy)}
@media (max-width:920px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.direct>div{grid-template-columns:minmax(0,1fr);gap:.1rem}}
.contact-card{background:var(--sheet);border:1px solid var(--rule);border-top:3px double var(--brass);padding:clamp(1.2rem,4vw,2rem)}
form{display:grid;gap:1rem}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}
.row>*{min-width:0}
@media (max-width:560px){.row{grid-template-columns:minmax(0,1fr)}}
label{display:block;font-size:.88rem;font-weight:600;color:var(--navy);margin-bottom:.35rem}
input,select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #80889A;border-radius:2px;padding:.68rem .75rem}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:3px solid var(--navy-tint);border-color:var(--navy)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ts-widget{min-height:65px}
.status{font-size:.95rem;min-height:1.4em}
.status.ok{color:#14532D}
.status.err{color:#8B1C1C}
.note-small{font-size:.84rem;color:var(--ink-soft)}
form .btn{justify-self:start}

/* ---------- 404 ---------- */
.notfound{min-height:50vh}
.notfound h1{font-size:var(--s-3);margin-top:1rem}

/* ---------- footer ---------- */
footer{background:var(--navy);color:var(--on-navy-soft);padding:3.4rem 0 1.6rem;font-size:.94rem}
.foot-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.foot-top>*{min-width:0}
footer h2{font-family:var(--body);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#fff;margin-bottom:.9rem}
footer ul{list-style:none;margin:0;padding:0}
footer li+li{margin-top:.45rem}
footer a{color:var(--on-navy-soft);text-decoration-color:rgba(201,208,222,.4)}
footer a:hover{color:#fff}
.foot-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-size:1.6rem;color:#fff;margin-bottom:.8rem}
.foot-brand img{width:34px;height:34px;display:block}
.foot-base{margin-top:2.6rem;padding-top:1.2rem;border-top:1px solid rgba(201,208,222,.25);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;font-size:.84rem}
@media (max-width:980px){.foot-top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-top{grid-template-columns:minmax(0,1fr)}}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .rise{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}
  .js.loaded .rise{opacity:1;transform:none}
  .js .d2{transition-delay:.08s}.js .d3{transition-delay:.16s}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation:none!important}}
.visually-num{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* ---------- privacy notice (plain long-form inside .doc) ---------- */
.doc.policy{border-bottom:0}
.policy h2{font-family:var(--display);font-weight:400;font-size:var(--s-2);line-height:1.15;margin:2.2rem 0 .8rem;color:var(--ink)}
.policy h2:first-child{margin-top:0}
.policy p{color:var(--ink-soft);margin:0 0 1rem;max-width:68ch}
.policy p strong,.policy li strong{color:var(--ink);font-weight:600}
.policy ul.dots{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.55rem;max-width:68ch}
.policy ul.dots li{color:var(--ink-soft);padding-left:1.4rem;position:relative}
.policy ul.dots li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--brass)}
.policy a{color:var(--navy)}

/* ---------- guides (added 2026-10-14) ---------- */
.more-link-2{margin-top:.7rem}
.index-one{grid-template-columns:minmax(0,1fr)}
.doc.doc-intro{border-bottom:0;padding-bottom:0}
.cl-body .table-wrap+p,.cl-body .table-wrap+h3{margin-top:1rem}
.cl-body h3{margin-top:1.3rem}
.cl-body h2+h3,.cl-body h2+p+h3{margin-top:1rem}
.scenario{font-family:var(--serif);font-style:italic;color:var(--ink);border-left:3px solid var(--navy);padding:.2rem 0 .2rem 1rem}
.sources{list-style:none;margin:1rem 0 0;padding:0;border-top:1px solid var(--rule-soft)}
.sources li{padding:.6rem 0;border-bottom:1px solid var(--rule-soft)}
.src-host{display:block;font-size:.8rem;color:var(--ink-soft);letter-spacing:.04em}

/* printable checklist */
.checks{list-style:none;margin:0;padding:0}
.checks li{display:grid;grid-template-columns:1.6rem minmax(0,1fr);gap:0 .5rem;padding:.6rem 0;border-bottom:1px dotted var(--rule)}
.checks li:last-child{border-bottom:0}
.checks li>*{min-width:0}
.checks .tick-sq{margin-top:.32rem}
.fill-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.2rem}
.fill-in span{min-width:0;border-bottom:1px solid var(--ink-soft);padding:1.4rem 0 .2rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
@media (max-width:520px){.fill-in{grid-template-columns:minmax(0,1fr)}}
.print-row{margin-top:1.2rem}

/* things that only make sense with JavaScript; hidden until the head script adds .js */
.js-only,.js-only-block,.sa-opts{display:none}
.js .js-only{display:inline-flex}
.js .js-only-block{display:flex}
.js .sa-opts{display:flex}
.js .no-js-note{display:none}
.no-js-note{margin-top:.9rem;color:var(--ink-soft)}

/* risk self-assessment */
.sa{display:block}
.sa-list{list-style:none;margin:0;padding:0}
.sa-list>li{padding:.9rem 0;border-bottom:1px dotted var(--rule)}
.sa-list>li:last-child{border-bottom:0}
.sa-q{border:0;margin:0;padding:0;min-width:0}
.sa-q legend{display:grid;grid-template-columns:2.8rem minmax(0,1fr);gap:0 .6rem;padding:0;font-weight:600;color:var(--navy);width:100%}
.sa-q legend .n{font-family:var(--serif);font-weight:700}
.sa-opts{flex-wrap:wrap;gap:.5rem 1.2rem;margin:.6rem 0 0 3.4rem}
.sa-opts label{display:inline-flex;align-items:center;gap:.45rem;margin:0;font-weight:500;color:var(--ink);cursor:pointer;padding:.25rem 0}
.sa-opts input{width:1.15rem;height:1.15rem;margin:0;accent-color:var(--navy)}
.sa-next{margin:.5rem 0 0 3.4rem;font-size:.93rem;color:var(--ink-soft)}
.sa-next b{color:var(--ink)}
@media (max-width:520px){.sa-q legend{grid-template-columns:minmax(0,1fr)}.sa-opts,.sa-next{margin-left:0}}
.sa-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
.sa-result{margin-top:1.6rem;background:var(--sheet);border:1px solid var(--rule);border-top:3px double var(--brass);padding:clamp(1.2rem,4vw,2.2rem)}
.sa-result[hidden]{display:none}
.sa-result:focus{outline:3px solid var(--navy-tint)}
.sa-result h2,.sa-limits h2{font-size:var(--s-2)}
.sa-result h3{font-size:var(--s-1);margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--rule)}
.sa-result h4{font-family:var(--serif);font-size:1.05rem;color:var(--navy);margin-bottom:.4rem}
.sa-group-intro{margin-top:.5rem;color:var(--ink-soft)}
.sa-pri{margin-top:1.1rem;padding-left:1rem;border-left:3px solid var(--navy)}
.sa-pri li strong{color:var(--navy)}
.sa-cta{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--rule)}
.sa-limits{margin-top:1.6rem}

/* print: the handover checklist (and any guide) prints as a clean document */
@media print{
  .masthead,.strip,footer,.cta-band,.aside,.crumbs,.skip,.no-print,.hero-actions,.sa-actions{display:none!important}
  body{background:#fff;font-size:10.5pt;line-height:1.45}
  .band,.doc-head{padding:0}
  .doc{border:0;padding:0}
  .cols{display:block}
  .doc-head h1{font-size:20pt;max-width:none}
  .doc-rule{margin-top:.6rem}
  .clause{grid-template-columns:2rem minmax(0,1fr);padding:.8rem 0;break-inside:auto}
  .marginal{grid-column:2;margin-top:.5rem}
  .cl-num{font-size:14pt}
  .cl-body h2{font-size:14pt;margin-bottom:.4rem;break-after:avoid}
  .checks li,.sub li,.sa-list>li,tr{break-inside:avoid}
  .table-wrap{overflow:visible;border:0}
  table{min-width:0}
  a{color:#000;text-decoration:none}
  .sources a::after{content:" (" attr(href) ")";font-size:8pt;word-break:break-all}
}

/* ---------- home hero artwork (owner-supplied Lady Justice) ---------- */
.hero-art{margin:0;justify-self:center;width:100%;max-width:380px}
.hero-art img{display:block;width:100%;height:auto}
.hero-art .niche-cap{border-top-color:var(--rule)}
@media (max-width:900px){.hero-art{max-width:320px}}

/* ---------- enquiry form: field errors (shared validator in jinba.FORM_JS) ---------- */
input.field-error,select.field-error,textarea.field-error{border-color:#8B1C1C!important;box-shadow:0 0 0 2px #8B1C1C!important}
.field-msg{margin:.35rem 0 0;font-size:.85rem;font-weight:600;line-height:1.35;color:#8B1C1C}
.field-msg:empty{display:none}
