/* Hallmark · genre: editorial · macrostructure: editorial marquee + ledger (multi-page family)
 * theme: custom (brand-locked 真鶴雙站視覺 v1.0 — 紙白/墨黑/草木綠/黃銅金/硃砂)
 * paper oklch(96.9% .011 95) · accent green oklch(38.5% .055 165) · gold+cinnabar marks ≤3%
 * display: Noto Serif TC (palt) · body: Noto Sans TC · outlier: IBM Plex Mono (data register)
 * nav: N6 masthead voice · footer: Ft4 colophon voice · enrichment: none (typographic)
 * design-system: design.md · designed-as-app · copy frozen — visual layer only
 * pre-emit critique: P5 H4 E4 S5 R5 V4
 */

:root{
  /* 色 — hex fallback first, OKLCH override for modern engines */
  --paper:#F7F5EF;        --paper:oklch(96.9% 0.011 95);
  --paper-2:#F1EEE5;      --paper-2:oklch(95.2% 0.013 95);
  --porcelain:#FDFCF9;    --porcelain:oklch(99.1% 0.004 100);
  --ink:#1D2523;          --ink:oklch(24.5% 0.011 190);
  --ink-2:#3A4441;        --ink-2:oklch(36% 0.012 180);
  --green:#24513F;        --green:oklch(38.5% 0.055 165);
  --green-deep:#17372D;   --green-deep:oklch(29.5% 0.048 168);
  --gray:#6E7C78;         --gray:oklch(57% 0.016 175);
  --wash:#E4E2DA;         --wash:oklch(90.8% 0.009 100);
  --wash-strong:#CFCDC2;  --wash-strong:oklch(83.5% 0.011 100);
  --gold:#B99046;         --gold:oklch(66.5% 0.088 80);
  --cinnabar:#B94A3A;     --cinnabar:oklch(54.5% 0.125 30);
  --mist:#EAF1EC;         --mist:oklch(94.6% 0.014 160);
  --mist-line:#D5E2DA;    --mist-line:oklch(89% 0.016 160);
  --amber:#9A6E20;        --amber:oklch(55% 0.1 75);
  --amber-bg:#FBF3E3;     --amber-bg:oklch(96.3% 0.024 85);
  --red-bg:#F8E9E6;       --red-bg:oklch(94.4% 0.019 25);
  --deep-text:#D9E3DE;    --deep-text:oklch(90% 0.013 165);
  --deep-sub:#A9BBB2;     --deep-sub:oklch(76.5% 0.02 168);
  --cinnabar-deep:#9B3B2D;--cinnabar-deep:oklch(47% 0.12 30);
  --gold-ink:#7C5E22;     --gold-ink:oklch(48% 0.09 78);
  --gold-line:#E2CD9E;    --gold-line:oklch(88% 0.05 82);
  --red-line:#E9CFC7;     --red-line:oklch(87% 0.045 27);
  --amber-line:#EBDCB4;   --amber-line:oklch(90% 0.04 85);

  /* 版 */
  --maxw:1120px;
  --radius:3px;
  --rule-double:3px double var(--wash-strong);

  /* 字 */
  --serif:"Noto Serif TC","Source Han Serif TC","Songti TC","PMingLiU",serif;
  --sans:"Noto Sans TC","Source Han Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  --num:"IBM Plex Mono","Noto Sans TC",ui-monospace,monospace;

  /* 距 — 4pt named scale */
  --space-2xs:4px; --space-xs:8px; --space-sm:12px; --space-md:16px;
  --space-lg:24px; --space-xl:40px; --space-2xl:64px; --space-3xl:96px; --space-4xl:144px;

  /* 動 */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in:cubic-bezier(.7,0,.84,0);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-micro:120ms; --dur-short:220ms; --dur-long:420ms;

  /* 層 */
  --z-sticky:200; --z-raised:10;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.85;letter-spacing:.014em;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
::selection{background:oklch(66.5% 0.088 80 / .28)}
[id]{scroll-margin-top:96px}

a{color:var(--green);text-decoration:none;transition:color var(--dur-micro) var(--ease-out)}
a:hover{color:var(--green-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:2px}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.28;margin:0 0 .6em;color:var(--ink);font-feature-settings:"palt";letter-spacing:.01em;overflow-wrap:anywhere;min-width:0}
h1{font-size:clamp(1.9rem,1.1rem + 3.6vw,3.4rem);font-weight:700;line-height:1.22}
h2{font-size:clamp(1.5rem,1.1rem + 1.9vw,2.15rem)}
h3{font-size:clamp(1.15rem,1rem + .8vw,1.4rem)}
h4{font-size:17px;font-family:var(--sans);font-weight:700;letter-spacing:.02em}
p{margin:0 0 1em}
small,.small{font-size:13.5px;color:var(--gray);letter-spacing:.01em}
.num{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:0}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:820px}
section{padding:76px 0}
section.tight{padding:44px 0}
section.bg-mist{padding:84px 0}
.bg-paper{background:var(--paper)}
.bg-mist{background:var(--mist)}
.bg-deep{background:var(--green-deep);color:var(--deep-text)}
.bg-deep h2,.bg-deep h3{color:var(--porcelain)}
.bg-deep p{color:var(--deep-text)}
.bg-deep a{color:var(--porcelain);text-decoration:underline;text-underline-offset:3px}
.bg-deep a.btn{text-decoration:none}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:500;margin-bottom:16px;font-family:var(--num)}
.eyebrow::before{content:"";width:16px;height:2px;background:var(--gold);flex:none}
.bg-deep .eyebrow{color:var(--deep-sub)}
.lead{font-size:19px;color:var(--ink-2);line-height:1.9}
.bg-deep .lead{color:var(--deep-text)}
hr.rule{border:0;border-top:1px solid var(--wash);margin:0}
.muted{color:var(--gray)}

