/* ==========================================================================
   site.css · Canary site layer on top of canary.css (same tokens, same layers).
   Mobile-first: base = phone; min-width 640 / 960 add larger layouts.
   ========================================================================== */
@layer canary.components {
  /* ---------- markers: ALWAYS visible ---------- */
  .cn-flag{max-width:100%;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:4px;vertical-align:1px;margin:0 2px;padding:1px 7px;border-radius:999px;font:700 10.5px/16px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;white-space:normal;cursor:help;position:relative;border:1px solid transparent}
  .cn-flag[data-kind="gated"]{background:#FFE7A3;color:#5C4507;border-color:#E5B22E}
  .cn-flag[data-kind="verify"]{background:#E4EFF1;color:#1F4E57;border-color:#8FBCC6;border-style:dashed}
  .cn-flag[data-kind="draft"]{background:#EDE6F5;color:#4A3570;border-color:#B9A6D6}
  .cn-flag[data-kind="deferred"]{background:#EEE;color:#555;border-color:#BBB}
  .cn-surface[data-surface="forest"] .cn-flag,.cn-surface[data-surface="footer"] .cn-flag{filter:none;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
  .cn-flag[data-note]:focus::after,.cn-flag[data-note]:hover::after{content:attr(data-note);position:absolute;z-index:40;left:0;top:calc(100% + 6px);width:max-content;max-width:min(280px,80vw);white-space:normal;padding:8px 10px;border-radius:8px;background:#1E1F1C;color:#F4EFE6;font:500 12px/16px var(--font-sans);letter-spacing:0;box-shadow:0 8px 20px rgba(0,0,0,.25)}
  .cn-ph-val{background:rgba(229,178,46,.18);border-radius:4px;padding:0 3px}

  /* ---------- prose sections built from copy ---------- */
  .cn-prose{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);max-width:860px}
  .cn-prose--center{margin-inline:auto;text-align:center;justify-items:center}
  .cn-prose p{max-width:68ch}
  .cn-prose strong{color:var(--surface-heading)}
  .cn-prose a:not(.cn-btn){color:var(--surface-heading);font-weight:600;text-underline-offset:3px}
  .cn-prose ol.cn-ol{padding-left:22px;display:grid;gap:8px;text-align:left}
  .cn-prose code{font:13px ui-monospace,Menlo,monospace;background:rgba(0,0,0,.06);padding:1px 5px;border-radius:4px}
  .cn-benefits{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);text-align:left;width:100%}
  @media (min-width:640px){.cn-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .cn-benefit{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:16px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--surface-line)}
  .cn-benefit .cn-icon{width:22px;height:22px;color:var(--success);margin-top:2px}
  .cn-surface[data-surface="forest"] .cn-benefit .cn-icon{color:var(--sunshine-400)}
  .cn-surface[data-surface="forest"] .cn-benefit{background:rgba(247,234,218,.06)}
  .cn-linkcards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);width:100%;text-align:left}
  @media (min-width:640px){.cn-linkcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .cn-linkcard{display:grid;gap:6px;padding:18px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:var(--shadow-card);min-height:44px}
  .cn-linkcard:hover{border-color:var(--forest-700)}
  .cn-linkcard b{font-family:var(--font-display);font-size:20px;line-height:26px;color:var(--forest-900)}
  .cn-linkcard .cn-more{font-weight:700;color:var(--forest-700);display:inline-flex;gap:6px;align-items:center}
  .cn-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--surface-line);background:var(--card-bg)}
  .cn-table{width:100%;border-collapse:collapse;font-size:15px;line-height:21px;text-align:left;min-width:480px}
  .cn-table th,.cn-table td{padding:12px 14px;border-bottom:1px solid var(--surface-line);vertical-align:top}
  .cn-table thead th{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--surface-muted);background:rgba(0,0,0,.025)}
  .cn-table tr:last-child td{border-bottom:0}
  .cn-table td:first-child{font-weight:600;color:var(--surface-heading)}
  .cn-table--2 {min-width:0}
  .cn-dl{display:grid;grid-template-columns:minmax(0,1fr);width:100%;border-top:1px solid var(--surface-line);text-align:left}
  .cn-dl div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 0;border-bottom:1px solid var(--surface-line)}
  @media (min-width:640px){.cn-dl div{grid-template-columns:240px minmax(0,1fr);gap:16px}}
  .cn-dl dt{color:var(--surface-muted);font-weight:600}
  .cn-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
  .cn-prose--center .cn-ctas{justify-content:center}

  /* ---------- DEV layer (Specs toggle) ---------- */
  .cn-devi{display:inline;font:italic 500 12.5px/18px var(--font-sans);color:#6B5A1F;background:#FFF6D6;border:1px dashed #C9A227;border-radius:4px;padding:0 4px;margin:0 2px}
  .cn-seclabel{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font:600 11px/16px ui-monospace,Menlo,monospace;color:#4F3C06;background:#FFF6D6;border:1px dashed #C9A227;border-radius:6px;padding:4px 8px;width:max-content;max-width:100%}
  .cn-pagespec{background:#1E1F1C;color:#F4EFE6;font:13px/19px var(--font-sans)}
  .cn-pagespec details{padding:10px 0}
  .cn-pagespec summary{cursor:pointer;font:700 12px/20px ui-monospace,Menlo,monospace;letter-spacing:.04em;list-style:none;min-height:44px;display:flex;align-items:center}
  .cn-pagespec summary::-webkit-details-marker{display:none}
  .cn-pagespec .cn-specbody{display:grid;gap:6px;padding:6px 0 10px;overflow-wrap:anywhere}
  .cn-pagespec code{background:rgba(255,255,255,.1);color:#FFE7A3;padding:0 4px;border-radius:3px;font-size:12px}
  .cn-pagespec b{color:#F4CA4F}
  .cn-pagespec ul{display:grid;gap:4px;padding-left:16px;list-style:disc}
  html[data-cn-specs="off"] .cn-devi,html[data-cn-specs="off"] .cn-seclabel,html[data-cn-specs="off"] .cn-pagespec,html[data-cn-specs="off"] .cn-devpanel,html[data-cn-specs="off"] .cn-notes-trail{display:none!important}
  .cn-notes-trail{background:#FFF9E8;border-top:1px dashed #C9A227}
  .cn-notes-trail .cn-container{padding-block:24px;display:grid;gap:10px}
  .cn-notes-trail h2{font:700 14px/20px ui-monospace,Menlo,monospace;color:#4F3C06}
  .cn-note pre{white-space:pre-wrap;font:12px/16px ui-monospace,Menlo,monospace;margin:4px 0 0}

  /* ---------- header + mega menu ---------- */
  .cn-header{position:sticky;top:0;z-index:35;background:var(--cream-50)}
  .cn-header__nav{position:static}
  .cn-mega-item{position:static;display:flex;align-items:center}
  .cn-mega-item > a{display:inline-flex;align-items:center;gap:4px;padding:10px 2px;min-height:44px}
  .cn-mega-item > a .cn-icon{width:14px;height:14px;transition:transform .2s}
  .cn-mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 18px 30px rgba(23,55,44,.12);display:none;white-space:normal}
  @media (min-width:1360px){.cn-mega-item:hover .cn-mega,.cn-mega-item:focus-within .cn-mega,.cn-mega-item[data-open] .cn-mega{display:block}.cn-mega-item:hover > a .cn-icon{transform:rotate(180deg)}}
  .cn-mega__inner{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding-block:28px}
  .cn-mega__col h4{font:700 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-700);margin:0 0 10px}
  .cn-mega__col ul{display:grid;gap:2px}
  .cn-mega__col a{display:flex;align-items:center;gap:8px;padding:9px 0;font-weight:600;color:var(--forest-900);text-decoration:none}
  .cn-mega__col a:hover{text-decoration:underline}
  .cn-mega__col small{display:block;font-weight:400;color:var(--ink-muted)}
  .cn-mega__tile{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border-radius:var(--radius-lg);background:var(--sunshine-100);text-decoration:none;color:var(--ink)}
  .cn-mega__tile .cn-media{width:120px}
  .cn-mega__tile b{font-family:var(--font-display);font-size:20px;line-height:24px;color:var(--forest-900);display:block;margin-bottom:4px}
  .cn-header__explore{display:none}
  @media (min-width:1100px){.cn-header__explore{display:inline-flex}}
  @media (min-width:960px) and (max-width:1099px){.cn-header__cta{display:none}}
  @media (min-width:960px){.cn-header__nav{gap:20px;font-size:15px}}

  /* ---------- mobile drawer ---------- */
  .cn-drawer-nav{position:fixed;inset:0;height:100vh;height:100dvh;z-index:80;background:var(--cream-50);display:none;flex-direction:column;overflow:hidden}
  .cn-drawer-nav[data-open]{display:flex}
  .cn-drawer-nav__top{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid var(--line)}
  .cn-drawer-nav__top{flex:none}
  .cn-drawer-nav__body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:8px 16px calc(120px + env(safe-area-inset-bottom))}
  .cn-drawer-nav details{border-bottom:1px solid var(--line)}
  .cn-drawer-nav summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:56px;font:700 18px/24px var(--font-sans);color:var(--forest-900);cursor:pointer}
  .cn-drawer-nav summary::-webkit-details-marker{display:none}
  .cn-drawer-nav details[open] summary .cn-icon{transform:rotate(180deg)}
  .cn-drawer-nav details a{display:flex;align-items:center;min-height:44px;padding-left:12px;color:var(--ink);text-decoration:none;font-weight:600}
  .cn-drawer-nav__link{display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--line);font:700 18px/24px var(--font-sans);color:var(--forest-900);text-decoration:none}
  .cn-drawer-nav__bar{position:fixed;left:0;right:0;bottom:0;display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--paper);box-shadow:var(--shadow-sticky)}
  .cn-drawer-nav__bar .cn-btn{flex:1}
  @media (min-width:1360px){.cn-drawer-nav{display:none!important}}

  /* ---------- hero variants ---------- */
  .cn-hero{padding-block:24px 56px}
  @media (min-width:960px){.cn-hero{padding-block:48px 88px}}
  .cn-hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);align-items:center}
  @media (min-width:960px){.cn-hero__grid{grid-template-columns:1.05fr 1fr;gap:var(--space-12)}}
  .cn-hero__copy{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
  .cn-hero__media{border-radius:var(--radius-xl)}
  .cn-hero--home{position:relative;overflow:hidden;padding-bottom:0}
  .cn-hero--home .cn-hero__grid{align-items:end}
  .cn-trustline{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:15px;font-weight:600;color:var(--forest-900)}
  .cn-trustline span{display:inline-flex;align-items:center;gap:6px}
  .cn-trustline .cn-icon{width:18px;height:18px;color:var(--success)}
  .cn-strip{padding-block:18px}
  .cn-strip .cn-trust{max-width:900px;margin-inline:auto}

  /* ---------- product cards ---------- */
  .cn-pcards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
  @media (min-width:640px){.cn-pcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (min-width:960px){.cn-pcards--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
  .cn-pcard{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);text-decoration:none;color:var(--ink)}
  @media (min-width:640px){.cn-pcard{grid-template-columns:minmax(0,1fr);padding:0 0 18px;overflow:hidden}.cn-pcard .cn-media{border-radius:0}.cn-pcard__body{padding:0 18px}}
  .cn-pcard__body{display:grid;gap:4px}
  .cn-pcard b{font-family:var(--font-display);font-size:20px;line-height:25px;color:var(--forest-900)}
  .cn-pcard .cn-more{font-weight:700;color:var(--forest-700)}

  /* ---------- fork (city vs well) ---------- */
  .cn-fork{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);width:100%}
  @media (min-width:640px){.cn-fork{grid-template-columns:1fr 1fr}}
  .cn-fork a{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;padding:20px;border-radius:var(--radius-xl);background:var(--paper);border:1.5px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:var(--shadow-card);text-align:left}
  .cn-fork a:hover{border-color:var(--forest-900)}
  .cn-fork .cn-media{width:72px;background:transparent}
  .cn-fork b{font-family:var(--font-display);font-size:22px;color:var(--forest-900);display:block}

  /* ---------- booking sheet ---------- */
  .cn-sheet .cn-dialog__body{gap:16px}
  .cn-steps-dots{display:flex;gap:6px}
  .cn-steps-dots i{width:24px;height:4px;border-radius:2px;background:var(--line)}
  .cn-steps-dots i[data-on]{background:var(--forest-900)}
  .cn-step-pane{display:none;gap:14px;grid-template-columns:minmax(0,1fr)}
  .cn-step-pane[data-active]{display:grid}
  .cn-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cn-choice label{position:relative;display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px;border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--paper);font-weight:700;text-align:center;cursor:pointer}
  .cn-choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
  .cn-choice label:has(input:checked){border-color:var(--forest-900);background:var(--forest-900);color:var(--cream-100)}
  .cn-choice label:has(input:focus-visible){outline:3px solid var(--sunshine-500);outline-offset:2px}
  .cn-consent{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;font-size:13.5px;line-height:19px;color:var(--ink-muted);padding:12px;border-radius:var(--radius-md);background:var(--cream-100);cursor:pointer}
  .cn-consent input{width:22px;height:22px;margin:0;accent-color:var(--forest-900)}
  .cn-summary-mini{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:var(--radius-md);background:var(--sage-100);font-weight:600;color:var(--forest-900)}
  .cn-summary-mini .cn-icon{color:var(--success)}
  .cn-field small{font-weight:400;color:var(--ink-muted)}

  /* ---------- payload / events panel (Specs) ---------- */
  .cn-devpanel{position:fixed;z-index:55;right:8px;bottom:84px;width:min(380px,calc(100% - 16px));max-height:46vh;overflow:auto;background:#1E1F1C;color:#E9E4D8;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.35);font:12px/17px ui-monospace,Menlo,monospace;display:none}
  .cn-devpanel[data-open]{display:block}
  .cn-devpanel header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#2A2B27;font-weight:700;color:#F4CA4F}
  .cn-devpanel header button{border:0;background:#3A3B36;color:#E9E4D8;border-radius:6px;min-width:44px;min-height:32px}
  .cn-devpanel pre{margin:0;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere}
  @media (min-width:960px){.cn-devpanel{bottom:16px}}

  /* ---------- picker ---------- */
  .cn-picker{max-width:640px;margin-inline:auto;display:grid;gap:var(--space-6)}
  .cn-picker__q{display:grid;gap:12px}
  .cn-picker__q h2{font-family:var(--font-display);font-size:24px;line-height:30px;color:var(--forest-900)}
  .cn-choice--3{grid-template-columns:minmax(0,1fr)}
  @media (min-width:480px){.cn-choice--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
  .cn-result-card{display:grid;gap:10px;padding:20px;border-radius:var(--radius-xl);background:var(--forest-900);color:var(--cream-100)}
  .cn-result-card h3{font-family:var(--font-display);font-size:26px;line-height:32px;color:var(--cream-100)}

  /* ---------- resources ---------- */
  .cn-tags{display:flex;flex-wrap:wrap;gap:8px}
  .cn-tag{min-height:40px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--paper);font-weight:600;font-size:14px;color:var(--ink);cursor:pointer}
  .cn-tag[aria-pressed="true"]{background:var(--forest-900);border-color:var(--forest-900);color:var(--cream-100)}
  .cn-taggroup{display:grid;gap:8px}
  .cn-taggroup h3{font:700 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-700)}
  .cn-acards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
  @media (min-width:640px){.cn-acards{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (min-width:960px){.cn-acards{grid-template-columns:repeat(3,minmax(0,1fr))}}
  .cn-acard{display:grid;gap:10px;align-content:start;padding-bottom:16px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-card)}
  .cn-acard[hidden]{display:none}
  .cn-acard .cn-media{border-radius:0}
  .cn-acard__body{padding:0 16px;display:grid;gap:6px}
  .cn-acard b{font-family:var(--font-display);font-size:20px;line-height:26px;color:var(--forest-900)}
  .cn-chips{display:flex;flex-wrap:wrap;gap:6px}
  .cn-chip{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--sky-100);color:var(--sky-700)}
  .cn-article{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8)}
  @media (min-width:960px){.cn-article{grid-template-columns:minmax(0,1fr) 300px}}
  .cn-article__body{display:grid;gap:var(--space-4);max-width:720px}
  .cn-article__body h2{font-family:var(--font-display);font-size:26px;line-height:32px;color:var(--forest-900);margin-top:12px}
  .cn-aside{display:grid;gap:var(--space-4);align-content:start}
  .cn-keyfacts{padding:18px;border-radius:var(--radius-lg);background:var(--sage-100)}

  /* ---------- care plans ---------- */
  .cn-plans{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
  @media (min-width:960px){.cn-plans{grid-template-columns:repeat(3,minmax(0,1fr))}}
  .cn-plan-card{display:grid;gap:14px;align-content:start;padding:24px;border-radius:var(--radius-xl);background:var(--paper);border:1.5px solid var(--line);box-shadow:var(--shadow-card)}
  .cn-plan-card[data-featured]{border-color:var(--forest-900);box-shadow:var(--shadow-raised)}
  .cn-plan-card .cn-media{width:80px;background:transparent}
  .cn-plan-card h3{font-family:var(--font-display);font-size:26px;line-height:30px;color:var(--forest-900)}
  .cn-plan-price{font-family:var(--font-display);font-weight:800;font-size:36px;line-height:40px;color:var(--forest-900)}
  .cn-plan-price span{font:600 16px var(--font-sans);color:var(--ink-muted)}

  /* ---------- contact + office ---------- */
  .cn-methods{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
  @media (min-width:640px){.cn-methods{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .cn-method{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;padding:16px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);text-decoration:none;color:var(--ink);min-height:72px}
  .cn-method .cn-icon{width:48px;height:48px;padding:12px;border-radius:12px;background:var(--sage-100);color:var(--forest-900)}
  .cn-method b{display:block;font-size:17px;color:var(--forest-900)}
  .cn-form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:20px;border-radius:var(--radius-xl);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card)}
  .cn-form textarea{min-height:110px;font:inherit;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm)}
  .cn-office{display:grid;gap:12px;padding:20px;border-radius:var(--radius-xl);background:var(--paper);border:1px solid var(--line)}
  .cn-office dl{display:grid;gap:8px}
  .cn-office dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink-muted)}
  .cn-office dd{margin:0 0 6px;font-weight:600}
  .cn-counties{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
  @media (min-width:640px){.cn-counties{grid-template-columns:1fr 1fr}}
  .cn-county{padding:20px;border-radius:var(--radius-xl);background:var(--paper);border:1px solid var(--line)}
  .cn-county h3{font-family:var(--font-display);font-size:22px;color:var(--forest-900);margin-bottom:10px}
  .cn-county ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
  .cn-county li{display:flex;align-items:center;min-height:36px;font-weight:600}
  .cn-county li a{color:var(--forest-900)}
  .cn-county li span{color:var(--ink-muted);font-weight:500}

  /* ---------- thank-you ---------- */
  .cn-ty{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);max-width:720px;margin-inline:auto}
  .cn-ty__status{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}
  .cn-ty__check{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--success);color:#fff}
  .cn-ty__check[data-pending]{background:var(--sunshine-400);color:var(--forest-950)}
  .cn-ty__banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;border-radius:var(--radius-lg);background:var(--forest-900);color:var(--cream-100);font-size:16px;line-height:23px}
  .cn-ty__banner .cn-icon{width:28px;height:28px;color:var(--sunshine-400)}
  .cn-ty__switch{display:grid;gap:8px;padding:12px;border-radius:var(--radius-md);background:#FFF6D6;border:1px dashed #C9A227}
  .cn-ty__switch .cn-tags{gap:6px}
  .cn-ty__switch .cn-tag{min-height:44px;font-size:13px;padding:6px 10px}
  .cn-steps3{display:grid;gap:10px;counter-reset:s}
  .cn-steps3 li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start}
  .cn-steps3 li::before{counter-increment:s;content:counter(s);width:36px;height:36px;border-radius:50%;background:var(--sunshine-400);color:var(--forest-950);font:800 16px/36px var(--font-display);text-align:center}

  /* ---------- launch blockers ---------- */
  .cn-lb-page{padding:16px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);display:grid;gap:10px}
  .cn-lb-page h3{font-family:var(--font-display);font-size:20px;color:var(--forest-900)}
  .cn-lb-list{display:grid;gap:6px;font-size:14px;line-height:20px}
  .cn-lb-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start}
  .cn-lb-sum{display:flex;flex-wrap:wrap;gap:10px}
  .cn-lb-sum div{padding:12px 16px;border-radius:var(--radius-md);background:var(--paper);border:1px solid var(--line);font-weight:700}
  .cn-lb-sum b{display:block;font-family:var(--font-display);font-size:28px;color:var(--forest-900)}

  /* misc */
  .cn-crumbs-wrap{padding-top:14px}
  .cn-skip{position:absolute;left:-9999px}.cn-skip:focus{left:8px;top:8px;z-index:99;background:#fff;padding:8px}
  .cn-final-mascot{justify-self:center;width:200px;background:transparent}
  @media (min-width:960px){.cn-final-mascot{width:320px}}
}

