/* vanilla base reset (no framework) */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--h3b99dad-font, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif); line-height: 1.5; color: var(--h3b99dad-ink, #111); background: var(--h3b99dad-bg, #fff); }
h1, h2, h3, h4, h5, h6 { font-family: var(--h3b99dad-font-display, var(--h3b99dad-font, system-ui, sans-serif)); }
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: inherit; }
*:focus-visible { outline: 2px solid var(--h3b99dad-primary, #2563eb); outline-offset: 2px; }
/* visibility shim for framework toggles */
.hidden { display: none !important; }

/* design tokens */
:root {
  --h3b99dad-primary: #1F1F1F;
  --h3b99dad-secondary: #4B4B4B;
  --h3b99dad-accent: #D12B2B;
  --h3b99dad-ink: #1F1F1F;
  --h3b99dad-slate: #5B5B5B;
  --h3b99dad-mist: #D9D9D9;
  --h3b99dad-border: #1F1F1F;
  --h3b99dad-surface: #F6F1E7;
  --h3b99dad-bg: #FFFFFF;
  --h3b99dad-text: #1F1F1F;
  --h3b99dad-font: Charter, 'Sitka Text', Cambria, Georgia, serif;
  --h3b99dad-font-display: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif;
}

/* state utilities */
.is-open { display: block !important; }
.is-active { display: block !important; }
[hidden] { display: none !important; }

/* framework-injected components (vanilla) */
[data-h3b99dad-ui="cookie-banner"] { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; margin: 0 auto; max-width: 56rem; border: 1px solid var(--h3b99dad-border, #e5e7eb); background: var(--h3b99dad-surface, #fff); border-radius: 1rem; padding: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
[data-h3b99dad-ui="cookie-banner"] > div { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; justify-content: space-between; }
[data-h3b99dad-ui="cookie-banner"] > div > div:last-child { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-h3b99dad-ui="cookie-banner"] a { text-decoration: underline; }
[data-h3b99dad-cs-action], [data-h3b99dad-ag-action] { cursor: pointer; border-radius: .5rem; padding: .5rem .9rem; font-size: .8rem; border: 1px solid var(--h3b99dad-border, #d1d5db); background: transparent; color: var(--h3b99dad-ink, #111); }
[data-h3b99dad-cs-action="accept-all"], [data-h3b99dad-cs-action="save"], [data-h3b99dad-ag-action="confirm"] { background: var(--h3b99dad-primary, #2563eb); color: #fff; border-color: transparent; font-weight: 600; }
[data-h3b99dad-cs-action="reject-all"] { background: var(--h3b99dad-ink, #111); color: #fff; border-color: transparent; font-weight: 600; }
[data-h3b99dad-cs-panel] { margin-top: 1rem; border: 1px solid var(--h3b99dad-border, #e5e7eb); background: var(--h3b99dad-surface, #fff); border-radius: .75rem; padding: 1rem; font-size: .875rem; }
[data-h3b99dad-cs-panel] > div { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-h3b99dad-ui="cookie-banner"] label { display: inline-flex; align-items: center; gap: .5rem; }
[data-h3b99dad-ui="age-gate-overlay"] { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.8); }
[data-h3b99dad-ui="age-gate-overlay"] > div { width: 100%; max-width: 28rem; margin: 0 1rem; background: var(--h3b99dad-surface, #1a1a2e); color: var(--h3b99dad-ink, #fff); border-radius: 1rem; padding: 2rem; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
[data-h3b99dad-ui="age-gate-overlay"] > div > div:last-of-type { display: flex; flex-direction: column; gap: .75rem; }
[data-h3b99dad-ag-action] { padding: .75rem 1.5rem; }

/* sections */
/* h3b99dad:header */
/* h3b99dad:header */
#header{--hdr-h:72px; position:sticky; top:0; z-index:50; background:var(--h3b99dad-bg); border-bottom:1px solid var(--h3b99dad-border);}
#header .header-inner{max-width:72rem; margin:0 auto; padding:0 clamp(1rem,4vw,2rem); height:var(--hdr-h); display:flex; align-items:center; justify-content:space-between; gap:1rem;}
#header .brand{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--h3b99dad-ink); min-width:12rem;}
#header .brand-mark{color:var(--h3b99dad-accent); font-size:1.05rem; line-height:1; transform:translateY(-1px);}
#header .brand-name{font-family:var(--font-family-serif, Charter, 'Bitstream Charter', Sitka Text, Cambria, Georgia, serif); font-weight:700; letter-spacing:-.01em;}
#header .nav{display:flex; align-items:center; gap:1.25rem; justify-content:center; flex:1;}
#header .nav-link{font-family:var(--font-family-serif, Charter, 'Bitstream Charter', Sitka Text, Cambria, Georgia, serif); font-size:1rem; color:var(--h3b99dad-secondary); text-decoration:none; padding:.5rem .25rem; border-bottom:1px solid transparent;}
#header .nav-link:focus-visible{outline:2px solid var(--h3b99dad-accent); outline-offset:3px; border-bottom-color:var(--h3b99dad-accent);}
#header .nav-link:hover{color:var(--h3b99dad-ink); border-bottom-color:var(--h3b99dad-accent);}
#header .header-cta{display:flex; align-items:center;}
#header .cta-primary{display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 1.05rem; border:1px solid var(--h3b99dad-accent); color:var(--h3b99dad-ink); text-decoration:none; font-family:var(--font-family-serif, Charter, 'Bitstream Charter', Sitka Text, Cambria, Georgia, serif); font-weight:700; letter-spacing:-.01em; background:var(--h3b99dad-bg);}
#header .cta-primary:focus-visible{outline:2px solid var(--h3b99dad-accent); outline-offset:3px;}
#header .cta-primary:hover{background:var(--h3b99dad-accent); color:var(--h3b99dad-bg); border-color:var(--h3b99dad-accent);}
#header .menu-toggle{display:none; height:44px; padding:0 .9rem; border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-bg); color:var(--h3b99dad-ink); cursor:pointer; align-items:center; gap:.6rem; font-weight:700;}
#header .menu-toggle:focus-visible{outline:2px solid var(--h3b99dad-accent); outline-offset:3px;}
#header .menu-toggle-icon{font-size:1.1rem; color:var(--h3b99dad-ink);}
#header .menu-toggle-label{font-family:var(--font-family-serif, Charter, 'Bitstream Charter', Sitka Text, Cambria, Georgia, serif); font-size:1rem;}

@media (max-width: 900px){
  #header .nav{display:none; position:absolute; left:0; right:0; top:calc(var(--hdr-h)); background:var(--h3b99dad-bg); border-bottom:1px solid var(--h3b99dad-border); padding:1rem clamp(1rem,4vw,2rem); flex-direction:column; align-items:flex-start; gap:.5rem;}
  #header .nav.is-open{display:flex;}
  #header .header-inner{position:relative;}
  #header .menu-toggle{display:inline-flex;}
  #header .header-cta{display:none;}
  #header .nav-link{padding:.7rem .25rem; width:100%;}
}

@media (prefers-reduced-motion: reduce){
  #header .nav-link, #header .cta-primary{transition:none !important;}
}

#header::selection{background:var(--h3b99dad-accent); color:var(--h3b99dad-bg);}

/* h3b99dad:footer */
/* h3b99dad:footer */
#footer.footer{
  background: var(--h3b99dad-bg);
  color: var(--h3b99dad-text);
  padding: clamp(2.5rem, 4vw, 4rem) 0;
  border-top: 1px solid var(--h3b99dad-border);
}
#footer .footer-grid{
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 3rem);
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
}
#footer .footer-mark{
  font-family: var(--font-serif, Charter, 'Sitka Text', Cambria, Georgia, serif);
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  letter-spacing: -0.02em;
  font-weight: 700;
  margin-bottom: 0.75rem;
}
#footer .footer-disclaimer,
#footer .footer-note{
  margin: 0 0 0.75rem 0;
  font-size: 0.98rem;
  line-height: 1.5;
  color: var(--h3b99dad-text);
}
#footer .footer-note{
  color: var(--h3b99dad-secondary);
  margin-bottom: 1.25rem;
}
#footer .footer-contact{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.55rem;
}
#footer .footer-address{
  color: var(--h3b99dad-secondary);
  font-size: 0.95rem;
  line-height: 1.45;
}
#footer .footer-heading{
  margin: 0 0 0.9rem 0;
  font-family: var(--font-serif, Charter, 'Sitka Text', Cambria, Georgia, serif);
  font-size: 1.05rem;
  letter-spacing: 0;
}
#footer .footer-nav,
#footer .footer-legal{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.65rem;
}
#footer .footer-divider{
  height: 1px;
  width: 100%;
  background: var(--h3b99dad-border);
  margin: 1.6rem 0 1.4rem;
}
#footer .footer-link{
  color: var(--h3b99dad-text);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
}
#footer .footer-link:focus-visible{
  outline: 2px solid var(--h3b99dad-accent);
  outline-offset: 3px;
}
#footer .footer-link:hover{
  border-bottom-color: var(--h3b99dad-accent);
}
#footer .footer-company{
  margin: 1.3rem 0 0;
  color: var(--h3b99dad-secondary);
  font-size: 0.9rem;
  line-height: 1.5;
}
#footer ::selection{ background: rgba(209,43,43,0.25); }
@media (max-width: 860px){
  #footer .footer-grid{ grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce){
  #footer .footer-link{ transition: none; }
}

