/* Life With An Ostomy — hand-coded, no frameworks */
:root{
  --teal:#0f6e74; --teal-dark:#0b4f54; --teal-light:#e6f3f4;
  --blue:#eef5fb; --ink:#14282b; --muted:#3d5357;
  --warm:#e07a5f; --warm-dark:#b5452a; --cta:#c62828; --cta-dark:#a31e1e;
  --card:#ffffff; --line:#cfe1e3; --focus:#ffb703;
  --radius:16px; --maxw:72rem;
  --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6.5rem;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--font);font-size:1.25rem;line-height:1.65;color:var(--ink);background:#fbfdfd}
img{max-width:100%;height:auto}
h1,h2,h3{line-height:1.2;color:var(--teal-dark);margin:0 0 .6em}
h1{font-size:clamp(2.2rem,5vw,3.4rem)}
h2{font-size:clamp(1.75rem,3.5vw,2.4rem)}
h3{font-size:1.45rem}
p,ul,ol,dl{margin:0 0 1em}
a{color:var(--teal-dark);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--warm-dark)}
:focus-visible{outline:4px solid var(--focus);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;background:var(--ink);color:#fff;padding:.8rem 1.2rem;border-radius:8px;font-weight:700}
.skip-link:focus{top:1rem;color:#fff}
main:focus{outline:none}

/* Header / sticky nav */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:2px solid var(--line);box-shadow:0 2px 10px rgba(15,110,116,.08)}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;padding-top:.5rem;padding-bottom:.5rem}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.3rem;text-decoration:none;color:var(--teal-dark);min-height:48px}
nav{min-width:0;max-width:100%}
.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.nav-list a{display:flex;align-items:center;min-height:48px;padding:.4rem .85rem;border-radius:999px;font-size:1.05rem;font-weight:600;text-decoration:none;white-space:nowrap;color:var(--teal-dark)}
.nav-list a:hover,.nav-list a[aria-current="true"]{background:var(--teal-light);color:var(--teal-dark)}
@media (max-width:860px){
  .header-inner{display:block}
  .brand{justify-content:center}
  nav{margin:0 -1.25rem;max-width:none}
  .nav-list{padding:0 1rem .25rem}
}

/* Hero */
.hero{background:linear-gradient(160deg,var(--teal-light) 0%,var(--blue) 60%,#fff6f2 100%);padding:4rem 0 3rem}
.hero h1 em{font-style:normal;color:var(--warm-dark)}
.eyebrow{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:1rem;color:var(--teal)}
.lead{font-size:1.35rem;max-width:46rem;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:.8rem 1.6rem;border-radius:999px;font-weight:700;font-size:1.2rem;text-decoration:none;border:3px solid transparent;transition:background .15s,transform .15s}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{background:var(--teal-dark);color:#fff}
.btn-ghost{background:#fff;color:var(--teal-dark);border-color:var(--teal)}
.btn-ghost:hover{background:var(--teal-light);color:var(--teal-dark)}
.btn-cta{background:var(--cta);color:#fff;font-size:1.45rem;min-height:68px;padding:1rem 2.2rem;box-shadow:0 6px 18px rgba(198,40,40,.3)}
.btn-cta:hover{background:var(--cta-dark);color:#fff;transform:translateY(-2px)}

/* Disclaimer */
.disclaimer{margin:2rem 0 0;background:#fff8e6;border:2px solid #f2c46d;border-left-width:8px;border-radius:var(--radius);padding:1.25rem 1.5rem}
.disclaimer h2{font-size:1.4rem;color:#6b4a00}
.disclaimer p{margin:0}

/* Sections */
.section{padding:3.5rem 0}
.section-alt{background:var(--blue)}
.section-intro{max-width:48rem;color:var(--muted);font-size:1.3rem}

/* Cards */
.cards{display:grid;gap:1.25rem;list-style:none;padding:0;margin:1.5rem 0 0}
.cards-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.cards-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}
.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:0 3px 12px rgba(20,40,43,.05)}
.card h3{border-bottom:3px solid var(--warm);padding-bottom:.4rem;display:inline-block}
.card ul{padding-left:1.2rem}
.card li+li{margin-top:.4rem}
.type-card .sub{font-size:1rem;font-weight:600;color:var(--muted)}
.type-card dt{font-weight:800;color:var(--teal);margin-top:1rem}
.type-card dd{margin:0}
.res-list h3{border:0;display:block;font-size:1.3rem}
.res-list h3 a{color:var(--teal-dark)}
.link-btn{display:inline-flex;align-items:center;min-height:52px;padding:.6rem 1.2rem;background:var(--teal);color:#fff;border-radius:12px;font-weight:700;text-decoration:none}
.link-btn::after{content:"\2197";margin-left:.5rem}
.link-btn:hover{background:var(--teal-dark);color:#fff}
.phone{font-size:1.15rem;color:var(--muted);margin:0}
.phone a{font-weight:700;display:inline-block;padding:.35rem 0}

/* Details */
.more{margin-top:1.75rem;background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:1rem 1.5rem}
.more summary{cursor:pointer;font-weight:700;color:var(--teal-dark);min-height:48px;display:flex;align-items:center}
.more p{margin:1rem 0 .25rem}

/* Steps */
.steps{list-style:none;counter-reset:step;padding:0;margin:1.5rem 0 0;display:grid;gap:1.25rem}
.steps>li{counter-increment:step;position:relative;background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.5rem 1.25rem 5rem}
.steps>li::before{content:counter(step);position:absolute;left:1.25rem;top:1.35rem;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--warm-dark);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.steps ul{padding-left:1.2rem}
.steps li li+li{margin-top:.4rem}
@media (max-width:520px){.steps>li{padding:4.25rem 1.25rem 1rem}.steps>li::before{top:1rem}}

/* Support card */
.support-card{text-align:center;background:#fff;border:3px solid var(--warm);border-radius:24px;padding:2.5rem 1.5rem;max-width:52rem;margin:0 auto;box-shadow:0 8px 28px rgba(224,122,95,.18)}
.support-card p{max-width:40rem;margin:0 auto 1.75rem;color:var(--muted)}

/* Footer */
.site-footer{background:var(--teal-dark);color:#eaf6f7;padding:2.5rem 0;margin-top:0}
.site-footer a{color:#fff}
.site-footer a:hover{color:#ffd8cc}
.footer-brand{font-weight:800;font-size:1.4rem}
.small{font-size:1.05rem}

/* 404 */
.notfound{min-height:60vh;display:flex;align-items:center;padding:4rem 0}

@media print{.site-header,.hero-actions,.skip-link{display:none}body{font-size:12pt}a::after{content:" (" attr(href) ")";font-size:.85em}}