@layer canary.components {
  .cn-faq{grid-template-columns:minmax(0,1fr)}
  .cn-faq summary > *{min-width:0}
  .cn-faq summary{gap:12px}
  .cn-booking__actions .cn-btn{min-width:0;white-space:normal;line-height:20px}
  @container (max-width:460px){.cn-booking[data-variant="B"] .cn-booking__actions{flex-direction:column;align-items:stretch;text-align:center;gap:6px}}
  .cn-sticky .cn-btn,.cn-drawer-nav__bar .cn-btn{white-space:normal;line-height:18px;text-align:center;padding-inline:14px}
  .cn-sticky__sum span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cn-tag{min-height:44px}
  .cn-phone{display:inline-flex!important;align-items:center;min-height:44px}
  .cn-county li a{display:inline-flex;align-items:center;min-height:44px}
  .cn-lb-page h3 a{display:inline-block;padding:10px 0}
  .cn-prose > *,.cn-stack-4 > *,.cn-hero__copy > *{min-width:0}
}

@layer canary.components {
  .cn-hero--home > .cn-container{position:relative;z-index:1}
  .cn-hero--home .cn-scenic__burst{opacity:.32;bottom:0}
  .cn-hero--home .cn-scenic__edge{position:relative;z-index:1}
}

@layer canary.components { .cn-hero__copy > .cn-flag,.cn-purchase > .cn-flag,.cn-stack-4 > .cn-flag{justify-self:start;width:max-content;max-width:100%} }

