/* Cliniquorix: HumanCare Atelier theme. Cream and peach grounds, sage panels, coral actions. */
@font-face{font-family:"Clq Serif";src:url("/assets/fonts/clq-serif-500.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Clq Serif";src:url("/assets/fonts/clq-serif-500i.woff") format("woff");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Clq Sans";src:url("/assets/fonts/clq-sans-400.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Clq Sans";src:url("/assets/fonts/clq-sans-400i.woff") format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Clq Sans";src:url("/assets/fonts/clq-sans-700.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}

:root{
  --cream:#FBF5EF;--peach:#F5E7DC;--sand:#EFE1D3;--paper:#FFFDFB;--white:#FFFFFF;
  --ink:#262220;--muted:#5B524C;--line:#E7D7C9;--line-soft:#F0E4D9;
  --coral:#B4512F;--coral-deep:#9E4427;--coral-text:#A3482A;--coral-display:#C9694A;
  --sage:#56735F;--sage-deep:#3F5A48;--sage-soft:#DDE6DC;--sage-mist:#EEF3EE;
  --focus:#2F4A3A;
  --serif:"Clq Serif",Georgia,"Times New Roman",serif;
  --sans:"Clq Sans","Segoe UI",Arial,sans-serif;
  --radius:14px;--radius-sm:10px;--shadow:0 10px 30px rgba(84,58,40,.08);--shadow-sm:0 4px 14px rgba(84,58,40,.07);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--coral-text);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--coral-deep)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.on-dark :focus-visible,.care-panel :focus-visible,.aside-card :focus-visible{outline-color:#FFFFFF}
[hidden]{display:none!important}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 .5em;color:var(--ink);letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem)}
h2{font-size:clamp(1.65rem,3vw,2.35rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:50}
.skip:focus{top:12px;color:#fff}
.eyebrow{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--coral-text);margin:0 0 .8em}
.accent{color:var(--coral-display);display:block}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;min-height:46px;padding:.7em 1.35em;border-radius:6px;font-family:var(--sans);font-weight:700;font-size:.95rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;line-height:1.2}
.btn-coral{background:var(--coral);color:#fff;border-color:var(--coral)}
.btn-coral:hover{background:var(--coral-deep);border-color:var(--coral-deep);color:#fff}
.btn-line{background:transparent;color:var(--ink);border-color:#3b3531}
.btn-line:hover{background:var(--ink);color:#fff}
.arr{display:inline-block;width:14px;height:10px;position:relative}
.arr::before{content:"";position:absolute;left:0;top:4px;width:12px;height:2px;background:currentColor}
.arr::after{content:"";position:absolute;right:1px;top:1px;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}

/* header */
.site-head{background:var(--cream);border-bottom:1px solid var(--line-soft);position:relative;z-index:20}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-mark{flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--serif);font-size:1.75rem;letter-spacing:-.01em}
.brand-tag{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.site-nav li a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--ink);text-decoration:none;font-size:.92rem;border-bottom:2px solid transparent}
.site-nav li a:hover{color:var(--coral-text)}
.site-nav li a[aria-current="page"]{color:var(--coral-text);border-bottom-color:var(--coral-display)}
.nav-toggle{display:none;align-items:center;gap:8px;min-height:44px;padding:0 14px;background:var(--paper);border:1.5px solid var(--line);border-radius:8px;font:700 .9rem var(--sans);color:var(--ink);cursor:pointer}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:18px;height:2px;background:currentColor;position:relative}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0}
.nav-toggle-bars::before{top:-6px}.nav-toggle-bars::after{top:6px}
@media (max-width:1120px){
  .nav-toggle{display:inline-flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--line);padding:12px 24px 22px;flex-direction:column;align-items:stretch;gap:12px;box-shadow:var(--shadow)}
  .site-nav.open{display:flex}
  .site-nav ul{flex-direction:column}
  .site-nav li a{width:100%;border-bottom:1px solid var(--line-soft);padding:0 4px}
  .nav-cta{justify-content:center}
}