/* h3b99dad:hero-filters */
/* h3b99dad:hero-filters */
#hero-filters{--accent:var(--h3b99dad-accent);--ink:var(--h3b99dad-ink);--bg:var(--h3b99dad-bg);--surface:var(--h3b99dad-surface);--border:var(--h3b99dad-border);background:var(--bg);color:var(--h3b99dad-text);padding:clamp(1.5rem,4vw,3.5rem) 0 clamp(2.5rem,5vw,4.5rem)}
#hero-filters .hero-grid{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.25rem,3vw,2.5rem);padding:0 clamp(1rem,4vw,3rem)}
#hero-filters .hero-left,#hero-filters .hero-right{position:relative}
#hero-filters .section-rule{height:1px;background:var(--h3b99dad-border);opacity:0.9;margin-bottom:1.5rem}
#hero-filters .hero-kicker{font-family:var(--font-sans,inherit);font-size:0.95rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--h3b99dad-secondary);margin-bottom:0.9rem}
#hero-filters .hero-title{font-size:clamp(2.1rem,4.3vw,4.4rem);line-height:0.98;letter-spacing:-0.02em;text-transform:uppercase;margin:0 0 0.9rem;font-weight:700;font-family:var(--font-serif,inherit);text-wrap:balance}
#hero-filters .hero-subtitle{margin:0 0 1.35rem;max-width:38rem;font-size:1.05rem;line-height:1.6;color:var(--h3b99dad-secondary)}
#hero-filters .hero-chips{display:flex;gap:0.75rem;flex-wrap:wrap;margin:0 0 1.45rem}
#hero-filters .chip{appearance:none;border:1px solid var(--h3b99dad-border);background:transparent;color:var(--h3b99dad-ink);padding:0.7rem 0.9rem;font-size:0.95rem;line-height:1;cursor:pointer;border-radius:0;min-height:44px}
#hero-filters .chip:focus-visible{outline:3px solid var(--h3b99dad-accent);outline-offset:2px}
#hero-filters .chip.is-active{border-color:var(--h3b99dad-accent);color:var(--h3b99dad-ink)}
#hero-filters .chip:hover{border-color:var(--h3b99dad-accent)}
#hero-filters .hero-disclaimer{border-left:2px solid var(--h3b99dad-accent);padding:0 0 0 1rem;margin:1.2rem 0 0}
#hero-filters .hero-disclaimer-line{margin:0 0 0.45rem;font-size:0.95rem;line-height:1.55;color:var(--h3b99dad-secondary)}
#hero-filters .hero-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.4rem;align-items:center}
#hero-filters .link-cta{display:inline-block;border:1px solid var(--h3b99dad-accent);color:var(--h3b99dad-ink);background:transparent;padding:0.75rem 1rem;text-decoration:none;min-height:44px}
#hero-filters .link-cta:focus-visible{outline:3px solid var(--h3b99dad-accent);outline-offset:2px}
#hero-filters .link-cta:hover{background:var(--h3b99dad-accent);color:var(--h3b99dad-bg)}
#hero-filters .link-secondary{display:inline-block;color:var(--h3b99dad-secondary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;padding:0.5rem 0}
#hero-filters .link-secondary:focus-visible{outline:3px solid var(--h3b99dad-accent);outline-offset:3px}
#hero-filters .reel{display:flex;flex-direction:column;gap:1rem}
#hero-filters .reel-item{margin:0;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);position:relative;overflow:hidden}
#hero-filters .reel-img{display:block;width:100%;height:auto}
#hero-filters .reel-cap{position:absolute;left:0;right:0;bottom:0;background:rgba(246,241,231,0.96);border-top:1px solid var(--h3b99dad-border);padding:0.75rem 0.85rem;display:flex;justify-content:space-between;align-items:baseline;gap:0.75rem;transform:translateY(10px);transition:transform 140ms ease}
#hero-filters .reel-item:hover .reel-cap,#hero-filters .reel-item:focus-within .reel-cap{transform:translateY(0)}
#hero-filters .reel-cap-title{font-weight:700;color:var(--h3b99dad-ink);font-size:0.98rem}
#hero-filters .reel-cap-tag{font-size:0.85rem;color:var(--h3b99dad-secondary)}
#hero-filters .sticky-booking-preview{margin-top:1.15rem;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);padding:1rem}
#hero-filters .sticky-booking-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
#hero-filters .sticky-booking-label{font-size:0.85rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--h3b99dad-secondary);margin-bottom:0.35rem}
#hero-filters .sticky-booking-hint{font-size:0.98rem;line-height:1.4;color:var(--h3b99dad-secondary)}
#hero-filters .booking-cta{display:inline-block;border:1px solid var(--h3b99dad-accent);color:var(--h3b99dad-ink);text-decoration:none;background:transparent;padding:0.75rem 1rem;min-height:44px;white-space:nowrap}
#hero-filters .booking-cta:focus-visible{outline:3px solid var(--h3b99dad-accent);outline-offset:2px}
#hero-filters .booking-cta:hover{background:var(--h3b99dad-accent);color:var(--h3b99dad-bg)}
#hero-filters ::selection{background:var(--h3b99dad-accent);color:var(--h3b99dad-bg)}
@media (max-width: 900px){#hero-filters .hero-grid{grid-template-columns:1fr;gap:1.25rem}#hero-filters .section-rule{margin-bottom:1rem}#hero-filters .sticky-booking-inner{flex-direction:column;align-items:stretch}}
@media (prefers-reduced-motion: reduce){#hero-filters .reel-cap{transition:none}}
/* h3b99dad:portfolio-mosaic */
/* h3b99dad:portfolio-mosaic */
#portfolio-mosaic{--grid-max:72rem;--gutter:clamp(12px,2.5vw,22px);--col-rule:calc(100%/12);padding:clamp(1.5rem,4vw,3rem) 0 clamp(2.5rem,6vw,5rem);background:var(--h3b99dad-bg);color:var(--h3b99dad-text);font-family:var(--font-family-sans,Charter,'Sitka Text',Cambria,Georgia,serif)}
#portfolio-mosaic *{box-sizing:border-box}
#portfolio-mosaic .section-head{max-width:var(--grid-max);margin:0 auto var(--gutter);padding:0 var(--gutter)}
#portfolio-mosaic .section-kicker{font-size:0.875rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--h3b99dad-secondary);margin-bottom:0.75rem}
#portfolio-mosaic .section-rule{height:1px;background:var(--h3b99dad-border);margin:0 0 1.25rem;opacity:1}
#portfolio-mosaic .section-title{margin:0 0 0.75rem;font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.1;letter-spacing:-0.02em;text-wrap:balance}
#portfolio-mosaic .section-subtitle{margin:0;color:var(--h3b99dad-secondary);max-width:60ch;font-size:1rem;line-height:1.6}
#portfolio-mosaic .portfolio-grid{max-width:var(--grid-max);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(12,1fr);gap:12px;position:relative}
#portfolio-mosaic .portfolio-grid:before{content:"";position:absolute;left:var(--gutter);right:var(--gutter);top:-1px;height:1px;background:var(--h3b99dad-border);opacity:1}
#portfolio-mosaic .tile{grid-column:span 4;min-height:220px;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);position:relative;overflow:hidden;outline:none}
#portfolio-mosaic .tile:nth-child(1){grid-column:span 4}
#portfolio-mosaic .tile:nth-child(2){grid-column:span 4}
#portfolio-mosaic .tile:nth-child(3){grid-column:span 4}
#portfolio-mosaic .tile:nth-child(4){grid-column:span 4}
#portfolio-mosaic .tile:nth-child(5){grid-column:span 4}
#portfolio-mosaic .tile-wide{grid-column:span 12;min-height:180px;margin-top:0}
#portfolio-mosaic .tile-media{position:absolute;inset:0;background:
  linear-gradient(180deg, rgba(31,31,31,0) 0%, rgba(31,31,31,0.02) 55%, rgba(31,31,31,0.06) 100%),
  repeating-linear-gradient(90deg, rgba(31,31,31,0.06) 0 1px, rgba(255,255,255,0) 1px 12px),
  repeating-linear-gradient(0deg, rgba(31,31,31,0.06) 0 1px, rgba(255,255,255,0) 1px 12px);
  background-color:var(--h3b99dad-surface)}
#portfolio-mosaic .tile-media--note{background:
  linear-gradient(180deg, rgba(209,43,43,0.12), rgba(209,43,43,0) 56%),
  repeating-linear-gradient(90deg, rgba(31,31,31,0.07) 0 1px, rgba(255,255,255,0) 1px 12px),
  var(--h3b99dad-surface)}
