/* Halyard Row Accounting: ledger paper, deep ledger green, red-ink codes, pale ledger rules. */
:root{
  --paper:#FBFCFA;
  --wash:#F1F6F3;
  --ink:#123B36;
  --ink-2:#3B5A55;
  --red:#B03A2E;
  --rule:#CFE3DA;
  --rule-2:#9CC3B4;
  --link:#1F6B5C;
  --link-2:#154F44;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --wrap:76rem;
  --gut:clamp(1rem,4vw,2.5rem);
  --dbl:3px double var(--rule-2);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:1.5rem}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);font-variant-numeric:tabular-nums}
img{display:block;max-width:100%;height:auto}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--link-2);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:1px}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--ink);margin:0 0 .5em;line-height:1.14;letter-spacing:-.012em}
h1{font-size:clamp(2.3rem,6vw,4.9rem);line-height:1.05;letter-spacing:-.022em}
h2{font-size:clamp(1.6rem,3vw,2.2rem)}
h3{font-size:1.28rem}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.2rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.code{display:block;font:500 .8125rem/1.3 var(--mono);letter-spacing:.08em;color:var(--red);margin:0 0 .7rem}
.mono{font-family:var(--mono)}
.lede{font:400 clamp(1.18rem,2vw,1.4rem)/1.5 var(--serif);color:var(--ink-2)}
.small{font-size:.9rem;color:var(--ink-2)}
.notadvice{font-size:.875rem;color:var(--ink-2);border-left:3px double var(--red);padding-left:.8rem;margin:1.2rem 0 0}