/* home: hero */
.hero{background:linear-gradient(100deg,var(--cream) 0%,var(--cream) 42%,var(--peach) 100%);border-bottom:1px solid var(--line-soft);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 610px;gap:24px;align-items:end;padding-top:46px}
.hero-copy{padding-bottom:40px}
.hero-copy h1{font-size:clamp(2.2rem,3.9vw,3.3rem);line-height:1.05;margin-bottom:.45em}
.hero-copy .lead{font-size:1.06rem;max-width:36em;color:#3c3531}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 30px}
.hero-feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.hero-feats li{display:flex;flex-direction:column;gap:8px;font-size:.8rem;line-height:1.38;color:var(--muted)}
.hero-feats strong{display:block;color:var(--ink);font-size:.86rem;margin-bottom:3px}
.hero-visual{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;gap:0;min-height:100%}
.hero-photo{position:relative;flex:none;width:min(372px,100%);margin:0 -56px 0 0;z-index:1}
.hero-photo img{width:100%;height:auto}
span.t{display:block}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.hero-photo .pill{position:absolute;left:14px;bottom:14px}
.care-panel{position:relative;z-index:2;align-self:center;width:268px;flex:none;background:var(--sage);color:#fff;border-radius:16px;padding:22px 20px;box-shadow:0 18px 40px rgba(46,64,52,.22);margin:0 0 34px}
.care-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.care-panel li{display:grid;grid-template-columns:34px 1fr;gap:12px}
.care-panel strong{display:block;font-size:.98rem;margin-bottom:3px}
.care-panel span.t{font-size:.84rem;line-height:1.45;color:#F3F6F2}
.care-panel a{color:#fff}
/* below the wide layout the hero stacks: copy first, then the photo with the panel beside it (no empty band above the photo) */
@media (max-width:1319px){
  .hero-grid{grid-template-columns:1fr;padding-top:34px}
  .hero-copy{padding-bottom:18px}
  .hero-copy .lead{max-width:44em}
  .hero-visual{justify-content:center;align-items:center}
  .hero-photo{margin:0 -40px 0 0}
  .care-panel{margin:0}
}
@media (max-width:980px){
  .hero-visual{flex-wrap:wrap}
  .hero-photo{margin:0}
  .care-panel{width:100%;max-width:372px;margin:-30px 0 30px}
  .hero-feats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* icons (drawn with CSS borders, no images) */
.ico{flex:none;display:inline-block;width:28px;height:28px;position:relative;color:var(--coral-text)}
.care-panel .ico{color:#fff;width:30px;height:30px}
.ico::before,.ico::after{content:"";position:absolute;box-sizing:border-box}
.ico-cal::before{inset:4px 3px 3px;border:2px solid currentColor;border-radius:4px}
.ico-cal::after{left:7px;right:7px;top:11px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor}
.ico-heart::before{left:5px;top:5px;width:18px;height:18px;border:2px solid currentColor;border-radius:4px 50% 4px 50%;transform:rotate(45deg) translate(2px,2px)}
.ico-people::before{left:9px;top:3px;width:10px;height:10px;border:2px solid currentColor;border-radius:50%}
.ico-people::after{left:4px;top:15px;width:20px;height:10px;border:2px solid currentColor;border-radius:10px 10px 3px 3px;border-bottom-width:2px}
.ico-arrow::before{inset:2px;border:2px solid currentColor;border-radius:50%}
.ico-arrow::after{left:9px;top:13px;width:11px;height:2px;background:currentColor;box-shadow:none}
.ico-phone::before{left:8px;top:2px;width:13px;height:24px;border:2px solid currentColor;border-radius:4px}
.ico-phone::after{left:12px;top:21px;width:5px;height:2px;background:currentColor}
.ico-form::before{left:5px;top:2px;width:18px;height:24px;border:2px solid currentColor;border-radius:3px}
.ico-form::after{left:9px;top:9px;width:10px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor}
.ico-shield::before{left:5px;top:2px;width:18px;height:22px;border:2px solid currentColor;border-radius:4px 4px 10px 10px}
.ico-shield::after{left:10px;top:9px;width:8px;height:5px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.ico-scope::before{left:6px;top:3px;width:12px;height:16px;border:2px solid currentColor;border-top:0;border-radius:0 0 8px 8px}
.ico-scope::after{left:15px;top:17px;width:9px;height:9px;border:2px solid currentColor;border-radius:50%}
.ico-building::before{left:5px;top:5px;width:18px;height:21px;border:2px solid currentColor;border-radius:2px}
.ico-building::after{left:9px;top:10px;width:3px;height:3px;background:currentColor;box-shadow:7px 0 0 currentColor,0 6px 0 currentColor,7px 6px 0 currentColor}
.ico-micro::before{left:9px;top:3px;width:7px;height:14px;border:2px solid currentColor;border-radius:3px;transform:rotate(-25deg)}
.ico-micro::after{left:5px;top:22px;width:18px;height:2px;background:currentColor}
.ico-tooth::before{left:6px;top:3px;width:16px;height:22px;border:2px solid currentColor;border-radius:8px 8px 4px 4px}
.ico-tooth::after{left:13px;top:15px;width:2px;height:10px;background:currentColor}
.ico-chat::before{left:3px;top:4px;width:20px;height:15px;border:2px solid currentColor;border-radius:8px}
.ico-chat::after{left:7px;top:17px;width:6px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;background:var(--paper);transform:skewY(-30deg)}
.ico-pen::before{left:12px;top:1px;width:5px;height:22px;border:2px solid currentColor;border-radius:2px;transform:rotate(40deg)}
.ico-gear::before{left:5px;top:5px;width:18px;height:18px;border:3px dotted currentColor;border-radius:50%}
.ico-gear::after{left:10px;top:10px;width:8px;height:8px;border:2px solid currentColor;border-radius:50%}
.ico-rocket::before{left:9px;top:2px;width:10px;height:20px;border:2px solid currentColor;border-radius:10px 10px 3px 3px;transform:rotate(40deg)}
.ico-rocket::after{left:5px;top:20px;width:6px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor}
.ico-check::before{inset:2px;border:2px solid currentColor;border-radius:50%}
.ico-check::after{left:9px;top:9px;width:10px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}

/* home: clinic types */
.types{padding:64px 0;background:var(--cream)}
.types-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:40px;align-items:center}
.types-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.type-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px 12px 12px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm)}
.type-card:hover{border-color:var(--coral-display)}
.type-card h3{font-family:var(--sans);font-weight:700;font-size:.95rem;margin:10px 0 6px}
.type-card p{font-size:.82rem;color:var(--muted);line-height:1.4;margin:0 0 12px;flex:1}
.type-card img{width:100%;max-width:150px;border-radius:8px}
@media (max-width:980px){.types-grid{grid-template-columns:1fr}}
@media (max-width:700px){.types-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* home: concepts band */
.concepts{background:var(--sage-soft);padding:56px 0 60px}
.band-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.band-head h2{margin:0}
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;font-size:.92rem;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--ink)}
.link-arrow:hover{color:var(--coral-text);border-color:var(--coral-text)}
.concept-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.concept-card h3{font-family:var(--sans);font-weight:700;font-size:1rem;margin:14px 0 4px}
.concept-card p{font-size:.88rem;color:#3b3632;margin:0 0 10px;line-height:1.45}
.concept-card .pill{background:var(--sage-mist);border-color:#c9d6ca;color:var(--sage-deep)}
@media (max-width:1000px){.concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.concept-grid{grid-template-columns:1fr}}

/* browser mock-up (live HTML, fictional clinics) */
.mock{background:#fff;border-radius:10px;box-shadow:0 10px 24px rgba(48,64,52,.14);overflow:hidden;border:1px solid #d8e0d8}
.mock-bar{display:flex;align-items:center;gap:5px;height:18px;padding:0 8px;background:#f3f1ee;border-bottom:1px solid #e6e1db}
.mock-bar i{width:6px;height:6px;border-radius:50%;background:#e2a08a}
.mock-bar i:nth-child(2){background:#e7c88f}.mock-bar i:nth-child(3){background:#9fbea4}
.mock-nav{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:9.5px;font-weight:700;color:#2b3a31}
.mock-nav span.links{font-weight:400;color:#6b6460;letter-spacing:.04em}
.mock-body{display:grid;grid-template-columns:minmax(0,1fr) 118px;align-items:end;min-height:120px}
.mock-copy{padding:6px 10px 12px}
.mock-copy b{display:block;font-family:var(--serif);font-weight:500;font-size:15px;line-height:1.12;color:#22302a;margin-bottom:6px}
.mock-copy small{display:block;font-size:9.5px;color:#5f5853;line-height:1.35;margin-bottom:8px}
.mock-btn{display:inline-block;font-size:9px;font-weight:700;padding:4px 8px;border-radius:4px;background:#3F5A48;color:#fff}
.mock-photo img{width:118px;height:auto}
.mock.dark{background:#20384a}.mock.dark .mock-nav{color:#e9f0f4}.mock.dark .mock-nav span.links{color:#b7c6d0}
.mock.dark .mock-copy b{color:#fff}.mock.dark .mock-copy small{color:#d3dde3}.mock.dark .mock-btn{background:#C9694A}

/* home: process */
.process-band{padding:60px 0 34px;background:var(--cream)}
.process-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:30px;align-items:center;margin-bottom:28px}
.process-head h2{margin:0}
.process-head .side{margin:0;padding-left:22px;border-left:1px solid var(--line);color:var(--muted);font-size:.95rem}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;margin:0;padding:0;counter-reset:step}
.steps li{position:relative;background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:30px 18px 18px 18px;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}
.steps .num{position:absolute;left:18px;top:-18px;width:38px;height:38px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}
.steps strong{display:block;font-size:.95rem;margin-bottom:3px}
.steps span.t{font-size:.86rem;color:var(--muted);line-height:1.45}
@media (max-width:980px){.process-head{grid-template-columns:1fr}.process-head .side{border-left:0;padding-left:0}.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* home: checks (replaces testimonials) */
.checks{padding:54px 0 64px;background:linear-gradient(180deg,var(--cream),var(--peach))}
.checks .center{text-align:center;max-width:760px;margin:0 auto 30px}
.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.check-card{background:var(--paper);border-radius:var(--radius);padding:24px 24px 20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.check-card p{color:#3b3532;font-size:.95rem;flex:1}
.check-foot{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line-soft);padding-top:14px;margin-top:6px}
.check-foot .badge{width:46px;height:46px;border-radius:50%;background:var(--sage-mist);display:flex;align-items:center;justify-content:center}
.check-foot .badge .ico{color:var(--sage-deep)}
.check-foot strong{display:block;font-size:.95rem}
.check-foot span.t{font-size:.82rem;color:var(--muted)}
@media (max-width:900px){.check-grid{grid-template-columns:1fr}}

/* CTA band */
.cta-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:36px;background:var(--peach);border-top:1px solid var(--line-soft)}
.cta-photo img{width:400px;max-width:100%}
.cta-copy{padding:30px 0}
.cta-copy h2{font-size:clamp(1.5rem,2.4vw,2.05rem);margin-bottom:.25em}
.cta-copy .eyebrow{color:var(--coral-deep)}
.cta-copy p{color:#3b3532}
.cta-points{list-style:none;margin:0;padding:0 40px 0 34px;border-left:1px solid #e3cdbd;display:grid;gap:18px;font-size:.92rem}
.cta-points li{display:flex;align-items:center;gap:14px}
.cta-points .ico{color:var(--coral-deep)}
@media (max-width:1100px){.cta-band{grid-template-columns:1fr;gap:0}.cta-photo{display:none}.cta-copy{padding:36px 24px 10px;text-align:left;max-width:1200px;margin:0 auto;width:100%}.cta-points{border-left:0;padding:10px 24px 36px;max-width:1200px;margin:0 auto;width:100%}}

/* footer */
.site-foot{background:var(--paper);border-top:1px solid var(--line);padding:36px 0 22px;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr);gap:40px;align-items:start}
.foot-about{color:var(--muted);margin-top:14px;max-width:34em}
.foot-nav ul{display:grid;grid-template-columns:repeat(5,auto);gap:0 26px;list-style:none;margin:0;padding:0;justify-content:end}
.foot-nav a{display:inline-flex;min-height:44px;align-items:center;color:var(--ink);text-decoration:none}
.foot-nav a:hover{color:var(--coral-text);text-decoration:underline}
.foot-base{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line-soft);margin-top:20px;padding-top:12px;color:var(--muted);font-size:.85rem}
.foot-base p{margin:0}
.foot-legal{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0;padding:0}
.foot-legal a{display:inline-flex;min-height:36px;align-items:center;color:var(--muted)}
.foot-disclose p{font-size:.82rem;color:var(--muted);margin:8px 0 0}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr}.foot-nav ul{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}}

/* inner pages */
.page-hero{background:linear-gradient(110deg,var(--cream) 0%,var(--peach) 100%);border-bottom:1px solid var(--line-soft);padding:30px 0 34px}
.page-hero h1{max-width:20em;margin-bottom:.35em}
.page-hero .accent{display:inline}
.page-hero .lead{font-size:1.12rem;max-width:44em;color:#3b3532}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0;font-size:.85rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:#b9a798}
.crumbs a{color:var(--muted);display:inline-flex;align-items:center;min-height:24px}
.meta-row{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.88rem;color:var(--muted);margin:14px 0 0}
.meta-row a{color:var(--muted)}
.short-answer{background:var(--paper);border-left:4px solid var(--sage);border-radius:0 12px 12px 0;padding:16px 20px;max-width:46em;margin:10px 0 4px;box-shadow:var(--shadow-sm)}
.short-answer p{margin:0}
.short-answer .sa-label{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:6px}
.page-body{padding-top:40px;padding-bottom:56px}
.layout.with-aside{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.layout.single{max-width:820px}
.page-aside{position:sticky;top:20px;display:grid;gap:18px}
.toc{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:16px 18px}
.toc-title{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);margin:0 0 8px}
.toc ol{margin:0;padding-left:18px;font-size:.9rem;line-height:1.45}
.toc li{margin:6px 0}
.toc a{color:var(--ink);text-decoration:none;display:inline-block;min-height:24px;padding:2px 0}
.toc a:hover{color:var(--coral-text);text-decoration:underline}
.toc-mobile{display:none;margin-bottom:24px}
.aside-card{background:var(--sage);color:#fff;border-radius:14px;padding:20px}
.aside-card .aside-title{font-family:var(--serif);font-size:1.3rem;line-height:1.2;margin-bottom:8px}
.aside-card p{font-size:.92rem;color:#f2f6f2}
.aside-card .btn-coral{background:#fff;color:var(--coral-deep);border-color:#fff}
.aside-card .btn-coral:hover{background:var(--cream);color:var(--coral-deep)}
@media (max-width:1000px){.layout.with-aside{grid-template-columns:1fr}.page-aside{position:static}.page-aside .toc{display:none}.toc-mobile{display:block}}

/* prose */
.prose{min-width:0}
.prose h2{margin-top:1.6em;scroll-margin-top:20px}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.4em;font-family:var(--sans);font-weight:700;font-size:1.08rem;letter-spacing:0}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1.1em}
.prose li{margin:.35em 0}
.prose blockquote{margin:1.2em 0;padding:.4em 0 .4em 18px;border-left:3px solid var(--coral-display);color:#3b3532;font-style:italic}
.prose .note{background:var(--sage-mist);border:1px solid #cfdccf;border-radius:12px;padding:16px 18px;margin:1.2em 0}
.prose .note p:last-child{margin-bottom:0}
.prose .note strong:first-child{color:var(--sage-deep)}
sup.cite{font-size:.68em;line-height:0;margin-left:1px}
sup.cite a{text-decoration:none;font-weight:700;padding:0 1px}
.tablewrap{overflow-x:auto;margin:1.2em 0 1.4em;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.tablewrap table{border-collapse:collapse;width:100%;font-size:.93rem}
.tablewrap caption{text-align:left;padding:12px 14px 0;font-weight:700;font-size:.9rem;color:var(--sage-deep)}
.tablewrap th,.tablewrap td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--line-soft)}
.tablewrap th{background:var(--sage-mist);color:var(--sage-deep);font-size:.85rem}
.tablewrap tr:last-child td{border-bottom:0}
@media (max-width:600px){
  .tablewrap{overflow:visible;border:0;background:transparent}
  .tablewrap table,.tablewrap tbody,.tablewrap tr,.tablewrap td{display:block;width:100%}
  .tablewrap caption{display:block;padding:0 2px 8px}
  .tablewrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tablewrap tr{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:6px 0}
  .tablewrap td{border:0;padding:6px 14px}
  .tablewrap td::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sage-deep)}
}
.faq-block{margin-top:2.2em}
.faq-item{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;margin:10px 0}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:12px 18px;cursor:pointer;font-weight:700;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-sign{flex:none;width:14px;height:14px;position:relative}
.faq-sign::before,.faq-sign::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;background:var(--coral-text)}
.faq-sign::after{transform:rotate(90deg)}
.faq-item[open] .faq-sign::after{display:none}
.faq-answer{padding:0 18px 6px;color:#3b3532}
.sources{margin-top:2.4em;padding-top:1.4em;border-top:1px solid var(--line)}
.sources h2{font-size:1.4rem}
.src-note{font-size:.88rem;color:var(--muted)}
.sources ol{font-size:.88rem;padding-left:1.4em}
.sources li{margin:.5em 0;overflow-wrap:anywhere}
.src-org{font-weight:700}
.src-kind{color:var(--muted)}
.related{margin-top:56px}
.rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rel-card{display:flex;flex-direction:column;gap:6px;background:var(--paper);border:1px solid var(--line-soft);border-radius:14px;padding:18px 18px 16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm)}
.rel-card:hover{border-color:var(--coral-display)}
.rel-kicker{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep)}
.rel-title{font-family:var(--serif);font-size:1.18rem;line-height:1.25}
.rel-text{font-size:.88rem;color:var(--muted);flex:1}
.rel-more{font-size:.85rem;font-weight:700;color:var(--coral-text)}
@media (max-width:900px){.rel-grid{grid-template-columns:1fr}}
.cta-inline{background:var(--peach);border-radius:14px;padding:20px 22px;margin:1.8em 0}
.cta-inline-title{font-family:var(--serif);font-size:1.3rem;margin-bottom:6px}
.cta-inline-links{display:flex;flex-wrap:wrap;gap:10px;margin:0}

/* card grids on inner pages */
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:1.2em 0 1.6em}
.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.info-card{background:var(--paper);border:1px solid var(--line-soft);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow-sm)}
.info-card h3{margin-top:0;font-family:var(--serif);font-weight:500;font-size:1.2rem}
.info-card p{font-size:.94rem;margin-bottom:.6em}
.info-card a.more{font-weight:700}
@media (max-width:760px){.card-grid,.card-grid.three{grid-template-columns:1fr}}
.concepts-page .concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.concepts-page .concept-grid{grid-template-columns:1fr}}

/* forms */
.form-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow-sm);margin:1em 0 1.6em}
.field{margin-bottom:16px}
.field label,.field legend{display:block;font-weight:700;font-size:.95rem;margin-bottom:6px}
.field .hint{display:block;font-size:.85rem;color:var(--muted);margin:-2px 0 6px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid #857364;border-radius:8px;background:#fff;font:inherit;color:var(--ink)}
.field textarea{min-height:140px;resize:vertical}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
fieldset.field{border:0;padding:0;margin:0 0 16px}
.field .choice,.choice{display:flex;align-items:flex-start;gap:10px;min-height:32px;margin:6px 0;font-weight:400}
.choice input{width:24px;height:24px;flex:none;margin:1px 0 0;accent-color:var(--sage)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.alert{border-radius:12px;padding:14px 16px;margin:0 0 18px;font-size:.95rem}
.alert-ok{background:var(--sage-mist);border:1px solid #bfd1c1;color:#24392c}
.alert-err{background:#fbe9e3;border:1px solid #e8b9a8;color:#6f2a14}
.alert ul{margin:.4em 0 0;padding-left:1.2em}
.email-panel{background:var(--sage-mist);border:1px solid #cfdccf;border-radius:16px;padding:22px 24px;margin:1em 0 1.6em}
.planner-out{width:100%;min-height:260px;font:14px/1.5 ui-monospace,Consolas,monospace;padding:12px;border:1.5px solid #857364;border-radius:8px;background:#fff;color:var(--ink)}
.planner-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.js-only{display:none}
.has-js .js-only{display:revert}
.has-js button.js-only{display:inline-flex}
.has-js .nojs-only{display:none}
.notfound{padding:70px 0 90px;max-width:760px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){
  body{font-size:16.5px}
  .wrap{padding-left:16px;padding-right:16px}
  .head-row{min-height:72px}
  .brand-name{font-size:1.45rem}
  .brand-tag{font-size:.69rem;letter-spacing:.08em}
  .brand-mark{width:38px;height:38px}
  .hero-feats{grid-template-columns:1fr 1fr;gap:14px}
  .types,.concepts,.process-band,.checks{padding-top:44px;padding-bottom:44px}
  .page-hero{padding:22px 0 26px}
}
.concepts-page .concept-card h2{font-family:var(--sans);font-weight:700;font-size:1.15rem;margin:16px 0 8px;letter-spacing:0}
.concepts-page .concept-card .pill{margin-bottom:10px}
.concepts-page .concept-card p{font-size:.95rem}
.layout.single .concepts-page{margin-bottom:10px}

/* process connectors */
.steps li:not(:last-child)::after{content:"";position:absolute;right:-21px;top:50%;width:11px;height:11px;border-top:2px solid var(--coral-display);border-right:2px solid var(--coral-display);transform:translateY(-50%) rotate(45deg)}
@media (max-width:980px){.steps li::after{display:none}}
/* svg icons in the hero panel and cards */
.svg-ico{flex:none;width:30px;height:30px;color:#fff}
.svg-ico svg{width:100%;height:100%;display:block}
.ico-cross::before{inset:2px;border:2px solid currentColor;border-radius:50%}
.ico-cross::after{left:13px;top:8px;width:2px;height:12px;background:currentColor;box-shadow:-5px 5px 0 -0px transparent}
.ico-cross{background:linear-gradient(currentColor,currentColor) center/12px 2px no-repeat}
/* wide hero (desktop): the photo bleeds to the top and right edges; the live sage panel sits over the concept's own
   panel. Panel geometry is in cqh so it tracks the photo, which scales with the hero height (object-fit: cover). */
@media (min-width:1320px){
  .hero{position:relative}
  .hero-grid{grid-template-columns:minmax(0,530px);padding-top:24px;min-height:525px}
  .hero-copy{position:relative;z-index:2;padding-bottom:20px}
  .hero-copy h1{font-size:2.8rem}
  .hero-copy .lead{font-size:1rem}
  .hero-actions{margin:20px 0 22px}
  .hero-feats{gap:12px}
  .hero-feats li{font-size:.76rem}
  .hero-feats .fd{display:none}
  .hero-copy h1{margin-bottom:.35em}
  .hero-visual{position:absolute;top:0;right:0;bottom:0;width:min(calc(100vw - 660px),831px);display:block;z-index:1;container-type:size}
  .hero-photo{position:absolute;inset:0;width:auto;margin:0}
  .hero-photo picture,.hero-photo img{display:block;width:100%;height:100%}
  .hero-photo img{object-fit:cover;object-position:right top;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 80px);mask-image:linear-gradient(90deg,transparent 0,#000 80px)}
  .hero-photo .pill{left:auto;right:calc(68cqh + 14px);bottom:16px}
  .hero-visual .care-panel{position:absolute;right:6.6cqh;top:10.6cqh;bottom:-2px;width:61.5cqh;margin:0;align-self:auto;border-radius:16px 16px 0 0;padding:26px 24px;display:flex;flex-direction:column;justify-content:center;box-shadow:none}
  .hero-visual .care-panel ul{gap:24px}
}
