:root{
  --wv-ink:#16323B;
  --wv-lagoon:#2E8B9B;
  --wv-sky:#6FB3C4;
  --wv-gold:#C8A04A;
  --wv-sand:#F0E6D2;
  --wv-paper:#FBF7EF;
  --wv-text:#183139;
  --wv-muted:#647177;
  --wv-border:rgba(22,50,59,.14);
  --wv-shadow:0 24px 70px rgba(22,50,59,.16);
  --wv-radius-lg:32px;
  --wv-radius-md:22px;
  --wv-content:1160px;
  --wv-safe-inline:max(18px,5vw);
}

.wv-direction-c{color:var(--wv-text);background:var(--wv-paper);font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.wv-direction-c h1,.wv-direction-c h2,.wv-direction-c h3,.wv-brand{font-family:"Playfair Display",Georgia,serif}
.wv-direction-c a:focus-visible,.wv-direction-c button:focus-visible,.wv-direction-c summary:focus-visible,.wv-direction-c input:focus-visible{outline:3px solid var(--wv-gold);outline-offset:3px}
.wv-direction-c .top{padding-top:env(safe-area-inset-top)}
.wv-direction-c .faq details{overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.wv-direction-c .faq details[open]{border-color:rgba(200,160,74,.5);box-shadow:0 12px 30px rgba(22,50,59,.07)}
.wv-direction-c .faq summary{min-height:48px!important;display:flex!important;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;user-select:none;width:100%}
.wv-direction-c .faq summary::-webkit-details-marker{display:none}
.wv-direction-c .faq summary::after{content:"⌄";flex:0 0 auto;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:var(--wv-paper);border:1px solid var(--wv-border);color:var(--wv-ink);font-size:1.15rem;line-height:1;font-weight:900;transform:rotate(0deg);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.wv-direction-c .faq details[open] summary::after{transform:rotate(180deg);background:#fff8e8;border-color:rgba(200,160,74,.55)}
.wv-direction-c .faq summary:hover::after{border-color:rgba(200,160,74,.65)}
.wv-direction-c .faq details p{padding-right:46px}
.wv-shell{width:min(var(--wv-content),calc(100% - 32px));margin-inline:auto}
.wv-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800}

.wv-hero{position:relative;min-height:min(760px,88svh);overflow:hidden;border-radius:var(--wv-radius-lg);display:grid;align-items:end;color:#fff;isolation:isolate;background:var(--wv-ink);box-shadow:var(--wv-shadow)}
.wv-hero-media,.wv-hero-frame,.wv-hero-scrim{position:absolute;inset:0}
.wv-hero-frame{opacity:0;background-size:cover;background-position:center;transition:opacity 1.6s ease;will-change:opacity}
.wv-hero-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.wv-hero:not(.is-media-ready) .wv-hero-frame:not(.is-active){background-image:none!important}
.wv-hero-frame.is-active{opacity:1}
.wv-hero-scrim{z-index:1;background:linear-gradient(180deg,rgba(12,30,36,.15) 0%,rgba(12,30,36,.42) 48%,rgba(12,30,36,.82) 100%),linear-gradient(90deg,rgba(12,30,36,.46),rgba(12,30,36,.06) 72%)}
.wv-hero-copy{position:relative;z-index:2;width:min(760px,100%);padding:clamp(32px,6vw,76px)}
.wv-hero .wv-kicker{color:#f5dfaa}
.wv-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.97;letter-spacing:-.03em;margin:.7rem 0 1rem;text-wrap:balance}
.wv-hero p{font-size:clamp(1rem,2.2vw,1.22rem);line-height:1.65;max-width:660px;color:rgba(255,255,255,.9);margin:0}
.wv-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.wv-btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;font-weight:800;text-decoration:none;border:1px solid transparent}
.wv-direction-c .wv-btn-primary{background:#fff;color:var(--wv-ink)}
.wv-direction-c .wv-btn-secondary{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}
.wv-hero-proof{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;font-size:.82rem;color:rgba(255,255,255,.82)}
.wv-hero-proof span::before{content:"✓";color:#f5dfaa;font-weight:900;margin-right:7px}

.wv-story-section{padding:clamp(54px,8vw,96px) 0}
.wv-story-head{max-width:740px;margin-bottom:30px}
.wv-story-head .wv-kicker{color:#8a6a2b}
.wv-story-head h2{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.02;margin:.5rem 0 1rem;color:var(--wv-ink)}
.wv-story-head p{color:var(--wv-muted);font-size:1.05rem;line-height:1.7}
.wv-story-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.wv-story-card{background:#fff;border:1px solid var(--wv-border);border-radius:var(--wv-radius-md);overflow:hidden;min-height:240px;box-shadow:0 12px 34px rgba(22,50,59,.06)}
.wv-story-card img{width:100%;height:100%;min-height:240px;object-fit:cover;display:block}
.wv-story-card-copy{padding:26px}
.wv-story-card h3{font-size:1.7rem;color:var(--wv-ink);margin:0 0 .6rem}
.wv-story-card p{color:var(--wv-muted);line-height:1.65;margin:0}
.wv-span-7{grid-column:span 7}.wv-span-5{grid-column:span 5}.wv-span-4{grid-column:span 4}

.wv-gates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.wv-gate{padding:24px;background:#fff;border:1px solid var(--wv-border);border-radius:20px}
.wv-gate small{font-weight:900;color:#8a6a2b;letter-spacing:.1em;text-transform:uppercase}
.wv-gate strong{display:block;font:600 1.35rem "Playfair Display",Georgia,serif;color:var(--wv-ink);margin:.6rem 0}
.wv-gate p{margin:0;color:var(--wv-muted);line-height:1.55;font-size:.92rem}

.wv-planner{padding:clamp(28px,5vw,52px);border-radius:var(--wv-radius-lg);background:linear-gradient(135deg,#fff,var(--wv-sand));border:1px solid var(--wv-border)}
.wv-planner-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;align-items:start}
.wv-planner h2{font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.02;margin:0 0 14px;color:var(--wv-ink)}
.wv-planner p{color:var(--wv-muted);line-height:1.65}
.wv-form{display:grid;gap:13px}
.wv-field{display:grid;gap:6px}
.wv-field label{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--wv-ink)}
.wv-field input{width:100%;min-height:50px;border:1px solid var(--wv-border);border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:var(--wv-text)}
.wv-form .wv-btn{border:0;background:var(--wv-ink);color:#fff;cursor:pointer}
.wv-form-status{min-height:1.4em;color:var(--wv-lagoon);font-weight:700}

@media(max-width:820px){
  .wv-shell{width:min(100% - 24px,var(--wv-content))}
  .wv-hero{min-height:68svh;border-radius:24px}
  .wv-hero-copy{padding:30px 22px}
  .wv-actions{display:grid;grid-template-columns:1fr}.wv-btn{width:100%}
  .wv-story-grid{grid-template-columns:1fr}.wv-span-7,.wv-span-5,.wv-span-4{grid-column:auto}
  .wv-gates,.wv-planner-grid{grid-template-columns:1fr}
  .wv-planner .wv-gates,#support .wv-gates{grid-template-columns:minmax(0,1fr)!important;gap:14px;width:100%}
  .wv-planner .wv-gate,#support .wv-gate{min-width:0;width:100%;padding:20px;overflow-wrap:normal;word-break:normal}
  .wv-planner .wv-gate strong,#support .wv-gate strong{font-size:1.45rem;line-height:1.2;margin:.25rem 0 .65rem;overflow-wrap:normal;word-break:normal}
  .wv-planner .wv-gate p,#support .wv-gate p{font-size:1rem;line-height:1.65;overflow-wrap:normal;word-break:normal}
}

@media(max-width:480px){
  .wv-hero h1{font-size:clamp(2.35rem,11vw,3.3rem);line-height:1.01}
  .wv-hero p{font-size:.98rem;line-height:1.55}
  .wv-hero-proof{display:grid;gap:8px}
  .wv-story-section{padding:42px 0}
  .wv-planner{padding:22px 18px;border-radius:24px}
  .wv-planner .wv-gate,#support .wv-gate{padding:18px}
  .wv-story-section#support .support-cta{margin-top:14px}
  .wv-direction-c .faq details{padding:14px 16px}
  .wv-direction-c .faq summary{min-height:52px!important;font-size:.98rem;line-height:1.4}
  .wv-direction-c .faq summary::after{width:32px;height:32px}
  .wv-direction-c .faq details p{padding-right:0}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .skip{transition:none!important}
  .wv-hero-frame{transition:none!important}
  .wv-hero-frame:not(:first-child){display:none!important}
  .wv-direction-c .faq details{transition:none!important}
  .wv-direction-c .faq summary::after{transition:none!important}
}