/* Skip link + reveal (kept from the platform starter) */
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:99}
.skip:focus{left:12px;top:12px;color:#fff}
.reveal-pending{transform:translateY(14px)}
.reveal-in{opacity:1;transform:none;transition:opacity .5s,transform .5s}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.55rem 1.25rem;border:1px solid var(--link);border-radius:2px;background:var(--link);color:#fff;font:600 1rem/1.2 var(--sans);text-decoration:none;text-align:center;cursor:pointer}
.btn:hover{background:var(--link-2);border-color:var(--link-2);color:#fff}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--wash);color:var(--ink);border-color:var(--ink)}
.pair{display:flex;gap:.75rem;max-width:31rem}
.pair .btn{flex:1 1 0;min-width:0}

/* Header */
.site-head{position:relative;background:var(--paper);border-bottom:var(--dbl);z-index:20}
.head-row{display:flex;align-items:center;gap:.75rem;min-height:4.75rem}
.brand{display:flex;align-items:center;gap:.65rem;min-width:0;min-height:44px;color:var(--ink);text-decoration:none;font:600 1.15rem/1.1 var(--serif)}
.brand img{flex:none}
.brand:hover{color:var(--ink)}
.nav-main{margin-left:auto}
.nav-main ul{display:flex;list-style:none;margin:0;padding:0}
.nav-main a{display:flex;align-items:center;min-height:44px;padding:0 .7rem;color:var(--ink);text-decoration:none;font-weight:500;font-size:.97rem}
.nav-main a:hover{color:var(--link)}
.nav-main a[aria-current="page"]{color:var(--red);box-shadow:inset 0 -2px 0 var(--red)}
.head-tel{display:flex;align-items:center;min-height:44px;padding:0 .85rem;border:1px solid var(--rule-2);border-radius:2px;color:var(--ink);text-decoration:none;font:500 .9rem var(--mono);white-space:nowrap}
.head-tel:hover{border-color:var(--ink);color:var(--ink)}
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
.lang{position:relative}
.lang summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--ink)}
.lang svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.lang-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lang-panel{position:absolute;right:0;top:calc(100% + .4rem);min-width:12rem;padding:.8rem;background:var(--paper);border:1px solid var(--rule-2);box-shadow:0 8px 24px rgba(18,59,54,.12)}
.mnav{display:none}
.mnav summary{display:flex;align-items:center;gap:.55rem;min-height:44px;padding:0 .85rem;border:1px solid var(--rule-2);border-radius:2px;font-weight:500}
.bars{position:relative;width:18px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.bars::after{content:"";position:absolute;left:0;right:0;top:3px;border-top:2px solid currentColor}
.mnav-panel{position:absolute;left:0;right:0;top:100%;padding:.4rem var(--gut) 1.2rem;background:var(--paper);border-bottom:var(--dbl);box-shadow:0 14px 24px rgba(18,59,54,.1)}
.mnav-panel ul{list-style:none;margin:0;padding:0}
.mnav-panel a{display:flex;align-items:center;min-height:50px;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;font:500 1.2rem var(--serif)}
.mnav-panel a[aria-current="page"]{color:var(--red)}
@media (max-width:1000px){
  .nav-main{display:none}
  .mnav{display:block;margin-left:auto}
}
@media (max-width:640px){
  .head-tel{display:none}
  .brand{font-size:1.02rem}
  .brand-name{max-width:8.5rem}
}

/* Home hero: full-width title, full-bleed quiet photo under it */
.hero{padding:clamp(2.5rem,7vw,5.5rem) 0 0}
.hero h1{margin:0 0 .55em}
.hero-foot{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:end;padding-top:1.6rem;border-top:1px solid var(--rule)}
.hero-foot .lede{margin:0}
.hero-foot .pair{justify-self:end;width:100%}
.hero-photo{margin:clamp(2rem,5vw,3.5rem) 0 0;border-top:var(--dbl);border-bottom:var(--dbl);padding:5px 0}
.hero-photo img{width:100%;aspect-ratio:5/2;max-height:36rem;object-fit:cover}
@media (max-width:760px){
  .hero-foot{grid-template-columns:minmax(0,1fr)}
  .hero-foot .pair{justify-self:start}
  .hero-photo img{aspect-ratio:3/2}
}

/* Inner page head */
.page-hero{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(1.8rem,3.5vw,2.6rem);border-bottom:var(--dbl)}
.page-hero h1{font-size:clamp(2.3rem,5.4vw,4.2rem)}
.page-hero .lede{margin:0;max-width:46rem}
.fee-line{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:1.4rem 0 0;padding:0;list-style:none;font:500 .92rem/1.4 var(--mono);color:var(--ink)}
.fee-line li{padding-left:1rem;position:relative}
.fee-line li::before{content:"";position:absolute;left:0;top:.5em;width:.45rem;height:.45rem;background:var(--red)}

/* Editorial split: sticky index + reading column */
.split{display:grid;grid-template-columns:minmax(0,15.5rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(3rem,7vw,5.5rem)}
.index{position:sticky;top:1.5rem;align-self:start}
.index-label{font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 .8rem}
.index ol{list-style:none;margin:0;padding:0;border-top:var(--dbl)}
.index a{display:grid;grid-template-columns:3.4rem minmax(0,1fr);align-items:baseline;gap:.4rem;min-height:44px;padding:.62rem 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;font-weight:500;line-height:1.35}
.index a .code{margin:0}
.index a:hover span:last-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.index a[aria-current]{color:var(--red)}
.read{max-width:46rem;min-width:0}
.read>section+section{margin-top:clamp(2.8rem,6vw,4.2rem);padding-top:clamp(2rem,4vw,2.8rem);border-top:var(--dbl)}
.read figure{margin:0 0 2rem}
.read figure img{width:100%;aspect-ratio:16/9;object-fit:cover}
@media (max-width:880px){
  .split{grid-template-columns:minmax(0,1fr)}
  .index{position:static}
}

/* Home: three service doors as ledger rows */
.doors{list-style:none;margin:1.8rem 0 0;padding:0;border-top:var(--dbl)}
.door{position:relative;display:grid;grid-template-columns:4.4rem minmax(0,1fr) auto;gap:.3rem 1.4rem;padding:1.6rem 0;border-bottom:1px solid var(--rule)}
.door .code{grid-row:1/3;margin:.45rem 0 0}
.door h3{margin:0 0 .35rem;font-size:1.5rem}
.door h3 a{color:var(--ink);text-decoration:none}
.door h3 a::after{content:"";position:absolute;inset:0}
.door:hover h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.door p{margin:0;color:var(--ink-2)}
.door .fee{grid-column:3;grid-row:1;text-align:right;font:500 1rem/1.3 var(--mono);white-space:nowrap;padding-top:.4rem}
.door .fee small{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.tags{grid-column:2/4;display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:.8rem 0 0;padding:0}
.tags li{font:500 .8rem/1 var(--mono);padding:.4rem .55rem;border:1px solid var(--rule-2);color:var(--ink)}
@media (max-width:560px){
  .door{grid-template-columns:3.3rem minmax(0,1fr)}
  .door .fee{grid-column:2;grid-row:auto;text-align:left;padding-top:.6rem}
  .door .fee small{display:inline;margin-right:.4rem}
  .tags{grid-column:2}
}

/* Home: year at a glance strip */
.year{background:var(--wash);border-top:var(--dbl);border-bottom:var(--dbl);padding:clamp(2.6rem,6vw,4rem) 0}
.year-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.5rem 2rem;margin-bottom:1.6rem}
.year-head h2{margin:0}
.year-head p{margin:0;max-width:30rem;color:var(--ink-2)}
.dates{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.dates li{padding:1rem .9rem 1.1rem 0;border-bottom:1px solid var(--rule)}
.dates li+li{padding-left:.9rem;border-left:1px solid var(--rule)}
.dates .mo{display:block;font:500 .8rem/1 var(--mono);letter-spacing:.12em;color:var(--red);text-transform:uppercase}
.dates .day{display:block;font:600 1.9rem/1.1 var(--serif);margin:.45rem 0 .35rem;font-variant-numeric:lining-nums tabular-nums}
.dates .what{display:block;font-size:.9rem;line-height:1.4}
.year .small{margin:1.2rem 0 0}
@media (max-width:1100px){.dates{grid-template-columns:repeat(4,minmax(0,1fr))}.dates li:nth-child(4n+1){padding-left:0;border-left:0}}
@media (max-width:560px){.dates{grid-template-columns:repeat(2,minmax(0,1fr))}.dates li:nth-child(4n+1){padding-left:.9rem;border-left:1px solid var(--rule)}.dates li:nth-child(2n+1){padding-left:0;border-left:0}}

/* Home: getting started, three ledger columns */
.start{padding:clamp(3rem,7vw,5rem) 0}
.start-head{display:grid;grid-template-columns:minmax(0,15.5rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);margin-bottom:2rem}
.start-head h2{margin:0}
.start-head p{margin:0;max-width:40rem;color:var(--ink-2)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.steps li{padding:1.5rem 1.6rem 1.6rem 0}
.steps li+li{padding-left:1.6rem;border-left:1px solid var(--rule)}
.steps .when{display:block;font:500 .8rem/1.3 var(--mono);letter-spacing:.08em;color:var(--red);text-transform:uppercase;margin-bottom:.6rem}
.steps h3{margin:0 0 .5rem}
.steps p{margin:0;color:var(--ink-2)}
@media (max-width:820px){
  .start-head{grid-template-columns:minmax(0,1fr);gap:.8rem}
  .steps{grid-template-columns:minmax(0,1fr)}
  .steps li+li{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
}

/* Home: team monograms */
.team{padding:0 0 clamp(3rem,7vw,5rem)}
.team-in{display:grid;grid-template-columns:minmax(0,15.5rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-top:clamp(2.4rem,5vw,3.4rem);border-top:var(--dbl)}
.team-in h2{margin:0 0 .6rem}
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;list-style:none;margin:0;padding:0}
.monogram{display:grid;place-items:center;width:4.6rem;height:4.6rem;margin-bottom:1rem;border:4px double var(--ink);font:600 2.1rem/1 var(--serif);color:var(--ink)}
.people h3{margin:0 0 .25rem}
.people p{margin:0;font-size:.97rem;color:var(--ink-2)}
@media (max-width:820px){
  .team-in{grid-template-columns:minmax(0,1fr);gap:1.2rem}
  .people{grid-template-columns:minmax(0,1fr);gap:1.1rem}
  .people li{display:grid;grid-template-columns:4.6rem minmax(0,1fr);gap:1rem;align-items:center}
  .monogram{margin:0}
}

/* Request prompt band */
.ask{background:var(--ink);color:var(--paper);padding:clamp(3rem,7vw,5rem) 0}
.ask-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:end}
.ask h2{color:#fff;margin:0 0 .5rem}
.ask p{margin:0;color:#DCEBE4}
.ask .code{color:#F3B4AA}
.ask .notadvice{color:#CFE3DA;border-left-color:#F3B4AA}
.btn-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.btn-light:hover{background:#fff;border-color:#fff;color:var(--ink)}
.btn-ghost{background:transparent;border-color:#CFE3DA;color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.ask :focus-visible{outline-color:#F3B4AA}
@media (max-width:760px){.ask-in{grid-template-columns:minmax(0,1fr)}}

/* Business: two-column "included / you bring" ledger */
.ledger2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;margin:1.6rem 0 0;border-top:var(--dbl)}
.ledger2 h3{font:500 .8rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin:1rem 0 .4rem}
.ledger2 ul{list-style:none;margin:0;padding:0}
.ledger2 li{padding:.55rem 0;border-bottom:1px solid var(--rule);line-height:1.45}
@media (max-width:620px){.ledger2{grid-template-columns:minmax(0,1fr)}}

/* Business: T2 dates counted from year-end */
.due{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:1.6rem 0 1rem;padding:0;counter-reset:none}
.due li{position:relative;padding:1.6rem 1rem 0 0;border-top:2px solid var(--ink)}
.due li::before{content:"";position:absolute;left:0;top:-7px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink)}
.due li:last-child::before{background:var(--red);border-color:var(--red)}
.due b{display:block;font:500 .95rem/1.3 var(--mono);color:var(--red);margin-bottom:.3rem}
.due span{display:block;font-size:.95rem;line-height:1.45;color:var(--ink-2)}
@media (max-width:620px){
  .due{grid-template-columns:minmax(0,1fr);border-left:2px solid var(--ink);margin-left:.4rem}
  .due li{border-top:0;padding:0 0 1.2rem 1.4rem}
  .due li::before{left:-8px;top:.2rem}
}

/* Tables (HST, deductions, fees) */
.tbox{position:relative;overflow-x:auto;margin:1.6rem 0 1rem}
table{width:100%;border-collapse:collapse;font-size:.97rem}
caption{text-align:left;font:500 .8rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red);padding-bottom:.6rem}
th,td{text-align:left;vertical-align:top;padding:.7rem .9rem .7rem 0;border-bottom:1px solid var(--rule);line-height:1.45}
thead th{font:500 .78rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:var(--dbl)}
tbody th{font-weight:600}
td.num,th.num{text-align:right;padding-right:0;font-family:var(--mono);white-space:nowrap}

/* Business: clean-up checklist */
.ticks{columns:2;column-gap:2rem;list-style:none;margin:1.4rem 0 1rem;padding:0}
.ticks li{break-inside:avoid;position:relative;padding:.5rem 0 .5rem 1.8rem;border-bottom:1px solid var(--rule)}
.ticks li::before{content:"";position:absolute;left:.15rem;top:.85rem;width:.75rem;height:.42rem;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}
@media (max-width:620px){.ticks{columns:1}}

/* Personal: slips to bring */
.slips{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr);margin:1.4rem 0 1rem;border-top:var(--dbl)}
.slips dt,.slips dd{margin:0;padding:.6rem 0;border-bottom:1px solid var(--rule)}
.slips dt{font:500 .92rem/1.45 var(--mono);color:var(--ink);padding-right:1rem}
@media (max-width:420px){.slips{grid-template-columns:minmax(0,1fr)}.slips dt{border-bottom:0;padding-bottom:0}}

/* Personal: rental property card */
.card{margin:1.4rem 0 1rem;padding:1.3rem 1.4rem;background:var(--wash);border:1px solid var(--rule)}
.card h3{font-size:1.1rem;margin:0 0 .6rem}
.card ul{margin:0;padding-left:1.1rem}
.card li{margin:.25rem 0}
.card .small{margin:.8rem 0 0}

/* Personal: instalment dates */
.quarters{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:1.2rem 0 1rem;padding:0}
.quarters li{flex:1 1 7rem;padding:.8rem 1rem;border:1px solid var(--ink);text-align:center;font:500 1.15rem/1.2 var(--mono)}
.quarters li span{display:block;font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:.35rem}

/* Personal: referred out */
.out{list-style:none;margin:1.4rem 0 1rem;padding:0 0 0 1.2rem;border-left:4px double var(--red)}
.out li{padding:.5rem 0;font:500 1.15rem/1.4 var(--serif)}
.out li span{display:block;font:400 .93rem/1.45 var(--sans);color:var(--ink-2)}

/* Payroll: worked fee examples with accounting double underline */
.calc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:1.6rem 0 1rem}
.calc table{font-family:var(--mono);font-size:.9rem}
.calc td{padding:.45rem 0;border-bottom:0}
.calc tr.sum td{border-top:1px solid var(--ink);font-weight:500}
.calc tr.sum td.num{border-bottom:3px double var(--ink)}
.calc caption{font-size:.74rem}
@media (max-width:620px){.calc{grid-template-columns:minmax(0,1fr)}}

/* Payroll: T4 / T5 pair */
.slip-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0 1rem}
.slip-pair div{padding:1.1rem 1.2rem;border:4px double var(--rule-2)}
.slip-pair b{display:block;font:600 2rem/1 var(--serif);margin-bottom:.5rem}
.slip-pair span{display:block;font-size:.95rem;line-height:1.45;color:var(--ink-2)}
@media (max-width:420px){.slip-pair{grid-template-columns:minmax(0,1fr)}}

/* Payroll: ROE needs */
.needs{margin:1.2rem 0 1rem;padding:1rem 1.2rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.needs p{margin:0}

/* Payroll: remittance calendar */
.cal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;margin:1.6rem 0 1rem;padding:0;border-top:1px solid var(--ink);border-left:1px solid var(--rule)}
.cal li{padding:.75rem .7rem .9rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-height:7.2rem}
.cal .mo{display:block;font:500 .75rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.cal .d{display:block;font:600 1.5rem/1.1 var(--serif);margin:.4rem 0 .25rem}
.cal .n{display:block;font-size:.8rem;line-height:1.35;color:var(--ink-2)}
.cal .x{color:var(--red);font-weight:500}
@media (max-width:860px){.cal{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:520px){.cal{grid-template-columns:repeat(3,minmax(0,1fr))}.cal li{padding:.6rem .5rem .7rem}}

/* Fees: FAQ */
.faq{margin:1.4rem 0 0;border-top:var(--dbl)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:.8rem 0;font:600 1.12rem/1.35 var(--serif)}
.faq summary::after{content:"+";flex:none;font:500 1.3rem/1 var(--mono);color:var(--red)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 1.1rem;color:var(--ink-2);max-width:42rem}
.fees-table td small{display:block;color:var(--ink-2);font-size:.88rem;font-family:var(--sans);white-space:normal}
.fees-table td.code-cell{font:500 .82rem/1.6 var(--mono);color:var(--red);width:3.6rem;letter-spacing:.06em}
.fees-table td.num{font-size:.95rem;white-space:normal;width:10rem}
@media (max-width:480px){.fees-table td.num{width:6.5rem}}

/* Contact */
.office{font-size:.98rem}
.office h2{font-size:1.25rem;margin:0 0 .4rem}
.office section+section{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--rule)}
.office p{margin:0 0 .4rem}
.hours{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem 1rem;margin:0;font-size:.95rem}
.hours dt{font-family:var(--mono);font-size:.88rem;padding-top:.1rem}
.hours dd{margin:0}
.form{display:grid;gap:1.2rem;padding:clamp(1.3rem,3vw,2rem);background:#fff;border:1px solid var(--rule-2);border-top:4px double var(--ink)}
.field{display:grid;gap:.4rem}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
label{font-weight:600;font-size:.97rem}
.opt{font-weight:400;color:var(--ink-2);font-size:.88rem}
input,select{width:100%;min-height:48px;padding:.6rem .75rem;border:1px solid #6E8C85;border-radius:2px;background:#fff;color:var(--ink);font:400 1rem/1.3 var(--sans)}
input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:1px}
.form .btn{justify-self:start;min-width:14rem}
.form .notadvice{margin:0}
.finding{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(2.5rem,6vw,4rem) 0 clamp(3rem,7vw,5rem);border-top:var(--dbl)}
.finding img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media (max-width:760px){.field-row,.finding{grid-template-columns:minmax(0,1fr)}.form .btn{width:100%}}

/* Accessibility statement */
.statement{max-width:46rem;padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(3rem,7vw,5rem)}
.statement h2{font-size:1.45rem;margin-top:2rem}
.statement h2:first-child{margin-top:0}
.statement li{margin:.35rem 0}

/* Footer */
.site-foot{background:var(--wash);border-top:var(--dbl);padding:clamp(2.6rem,6vw,3.6rem) 0 1.6rem;font-size:.96rem}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:2rem}
.foot-grid p{margin:.8rem 0 0;color:var(--ink-2);max-width:22rem}
.site-foot h2{font:500 .76rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 .5rem}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none}
.site-foot li a:hover{text-decoration:underline}
.foot-contact a{display:flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:.9rem}
.foot-contact a:hover{text-decoration:underline}
.foot-contact p{margin:.3rem 0 0;color:var(--ink-2)}
.foot-base{margin-top:2.2rem;padding-top:1.2rem;border-top:var(--dbl);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;color:var(--ink-2);font-size:.86rem}
.foot-base p{margin:0}
@media (max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.foot-grid{grid-template-columns:minmax(0,1fr)}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