/* ============ masthead ============ */
.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:oklch(99.1% 0.004 100 / .95);backdrop-filter:saturate(120%) blur(8px);border-bottom:var(--rule-double)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:13px;color:var(--ink);font-family:var(--serif);font-weight:700;font-size:19px;white-space:nowrap;font-feature-settings:"palt";letter-spacing:.03em}
.brand:hover{text-decoration:none;color:var(--ink)}
.brand img{width:38px;height:38px}
.brand .en{font-family:var(--num);font-weight:500;font-size:10.5px;color:var(--gray);display:block;line-height:1.4;letter-spacing:.1em;margin-top:2px}
.nav{display:flex;align-items:center;gap:26px}
.nav a{color:var(--ink-2);font-size:15px;font-weight:500;white-space:nowrap;padding-bottom:3px;border-bottom:2px solid transparent}
.nav a.active{color:var(--green);border-bottom-color:var(--gold)}
.nav a:hover{text-decoration:none;color:var(--green)}
.nav .btn{padding:9px 16px;font-size:14px;border-bottom:1px solid var(--green)}
.nav a.btn{color:#fff}
.nav a.btn:hover{color:#fff;border-bottom-color:var(--green-deep)}
.nav a.btn.active{color:#fff;border-bottom:1px solid var(--green);padding-bottom:9px}
.nav-toggle{display:none;background:none;border:1px solid var(--wash-strong);border-radius:var(--radius);padding:8px 12px;font-size:14px;cursor:pointer;color:var(--ink);font-family:var(--num);letter-spacing:.08em}
.nav-toggle:hover{border-color:var(--green);color:var(--green)}
@media (max-width:900px){
  .site-header .container{height:64px}
  .brand{font-size:17px}
  .brand img{width:34px;height:34px}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--porcelain);border-bottom:var(--rule-double);flex-direction:column;align-items:stretch;gap:0;padding:6px 0 14px;box-shadow:0 12px 24px oklch(24.5% 0.011 190 / .07)}
  .nav.open{display:flex;animation:navdrop var(--dur-short) var(--ease-out)}
  .nav a{padding:13px 24px;border-bottom:1px solid var(--wash);font-size:16px}
  .nav a.active{border-bottom:1px solid var(--wash);color:var(--green);background:var(--mist)}
  .nav .btn{margin:14px 24px 0;text-align:center;border-bottom:1px solid var(--green)}
  .nav-toggle{display:inline-block}
}
@keyframes navdrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ============ buttons ============ */
.btn{display:inline-block;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:var(--radius);padding:13px 22px;font-size:16px;font-weight:600;line-height:1.2;cursor:pointer;letter-spacing:.03em;white-space:nowrap;transition:background var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out);font-family:var(--sans)}
.btn:hover{background:var(--green-deep);border-color:var(--green-deep);color:#fff;text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn.secondary{background:var(--porcelain);color:var(--green);border-color:var(--wash-strong)}
.btn.secondary:hover{background:var(--mist);color:var(--green-deep);border-color:var(--green)}
.btn.cinnabar{background:var(--cinnabar);border-color:var(--cinnabar)}
.btn.cinnabar:hover{background:var(--cinnabar-deep);border-color:var(--cinnabar-deep)}
.btn.ghost{background:transparent;color:var(--porcelain);border-color:oklch(99.1% 0.004 100 / .5)}
.btn.ghost:hover{background:oklch(99.1% 0.004 100 / .12);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn.block{display:block;width:100%;text-align:center}
@media (max-width:430px){
  .btn-row .btn{display:block;width:100%;text-align:center;font-size:15px;padding:13px 14px}
}

/* ============ hero ============ */
.hero{padding:92px 0 68px;background:linear-gradient(180deg,var(--paper) 0%,var(--porcelain) 100%);border-bottom:1px solid var(--wash);position:relative}
.hero .container{position:relative}
.hero h1{max-width:18em}
.hero .lead{max-width:38em;margin-bottom:30px}
.hero .eyebrow,.hero h1,.hero .lead,.hero .btn-row,.hero .hero-strip{animation:rise var(--dur-long) var(--ease-out) backwards}
.hero h1{animation-delay:50ms}
.hero .lead{animation-delay:110ms}
.hero .btn-row{animation-delay:170ms}
.hero .hero-strip{animation-delay:230ms}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero-strip{margin-top:44px;display:flex;flex-wrap:wrap;gap:10px 0;color:var(--ink-2);font-size:13px;font-family:var(--num);letter-spacing:.02em;border-top:1px solid var(--wash);padding-top:18px;max-width:46em}
.hero-strip span{padding:0 22px;border-left:1px solid var(--wash-strong)}
.hero-strip span:first-child{padding-left:0;border-left:0}
@media (max-width:640px){
  .hero{padding:64px 0 52px}
  .hero-strip{flex-direction:column;gap:10px;border-top:1px solid var(--wash)}
  .hero-strip span{border-left:0;padding:0 0 0 18px;position:relative}
  .hero-strip span::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:1.5px;background:var(--gold)}
}

/* ============ page head ============ */
.page-head{padding:68px 0 44px;background:var(--paper);border-bottom:1px solid var(--wash)}
.page-head h1{max-width:20em;font-size:clamp(1.7rem,1rem + 3vw,2.7rem)}
.page-head .lead{max-width:42em;margin-bottom:0}
.page-head .eyebrow,.page-head h1,.page-head .lead{animation:rise var(--dur-long) var(--ease-out) backwards}
.page-head h1{animation-delay:50ms}
.page-head .lead{animation-delay:110ms}

/* ============ cards & grids ============ */
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (min-width:961px){.svc-grid{grid-template-columns:1.08fr 1fr 1fr}}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3 > :last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:640px){.grid-3,.grid-2,.grid-4{grid-template-columns:minmax(0,1fr)}
  .grid-3 > :last-child:nth-child(odd){grid-column:auto}}