@layer canary.components {
  @media (min-width:960px){
    .cn-header__inner{grid-template-columns:auto minmax(0,1fr) auto;gap:24px}
    .cn-header__nav{gap:16px;font-size:15px;justify-content:center}
    .cn-header__phone{display:none}
    .cn-header__icon-phone{display:inline-flex!important}
    .cn-header__brand{width:150px}
  }
  @media (min-width:1360px){.cn-header__phone{display:inline-flex;font-size:17px}.cn-header__icon-phone{display:none!important}.cn-header__nav{gap:22px}}
}

/* header fit fix: full nav only where it fits; hamburger + drawer below 1280 */
@layer canary.components {
  .cn-lbl-short{display:none}
  @media (min-width:960px) and (max-width:1359px){
    .cn-header__inner{grid-template-columns:48px minmax(0,1fr) auto;gap:16px;padding-block:8px}
    .cn-header__menu{display:grid}
    .cn-header__nav{display:none}
    .cn-header__brand{justify-self:start;order:0}
    .cn-header__explore{display:inline-flex}
    .cn-header__cta{display:inline-flex}
    .cn-mega-item[data-open] .cn-mega{display:none}
  }
  @media (min-width:1360px){
    .cn-header > .cn-container{width:min(1440px,100% - 48px)}
    .cn-header__inner{grid-template-columns:auto minmax(0,1fr) auto;gap:24px;padding-block:0}
    .cn-header__brand{align-self:center}
    .cn-header__nav{gap:14px;font-size:15px;justify-content:safe center;align-self:stretch;align-items:stretch}
    .cn-mega-item{align-self:stretch}
    .cn-mega-item > a,.cn-header__nav > a{display:inline-flex;align-items:center;min-height:76px;padding-block:0}
    .cn-header__phone{display:none!important}
    .cn-header__icon-phone{display:inline-flex!important}
    .cn-header__actions{padding-block:14px}
  }
  @media (min-width:1360px) and (max-width:1439px){.cn-lbl-long{display:none}.cn-lbl-short{display:inline}}
}