#portfolio-mosaic .tile-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:14px}
#portfolio-mosaic .tile-caption{width:100%;border:1px solid var(--h3b99dad-border);background:rgba(246,241,231,0.86);backdrop-filter:blur(0px);padding:12px 12px;transform:translateY(10px);transition:transform 140ms ease, background 140ms ease, border-color 140ms ease}
#portfolio-mosaic .tile-caption--note{transform:translateY(0);background:rgba(246,241,231,0.98)}
#portfolio-mosaic .tile:hover .tile-caption,#portfolio-mosaic .tile:focus-visible .tile-caption{transform:translateY(0);border-color:var(--h3b99dad-accent)}
#portfolio-mosaic .tile-title{font-weight:700;letter-spacing:-0.01em;margin:0 0 6px;font-size:1.05rem}
#portfolio-mosaic .tile-meta{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
#portfolio-mosaic .microtag{font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--h3b99dad-secondary)}
#portfolio-mosaic .microtag-value{font-size:0.875rem;color:var(--h3b99dad-text);font-weight:600}
#portfolio-mosaic .tile:focus-visible{box-shadow:0 0 0 3px rgba(209,43,43,0.35)}
#portfolio-mosaic .link-cta{display:inline-block;margin-top:10px;color:var(--h3b99dad-text);text-decoration:none;border-bottom:1px solid var(--h3b99dad-border);padding-bottom:2px}
#portfolio-mosaic .link-cta:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(209,43,43,0.35)}
#portfolio-mosaic .tile-note{margin:0 0 8px;color:var(--h3b99dad-secondary);line-height:1.6;max-width:70ch}
#portfolio-mosaic .portfolio-disclaimer{max-width:var(--grid-max);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#portfolio-mosaic .portfolio-disclaimer-rule{height:1px;background:var(--h3b99dad-border);width:100%;order:-1;margin:18px 0}
#portfolio-mosaic .portfolio-disclaimer-text{margin:0;color:var(--h3b99dad-secondary);line-height:1.6;max-width:68ch}
#portfolio-mosaic .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:0;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);color:var(--h3b99dad-text);text-decoration:none;white-space:nowrap;font-weight:700;letter-spacing:0.01em}
#portfolio-mosaic .btn.btn-ghost{border-color:var(--h3b99dad-border)}
#portfolio-mosaic .btn.btn-ghost:hover{border-color:var(--h3b99dad-accent)}
#portfolio-mosaic .btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(209,43,43,0.35)}
#portfolio-mosaic ::selection{background:rgba(209,43,43,0.25)}
@media (max-width:768px){#portfolio-mosaic .tile{grid-column:span 6;min-height:200px}#portfolio-mosaic .tile-wide{grid-column:span 12}}
@media (max-width:640px){#portfolio-mosaic .tile{grid-column:span 12;min-height:200px}#portfolio-mosaic .section-subtitle{font-size:0.95rem}}
@media (prefers-reduced-motion:reduce){#portfolio-mosaic .tile-caption{transition:none}}
/* h3b99dad:hygiene-process */
/* h3b99dad:hygiene-process */
#hygiene-process.hygiene-process{padding:var(--section-pad,clamp(2.5rem,5vw,5.5rem)) 0; background:var(--h3b99dad-bg); color:var(--h3b99dad-text);}
#hygiene-process .container{max-width:72rem; padding:0 clamp(1rem,4vw,3rem); margin:0 auto;}
#hygiene-process .section-top{margin-bottom:clamp(1.5rem,3vw,2.5rem);}
#hygiene-process .section-kicker{font-family:var(--font-serif, Charter, 'Sitka Text', Cambria, Georgia, serif); font-size:0.875rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--h3b99dad-secondary);}
#hygiene-process .section-rule{height:1px; background:var(--h3b99dad-border); margin-top:0.75rem;}
#hygiene-process .grid{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(1.25rem,3vw,2.5rem); align-items:start;}
#hygiene-process .image-panel{padding-top:0.25rem;}
#hygiene-process .image-frame{position:relative; border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-surface);}
#hygiene-process .image-frame img{display:block; width:100%; height:auto;}
#hygiene-process .image-caption{position:absolute; left:0; right:0; bottom:0; background:var(--h3b99dad-bg); border-top:1px solid var(--h3b99dad-border); padding:0.75rem 0.85rem; transform:translateY(10px); transition:transform 140ms ease;}
#hygiene-process .image-frame:hover .image-caption, #hygiene-process .image-frame:focus-within .image-caption{transform:translateY(0);}
#hygiene-process .caption-title{font-weight:700; font-size:1rem; letter-spacing:-0.01em; color:var(--h3b99dad-ink);}
#hygiene-process .caption-tag{margin-top:0.15rem; font-size:0.875rem; color:var(--h3b99dad-secondary);}
#hygiene-process .image-subnote{margin-top:0.85rem; font-size:0.95rem; color:var(--h3b99dad-secondary); line-height:1.45;}
#hygiene-process .checklist-card{border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-surface); padding:clamp(1.1rem,2.5vw,1.6rem);}
#hygiene-process .headline{margin:0; font-family:var(--font-serif, Charter, 'Sitka Text', Cambria, Georgia, serif); font-size:clamp(1.4rem,2.3vw,2.1rem); line-height:1.08; letter-spacing:-0.02em; text-wrap:balance;}
#hygiene-process .subcopy{margin:0.85rem 0 1.2rem; color:var(--h3b99dad-secondary); line-height:1.55;}
#hygiene-process .checklist{list-style:none; padding:0; margin:0 0 1.1rem; display:grid; gap:0.75rem;}
#hygiene-process .check-item{display:flex; gap:0.8rem; align-items:flex-start;}
#hygiene-process .check-icon{flex:0 0 auto; width:1.65rem; height:1.65rem; border:1px solid var(--h3b99dad-border); color:var(--h3b99dad-accent); font-weight:800; display:flex; align-items:center; justify-content:center; line-height:1; background:var(--h3b99dad-bg);}
#hygiene-process .check-text{color:var(--h3b99dad-ink); line-height:1.5; font-size:1rem;}
#hygiene-process .disclaimer{border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-bg); padding:0.85rem 0.95rem; margin:1rem 0 1.1rem;}
#hygiene-process .disclaimer-line{margin:0; font-size:0.95rem; color:var(--h3b99dad-secondary); line-height:1.5;}
#hygiene-process .actions{display:flex; gap:0.85rem; flex-wrap:wrap; margin-top:0.2rem;}
#hygiene-process .link-cta{display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0.7rem 1rem; border:2px solid var(--h3b99dad-accent); color:var(--h3b99dad-ink); background:var(--h3b99dad-bg); font-weight:700; text-decoration:none; letter-spacing:-0.01em;}
#hygiene-process .link-cta:hover{background:var(--h3b99dad-accent); color:var(--h3b99dad-bg); border-color:var(--h3b99dad-accent);}
#hygiene-process .link-secondary{display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0.7rem 1rem; border:1px solid var(--h3b99dad-border); color:var(--h3b99dad-ink); background:var(--h3b99dad-bg); font-weight:650; text-decoration:none;}
#hygiene-process .link-secondary:hover{background:var(--h3b99dad-surface);}
#hygiene-process .link-cta:focus-visible, #hygiene-process .link-secondary:focus-visible{outline:3px solid var(--h3b99dad-accent); outline-offset:2px;}
#hygiene-process .small-print{margin-top:1rem; color:var(--h3b99dad-secondary); font-size:0.9rem; line-height:1.5;}
#hygiene-process ::selection{background:rgba(209,43,43,0.25);}
@media (max-width: 900px){#hygiene-process .grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#hygiene-process .image-caption{transition:none;}}

/* h3b99dad:pricing-quick-ranges */
/* h3b99dad:pricing-quick-ranges */
#pricing-quick-ranges.section{background:var(--h3b99dad-bg);color:var(--h3b99dad-text);font-family:var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif)}
#pricing-quick-ranges .container{max-width:72rem;margin:0 auto;padding:clamp(2.25rem,4vw,3.25rem) var(--gutter,clamp(1rem,4vw,3rem))}
#pricing-quick-ranges .grid-rule{height:1px;background:var(--h3b99dad-border);margin:0 0 clamp(1.25rem,2.2vw,2rem)}
#pricing-quick-ranges .section-header{display:flex;gap:1.25rem;align-items:flex-start;flex-wrap:wrap}
#pricing-quick-ranges .section-number{font-family:var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);font-weight:700;letter-spacing:-0.02em;font-size:1.25rem;color:var(--h3b99dad-ink);min-width:3.25rem}
#pricing-quick-ranges .section-titlewrap{flex:1;min-width:18rem}
#pricing-quick-ranges .section-title{margin:0;font-size:clamp(1.55rem,2.3vw,2.05rem);letter-spacing:-0.02em;line-height:1.1;text-wrap:balance}
#pricing-quick-ranges .section-subtitle{margin:0.6rem 0 0;font-size:1rem;line-height:1.55;color:var(--h3b99dad-secondary);max-width:56ch}
#pricing-quick-ranges .pricing-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:clamp(1.25rem,2.4vw,2.25rem)}
#pricing-quick-ranges .pricing-col{border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);padding:1.25rem}
#pricing-quick-ranges .pricing-heading{margin:0 0 0.9rem;font-size:1.05rem;letter-spacing:-0.01em}
#pricing-quick-ranges .price-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.75rem}
#pricing-quick-ranges .price-item{border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);padding:0.85rem 0.9rem}
#pricing-quick-ranges .price-main{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
#pricing-quick-ranges .price-label{font-weight:700;letter-spacing:-0.01em}
#pricing-quick-ranges .price-tag{font-variant-numeric:tabular-nums;font-weight:800;color:var(--h3b99dad-accent);letter-spacing:-0.01em}
#pricing-quick-ranges .price-meta{margin-top:0.35rem;font-size:0.9rem;color:var(--h3b99dad-secondary);line-height:1.35}
#pricing-quick-ranges .disclaimer{margin-top:1.3rem;border-top:1px solid var(--h3b99dad-border);padding-top:1.25rem}
#pricing-quick-ranges .disclaimer-title{margin:0 0 0.6rem;font-size:1.05rem}
#pricing-quick-ranges .disclaimer-body{display:flex;flex-direction:column;gap:0.55rem}
#pricing-quick-ranges .disclaimer-line{margin:0;display:flex;gap:0.65rem;align-items:flex-start;line-height:1.5;color:var(--h3b99dad-secondary);font-size:0.98rem}
#pricing-quick-ranges .accent-dot{width:0.6rem;height:0.6rem;background:var(--h3b99dad-accent);margin-top:0.45rem;flex:0 0 auto}
#pricing-quick-ranges .aftercare-link{display:flex;gap:0.9rem;flex-wrap:wrap;margin-top:1.05rem}
#pricing-quick-ranges .ghost-link,#pricing-quick-ranges .primary-link{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 1rem;border-radius:0;letter-spacing:0.01em;font-weight:700;text-decoration:none}
#pricing-quick-ranges .ghost-link{border:1px solid var(--h3b99dad-border);color:var(--h3b99dad-ink);background:var(--h3b99dad-bg)}
#pricing-quick-ranges .primary-link{border:1px solid var(--h3b99dad-accent);color:var(--h3b99dad-accent);background:var(--h3b99dad-bg)}
#pricing-quick-ranges .ghost-link:hover,#pricing-quick-ranges .primary-link:hover{transform:translateY(-1px)}
#pricing-quick-ranges .ghost-link:active,#pricing-quick-ranges .primary-link:active{transform:translateY(0)}
#pricing-quick-ranges .ghost-link:focus-visible,#pricing-quick-ranges .primary-link:focus-visible{outline:2px solid var(--h3b99dad-accent);outline-offset:2px}
#pricing-quick-ranges ::selection{background:rgba(209,43,43,0.22)}
@media (max-width: 900px){
  #pricing-quick-ranges .pricing-wrap{grid-template-columns:1fr}
  #pricing-quick-ranges .pricing-col{padding:1.1rem}
}
@media (prefers-reduced-motion: reduce){
  #pricing-quick-ranges .ghost-link:hover,#pricing-quick-ranges .primary-link:hover{transform:none}
}

/* h3b99dad:contacts-booking */
/* h3b99dad:contacts-booking */
#contacts-booking.contacts-booking{--r:0px; background:var(--h3b99dad-bg); color:var(--h3b99dad-text); padding:clamp(2rem,4vw,3.2rem) 0;}
#contacts-booking .contacts-booking__inner{max-width:72rem; margin:0 auto; padding:0 clamp(1rem,4vw,1.75rem);}
#contacts-booking .contacts-booking__header{display:flex; gap:1.25rem; align-items:flex-start;}
#contacts-booking .contacts-booking__number{font-family:var(--h3b99dad-font,Charter, 'Sitka Text', Cambria, Georgia, serif); font-size:clamp(2rem,3vw,2.5rem); line-height:1; letter-spacing:-0.02em; font-weight:700; color:var(--h3b99dad-ink); min-width:3.25rem;}
#contacts-booking .contacts-booking__title{margin:0; font-size:clamp(1.5rem,2.8vw,2.2rem); line-height:1.15; letter-spacing:-0.02em; font-weight:800; text-wrap:balance;}
#contacts-booking .contacts-booking__subtitle{margin:0.55rem 0 0; color:var(--h3b99dad-secondary); max-width:52ch; font-size:1rem; line-height:1.55;}
#contacts-booking .contacts-booking__gridline{height:1px; background:var(--h3b99dad-accent); margin-top:1.1rem; opacity:1;}
#contacts-booking .contacts-booking__content{display:grid; grid-template-columns:1fr; gap:2rem; margin-top:1.75rem;}
#contacts-booking .contacts-booking__form{border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-surface); padding:1.25rem;}
#contacts-booking .form-fieldset{border:0; padding:0; margin:0;}
#contacts-booking .form-legend{font-weight:800; letter-spacing:-0.01em; margin:0 0 0.75rem; font-size:1.1rem;}
#contacts-booking .form-row{display:flex; flex-direction:column; gap:0.4rem; margin-bottom:0.95rem;}
#contacts-booking .form-row--half{display:grid; grid-template-columns:1fr; gap:0.95rem;}
#contacts-booking .form-label{font-size:0.95rem; color:var(--h3b99dad-ink); font-weight:650;}
#contacts-booking .form-control{width:100%; border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-bg); color:var(--h3b99dad-ink); padding:0.7rem 0.75rem; font-size:1rem; outline:none; border-radius:0px;}
#contacts-booking .form-control--textarea{resize:vertical; min-height:120px;}
#contacts-booking .form-control:focus{border-color:var(--h3b99dad-accent);}
#contacts-booking .form-control:focus-visible{outline:2px solid var(--h3b99dad-accent); outline-offset:2px;}
#contacts-booking .consent{border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-bg); padding:0.85rem; margin:0.7rem 0 1rem;}
#contacts-booking .consent__disclaimer{font-weight:800; letter-spacing:-0.01em; margin:0 0 0.35rem;}
#contacts-booking .consent__results{color:var(--h3b99dad-secondary); font-size:0.95rem;}
#contacts-booking .checkbox{display:flex; gap:0.75rem; align-items:flex-start; margin:0.25rem 0 1rem; font-size:0.98rem; color:var(--h3b99dad-ink);}
#contacts-booking .checkbox input{margin-top:0.25rem; width:18px; height:18px; accent-color:var(--h3b99dad-accent);}
#contacts-booking .checkbox__text{line-height:1.45;}
#contacts-booking .form-actions{display:flex; flex-direction:column; gap:0.75rem; margin-top:0.25rem;}
#contacts-booking .btn{display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:0.8rem 1rem; font-weight:800; letter-spacing:-0.01em; text-decoration:none; border-radius:0px; border:1px solid var(--h3b99dad-border); cursor:pointer; font-size:1rem;}
#contacts-booking .btn--primary{background:var(--h3b99dad-ink); color:var(--h3b99dad-bg); border-color:var(--h3b99dad-ink);}
#contacts-booking .btn--primary:hover{background:var(--h3b99dad-accent); border-color:var(--h3b99dad-accent);}
#contacts-booking .btn--primary:focus-visible{outline:2px solid var(--h3b99dad-accent); outline-offset:2px;}
#contacts-booking .btn--ghost{background:var(--h3b99dad-bg); color:var(--h3b99dad-ink);}
#contacts-booking .btn--ghost:hover{border-color:var(--h3b99dad-accent); color:var(--h3b99dad-accent);}
#contacts-booking .btn--ghost:focus-visible{outline:2px solid var(--h3b99dad-accent); outline-offset:2px;}
#contacts-booking .contacts-booking__side{display:flex; flex-direction:column; gap:1rem;}
#contacts-booking .side-card{border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-bg); padding:1.1rem;}
#contacts-booking .side-card--muted{background:var(--h3b99dad-surface);}
#contacts-booking .side-card__title{margin:0 0 0.85rem; font-size:1.05rem; font-weight:900; letter-spacing:-0.01em;}
#contacts-booking .side-card__list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0.75rem;}
#contacts-booking .side-card__item{display:flex; gap:0.75rem; align-items:flex-start; color:var(--h3b99dad-ink); line-height:1.45;}
#contacts-booking .step{display:inline-flex; width:28px; height:28px; border:1px solid var(--h3b99dad-border); color:var(--h3b99dad-ink); align-items:center; justify-content:center; font-weight:900;}
#contacts-booking .aftercare{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:0.55rem;}
#contacts-booking .aftercare li{color:var(--h3b99dad-secondary); line-height:1.45;}
#contacts-booking .aftercare strong{color:var(--h3b99dad-ink);}
#contacts-booking .side-card__small{margin:0.85rem 0 0; color:var(--h3b99dad-secondary); font-size:0.95rem; line-height:1.45;}
#contacts-booking .contacts-booking__microcopy{margin:1.3rem 0 0; color:var(--h3b99dad-secondary); font-size:0.95rem; line-height:1.5;}
#contacts-booking *::selection{background:rgba(209,43,43,0.22);}
@media (min-width: 768px){
  #contacts-booking .contacts-booking__content{grid-template-columns:1.25fr 0.75fr; align-items:start;}
  #contacts-booking .form-row--half{grid-template-columns:1fr 1fr;}
  #contacts-booking .form-actions{flex-direction:row; align-items:flex-start;}
  #contacts-booking .btn{width:auto; flex:1;}
  #contacts-booking .btn--ghost{flex:1;}
}
@media (prefers-reduced-motion: reduce){
  #contacts-booking .btn{transition:none !important;}
}

/* h3b99dad:numbered-title */
/* h3b99dad:numbered-title */
#numbered-title{padding:clamp(2rem,4vw,3.5rem) 0; background:var(--h3b99dad-bg); color:var(--h3b99dad-text)}
#numbered-title .container{max-width:72rem; padding:0 clamp(1rem,4vw,3rem); margin:0 auto;}
#numbered-title .grid{height:0; border-top:1px solid var(--h3b99dad-border); margin:0 0 clamp(1rem,2vw,1.5rem)}
#numbered-title .section-header{display:flex; flex-direction:column; gap:clamp(0.75rem,1.6vw,1rem)}
#numbered-title .numbered-heading{display:flex; align-items:baseline; gap:1rem}
#numbered-title .section-number{font:700 clamp(1.2rem,2.6vw,1.9rem)/1 var(--font-serif, serif); letter-spacing:0.02em; color:var(--h3b99dad-ink)}
#numbered-title .section-title{margin:0; font:700 clamp(1.6rem,3.6vw,2.6rem)/1.05 var(--font-serif, serif); letter-spacing:-0.02em; text-wrap:balance}
#numbered-title .baseline{height:1px; width:100%; background:var(--h3b99dad-border)}
#numbered-title .disclaimer-block{margin-top:clamp(1rem,2.5vw,1.5rem); border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-surface); padding:clamp(1rem,2.2vw,1.25rem)}
#numbered-title .disclaimer-line{margin:0; font:400 1rem/1.6 var(--font-sans, serif); color:var(--h3b99dad-text)}
#numbered-title .disclaimer-line + .disclaimer-line{margin-top:0.5rem}
#numbered-title ::selection{background:rgba(209,43,43,.25); color:var(--h3b99dad-ink)}
@media (max-width:640px){
  #numbered-title .numbered-heading{gap:0.75rem; align-items:flex-start}
  #numbered-title .section-number{padding-top:0.08rem}
}
@media (prefers-reduced-motion:reduce){#numbered-title *{scroll-behavior:auto}}

/* h3b99dad:workflow-checklist */
/* h3b99dad:workflow-checklist */
#workflow-checklist.workflow-checklist{background:var(--h3b99dad-bg);color:var(--h3b99dad-text);font-family:var(--h3b99dad-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);padding:0;}
#workflow-checklist .container{max-width:72rem;margin:0 auto;padding:clamp(1.25rem,3.8vw,3rem) var(--container-gutter, clamp(1rem,4vw,3rem));}
#workflow-checklist .section-header{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:clamp(1.25rem,3vw,2.25rem);}
#workflow-checklist .section-number{font-family:var(--h3b99dad-serif, Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif);font-size:1.25rem;letter-spacing:0.02em;color:var(--h3b99dad-secondary);min-width:3.25rem;padding-top:0.2rem;font-weight:700;}
#workflow-checklist .section-title-wrap{flex:1;}
#workflow-checklist .section-title{margin:0;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.12;letter-spacing:-0.02em;text-wrap:balance;}
#workflow-checklist .section-rule{height:1px;background:var(--h3b99dad-border);margin-top:0.8rem;}
#workflow-checklist .checklist-wrap{display:grid;grid-template-columns:1.5fr 0.75fr;gap:clamp(1rem,3vw,2rem);align-items:start;}
#workflow-checklist .steps{margin:0;padding:0;list-style:none;counter-reset:step;}
#workflow-checklist .step{border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);padding:1.05rem 1.05rem 1rem;}
#workflow-checklist .step + .step{margin-top:1rem;}
#workflow-checklist .step-head{display:flex;gap:0.9rem;align-items:baseline;margin-bottom:0.55rem;}
#workflow-checklist .step-index{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--h3b99dad-border);color:var(--h3b99dad-ink);font-weight:800;font-variant-numeric:tabular-nums;background:var(--h3b99dad-surface);}
#workflow-checklist .step-title{font-weight:800;font-size:1.05rem;line-height:1.25;margin:0;}
#workflow-checklist .step-text{margin:0;color:var(--h3b99dad-secondary);font-size:1rem;line-height:1.55;}
#workflow-checklist .disclaimer{border-left:1px solid var(--h3b99dad-border);padding-left:1.1rem;margin-top:0.2rem;}
#workflow-checklist .disclaimer-line{margin:0 0 0.75rem 0;font-size:0.95rem;line-height:1.5;color:var(--h3b99dad-secondary);}
#workflow-checklist .disclaimer-line:last-child{margin-bottom:0;}
#workflow-checklist .disclaimer-accent{color:var(--h3b99dad-accent);font-weight:900;margin-right:0.35rem;}
#workflow-checklist .workflow-footer{display:flex;gap:1rem;align-items:center;justify-content:flex-start;flex-wrap:wrap;margin-top:1.6rem;padding-top:1.25rem;border-top:1px solid var(--h3b99dad-border);}
#workflow-checklist .workflow-footer-text{margin:0;color:var(--h3b99dad-secondary);font-size:0.95rem;line-height:1.5;}
#workflow-checklist .link-cta{border:2px solid var(--h3b99dad-accent);color:var(--h3b99dad-ink);background:var(--h3b99dad-bg);text-decoration:none;padding:0.75rem 1rem;display:inline-flex;align-items:center;gap:0.6rem;font-weight:800;min-height:44px;}
#workflow-checklist .link-cta:focus-visible{outline:3px solid var(--h3b99dad-accent);outline-offset:2px;}
#workflow-checklist .link-cta:hover{background:var(--h3b99dad-accent);color:var(--h3b99dad-bg);}
#workflow-checklist .link-secondary{border:2px solid var(--h3b99dad-border);color:var(--h3b99dad-ink);background:var(--h3b99dad-bg);text-decoration:none;padding:0.75rem 1rem;display:inline-flex;align-items:center;gap:0.6rem;font-weight:800;min-height:44px;}
#workflow-checklist .link-secondary:focus-visible{outline:3px solid var(--h3b99dad-border);outline-offset:2px;}
#workflow-checklist .link-secondary:hover{background:var(--h3b99dad-border);color:var(--h3b99dad-bg);}
#workflow-checklist ::selection{background:var(--h3b99dad-accent);color:var(--h3b99dad-bg);}
@media (max-width: 768px){
  #workflow-checklist .checklist-wrap{grid-template-columns:1fr;}
  #workflow-checklist .disclaimer{border-left:none;padding-left:0;border-top:1px solid var(--h3b99dad-border);padding-top:1rem;}
  #workflow-checklist .step + .step{margin-top:0.85rem;}
}
@media (prefers-reduced-motion: reduce){
  #workflow-checklist .link-cta,#workflow-checklist .link-secondary{transition:none;}
}

/* h3b99dad:aftercare-steps */
/* h3b99dad:aftercare-steps */
#aftercare-steps{--pad:clamp(1rem,2.6vw,2.25rem);--container:72rem;--rule:1px;box-sizing:border-box;background:var(--h3b99dad-bg);color:var(--h3b99dad-text);padding:var(--pad) 0 0 0;font-family:var(--ds-font, Charter, 'Sitka Text', Cambria, Georgia, serif);} 
#aftercare-steps *,#aftercare-steps *:before,#aftercare-steps *:after{box-sizing:inherit;} 
#aftercare-steps .ds-grid-rule{height:var(--rule);background:var(--h3b99dad-border);opacity:.9;margin:0 0 clamp(1.25rem,2.6vw,2rem) 0;}
#aftercare-steps .section-head{max-width:1120px;margin:0 auto;padding:0 var(--pad);} 
#aftercare-steps .section-kicker{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;} 
#aftercare-steps .section-num{font-weight:700;letter-spacing:.02em;font-size:1.05rem;color:var(--h3b99dad-accent);}
#aftercare-steps .section-title{font-size:clamp(1.35rem,2.6vw,2rem);font-weight:700;letter-spacing:-0.01em;text-wrap:balance;}
#aftercare-steps .aftercare-layout{max-width:1120px;margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1.4fr .9fr;gap:clamp(1.25rem,3vw,2.6rem);align-items:start;}
#aftercare-steps .aftercare-copy{min-width:0;}
#aftercare-steps .lead{margin:0 0 .9rem 0;font-size:1.05rem;line-height:1.65;color:var(--h3b99dad-ink);} 
#aftercare-steps .disclaimer,#aftercare-steps .results-note{margin:.65rem 0;line-height:1.55;font-size:1rem;padding:.85rem 1rem;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);} 
#aftercare-steps .results-note{border-style:solid;border-color:var(--h3b99dad-accent);background:color-mix(in srgb, var(--h3b99dad-surface) 92%, white 8%);} 
#aftercare-steps .safety-box{margin:1.2rem 0 1.4rem 0;padding:1rem 1rem;border:1px solid var(--h3b99dad-accent);background:var(--h3b99dad-bg);} 
#aftercare-steps .safety-title{margin:0 0 .6rem 0;font-weight:700;letter-spacing:-0.01em;} 
#aftercare-steps .safety-list{margin:.4rem 0 0 1.1rem;padding:0;line-height:1.6;} 
#aftercare-steps .safety-list li{margin:.35rem 0;} 
#aftercare-steps .day-list{margin-top:1rem;display:flex;flex-direction:column;gap:1rem;} 
#aftercare-steps .day-row{border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);padding:1rem 1rem 1.05rem 1rem;} 
#aftercare-steps .day-pill{display:flex;align-items:baseline;gap:.55rem;margin-bottom:.7rem;} 
#aftercare-steps .day-label{font-weight:800;font-size:1.05rem;letter-spacing:-0.01em;} 
#aftercare-steps .day-range{color:var(--h3b99dad-secondary);font-size:.95rem;} 
#aftercare-steps .bullets{margin:0 0 0 1.1rem;padding:0;line-height:1.65;} 
#aftercare-steps .bullets li{margin:.4rem 0;} 
#aftercare-steps strong{font-weight:800;} 
#aftercare-steps .note-links{margin:1.1rem 0 0 0;} 
#aftercare-steps .text-link{color:var(--h3b99dad-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-weight:700;} 
#aftercare-steps .text-link:focus-visible{outline:2px solid var(--h3b99dad-accent);outline-offset:3px;} 
#aftercare-steps .aftercare-aside{min-width:0;display:flex;flex-direction:column;gap:1rem;} 
#aftercare-steps .aside-card{border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);padding:1rem 1rem;} 
#aftercare-steps .aside-title{margin:0 0 .75rem 0;font-weight:800;letter-spacing:-0.01em;} 
#aftercare-steps .split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;} 
#aftercare-steps .split-heading{margin:.1rem 0 .55rem 0;font-weight:800;font-size:.98rem;} 
#aftercare-steps .mini{margin:0 0 0 1.05rem;padding:0;line-height:1.6;} 
#aftercare-steps .mini li{margin:.35rem 0;} 
#aftercare-steps .aside-divider{height:1px;background:var(--h3b99dad-border);margin:1rem 0 .85rem 0;}
#aftercare-steps .aside-foot{margin:0;line-height:1.6;color:var(--h3b99dad-secondary);font-size:.98rem;} 
#aftercare-steps .aside-cta{margin-top:1rem;} 
#aftercare-steps .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1rem;border:2px solid var(--h3b99dad-accent);color:var(--h3b99dad-ink);background:var(--h3b99dad-bg);text-decoration:none;font-weight:900;letter-spacing:-0.01em;} 
#aftercare-steps .button:hover{background:var(--h3b99dad-accent);color:var(--h3b99dad-surface);border-color:var(--h3b99dad-accent);} 
#aftercare-steps .button:focus-visible{outline:2px solid var(--h3b99dad-accent);outline-offset:3px;} 
#aftercare-steps::selection{background:color-mix(in srgb, var(--h3b99dad-accent) 28%, white 72%);}
#aftercare-steps a{transition:background-color .15s ease, color .15s ease, border-color .15s ease;} 
@media (max-width: 860px){
  #aftercare-steps .aftercare-layout{grid-template-columns:1fr;}
  #aftercare-steps .split{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  #aftercare-steps *{scroll-behavior:auto;transition:none !important;}
}

/* h3b99dad:booking-cta */
/* h3b99dad:booking-cta */
#booking-cta.booking-cta{background:var(--h3b99dad-bg);color:var(--h3b99dad-text);border-top:1px solid var(--h3b99dad-border);padding:clamp(1.5rem,3vw,2.2rem) 0}
#booking-cta .booking-cta__grid{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,2rem);display:grid;grid-template-columns:1fr;gap:1.25rem;position:relative}
#booking-cta .booking-cta__grid::before{content:"";position:absolute;left:clamp(1rem,4vw,2rem);right:clamp(1rem,4vw,2rem);top:-1px;height:1px;background:var(--h3b99dad-border);opacity:1}
#booking-cta .booking-cta__header{padding-top:1rem}
#booking-cta .booking-cta__kicker{font:600 0.875rem/1.2 var(--font-family-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:0.02em;color:var(--h3b99dad-secondary);text-transform:none}
#booking-cta .booking-cta__title{margin:0.5rem 0 0;font:600 clamp(1.35rem,2.4vw,2rem)/1.15 var(--font-family-serif, Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.02em;text-wrap:balance}
#booking-cta .booking-cta__copy{margin:0.75rem 0 0;max-width:54ch;color:var(--h3b99dad-secondary);font:400 1rem/1.6 var(--font-family-sans, Charter, 'Sitka Text', Cambria, Georgia, serif)}
#booking-cta .booking-cta__actions{display:flex;flex-direction:column;gap:0.75rem;align-items:flex-start;padding:0.75rem 0 0}
#booking-cta .booking-cta__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.85rem 1.05rem;border:1px solid var(--h3b99dad-accent);color:var(--h3b99dad-ink, var(--h3b99dad-text));background:var(--h3b99dad-bg);text-decoration:none;font:700 1rem/1.2 var(--font-family-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:0;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 160ms ease}
#booking-cta .booking-cta__link:hover{background:var(--h3b99dad-accent);border-color:var(--h3b99dad-accent);color:var(--h3b99dad-bg)}
#booking-cta .booking-cta__link:active{transform:translateY(1px)}
#booking-cta .booking-cta__link:focus-visible{outline:3px solid var(--h3b99dad-accent);outline-offset:2px}
#booking-cta .booking-cta__link--ghost{border-color:var(--h3b99dad-border);color:var(--h3b99dad-ink, var(--h3b99dad-text));background:var(--h3b99dad-bg)}
#booking-cta .booking-cta__link--ghost:hover{background:var(--h3b99dad-border);color:var(--h3b99dad-bg)}
#booking-cta .booking-cta__fineprint{color:var(--h3b99dad-secondary);font:400 0.875rem/1.5 var(--font-family-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);max-width:60ch}
#booking-cta .booking-cta__fineprint::before{content:"";display:block;width:56px;height:1px;background:var(--h3b99dad-accent);margin:0 0 0.5rem}
@media (min-width:768px){
  #booking-cta .booking-cta__grid{grid-template-columns:1.2fr 0.8fr;align-items:end;gap:2rem}
  #booking-cta .booking-cta__actions{padding-top:0;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  #booking-cta .booking-cta__link{transition:none}
  #booking-cta .booking-cta__link:active{transform:none}
}
#booking-cta::selection{background:var(--h3b99dad-accent);color:var(--h3b99dad-bg)}
/* h3b99dad:numbered-title */
/* h3b99dad:numbered-title */
#numbered-title.numbered-title{--pad:clamp(1rem,3vw,2rem);background:var(--h3b99dad-bg);color:var(--h3b99dad-text);}
#numbered-title .wrap{max-width:72rem;margin:0 auto;padding:var(--pad) var(--pad) clamp(1.5rem,3vw,2.5rem);}
#numbered-title .grid-rule{height:1px;background:var(--h3b99dad-border);margin-bottom:clamp(1rem,2vw,1.5rem);}
#numbered-title .title-block{display:flex;gap:1rem;align-items:flex-end;justify-content:space-between;}
#numbered-title .kicker{margin:0;font-family:var(--h3b99dad-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);font-size:clamp(1.25rem,2.6vw,2rem);letter-spacing:-0.02em;text-transform:none;font-weight:700;line-height:1.05;}
#numbered-title .subcopy{margin:0;max-width:44rem;color:var(--h3b99dad-secondary);font-size:1rem;line-height:1.55;}
#numbered-title :focus-visible{outline:2px solid var(--h3b99dad-accent);outline-offset:3px;}
#numbered-title::selection{background:var(--h3b99dad-accent);color:#fff;}
@media (max-width:768px){
  #numbered-title .title-block{flex-direction:column;align-items:flex-start;gap:0.75rem;}
  #numbered-title .subcopy{max-width:100%;}
}
@media (prefers-reduced-motion:reduce){
  #numbered-title *{scroll-behavior:auto;}
}
/* h3b99dad:contact-intro */
/* h3b99dad:contact-intro */
#contact-intro.contact-intro{background:var(--h3b99dad-bg);color:var(--h3b99dad-text);font-family:var(--h3b99dad-font-sans,Charter,'Sitka Text',Cambria,Georgia,serif)}
#contact-intro .ci-container{max-width:72rem;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) var(--h3b99dad-gutter,clamp(1rem,4vw,3rem)) clamp(2.5rem,6vw,5rem)}
#contact-intro .ci-header{margin-bottom:clamp(1.5rem,3vw,2.5rem)}
#contact-intro .ci-kicker{font-size:0.95rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--h3b99dad-secondary);margin-bottom:0.5rem}
#contact-intro .ci-title{font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.1;margin:0;text-transform:none;letter-spacing:-0.01em;max-width:42ch;text-wrap:balance}
#contact-intro .ci-rule{height:1px;background:var(--h3b99dad-border);margin-top:1.25rem;opacity:1}
#contact-intro .ci-layout{display:grid;grid-template-columns:1fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start}
#contact-intro .ci-copy{min-width:0}
#contact-intro .ci-lead{margin:0 0 1.25rem 0;font-size:1.02rem;line-height:1.6;color:var(--h3b99dad-text);max-width:62ch}
#contact-intro .ci-block{padding:1.05rem 1rem;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);margin-bottom:0.9rem}
#contact-intro .ci-h{margin:0 0 0.55rem 0;font-size:1.05rem;line-height:1.25;color:var(--h3b99dad-ink);letter-spacing:0.01em}
#contact-intro .ci-p{margin:0;line-height:1.65;font-size:1rem;color:var(--h3b99dad-text)}
#contact-intro .ci-note{margin-top:0.7rem;font-size:0.95rem;line-height:1.6;color:var(--h3b99dad-secondary)}
#contact-intro .ci-aside{border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);padding:1.15rem 1.05rem}
#contact-intro .aside-title{margin:0 0 0.9rem 0}
#contact-intro .ci-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.65rem}
#contact-intro .ci-li{display:flex;gap:0.6rem;align-items:flex-start;line-height:1.5;color:var(--h3b99dad-text);font-size:1rem}
#contact-intro .ci-dot{color:var(--h3b99dad-accent);font-size:1.15rem;line-height:1.1;margin-top:-0.05rem}
#contact-intro .ci-strong{font-weight:700}
#contact-intro .ci-aside-footer{margin-top:1.1rem;padding-top:0.95rem;border-top:1px solid var(--h3b99dad-border)}
#contact-intro .ci-link{display:inline-block;color:var(--h3b99dad-ink);text-decoration:underline;text-decoration-color:var(--h3b99dad-accent);text-underline-offset:3px}
#contact-intro .ci-link:focus-visible{outline:3px solid var(--h3b99dad-accent);outline-offset:3px}
#contact-intro ::selection{background:rgba(209,43,43,0.22)}
@media (min-width: 768px){
  #contact-intro .ci-layout{grid-template-columns:1.25fr 0.75fr;gap:clamp(1.5rem,3vw,3rem)}
}
@media (prefers-reduced-motion: reduce){
  #contact-intro *{scroll-behavior:auto}
}

/* h3b99dad:contact-form */
/* h3b99dad:contact-form */
#contact-form{background:var(--h3b99dad-bg);color:var(--h3b99dad-text);font-family:var(--font-family-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);}
#contact-form .contact-wrap{max-width:72rem;margin:0 auto;padding:clamp(2.25rem,4vw,3.5rem) var(--page-gutter, clamp(1rem,4vw,3rem));}
#contact-form .section-header{max-width:58rem;}
#contact-form .section-kicker{font-size:0.875rem;letter-spacing:0.02em;color:var(--h3b99dad-secondary);text-transform:uppercase;margin-bottom:0.65rem;}
#contact-form .section-title{font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.1;margin:0;letter-spacing:-0.02em;text-wrap:balance;}
#contact-form .section-lede{margin:0.9rem 0 0;font-size:1rem;line-height:1.6;color:var(--h3b99dad-slate);max-width:52rem;}
#contact-form .section-rule{height:1px;background:var(--h3b99dad-accent);margin-top:1.4rem;opacity:1;}
#contact-form .contact-grid{display:grid;grid-template-columns: 1.15fr 0.85fr;gap:clamp(1.25rem,3vw,2.25rem);align-items:start;margin-top:clamp(1.6rem,3vw,2.6rem);}
#contact-form .contact-panel{border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);padding:clamp(1.25rem,2.2vw,1.8rem);}
#contact-form .booking-form{display:flex;flex-direction:column;gap:0.95rem;}
#contact-form .form-row{display:block;}
#contact-form .field{display:flex;flex-direction:column;gap:0.45rem;}
#contact-form .label-text{font-size:0.9rem;color:var(--h3b99dad-secondary);}
#contact-form input,#contact-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);color:var(--h3b99dad-text);padding:0.75rem 0.85rem;font-size:1rem;line-height:1.4;outline:none;}
#contact-form textarea{resize:vertical;min-height:7.5rem;}
#contact-form input::placeholder,#contact-form textarea::placeholder{color:var(--h3b99dad-secondary);}
#contact-form input:focus-visible,#contact-form textarea:focus-visible{border-color:var(--h3b99dad-accent);box-shadow:0 0 0 3px rgba(209,43,43,0.18);}
#contact-form .non-medical{border-left:3px solid var(--h3b99dad-accent);padding:0.85rem 0.85rem 0.85rem 0.95rem;background:rgba(255,255,255,0.55);margin-top:0.25rem;}
#contact-form .non-medical-line{margin:0 0 0.55rem;font-weight:700;font-size:0.95rem;line-height:1.5;}
#contact-form .non-medical-sub{margin:0.35rem 0;font-size:0.95rem;line-height:1.55;color:var(--h3b99dad-secondary);}
#contact-form .form-actions{display:flex;flex-direction:column;gap:0.75rem;margin-top:0.4rem;}
#contact-form .submit-btn{appearance:none;border:2px solid var(--h3b99dad-border);background:transparent;color:var(--h3b99dad-text);padding:0.85rem 1rem;font-size:1rem;letter-spacing:0.01em;cursor:pointer;text-align:center;min-height:44px;}
#contact-form .submit-btn:hover{border-color:var(--h3b99dad-accent);color:var(--h3b99dad-accent);}
#contact-form .submit-btn:active{transform:translateY(1px);}
#contact-form .submit-btn:disabled{opacity:0.6;cursor:not-allowed;}
#contact-form .submit-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(209,43,43,0.18);border-color:var(--h3b99dad-accent);}
#contact-form .privacy-hint{margin:0;font-size:0.9rem;color:var(--h3b99dad-secondary);}
#contact-form .contact-aside{padding-top:0.15rem;}
#contact-form .aside-title{margin:0 0 0.9rem;font-size:1.1rem;letter-spacing:-0.01em;}
#contact-form .steps{margin:0;padding:0;list-style:none;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);}
#contact-form .step{display:flex;gap:0.85rem;padding:0.85rem 0.9rem;border-top:1px solid var(--h3b99dad-border);}
#contact-form .step:first-child{border-top:none;}
#contact-form .step-num{flex:0 0 auto;min-width:1.75rem;height:1.75rem;border:1px solid var(--h3b99dad-border);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.9rem;background:var(--h3b99dad-surface);}
#contact-form .step-text{font-size:0.95rem;line-height:1.55;color:var(--h3b99dad-slate);}
#contact-form .aside-link-row{margin-top:1rem;}
#contact-form .ghost-link{display:inline-block;border:1px solid var(--h3b99dad-border);color:var(--h3b99dad-text);text-decoration:none;padding:0.75rem 0.9rem;font-size:0.95rem;background:transparent;}
#contact-form .ghost-link:hover{border-color:var(--h3b99dad-accent);color:var(--h3b99dad-accent);}
#contact-form .ghost-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(209,43,43,0.18);border-color:var(--h3b99dad-accent);}
#contact-form .aside-rule{height:1px;background:var(--h3b99dad-accent);margin:1.15rem 0;}
#contact-form .aside-fineprint{margin:0;font-size:0.95rem;line-height:1.6;color:var(--h3b99dad-secondary);}
#contact-form .inline-link{color:var(--h3b99dad-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
#contact-form .inline-link:hover{color:var(--h3b99dad-accent);}
#contact-form .inline-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(209,43,43,0.18);border-radius:1px;}
#contact-form ::selection{background:rgba(209,43,43,0.25);}
@media (max-width: 900px){
  #contact-form .contact-grid{grid-template-columns:1fr;}
  #contact-form .section-rule{margin-top:1rem;}
}
@media (prefers-reduced-motion: reduce){
  #contact-form *{scroll-behavior:auto;}
  #contact-form .submit-btn:active{transform:none;}
}

/* h3b99dad:non-medical-disclaimer */
/* h3b99dad:non-medical-disclaimer */
#non-medical-disclaimer.non-medical-disclaimer{background:var(--h3b99dad-bg);color:var(--h3b99dad-text);padding:clamp(1.5rem,4vw,3rem) 0;}
#non-medical-disclaimer .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,1.5rem);}
#non-medical-disclaimer .section-head{margin-bottom:1.25rem;}
#non-medical-disclaimer .section-kicker{font:600 0.875rem/1.2 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:0.02em;color:var(--h3b99dad-secondary);text-transform:uppercase;}
#non-medical-disclaimer .section-title{margin:0.6rem 0 0.75rem;font:700 clamp(1.25rem,2.2vw,2rem)/1.15 var(--font-serif, Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.02em;text-wrap:balance;}
#non-medical-disclaimer .rule{height:1px;background:var(--h3b99dad-border);width:100%;}
#non-medical-disclaimer .disclaimer-block{margin-top:1.25rem;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);padding:clamp(1.05rem,3vw,1.5rem);}
#non-medical-disclaimer .lead{margin:0 0 1rem;font:650 1.05rem/1.35 var(--font-serif, Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.01em;}
#non-medical-disclaimer .results{margin-top:0.5rem;}
#non-medical-disclaimer .label{margin:0 0 0.5rem;font:700 0.95rem/1.2 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--h3b99dad-ink, var(--h3b99dad-text));}
#non-medical-disclaimer .bullets{margin:0;padding-left:1.15rem;}
#non-medical-disclaimer .bullets li{margin:0.5rem 0;font:500 1rem/1.4 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--h3b99dad-text);}
#non-medical-disclaimer .suitability{margin:1rem 0 0;font:500 1rem/1.45 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--h3b99dad-secondary);}
::selection{background:rgba(209,43,43,0.18);}
#non-medical-disclaimer a{color:var(--h3b99dad-ink);}
@media (prefers-reduced-motion: reduce){#non-medical-disclaimer *{scroll-behavior:auto;}}

/* Design-system driven, no external libraries */
.policy-page{background:var(--h3b99dad-bg);color:var(--h3b99dad-text);font-family:var(--h3b99dad-font);line-height:1.5;}
.policy-main{max-width:1020px;margin:0 auto;padding:24px;}
.policy-header{padding:10px 0 18px 0;border-bottom:1px solid var(--h3b99dad-border);}
.policy-title{font-size:32px;letter-spacing:0.2px;margin:0 0 10px 0;color:var(--h3b99dad-ink);}
.policy-lead{margin:0;color:var(--h3b99dad-secondary);max-width:74ch;}
.policy-section{padding:18px 0;border-bottom:1px solid var(--h3b99dad-border);}
.policy-section:last-of-type{border-bottom:none;}
.policy-section-title{font-size:20px;margin:0 0 10px 0;color:var(--h3b99dad-ink);}
.policy-text{margin:10px 0;color:var(--h3b99dad-ink);} 
.policy-legal{color:var(--h3b99dad-secondary);font-size:14px;margin-top:12px;}
.policy-list{margin:10px 0 0 18px;padding:0;}
.policy-li{margin:8px 0;color:var(--h3b99dad-ink);} 
.policy-link{color:var(--h3b99dad-accent);text-decoration:underline;}
.policy-link:focus{outline:2px solid var(--h3b99dad-accent);outline-offset:2px;}
.policy-form{margin-top:10px;padding:16px;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);}
.policy-label{display:block;margin:12px 0 6px 0;color:var(--h3b99dad-ink);font-weight:700;}
.policy-input,.policy-textarea{width:100%;box-sizing:border-box;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);color:var(--h3b99dad-ink);padding:10px 12px;font-family:inherit;font-size:14px;}
.policy-textarea{resize:vertical;}
.policy-button{margin-top:14px;display:inline-block;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-accent);color:#fff;padding:12px 16px;font-weight:700;cursor:pointer;}
.policy-button:hover{filter:brightness(0.95);} 
.policy-button:focus{outline:2px solid var(--h3b99dad-accent);outline-offset:2px;}
.policy-form-note{margin:12px 0 0 0;color:var(--h3b99dad-secondary);font-size:13px;}
.policy-footer{padding:22px 0 10px 0;}
.policy-footer-title{margin:0 0 8px 0;font-size:18px;color:var(--h3b99dad-ink);} 
.policy-footer-grid{display:block;}
.policy-footer-col{margin:12px 0;}
.policy-footer-text{margin:8px 0;color:var(--h3b99dad-ink);} 
.policy-footer-legal{margin:10px 0 0 0;color:var(--h3b99dad-secondary);font-size:13px;}
@media (min-width:860px){
  .policy-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .policy-footer-col{margin:0;}
  .policy-main{padding:28px;}
}

/* Base */
.policy-page{background:var(--h3b99dad-bg);color:var(--h3b99dad-text);font-family:var(--h3b99dad-font);line-height:1.45;}
.policy-main{max-width:960px;margin:0 auto;padding:24px 18px 40px 18px;}
.policy-title{font-size:30px;line-height:1.2;margin:0 0 12px 0;letter-spacing:0.2px;color:var(--h3b99dad-ink);}
.policy-lead{margin:0 0 18px 0;color:var(--h3b99dad-secondary);font-size:16px;}
.policy-section{margin:18px 0; padding:18px 18px; border:1px solid var(--h3b99dad-border); background:var(--h3b99dad-surface);}
.policy-section-title{margin:0 0 10px 0;font-size:18px;color:var(--h3b99dad-ink);}
.policy-paragraph{margin:10px 0;color:var(--h3b99dad-ink);font-size:15.5px;}
.policy-list{margin:10px 0 0 20px;padding:0;}
.policy-list-item{margin:6px 0;color:var(--h3b99dad-ink);font-size:15.5px;}
.policy-contact{margin-top:10px;border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-bg);padding:14px;}
.policy-contact-row{display:block;margin:8px 0;}
.policy-contact-label{display:inline-block;width:170px;color:var(--h3b99dad-secondary);font-weight:600;}
.policy-contact-value{display:inline;}
.policy-contact-link{color:var(--h3b99dad-accent);text-decoration:underline;}
.policy-note{color:var(--h3b99dad-slate);font-size:14.5px;}
.policy-footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--h3b99dad-border);}
.policy-footer-grid{display:block;}
.policy-footer-block{border:1px solid var(--h3b99dad-border);background:var(--h3b99dad-surface);padding:14px 14px;margin:12px 0;}
.policy-footer-title{font-weight:800;color:var(--h3b99dad-ink);margin-bottom:6px;}
.policy-footer-text{color:var(--h3b99dad-secondary);margin:6px 0;font-size:14.8px;}
.policy-footer-legal{margin-top:12px;color:var(--h3b99dad-slate);font-size:13.8px;}
@media (min-width:820px){.policy-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}.policy-main{padding-left:0;padding-right:0;}.policy-main{padding-top:28px;}}
.policy-page{background:var(--h3b99dad-bg);color:var(--h3b99dad-text);font-family:var(--h3b99dad-font);line-height:1.5;} .policy-wrapper{max-width:960px;margin:0 auto;padding:24px 16px 40px 16px;} .policy-header{padding:0 0 16px 0;border-bottom:1px solid var(--h3b99dad-border);} .policy-title{margin:0 0 8px 0;font-size:34px;letter-spacing:-0.02em;} .policy-subtitle{margin:0;font-size:16px;color:var(--h3b99dad-secondary);} .policy-section{padding:16px 0;border-bottom:1px solid var(--h3b99dad-mist);} .policy-section:last-of-type{border-bottom:none;} .policy-heading{margin:0 0 10px 0;font-size:20px;letter-spacing:-0.01em;} .policy-paragraph{margin:0 0 10px 0;font-size:15px;color:var(--h3b99dad-text);} .policy-list{margin:0;padding:0 0 0 18px;} .policy-list-item{margin:6px 0;font-size:15px;} .policy-legal{margin-top:10px;padding:10px 12px;border:1px solid var(--h3b99dad-mist);background:var(--h3b99dad-surface);font-size:13.5px;color:var(--h3b99dad-primary);} .policy-footer{padding-top:18px;} .policy-strong{font-weight:700;margin:0 0 12px 0;} .policy-dl{margin:0;} .policy-dl-row{display:block;margin:10px 0;} .policy-dt{font-weight:700;font-size:14px;color:var(--h3b99dad-secondary);} .policy-dd{margin:4px 0 0 0;font-size:15px;} .policy-link{color:var(--h3b99dad-primary);text-decoration:underline;} .policy-link:hover{color:var(--h3b99dad-accent);} .policy-small{font-size:13.5px;color:var(--h3b99dad-secondary);} @media (max-width:520px){.policy-title{font-size:28px;}.policy-wrapper{padding:20px 12px 34px 12px;}}
section[data-h3b99dad-qgw]:not([data-h3b99dad-qgw='header']):not([data-h3b99dad-qgw='footer']) { position: relative; }
section[data-h3b99dad-qgw]:not([data-h3b99dad-qgw='header']):not([data-h3b99dad-qgw='footer']) { border-top: 1px solid var(--h3b99dad-border); }
section[data-h3b99dad-qgw]:not([data-h3b99dad-qgw='header']) h1,section[data-h3b99dad-qgw]:not([data-h3b99dad-qgw='header']) h2 { max-width: 20ch; letter-spacing: -0.035em; }
section[data-h3b99dad-qgw]:nth-of-type(even)::before { content: ''; position: absolute; top: 0; left: 0; width: 5rem; border-top: 3px solid var(--h3b99dad-accent); }
:root {
  --h3b99dad-c-content-width: 72rem;
  --h3b99dad-c-gutter: clamp(1rem, 4vw, 3rem);
  --h3b99dad-c-measure: 65ch;
  --h3b99dad-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-h3b99dad-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-h3b99dad-qgw] { padding-inline: var(--h3b99dad-c-gutter); }
[data-h3b99dad-dr*='article'], [data-h3b99dad-dr*='review'] { max-width: var(--h3b99dad-c-measure); }
h1 { font-size: var(--h3b99dad-c-heading-display); }
@media (max-width: 768px) { [data-h3b99dad-dr] { min-width: 0; } }