.card{background:var(--porcelain);border:1px solid var(--wash);border-top:2px solid var(--wash-strong);border-radius:var(--radius);padding:28px 26px 24px}
.card.paper{background:var(--paper)}
.card.mist{background:var(--mist);border-color:var(--mist-line);border-top-color:var(--green)}
.card.lead-card{background:var(--paper);border-top:2px solid var(--gold)}
.card h3{margin-bottom:.5em}
.card .q{font-family:var(--num);color:var(--gray);font-size:12.5px;letter-spacing:.04em;margin-bottom:14px;line-height:1.7;min-height:3.4em}
.card .price{font-family:var(--num);font-size:22px;font-weight:600;color:var(--green);margin:2px 0 4px;font-variant-numeric:tabular-nums}
.card .price small{font-size:12px;color:var(--gray);font-weight:400;font-family:var(--num)}
.card ul{padding-left:1.2em;margin:.4em 0 .9em}
.card li{margin-bottom:.35em;font-size:15.5px;line-height:1.75}
.card > a:last-child{font-weight:600;font-size:15px}
@media (max-width:900px){.card .q{min-height:0}}

.tag{display:inline-block;background:var(--mist);color:var(--green-deep);border:1px solid var(--mist-line);font-size:11.5px;font-weight:500;padding:2px 9px;border-radius:2px;margin:0 6px 8px 0;font-family:var(--num);letter-spacing:.06em}
.tag.gray{background:var(--paper);color:var(--ink-2);border-color:var(--wash)}
.tag.gold{background:var(--amber-bg);color:var(--gold-ink);border-color:var(--gold-line)}
.tag.red{background:var(--red-bg);color:var(--cinnabar);border-color:var(--red-line)}
.tag.amber{background:var(--amber-bg);color:var(--amber);border-color:var(--gold-line)}

