/* CoralVistaSky — reef gradient + sky panorama + warm sand */
:root{
  --cvs-deep:#0b1e3d;
  --cvs-reef:#0e7490;
  --cvs-reef-soft:rgba(14,116,144,.14);
  --cvs-coral:#f97066;
  --cvs-coral-dim:rgba(249,112,102,.12);
  --cvs-sunset:#f59e42;
  --cvs-sand:#faf5ed;
  --cvs-shell:#ede5d8;
  --cvs-foam:#ffffff;
  --cvs-ink:#1a2744;
  --cvs-drift:#52607a;
  --cvs-line:rgba(26,39,68,.07);
  --cvs-display:"Fraunces",Georgia,serif;
  --cvs-body:"Nunito Sans",system-ui,sans-serif;
  --cvs-ease:cubic-bezier(.4,0,.2,1);
  --cvs-radius:5px;
  --cvs-max:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--cvs-body);font-weight:400;
  font-size:1.04rem;line-height:1.7;color:var(--cvs-ink);
  background:var(--cvs-sand);-webkit-font-smoothing:antialiased;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 70% 40% at 15% -5%,var(--cvs-reef-soft),transparent 55%),
    radial-gradient(ellipse 60% 50% at 90% 80%,var(--cvs-coral-dim),transparent 50%);
}

a{color:var(--cvs-reef);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s var(--cvs-ease)}
a:hover{color:var(--cvs-coral)}

.cvs-skip{position:absolute;left:-999px;top:0;background:var(--cvs-deep);color:var(--cvs-sand);padding:.5rem 1rem;z-index:100}
.cvs-skip:focus{left:0}
.cvs-shell{position:relative;z-index:1}
.cvs-contain{width:min(100% - 2.5rem,var(--cvs-max));margin-inline:auto}

/* ── HEADER ── */
.cvs-header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,245,237,.93);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--cvs-line);
}
.cvs-header__row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 0;min-height:4rem}

.cvs-brand{display:flex;flex-direction:column;gap:.1rem;text-decoration:none;color:inherit}
.cvs-brand:hover{color:inherit}
.cvs-brand__name{font-family:var(--cvs-display);font-size:1.5rem;font-weight:700;line-height:1.05;letter-spacing:.01em}
.cvs-brand__name em{font-style:normal;color:var(--cvs-coral)}
.cvs-brand__sub{font-size:.65rem;text-transform:uppercase;letter-spacing:.22em;color:var(--cvs-drift);font-weight:600}

.cvs-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:.5rem;cursor:pointer}
.cvs-burger span{display:block;width:21px;height:2px;background:var(--cvs-ink)}
.cvs-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;align-items:center}
.cvs-nav__list a{font-size:.86rem;font-weight:600;text-decoration:none;color:var(--cvs-drift);letter-spacing:.03em}
.cvs-nav__list a:hover{color:var(--cvs-reef)}
.cvs-nav__list a[aria-current="page"]{color:var(--cvs-ink);border-bottom:2px solid var(--cvs-coral);padding-bottom:2px}

@media(max-width:860px){
  .cvs-burger{display:flex}
  .cvs-nav{position:fixed;inset:4rem 0 auto 0;background:var(--cvs-foam);border-bottom:1px solid var(--cvs-line);max-height:0;overflow:hidden;transition:max-height .35s var(--cvs-ease)}
  .cvs-nav--open{max-height:360px}
  .cvs-nav__list{flex-direction:column;padding:1rem 1.25rem 1.5rem;align-items:flex-start}
}

/* ── HERO ── */
.cvs-hero{
  position:relative;overflow:hidden;
  padding:clamp(2.5rem,9vw,5.5rem) 0 clamp(3.5rem,11vw,7rem);
  background:linear-gradient(170deg,var(--cvs-deep) 0%,#0d3a56 40%,#185a6e 70%,#28847a 100%);
  color:var(--cvs-sand);
}
.cvs-hero__sky{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(245,158,66,.06) 0%,transparent 35%);
}
.cvs-hero__reef{
  position:absolute;bottom:-5%;right:-8%;width:min(55vw,500px);aspect-ratio:1.4/1;
  pointer-events:none;opacity:.55;
  background:
    radial-gradient(ellipse at 30% 80%,var(--cvs-coral-dim),transparent 45%),
    radial-gradient(ellipse at 70% 60%,var(--cvs-reef-soft),transparent 50%),
    radial-gradient(ellipse at 50% 40%,rgba(249,112,102,.08),transparent 40%);
  filter:blur(30px);
}
@media(max-width:900px){.cvs-hero__reef{right:-25%;opacity:.3}}

