:root{
  --ink:#161822;
  --muted:#5d6372;
  --paper:#ffffff;
  --soft:#f7f5f8;
  --line:#e2dde7;
  --plum:#4a234a;
  --plum-dark:#2a172c;
  --coral:#d95f54;
  --coral-soft:#fff1ef;
  --sage:#4f7d67;
  --sky:#dcecf6;
  --gold:#c98d2f;
  --danger:#a9233f;
  --shadow:0 22px 60px rgba(35,24,42,.13);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.55;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:4px}
img{display:block;width:100%}
:focus-visible{outline:3px solid rgba(217,95,84,.38);outline-offset:3px}

.skip-link{
  position:fixed;
  left:14px;
  top:12px;
  z-index:1000;
  transform:translateY(-150%);
  background:var(--plum-dark);
  color:#fff;
  padding:10px 13px;
  border-radius:8px;
  font-weight:900;
}
.skip-link:focus{transform:translateY(0)}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.container{width:min(1120px,calc(100% - 32px));margin:0 auto}
.narrow{width:min(850px,calc(100% - 32px))}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.9);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
}
.nav{
  width:min(1180px,calc(100% - 32px));
  min-height:76px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:var(--ink);
  font-weight:950;
  text-decoration:none;
  white-space:nowrap;
}
.brand-mark{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--plum),var(--coral));
  border-radius:8px;
  box-shadow:0 10px 22px rgba(217,95,84,.18);
}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{
  padding:10px 10px;
  border-radius:8px;
  text-decoration:none;
  font-size:13px;
  font-weight:850;
  color:#4d5260;
}
.nav-links a:hover,.nav-links a:focus-visible,.nav-links .active{background:#f1edf3;color:var(--plum)}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:8px}
.nav-toggle span:not(.sr-only){display:block;width:20px;height:2px;margin:4px auto;background:var(--ink)}
.button{
  min-height:48px;
  border:2px solid transparent;
  border-radius:8px;
  padding:0 17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  font-weight:950;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(35,24,42,.12)}
.button.primary{background:var(--plum);color:#fff}
.button.secondary{background:#fff;color:var(--plum);border-color:var(--line)}
.button.secondary.dark{border-color:rgba(255,255,255,.42);color:#fff;background:rgba(255,255,255,.08)}

.editorial-hero{
  min-height:calc(100vh - 76px);
  position:relative;
  display:grid;
  align-content:end;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(22,24,34,.82),rgba(22,24,34,.46) 48%,rgba(22,24,34,.12)),
    url("assets/hero-oltre-corpi.png") center/cover no-repeat;
}
.hero-shade{
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(22,24,34,.76));
  pointer-events:none;
}
.editorial-hero-inner{
  position:relative;
  z-index:2;
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  padding:86px 0 40px;
  min-width:0;
}
.editorial-hero h1{
  margin:0;
  max-width:850px;
  font-size:clamp(64px,11vw,156px);
  line-height:.86;
  letter-spacing:0;
}
.editorial-hero p:not(.hero-kicker){
  width:min(760px,100%);
  margin:24px 0 0;
  color:rgba(255,255,255,.86);
  font-size:clamp(19px,2.1vw,27px);
  line-height:1.42;
  overflow-wrap:break-word;
}
.editorial-hero .hero-kicker{
  margin-bottom:18px;
  background:rgba(255,255,255,.92);
}
.editorial-hero .button.primary{
  background:#fff;
  color:var(--plum-dark);
}
.editorial-hero .button.secondary{
  border-color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.1);
  color:#fff;
}
.hero-resource-nav{
  position:relative;
  z-index:3;
  width:min(1120px,calc(100% - 32px));
  margin:0 auto 28px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid rgba(255,255,255,.2);
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,.9);
  box-shadow:0 28px 70px rgba(0,0,0,.24);
}
.hero-resource-nav a{
  min-height:128px;
  padding:20px;
  display:grid;
  align-content:space-between;
  gap:10px;
  color:var(--ink);
  text-decoration:none;
  border-right:1px solid var(--line);
}
.hero-resource-nav a:last-child{border-right:0}
.hero-resource-nav a:hover{background:#fbf5f3}
.hero-resource-nav span{
  color:var(--coral);
  font-size:12px;
  font-weight:950;
}
.hero-resource-nav b{font-size:23px;line-height:1.05}
.hero-resource-nav small{color:#5d6372;font-size:14px;line-height:1.35}

.product-hero{
  width:min(1280px,calc(100% - 32px));
  min-height:min(820px,calc(100vh - 76px));
  margin:0 auto;
  padding:64px 0 48px;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(470px,1fr);
  align-items:center;
  gap:52px;
}
.hero-content h1{
  margin:0;
  max-width:760px;
  font-size:clamp(46px,6.5vw,86px);
  line-height:.96;
  letter-spacing:0;
}
.hero-content p{
  margin:22px 0 0;
  max-width:640px;
  color:#535967;
  font-size:19px;
  line-height:1.62;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.trust-row span{
  border-left:4px solid var(--sage);
  padding:7px 10px;
  background:#f2f7f4;
  color:#455163;
  font-size:14px;
  font-weight:800;
}
.hero-kicker{
  display:inline-flex;
  margin:0 0 16px;
  padding:8px 11px;
  border:1px solid rgba(217,95,84,.22);
  border-radius:999px;
  background:#fff7f5;
  color:var(--coral);
  font-size:12px!important;
  line-height:1!important;
  font-weight:950;
  text-transform:uppercase;
}
.impact-strip{
  width:min(560px,100%);
  margin-top:24px;
  padding:14px 16px;
  border:1px solid rgba(79,125,103,.22);
  border-left:6px solid var(--sage);
  border-radius:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  background:rgba(255,255,255,.82);
  color:#37433d;
  box-shadow:0 12px 30px rgba(35,24,42,.06);
}
.impact-strip b{font-weight:950}
.impact-strip span{color:#5a606e}

.product-preview{
  border:1px solid var(--line);
  border-radius:12px;
  background:
    linear-gradient(135deg,rgba(220,236,246,.72),rgba(255,255,255,.9) 42%,rgba(217,95,84,.08)),
    #fff;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.preview-top{
  min-height:58px;
  border-bottom:1px solid var(--line);
  padding:0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:rgba(255,255,255,.82);
}
.preview-top strong{font-size:16px}
.preview-top button,
.preview-top .risk-link{
  min-height:36px;
  border:1px solid rgba(169,35,63,.26);
  border-radius:8px;
  background:#fff5f6;
  color:var(--danger);
  padding:0 10px;
  display:inline-grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
  text-decoration:none;
}
.hero-collage{
  position:relative;
  min-height:300px;
  overflow:hidden;
  background:#211426;
}
.hero-collage img{
  height:300px;
  object-fit:cover;
  opacity:.82;
  filter:saturate(.96) contrast(1.04);
}
.hero-collage::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(42,23,44,.02),rgba(42,23,44,.72));
}
.shape{
  position:absolute;
  z-index:2;
  display:block;
  border:1px solid rgba(255,255,255,.36);
}
.shape-a{
  width:76px;
  height:76px;
  left:22px;
  top:22px;
  border-radius:999px;
  background:rgba(217,95,84,.75);
}
.shape-b{
  width:130px;
  height:42px;
  right:24px;
  top:34px;
  border-radius:999px;
  background:rgba(79,125,103,.82);
}
.shape-c{
  width:84px;
  height:84px;
  right:64px;
  bottom:28px;
  border-radius:18px;
  background:rgba(220,236,246,.74);
  transform:rotate(10deg);
}
.voice{
  position:absolute;
  z-index:3;
  max-width:250px;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:12px;
  background:rgba(255,255,255,.9);
  color:#2a172c;
  font-size:13px;
  line-height:1.28;
  font-weight:900;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.voice-one{left:22px;bottom:26px}
.voice-two{right:18px;top:96px}
.voice-three{left:126px;top:32px}
.stepper{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border-bottom:1px solid var(--line);
}
.stepper span{
  min-height:48px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#6a7180;
  font-size:13px;
  font-weight:900;
}
.stepper .active{background:var(--plum);color:#fff}
.intake-card,.response-card{
  margin:18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 28px rgba(35,24,42,.06);
}
.intake-card{display:grid;gap:10px}
label{display:grid;gap:7px;font-weight:900;color:#343847}
input,select,textarea{
  width:100%;
  min-height:46px;
  border:1px solid #d4cfdb;
  border-radius:8px;
  padding:11px 12px;
  background:#fff;
  color:var(--ink);
}
textarea{resize:vertical}
.response-card b{display:block;margin-bottom:8px}
.response-card p{margin:0;color:#535967}
.resource-map{
  display:grid;
  gap:1px;
  background:var(--line);
  border-top:1px solid var(--line);
}
.resource-map a{
  min-height:104px;
  padding:18px;
  display:grid;
  grid-template-columns:46px 1fr;
  column-gap:14px;
  align-items:start;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
}
.resource-map a:hover{background:#fbfafc}
.resource-map span{
  width:38px;
  height:38px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#f3eef4;
  color:var(--plum);
  font-weight:950;
}
.resource-map b{font-size:18px;line-height:1.15}
.resource-map small{
  grid-column:2;
  margin-top:-20px;
  color:#5d6372;
  font-size:14px;
  line-height:1.45;
}

.section-head{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto 38px;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(280px,.52fr);
  gap:34px;
  align-items:end;
}
.section-head h2{
  margin:0;
  font-size:clamp(34px,4.4vw,56px);
  line-height:1.04;
}
.section-head p{margin:0;color:#5a606e;font-size:17px;line-height:1.65}
.section-head.light{color:#fff}
.section-head.light p{color:rgba(255,255,255,.74)}

.audiences,.library{padding:88px 0}
.path-grid,.library-grid{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.path-card{
  min-height:300px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 34px rgba(35,24,42,.06);
  display:grid;
  align-content:start;
  gap:15px;
}
.path-card:nth-child(1){background:linear-gradient(180deg,#fff,var(--coral-soft))}
.path-card:nth-child(2){background:linear-gradient(180deg,#fff,#f4faf6)}
.path-card:nth-child(3){background:linear-gradient(180deg,#fff,#f2f8fc)}
.path-card span,.library-grid span{
  color:var(--coral);
  text-transform:uppercase;
  letter-spacing:0;
  font-size:12px;
  font-weight:950;
}
.path-card h3{margin:0;font-size:24px;line-height:1.15}
.path-card p{margin:0;color:#5c6270}
.path-card button{
  justify-self:start;
  margin-top:6px;
  min-height:42px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8f5fa;
  color:var(--plum);
  padding:0 13px;
  font-weight:950;
}

.toolkit{
  padding:88px 0;
  background:#fff;
}
.toolkit-grid{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.toolkit-grid article{
  min-height:230px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:22px;
  box-shadow:0 10px 28px rgba(35,24,42,.05);
}
.toolkit-grid span{
  color:var(--coral);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.toolkit-grid h3{margin:14px 0 10px;font-size:21px;line-height:1.16}
.toolkit-grid p{margin:0;color:#5d6372}

.resource-roadmap{
  padding:92px 0;
  background:linear-gradient(135deg,var(--plum-dark),#3e274a 48%,#355c4a);
}
.roadmap-grid{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.roadmap-grid article{
  min-height:245px;
  padding:22px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.09);
  color:#fff;
  box-shadow:0 20px 44px rgba(0,0,0,.14);
}
.roadmap-grid span{
  color:#ffc0b8;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.roadmap-grid h3{margin:14px 0 10px;font-size:22px;line-height:1.14}
.roadmap-grid p{margin:0;color:rgba(255,255,255,.74)}

.workflow-band{
  padding:92px 0;
  background:linear-gradient(135deg,var(--plum-dark),#5b2855);
}
.workflow{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.16);
}
.workflow article{
  min-height:240px;
  padding:22px;
  background:rgba(255,255,255,.08);
  color:#fff;
}
.workflow b{color:#ffc0b8}
.workflow h3{margin:16px 0 8px;font-size:20px}
.workflow p{margin:0;color:rgba(255,255,255,.72)}

.safety-section{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  padding:90px 0;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:36px;
  align-items:start;
}
.safety-copy{
  position:sticky;
  top:104px;
}
.safety-copy h2{margin:0;font-size:clamp(34px,4.2vw,54px);line-height:1.05}
.safety-copy p{color:#5b6270;font-size:17px;line-height:1.65}
.safety-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.safety-list article{
  min-height:200px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:22px;
  background:#fbfafc;
}
.safety-list h3{margin:0 0 10px;font-size:20px}
.safety-list p{margin:0;color:#5d6372}

.library{background:var(--soft)}
.library-grid{grid-template-columns:repeat(5,1fr)}
.library-grid a{
  min-height:200px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:22px;
  display:grid;
  align-content:space-between;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(35,24,42,.05);
}
.library-grid b{font-size:20px;line-height:1.18}

.territory,
.standards{
  padding:88px 0;
  background:#fff;
}
.territory{
  background:#f7f8f3;
}
.standard-grid,
.territory-grid{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
  gap:16px;
}
.standard-grid article,
.territory-grid article{
  min-height:230px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:22px;
  box-shadow:0 10px 28px rgba(35,24,42,.05);
}
.territory-grid article{
  background:#fff;
  border-left:5px solid var(--sage);
}
.standard-grid span,
.territory-grid span{
  color:var(--coral);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.standard-grid h3,
.territory-grid h3{margin:14px 0 10px;font-size:22px;line-height:1.15}
.standard-grid p,
.territory-grid p{margin:0;color:#5d6372}

.pleasure-lab{
  padding:92px 0;
  background:
    linear-gradient(180deg,#fff,#fff7f5 52%,#f7f8f3);
}
.pleasure-grid{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.pleasure-grid article{
  min-height:260px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 32px rgba(35,24,42,.06);
}
.pleasure-grid article:nth-child(1){border-top:6px solid var(--coral)}
.pleasure-grid article:nth-child(2){border-top:6px solid var(--sage)}
.pleasure-grid article:nth-child(3){border-top:6px solid var(--gold)}
.pleasure-grid article:nth-child(4){border-top:6px solid var(--plum)}
.pleasure-grid span{
  color:var(--coral);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.pleasure-grid h3{margin:14px 0 10px;font-size:22px;line-height:1.14}
.pleasure-grid p{margin:0;color:#5d6372}
.question-bank{
  width:min(1120px,calc(100% - 32px));
  margin:18px auto 0;
  padding:24px;
  border:1px solid rgba(79,125,103,.22);
  border-radius:10px;
  background:#fff;
  display:grid;
  grid-template-columns:.55fr 1fr;
  gap:24px;
  box-shadow:0 12px 32px rgba(35,24,42,.05);
}
.question-bank h3{margin:0;font-size:26px;line-height:1.12}
.question-bank ul{margin:0;padding-left:20px;color:#5d6372}
.question-bank li+li{margin-top:7px}

.living-bridge{
  padding:96px max(16px,calc((100% - 1120px)/2));
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:44px;
  align-items:center;
  background:#fff;
}
.bridge-visual{
  min-height:430px;
  position:relative;
  border-radius:14px;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(220,236,246,.82),rgba(255,241,239,.86)),
    #f7f8f3;
  box-shadow:var(--shadow);
}
.bridge-visual::before{
  content:"";
  position:absolute;
  left:11%;
  right:11%;
  top:50%;
  height:18px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--plum),var(--coral),var(--sage));
  transform:translateY(-50%);
  box-shadow:0 16px 36px rgba(35,24,42,.2);
}
.bridge-visual::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  top:50%;
  height:170px;
  border-left:10px solid rgba(74,35,74,.18);
  border-right:10px solid rgba(79,125,103,.2);
  transform:translateY(-2px);
}
.bridge-visual span{
  position:absolute;
  z-index:2;
  min-width:104px;
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.9);
  color:#2a172c;
  font-weight:950;
  box-shadow:0 14px 34px rgba(35,24,42,.11);
}
.bridge-visual span:nth-child(1){left:10%;top:18%}
.bridge-visual span:nth-child(2){left:36%;top:10%}
.bridge-visual span:nth-child(3){right:9%;top:22%}
.bridge-visual span:nth-child(4){left:12%;bottom:19%}
.bridge-visual span:nth-child(5){left:42%;bottom:10%}
.bridge-visual span:nth-child(6){right:8%;bottom:21%}
.bridge-copy h2{
  margin:0;
  font-size:clamp(36px,5vw,62px);
  line-height:1.03;
}
.bridge-copy p:not(.eyebrow){
  margin:18px 0 0;
  color:#5b6270;
  font-size:18px;
  line-height:1.65;
}
.bridge-list{
  display:grid;
  gap:12px;
  margin-top:24px;
}
.bridge-list article{
  padding:16px;
  border:1px solid var(--line);
  border-left:6px solid var(--sage);
  border-radius:10px;
  background:#fbfafc;
}
.bridge-list b{display:block;margin-bottom:5px}
.bridge-list span{color:#5d6372}

.manifesto-band{
  padding:96px max(16px,calc((100% - 1120px)/2));
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:36px;
  align-items:start;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(42,23,44,.96),rgba(74,35,74,.92) 54%,rgba(79,125,103,.94)),
    var(--plum-dark);
}
.manifesto-copy{
  position:sticky;
  top:104px;
}
.manifesto-copy h2{
  margin:0;
  font-size:clamp(36px,5vw,64px);
  line-height:1.02;
}
.manifesto-copy p:not(.eyebrow){
  margin:18px 0 0;
  color:rgba(255,255,255,.76);
  font-size:18px;
  line-height:1.65;
}
.manifesto-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.manifesto-grid article{
  min-height:210px;
  padding:22px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:10px;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(12px);
}
.manifesto-grid span{
  color:#ffc0b8;
  font-size:12px;
  font-weight:950;
}
.manifesto-grid h3{
  margin:16px 0 10px;
  font-size:23px;
  line-height:1.14;
}
.manifesto-grid p{margin:0;color:rgba(255,255,255,.74)}

.cta-panel{
  width:min(1120px,calc(100% - 32px));
  margin:82px auto;
  min-height:340px;
  border-radius:12px;
  padding:44px;
  color:#fff;
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:end;
  background:linear-gradient(120deg,var(--plum),#74345a 55%,var(--coral));
  box-shadow:var(--shadow);
}
.cta-panel h2{margin:0;font-size:clamp(34px,5vw,60px);line-height:1.04}
.cta-panel p{margin:18px 0 0;color:rgba(255,255,255,.78);font-size:17px;max-width:650px}

.site-footer{padding:34px 0;background:#161822;color:#fff}
.footer-grid{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.site-footer p,.site-footer a{color:rgba(255,255,255,.72)}

dialog{
  width:min(720px,calc(100% - 28px));
  border:0;
  border-radius:12px;
  padding:0;
  box-shadow:0 35px 90px rgba(0,0,0,.28);
}
dialog::backdrop{background:rgba(18,12,22,.58);backdrop-filter:blur(8px)}
.modal-flow{padding:26px;display:grid;gap:16px}
.modal-head{display:flex;align-items:start;justify-content:space-between;gap:18px}
.modal-head h2{margin:0;font-size:32px;line-height:1.1}
.close-button{
  width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  font-size:24px;
  line-height:1;
}
.modal-result{
  border:1px solid #d9e4de;
  border-left:5px solid var(--sage);
  border-radius:8px;
  padding:14px;
  background:#f4faf6;
  color:#34453d;
}
.actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

/* Existing content pages */
.hero:not(.product-hero){
  min-height:72vh;
  display:grid;
  align-items:end;
  background:var(--plum-dark);
  color:#fff;
  padding:64px 0;
}
.hero-media{display:none}
.eyebrow,.tag{color:var(--coral);font-weight:950;text-transform:uppercase;font-size:12px;letter-spacing:0}
.page{background:#fff}
.page-hero{padding:78px 0 46px;background:#f3eef4}
.page-hero h1{margin:0;font-size:clamp(38px,5vw,64px);line-height:1.04}
.page-subtitle{margin:18px 0 0;color:#5d6372;font-size:19px;line-height:1.65}
.image-hero{background:#f3eef4;color:var(--ink)}
.image-hero img{display:none}
.band{padding:70px 0;background:#f3eef4}
.intro.band{
  padding-bottom:0;
  background:linear-gradient(180deg,#f3eef4,#fff);
}
.editorial-figure{
  width:min(1120px,calc(100% - 32px));
  margin:42px auto 0;
  border-radius:14px 14px 0 0;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.editorial-figure img{
  aspect-ratio:16/7;
  object-fit:cover;
}
.two-column,.callout-inner,.content-layout,.forum-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem)}
h1,h2,h3,p{overflow-wrap:break-word}
h2{margin:0 0 12px;font-size:34px;line-height:1.12}
.prose p,.prose li{color:var(--muted);font-size:17px}
.feature-grid,.content-layout,.forum-layout,.story-list,.myth-grid,.glossary{padding:70px 0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature-card,.story-list article,.myth-grid article,.discussion-list article,.side-panel,.contact-form,.term-list div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 10px 28px rgba(35,24,42,.05);
}
.feature-card{overflow:hidden}
.feature-card img{aspect-ratio:4/3;object-fit:cover}
.feature-card div,.story-list article,.myth-grid article,.discussion-list article,.side-panel,.contact-form,.term-list div{padding:20px}
.feature-card h2,.story-list h2,.myth-grid h2{font-size:23px}
.callout{background:var(--plum-dark);color:#fff}
.callout p{color:rgba(255,255,255,.78);font-size:18px}
.danger{background:#fff0f2}
.side-panel{align-self:start;border-left:6px solid var(--sage)}
.side-panel.urgent{border-left-color:var(--danger)}
.check-list{padding-left:20px}
.story-list{display:grid;gap:16px}
.myth-grid,.term-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.myth-grid span{display:inline-flex;margin-bottom:10px;border-radius:8px;background:#fff0f2;color:var(--danger);padding:5px 8px;font-weight:950}
.search-label{display:block;margin-bottom:8px;font-weight:950}
.term-list{margin-top:22px}
.term-list dt{font-weight:950}
.term-list dd{margin:6px 0 0;color:var(--muted)}
.contact-form{display:grid;gap:12px;align-self:start}
.form-note{margin:0;color:var(--muted);font-size:14px}
.discussion-list{display:grid;gap:12px;margin-top:22px}

.reliability-panel{
  padding:70px 0 20px;
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  gap:28px;
  align-items:start;
}
.reliability-panel h2{font-size:clamp(32px,4vw,50px);line-height:1.05}
.reliability-panel p{color:#5d6372;font-size:17px}
.reliability-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.reliability-grid article{
  min-height:190px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 28px rgba(35,24,42,.05);
}
.reliability-grid span{
  color:var(--coral);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.reliability-grid h3{margin:14px 0 8px;font-size:21px;line-height:1.14}
.reliability-grid p{margin:0;color:#5d6372;font-size:15px}

.anonymity-seal{
  width:min(1120px,calc(100% - 32px));
  margin:34px auto 20px;
  padding:30px;
  border-radius:14px;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:28px;
  color:#fff;
  background:linear-gradient(135deg,var(--plum-dark),#4a234a 54%,#335f50);
  box-shadow:var(--shadow);
}
.seal-copy h2{
  margin:0;
  font-size:clamp(30px,3.8vw,48px);
  line-height:1.05;
}
.seal-copy p:not(.eyebrow){
  margin:16px 0 0;
  color:rgba(255,255,255,.78);
  font-size:17px;
  line-height:1.62;
}
.seal-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.seal-steps article{
  min-height:220px;
  padding:18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.1);
}
.seal-steps span{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--plum);
  font-weight:950;
}
.seal-steps b{display:block;margin:18px 0 8px}
.seal-steps p{margin:0;color:rgba(255,255,255,.74);font-size:14px}

.privacy-notice{
  padding:16px;
  border:1px solid rgba(79,125,103,.24);
  border-left:6px solid var(--sage);
  border-radius:10px;
  background:#f4faf6;
}
.privacy-notice b{display:block;margin-bottom:6px;color:#25372f}
.privacy-notice p{margin:0;color:#4c6157;font-size:14px}

.guide-index{
  width:min(1120px,calc(100% - 32px));
  margin:28px auto 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.guide-index a{
  min-height:42px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:#fff;
  color:var(--plum);
  text-decoration:none;
  font-weight:950;
}
.guide-chapter{
  padding:82px max(16px,calc((100% - 1120px)/2));
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:34px;
  background:#fff;
}
.guide-chapter.alt{background:#f7f8f3}
.chapter-number{
  width:86px;
  height:86px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--plum),var(--coral));
  color:#fff;
  font-size:26px;
  font-weight:950;
  position:sticky;
  top:104px;
}
.chapter-copy h2{
  max-width:900px;
  font-size:clamp(34px,4.6vw,58px);
  line-height:1.04;
}
.chapter-copy > p:not(.eyebrow){
  max-width:900px;
  color:#5d6372;
  font-size:18px;
  line-height:1.72;
}
.action-grid,.lesson-grid,.tool-list,.decision-map{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:24px;
}
.lesson-grid{grid-template-columns:repeat(4,1fr)}
.tool-list,.decision-map{grid-template-columns:repeat(2,1fr)}
.action-grid article,.lesson-grid article,.tool-list article,.decision-map article,.check-panel,.operator-script{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  padding:20px;
  box-shadow:0 10px 28px rgba(35,24,42,.05);
}
.action-grid h3,.lesson-grid h3{margin:0 0 8px;font-size:21px;line-height:1.16}
.action-grid p,.lesson-grid p,.check-panel li,.operator-script p,.tool-list span,.decision-map span{
  color:#5d6372;
}
.lesson-grid span{
  display:inline-flex;
  margin-bottom:12px;
  color:var(--coral);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.check-panel,.operator-script{margin-top:24px;max-width:900px}
.check-panel h3,.operator-script h3{margin-top:0}
.tool-list b,.decision-map strong{display:block;margin-bottom:7px;color:var(--ink)}

@media(max-width:980px){
  .nav-links{display:none}
  .nav-toggle{display:block}
  .nav-links{
    position:absolute;
    top:70px;
    left:16px;
    right:16px;
    flex-direction:column;
    align-items:stretch;
    padding:12px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:var(--shadow);
  }
  .nav-links.open{display:flex}
  .editorial-hero{min-height:auto}
  .editorial-hero-inner{padding:86px 0 34px}
  .hero-resource-nav{grid-template-columns:1fr 1fr}
  .product-hero,.section-head,.safety-section,.cta-panel,.two-column,.callout-inner,.content-layout,.forum-layout,.guide-chapter,.reliability-panel,.anonymity-seal{grid-template-columns:1fr}
  .product-hero{min-height:auto}
  .product-preview{max-width:720px}
  .manifesto-band,.question-bank,.living-bridge{grid-template-columns:1fr}
  .chapter-number{position:static}
  .manifesto-copy{position:static}
  .path-grid,.workflow,.library-grid,.feature-grid,.myth-grid,.term-list,.standard-grid,.territory-grid,.toolkit-grid,.pleasure-grid,.action-grid,.lesson-grid,.tool-list,.decision-map,.roadmap-grid,.reliability-grid{grid-template-columns:1fr 1fr}
  .seal-steps{grid-template-columns:1fr}
  .safety-copy{position:static}
}

@media(max-width:640px){
  .nav{width:calc(100% - 22px)}
  .brand{font-size:14px}
  .brand-mark{width:38px;height:38px}
  .product-hero{width:calc(100% - 28px);padding:46px 0 34px}
  .hero-content h1{font-size:37px;line-height:1.04}
  .hero-content p{font-size:17px}
  .hero-actions .button{width:100%}
  .editorial-hero{
    background-position:center top;
  }
  .editorial-hero-inner{
    width:calc(100% - 40px);
    padding:74px 0 28px;
  }
  .editorial-hero h1{font-size:50px;line-height:.94}
  .editorial-hero h1,
  .editorial-hero p:not(.hero-kicker){max-width:330px}
  .editorial-hero p:not(.hero-kicker){font-size:17px;line-height:1.48}
  .hero-resource-nav{grid-template-columns:1fr;margin-bottom:18px}
  .hero-resource-nav a{min-height:96px}
  .editorial-figure img{aspect-ratio:4/3}
  .stepper{grid-template-columns:1fr 1fr}
  .path-grid,.workflow,.library-grid,.safety-list,.feature-grid,.myth-grid,.term-list,.standard-grid,.territory-grid,.toolkit-grid,.pleasure-grid,.action-grid,.lesson-grid,.tool-list,.decision-map,.roadmap-grid,.reliability-grid,.seal-steps{grid-template-columns:1fr}
  .audiences,.library,.workflow-band,.safety-section,.standards,.territory,.toolkit,.pleasure-lab,.living-bridge,.resource-roadmap{padding:64px 0}
  .bridge-visual{min-height:350px}
  .bridge-visual span{min-width:88px;font-size:13px}
  .cta-panel{padding:28px;margin:54px auto}
  .actions .button{width:100%}
}

.product-hero{
  background:
    radial-gradient(circle at 70% 18%,rgba(217,95,84,.14),transparent 28%),
    linear-gradient(115deg,#ffffff 0%,#ffffff 43%,#fff4f1 43%,#f7f8f3 100%);
  color:var(--ink);
  overflow:visible;
}
.product-hero .hero-content{
  width:auto;
  margin:0;
  padding:0;
  color:var(--ink);
}
.product-hero .hero-content p{color:#535967}
.product-hero .button.secondary{color:var(--plum);border-color:#d8ccdc;background:#fff}
.product-hero .trust-row span{background:#f3faf6;color:#35463d}

@media(max-width:980px){
  .product-hero{background:#fff}
}

@media(max-width:640px){
  .product-hero{width:calc(100% - 28px)}
  .product-hero .hero-content h1{font-size:34px}
  .product-hero .hero-content,
  .product-preview,
  .product-hero .hero-actions,
  .product-hero .trust-row,
  .product-hero .impact-strip{max-width:300px;margin-left:auto;margin-right:auto}
  .product-hero .hero-content p{font-size:16px}
  .hero-collage{min-height:260px}
  .hero-collage img{height:260px}
  .voice{font-size:12px;max-width:210px}
  .voice-three{display:none}
  .manifesto-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

.tool-board{
  padding:70px 0;
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:16px;
}
.tool-panel{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:26px;
  box-shadow:0 14px 40px rgba(35,24,42,.08);
}
.tool-panel.large{
  grid-row:span 2;
  background:linear-gradient(135deg,#fff,var(--coral-soft));
}
.tool-panel span,.pathway-board span,.cards-manual span{
  color:var(--coral);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:0;
}
.tool-panel h2,.pathway-board h2,.cards-manual h2{margin:10px 0 10px;line-height:1.1}
.tool-panel p,.tool-panel li,.pathway-board li,.cards-manual p{color:#4f5665}
.tool-panel ul{margin:18px 0 0;padding-left:20px}
.source-lens{
  padding:76px 0;
  background:#f7f5f8;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.pathway-board{
  padding:70px 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.pathway-board article{
  padding:30px;
  border-left:6px solid var(--sage);
  background:#fff;
  box-shadow:0 18px 48px rgba(35,24,42,.09);
}
.pathway-board ol{padding-left:20px}
.pathway-board li{margin:10px 0}
.decision-strip{
  padding:74px 0;
  background:var(--plum-dark);
  color:#fff;
}
.decision-strip h2{max-width:760px;margin:0 0 28px;font-size:clamp(34px,4vw,58px);line-height:1}
.decision-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.decision-grid article{
  min-height:210px;
  padding:22px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:rgba(255,255,255,.08);
}
.decision-grid b{font-size:22px}
.decision-grid p{color:rgba(255,255,255,.78)}
.decision-grid a{color:#fff;font-weight:950}
.cards-manual{
  padding:70px 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.cards-manual article{
  padding:28px;
  border-radius:8px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 36px rgba(35,24,42,.08);
}
.imaginary-band{
  padding:82px 0;
  background:linear-gradient(135deg,#231526,#4a234a);
  color:#fff;
}
.imaginary-band .eyebrow{background:rgba(255,255,255,.12);color:#ffd8d2;border-color:rgba(255,255,255,.2)}
.imaginary-band .prose p{color:rgba(255,255,255,.82)}
.imaginary-band .button.secondary{background:#fff;color:var(--plum-dark);border-color:#fff}
.imaginary-map{
  padding:70px 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.imaginary-map article{
  min-height:330px;
  padding:28px;
  border-radius:8px;
  background:
    linear-gradient(180deg,#fff,#fbf7f2);
  border:1px solid var(--line);
  box-shadow:0 14px 36px rgba(35,24,42,.08);
}
.imaginary-map span{
  color:var(--gold);
  font-size:12px;
  font-weight:950;
}
.imaginary-map h2{margin:12px 0 10px;line-height:1.08}
.imaginary-map p{color:#535967}
.imaginary-map b{display:block;margin-top:18px;color:var(--plum)}
.use-case-band{
  padding:76px 0;
  background:#f7f5f8;
  border-top:1px solid var(--line);
}
.sense-intro{
  border-bottom:1px solid var(--line);
}
.operating-map{
  padding:78px 0;
  background:#fff;
}
.map-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.map-steps article{
  min-height:300px;
  padding:26px;
  border-radius:8px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#fbfaf7);
  box-shadow:0 14px 38px rgba(35,24,42,.08);
  display:flex;
  flex-direction:column;
}
.map-steps span,.atlas-grid span{
  color:var(--coral);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.map-steps h3{
  margin:12px 0 10px;
  font-size:26px;
  line-height:1.08;
}
.map-steps p{color:#545b68}
.map-steps a{
  margin-top:auto;
  color:var(--plum);
  font-weight:950;
}
.role-routes{
  padding:82px 0;
  background:#f7f5f8;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.route-stack{
  display:grid;
  gap:12px;
}
.route-stack a{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:18px;
  align-items:start;
  padding:20px;
  border-radius:8px;
  background:#fff;
  border:1px solid var(--line);
  text-decoration:none;
}
.route-stack b{color:var(--plum);font-size:20px}
.route-stack span{color:#535967}
.content-atlas{
  padding:78px 0;
}
.atlas-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.atlas-grid a{
  min-height:190px;
  padding:24px;
  border-radius:8px;
  background:#fff;
  border:1px solid var(--line);
  text-decoration:none;
  box-shadow:0 14px 36px rgba(35,24,42,.08);
}
.atlas-grid a:hover{background:#fff8f6}
.atlas-grid b{
  display:block;
  margin-top:12px;
  font-size:22px;
  line-height:1.18;
}
.foundation-band{
  padding:82px 0;
  background:var(--plum-dark);
  color:#fff;
}
.foundation-band .eyebrow{background:rgba(255,255,255,.12);color:#ffd8d2;border-color:rgba(255,255,255,.2)}
.foundation-list{
  display:grid;
  gap:12px;
}
.foundation-list article{
  padding:20px;
  border-radius:8px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
}
.foundation-list b{display:block;color:#fff;font-size:20px}
.foundation-list span{display:block;margin-top:6px;color:rgba(255,255,255,.78)}
.practical-strip{
  padding:72px 0;
  background:#fff;
}
.practical-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.practical-grid article{
  padding:28px;
  border-radius:8px;
  background:#f7f5f8;
  border-left:6px solid var(--coral);
}
.practical-grid h2{
  margin:0 0 12px;
  font-size:28px;
  line-height:1.06;
}
.practical-grid p{
  margin:0;
  color:#4f5665;
  font-size:18px;
}

@media (max-width:900px){
  .tool-board,.pathway-board,.cards-manual,.decision-grid,.imaginary-map,.map-steps,.atlas-grid,.practical-grid{grid-template-columns:1fr}
  .route-stack a{grid-template-columns:1fr}
  .tool-panel.large{grid-row:auto}
}