/* ============ steps — ledger ============ */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 36px;border:0;border-radius:0;overflow:visible;background:none}
.step{padding:20px 0 6px;border-right:0;border-top:2px solid var(--ink);position:relative}
.step .n{font-family:var(--num);font-size:12.5px;color:var(--gold);font-weight:600;letter-spacing:.12em;margin-bottom:10px}
.step h3{font-size:19px;margin-bottom:8px}
.step p{font-size:14.5px;color:var(--ink-2);margin:0;line-height:1.75}
.step .meta{font-size:12.5px;color:var(--gray);margin-top:12px;font-family:var(--num);letter-spacing:.02em}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:0}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr);gap:10px}.step{border-right:0;border-bottom:0;padding:16px 0 10px}}

/* ============ tables — fee schedule ============ */
.table-wrap{overflow-x:auto;border:1px solid var(--wash);border-radius:var(--radius);background:var(--porcelain)}
table{width:100%;border-collapse:collapse;font-size:15px;background:var(--porcelain);min-width:640px}
th,td{padding:14px 16px;border-bottom:1px solid var(--wash);text-align:left;vertical-align:top}
th{background:var(--paper);font-weight:600;font-size:12.5px;color:var(--ink-2);font-family:var(--num);letter-spacing:.08em;border-bottom:2px solid var(--wash-strong)}
tbody tr{transition:background var(--dur-micro) var(--ease-out)}
tbody tr:hover{background:oklch(96.9% 0.011 95 / .6)}
tr:last-child td{border-bottom:0}
td:first-child{font-weight:600}
td.num{font-family:var(--num);font-variant-numeric:tabular-nums;font-weight:600;color:var(--green)}
td.num small{font-family:var(--num)}
.table-wrap.compact table{min-width:0}

/* ============ lists ============ */
.checks{list-style:none;padding:0;margin:0}
.checks li{position:relative;padding-left:30px;margin-bottom:12px}
.checks li::before{content:"";position:absolute;left:0;top:.52em;width:10px;height:10px;background:var(--mist);border:1.5px solid var(--green)}
.checks.no li::before{background:var(--red-bg);border-color:var(--cinnabar)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media (max-width:760px){.two-col{grid-template-columns:minmax(0,1fr)}}

/* ============ accordion ============ */
details{border-top:1px solid var(--wash);padding:0;interpolate-size:allow-keywords}
details:last-of-type{border-bottom:1px solid var(--wash)}
summary{cursor:pointer;padding:19px 0;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:color var(--dur-micro) var(--ease-out)}
summary:hover{color:var(--green)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--num);color:var(--gold);font-size:21px;font-weight:500;line-height:1;flex:none;transition:transform var(--dur-short) var(--ease-in-out)}
details[open] summary{color:var(--green)}
details[open] summary::after{content:"−";color:var(--green)}
details::details-content{opacity:0;block-size:0;overflow-y:clip;transition:content-visibility var(--dur-long) allow-discrete,opacity var(--dur-long) var(--ease-out),block-size var(--dur-long) var(--ease-out)}
details[open]::details-content{opacity:1;block-size:auto}
details .a{padding:0 0 20px;color:var(--ink-2);max-width:60em}