.cvs-hero__bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.cvs-hero__bubbles span{
  position:absolute;width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.18);animation:cvs-rise 12s var(--cvs-ease) infinite;
}
.cvs-hero__bubbles span:nth-child(1){left:18%;bottom:-5%;animation-delay:0s}
.cvs-hero__bubbles span:nth-child(2){left:35%;bottom:-5%;animation-delay:2.5s;width:4px;height:4px}
.cvs-hero__bubbles span:nth-child(3){left:55%;bottom:-5%;animation-delay:5s}
.cvs-hero__bubbles span:nth-child(4){left:72%;bottom:-5%;animation-delay:1.5s;width:3px;height:3px}
.cvs-hero__bubbles span:nth-child(5){left:88%;bottom:-5%;animation-delay:4s}
@keyframes cvs-rise{
  0%{transform:translateY(0) scale(.7);opacity:0}
  12%{opacity:.6}
  100%{transform:translateY(-110vh) scale(1);opacity:0}
}

.cvs-hero__body{position:relative;z-index:2;max-width:36rem}
.cvs-badge{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.1em;padding:.35rem .7rem;border:1px solid rgba(250,245,237,.45);margin-bottom:1rem}
.cvs-pagehero .cvs-badge{color:var(--cvs-ink);border-color:var(--cvs-ink)}
.cvs-hero h1{font-family:var(--cvs-display);font-size:clamp(2.2rem,5.5vw,3.4rem);font-weight:700;line-height:1.1;margin:0 0 1.2rem}
.cvs-hero__lead{font-size:1.1rem;color:rgba(250,245,237,.85);margin:0 0 2rem;max-width:34rem}
.cvs-hero__cta{display:flex;flex-wrap:wrap;gap:1rem}