/* ============ callouts ============ */
.callout{border-left:2px solid var(--gold);padding:8px 0 8px 26px;font-family:var(--serif);font-feature-settings:"palt";font-size:clamp(19px,1rem + 1.3vw,26px);line-height:1.6;margin:40px 0;color:var(--ink);font-weight:600;max-width:34em}
.notice{background:var(--paper);border:1px solid var(--wash);border-radius:var(--radius);padding:18px 22px;font-size:15px;color:var(--ink-2);line-height:1.8}
.notice.red{background:var(--red-bg);border-color:var(--red-line)}
.notice.amber{background:var(--amber-bg);border-color:var(--amber-line)}
.notice.mist{background:var(--mist);border-color:var(--mist-line)}
.notice strong{color:var(--ink)}

/* ============ forms ============ */
form.lead-form{display:grid;gap:16px}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:14.5px;letter-spacing:.02em}
.field .hint{font-size:13px;color:var(--gray)}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font:inherit;font-size:16px;padding:11px 12px;border:1px solid var(--wash-strong);border-radius:var(--radius);background:var(--porcelain);color:var(--ink);min-height:46px;transition:border-color var(--dur-micro) var(--ease-out)}
textarea{min-height:120px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:var(--gray)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){.field-row{grid-template-columns:minmax(0,1fr)}}
.check-inline{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2)}
.check-inline input{margin-top:5px;accent-color:var(--green)}
.form-status{font-size:15px;padding:14px 16px;border-radius:var(--radius);display:none}
.form-status.ok{display:block;background:var(--mist);color:var(--green-deep);border:1px solid var(--mist-line)}
.form-status.err{display:block;background:var(--red-bg);color:var(--cinnabar);border:1px solid var(--red-line)}

/* ============ self check ============ */
.quiz .qcard{border:1px solid var(--wash);border-top:2px solid var(--wash-strong);border-radius:var(--radius);padding:24px 26px;margin-bottom:18px;background:var(--porcelain)}
.quiz .qcard h3{font-size:17.5px;margin-bottom:14px;font-family:var(--sans);font-weight:700}
.quiz .qcard h3 .qn{font-family:var(--num);color:var(--gold);margin-right:12px;font-size:12.5px;letter-spacing:.1em;font-weight:600}
.opts{display:grid;gap:8px}
.opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--wash);border-radius:var(--radius);padding:12px 14px;cursor:pointer;font-size:15.5px;line-height:1.6;background:var(--porcelain);transition:border-color var(--dur-micro) var(--ease-out),background var(--dur-micro) var(--ease-out)}
.opt:hover{border-color:var(--green);background:var(--paper)}
.opt:focus-within{outline:2px solid var(--green);outline-offset:1px}
.opt input{margin-top:5px;accent-color:var(--green)}
.opt.selected{border-color:var(--green);background:var(--mist)}
.progress{height:3px;background:var(--wash);border-radius:0;overflow:hidden;margin:0 0 28px}
.progress > i{display:block;height:100%;background:var(--green);width:0;transition:width var(--dur-short) var(--ease-out)}
.result{display:none}
.result.show{display:block}
.light{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14px;padding:8px 14px;border-radius:2px;font-family:var(--num);letter-spacing:.02em}
.light i{width:11px;height:11px;border-radius:50%;display:inline-block}
.light.green{background:var(--mist);color:var(--green-deep);border:1px solid var(--mist-line)}.light.green i{background:var(--green)}
.light.amber{background:var(--amber-bg);color:var(--amber);border:1px solid var(--gold-line)}.light.amber i{background:var(--gold)}
.light.red{background:var(--red-bg);color:var(--cinnabar);border:1px solid var(--red-line)}.light.red i{background:var(--cinnabar)}
.result-box{border:1px solid var(--wash-strong);border-top:3px double var(--green);border-radius:var(--radius);padding:32px 30px;background:var(--porcelain)}
.result-box h2{font-size:clamp(1.35rem,1rem + 1.4vw,1.75rem)}
.result-box .reasons li{margin-bottom:9px;line-height:1.8}
@media (max-width:640px){.result-box{padding:24px 18px}}

/* ============ colophon footer ============ */
.site-footer{background:var(--green-deep);color:var(--deep-text);padding:60px 0 32px;font-size:14px;line-height:1.85;border-top:3px solid var(--gold)}
.site-footer a{color:var(--porcelain)}
.site-footer a:hover{color:#fff}
.site-footer .cols{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:40px}
@media (max-width:800px){.site-footer .cols{grid-template-columns:minmax(0,1fr);gap:32px}}
.site-footer h4{color:var(--deep-sub);font-size:12px;margin-bottom:12px;font-family:var(--num);font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.site-footer .cols a{display:inline-block;padding:1px 0}
.site-footer .legal{border-top:1px solid oklch(99.1% 0.004 100 / .16);margin-top:44px;padding-top:20px;font-size:12.5px;color:var(--deep-sub);line-height:1.9}
.site-footer .brandline{display:flex;align-items:center;gap:11px;color:var(--porcelain);font-family:var(--serif);font-feature-settings:"palt";font-size:18px;font-weight:600;margin-bottom:14px}
.site-footer .brandline img{width:30px;height:30px;filter:brightness(1.15)}
.site-footer .foot-sub{color:var(--deep-sub)}

/* ============ misc ============ */
.kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:640px){.kpi{grid-template-columns:minmax(0,1fr)}}
.kpi .k{border-top:2px solid var(--gold);padding-top:14px}
.kpi .k b{display:block;font-family:var(--num);font-size:24px;color:var(--green);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.4}
.kpi .k span{font-size:13.5px;color:var(--gray)}
.cta-band{padding:88px 0}
.cta-band h2{margin-bottom:14px}
.mt-0{margin-top:0}.mt-1{margin-top:16px}.mt-2{margin-top:32px}.mt-3{margin-top:48px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:16px}.mb-2{margin-bottom:32px}
.center{text-align:center}
.seal{display:inline-block;border:1.5px solid var(--cinnabar);color:var(--cinnabar);border-radius:2px;padding:2px 9px;font-size:12px;font-weight:700;letter-spacing:.14em;font-family:var(--serif)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0);border:0!important}
.fourohfour{padding:40px 24px}
.fourohfour h1{font-size:clamp(1.8rem,1rem + 2.6vw,2.5rem)}

/* ============ sample report ============ */
.report{max-width:860px;margin:0 auto;background:var(--porcelain);border:1px solid var(--wash-strong);padding:52px 56px;font-size:15px;position:relative}
.report header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px double var(--green);padding-bottom:18px;margin-bottom:26px;gap:20px}
.report header h1{font-size:25px;margin:0;animation:none}
.report .meta{font-family:var(--num);font-size:12px;color:var(--gray);line-height:1.9;letter-spacing:.01em}
.report h2{font-size:19px;margin:30px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--wash)}
.report h3{font-size:15.5px;font-family:var(--sans);font-weight:700;margin:16px 0 6px}
.report table{min-width:0;font-size:14px}
.report th{font-size:12px}
.report .sample-mark{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);font-size:96px;color:oklch(54.5% 0.125 30 / .07);font-family:var(--serif);font-weight:700;pointer-events:none;letter-spacing:.2em;white-space:nowrap;z-index:var(--z-raised)}
@media (max-width:700px){.report{padding:28px 20px}.report header{flex-direction:column;gap:10px}}
@media print{
  .site-header,.site-footer,.no-print{display:none!important}
  body{font-size:12.5px;background:#fff}
  .report{border:0;padding:0;max-width:none}
  .report .sample-mark{position:absolute;color:rgba(185,74,58,.12)}
}

/* ============ reduced motion ============ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}
}