/* Buttons */
.cvs-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:.65rem 1.4rem;font-family:var(--cvs-body);font-size:.82rem;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;text-decoration:none;
  border-radius:var(--cvs-radius);border:1px solid transparent;cursor:pointer;
  transition:background .2s var(--cvs-ease),border-color .2s var(--cvs-ease),color .2s var(--cvs-ease);
}
.cvs-btn--coral{background:var(--cvs-coral);color:var(--cvs-foam);border-color:var(--cvs-coral)}
.cvs-btn--coral:hover{background:#fb8a82;color:var(--cvs-foam)}
.cvs-btn--outline{background:transparent;color:var(--cvs-sand);border-color:rgba(250,245,237,.4)}
.cvs-btn--outline:hover{border-color:var(--cvs-sunset);color:var(--cvs-foam)}
.cvs-btn--reef{background:var(--cvs-reef);color:var(--cvs-foam);border-color:var(--cvs-reef)}
.cvs-btn--reef:hover{background:#1196a8;color:var(--cvs-foam)}
.cvs-prose a.cvs-btn{text-decoration:none}

/* ── SECTIONS ── */
section,.cvs-section{padding:clamp(3rem,8vw,5rem) 0}
.cvs-stitle{font-family:var(--cvs-display);font-size:clamp(1.6rem,4vw,2.15rem);font-weight:700;margin:0 0 .7rem}
.cvs-slead{margin:0 0 2.5rem;max-width:44rem;color:var(--cvs-drift)}

.cvs-section--shell{background:var(--cvs-shell);border-block:1px solid var(--cvs-line)}
.cvs-section--foam{background:var(--cvs-foam);border-block:1px solid var(--cvs-line)}

/* Cards / 3-col grid */
.cvs-triad{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.cvs-tcard{background:var(--cvs-foam);border:1px solid var(--cvs-line);padding:1.65rem 1.4rem;transition:box-shadow .25s var(--cvs-ease),border-color .25s var(--cvs-ease)}
.cvs-tcard:hover{border-color:var(--cvs-reef-soft);box-shadow:0 18px 40px rgba(11,30,61,.05)}
.cvs-tcard__icon{font-size:1.7rem;color:var(--cvs-reef);margin-bottom:.7rem;line-height:1}
.cvs-tcard h3{font-family:var(--cvs-display);font-size:1.15rem;font-weight:700;margin:0 0 .45rem}
.cvs-tcard p{margin:0;color:var(--cvs-drift);font-size:.94rem}

/* Stat reef */
.cvs-reef-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem}
.cvs-rstat{background:var(--cvs-foam);border:1px solid var(--cvs-line);padding:1.35rem 1.2rem}
.cvs-rstat__label{font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:var(--cvs-drift);font-weight:700;margin-bottom:.45rem}
.cvs-rstat__val{font-family:var(--cvs-display);font-size:1.5rem;font-weight:700;color:var(--cvs-ink);line-height:1.15;margin-bottom:.3rem}
.cvs-rstat__note{font-size:.86rem;color:var(--cvs-drift);line-height:1.45;margin:0}

/* Myth / fact columns */
.cvs-dualcol{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.cvs-dualcol__box{background:var(--cvs-foam);border:1px solid var(--cvs-line);padding:1.5rem 1.35rem}
.cvs-dualcol__box h3{font-family:var(--cvs-display);font-size:1.15rem;margin:0 0 .7rem}
.cvs-dualcol__box ul{margin:0;padding-left:1.2rem;color:var(--cvs-drift);font-size:.94rem}
.cvs-dualcol__box li{margin-bottom:.5rem}

/* Topic tiles 2x4 */
.cvs-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin-top:2rem}
.cvs-tile{display:block;padding:1.3rem 1.2rem;background:var(--cvs-foam);border:1px solid var(--cvs-line);text-decoration:none;color:inherit;transition:border-color .2s var(--cvs-ease),box-shadow .2s var(--cvs-ease)}
.cvs-tile:hover{border-color:var(--cvs-coral-dim);box-shadow:0 4px 16px rgba(11,30,61,.06);color:inherit}
.cvs-tile h3{font-family:var(--cvs-display);font-size:1.08rem;margin:0 0 .35rem;color:var(--cvs-ink)}
.cvs-tile p{margin:0;font-size:.88rem;color:var(--cvs-drift);line-height:1.5}

/* Vista checklist */
.cvs-vista-list{list-style:none;padding:0;margin:1.5rem 0 0}
.cvs-vista-list li{position:relative;padding:.85rem 0 .85rem 2.5rem;border-bottom:1px solid var(--cvs-line);color:var(--cvs-drift)}
.cvs-vista-list li::before{content:"";position:absolute;left:.35rem;top:1.1rem;width:10px;height:10px;border-radius:50%;background:var(--cvs-coral);box-shadow:0 0 0 3px var(--cvs-coral-dim)}

/* Page hero */
.cvs-pagehero{padding:clamp(2rem,6vw,3.5rem) 0 1.5rem;border-bottom:1px solid var(--cvs-line);background:linear-gradient(180deg,var(--cvs-shell),var(--cvs-sand))}
.cvs-pagehero h1{font-family:var(--cvs-display);font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 .7rem}
.cvs-pagehero p{margin:0;max-width:44rem;color:var(--cvs-drift)}

/* Prose */
.cvs-prose{max-width:42rem;padding-bottom:3rem}
.cvs-prose--wide{max-width:54rem}
.cvs-prose h2{font-family:var(--cvs-display);font-size:1.4rem;margin:2.3rem 0 .7rem}
.cvs-prose h3{font-size:1.06rem;margin:1.5rem 0 .5rem}
.cvs-prose p,.cvs-prose li{color:var(--cvs-drift)}
.cvs-prose ul{padding-left:1.25rem}
.cvs-prose .cvs-callout{margin:1.5rem 0;padding:1.2rem 1.3rem;background:var(--cvs-foam);border-left:3px solid var(--cvs-sunset);font-size:.95rem}

/* Editorial + pullquote */
.cvs-editorial{max-width:44rem}
.cvs-editorial p{color:var(--cvs-drift);margin:0 0 1.1rem}
.cvs-pullquote{margin:2rem 0;padding:1.4rem 1.4rem 1.4rem 1.2rem;border-left:3px solid var(--cvs-reef);font-family:var(--cvs-display);font-size:1.25rem;font-style:italic;color:var(--cvs-ink);line-height:1.45;background:rgba(255,255,255,.6)}

/* Split highlight */
.cvs-split{display:grid;grid-template-columns:1fr;gap:1.5rem;margin:2rem 0}
@media(min-width:768px){.cvs-split{grid-template-columns:1fr 1fr;align-items:start}}
.cvs-split__aside{background:var(--cvs-deep);color:var(--cvs-shell);padding:1.4rem 1.3rem;font-size:.91rem;line-height:1.55}
.cvs-split__aside strong{color:var(--cvs-foam)}

/* Step list */
.cvs-steps{list-style:none;padding:0;margin:1.2rem 0 0;counter-reset:cvsstep}
.cvs-steps li{position:relative;padding-left:2.75rem;margin-bottom:1.1rem;color:var(--cvs-drift)}
.cvs-steps li::before{counter-increment:cvsstep;content:counter(cvsstep);position:absolute;left:0;top:0;width:2rem;height:2rem;border:1px solid var(--cvs-coral);color:var(--cvs-ink);display:flex;align-items:center;justify-content:center;font-size:.84rem;font-weight:800;border-radius:50%}

/* Glossary */
.cvs-glossary{margin:2rem 0;border:1px solid var(--cvs-line);background:var(--cvs-foam);padding:1.5rem 1.35rem}
.cvs-glossary dt{font-weight:700;margin-top:1rem;color:var(--cvs-ink)}
.cvs-glossary dt:first-child{margin-top:0}
.cvs-glossary dd{margin:.35rem 0 0;color:var(--cvs-drift);font-size:.94rem}

/* FAQ */
.cvs-faqblock{max-width:50rem;margin-top:2rem}
.cvs-faqblock details{border:1px solid var(--cvs-line);background:var(--cvs-foam);margin-bottom:.6rem}
.cvs-faqblock summary{cursor:pointer;font-weight:600;font-size:.96rem;padding:1rem 1.15rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.cvs-faqblock summary::-webkit-details-marker{display:none}
.cvs-faqblock summary::after{content:"+";font-weight:400;color:var(--cvs-drift);font-size:1.25rem}
.cvs-faqblock details[open] summary::after{content:"−"}
.cvs-faqblock .cvs-faq__a{padding:0 1.15rem 1.1rem;color:var(--cvs-drift);font-size:.93rem;line-height:1.62;border-top:1px solid var(--cvs-line);margin:0}

/* ── HELPBAR ── */
.cvs-helpbar{background:var(--cvs-deep);color:var(--cvs-shell);padding:2.25rem 0;margin-top:2rem}
.cvs-helpbar__heading{font-family:var(--cvs-display);font-size:1.4rem;margin:0 0 .8rem;color:var(--cvs-foam)}
.cvs-helpbar__note{margin:0 0 .5rem;color:rgba(237,229,216,.8);max-width:38rem}
.cvs-helpbar__links{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;margin-top:1rem}
.cvs-helpbar__links a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem 1rem;border:1px solid rgba(255,255,255,.25);text-decoration:none;font-weight:700;font-size:.84rem;color:#7dd3c0}
.cvs-helpbar__links a:hover{border-color:var(--cvs-coral);color:var(--cvs-foam)}

/* ── FOOTER ── */
.cvs-footer{border-top:1px solid var(--cvs-line);padding:2.5rem 0 2rem;background:rgba(255,255,255,.5)}
.cvs-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2rem;margin-bottom:2rem}
.cvs-footer__col h4{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;margin:0 0 1rem;color:var(--cvs-drift)}
.cvs-footer__col ul{list-style:none;margin:0;padding:0}
.cvs-footer__col li{margin-bottom:.5rem}
.cvs-footer__col a{text-decoration:none;font-size:.88rem}
.cvs-footer__legal{font-size:.8rem;color:var(--cvs-drift);padding-top:1.5rem;border-top:1px solid var(--cvs-line)}
