:root{
  --ink:#111111;
  --ink2:#171717;
  --warm:#F7F6F2;
  --paper:#F1EEE7;
  --orange:#FF5A36;
  --line:rgba(17,17,17,.12);
  --line-dark:rgba(247,246,242,.16);
  --muted:#706C65;
  --muted-light:rgba(247,246,242,.66);
  --sans:"Inter",Arial,sans-serif;
  --serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.22,.75,.25,1);
  --shell:min(100% - 48px,1400px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--warm);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
img,svg{display:block;max-width:100%}
.master-shell{width:var(--shell);margin-inline:auto}
.master-sprite{position:absolute;width:0;height:0;overflow:hidden}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.section-index{
  font-size:10px;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:rgba(17,17,17,.55);
}
.master-cta,.master-header-cta,.form-next,.form-submit,.mobile-menu-cta,.sticky-analysis a{
  border:0;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.master-cta:hover,.master-header-cta:hover,.form-next:hover,.form-submit:hover,.mobile-menu-cta:hover,.sticky-analysis a:hover{transform:translateY(-1px)}
.master-cta-orange{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  font-size:13px;
  font-weight:700;
}
.master-cta-orange span{font-size:16px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:3px;
}

/* HEADER */
.master-header{
  position:absolute;
  z-index:50;
  inset:0 0 auto;
  height:74px;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.master-nav{
  height:74px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:32px;
}
.master-brand img{width:150px}
.master-desktop-nav{
  justify-self:center;
  display:flex;
  gap:42px;
  align-items:center;
}
.master-desktop-nav a{
  text-decoration:none;
  font-size:12px;
  font-weight:500;
  color:rgba(255,255,255,.86);
}
.master-nav-actions{display:flex;align-items:center;gap:16px}
.master-header-cta{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:0 18px;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  font-size:11px;
  font-weight:700;
}
.menu-toggle{
  width:34px;height:34px;padding:8px;border:0;background:transparent;cursor:pointer;
  display:grid;align-content:center;gap:4px;
}
.menu-toggle span{display:block;width:17px;height:1px;background:#fff}
.mobile-menu{
  position:absolute;
  top:74px;left:0;right:0;
  padding:24px;
  background:#111;
  border-top:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 50px rgba(0,0,0,.25);
}
.mobile-menu[hidden]{display:none}
.mobile-menu a{
  display:block;
  padding:14px 0;
  text-decoration:none;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:14px;
}
.mobile-menu-cta{
  margin-top:16px!important;
  padding:14px 18px!important;
  border:0!important;
  border-radius:999px;
  background:var(--orange);
  text-align:center;
}

/* HERO */
.master-hero{
  position:relative;
  min-height:560px;
  background:#0e0f0f;
  color:#fff;
  overflow:hidden;
}
.master-hero-media{
  position:absolute;
  inset:0;
}
.master-hero-media picture,.master-hero-media picture img{position:absolute;inset:0;width:100%;height:100%}
.master-hero-media picture img{
  object-fit:cover;
  object-position:59% 42%;
  filter:saturate(.78) contrast(1.08) brightness(.73);
}
.hero-darken{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(11,12,12,.95) 0%,rgba(11,12,12,.78) 26%,rgba(11,12,12,.26) 52%,rgba(11,12,12,.08) 76%,rgba(11,12,12,.25) 100%),
    linear-gradient(180deg,rgba(0,0,0,.42),transparent 32%,rgba(0,0,0,.24));
}
.hero-x{
  position:absolute;
  right:9%;
  top:29%;
  width:220px;
  height:220px;
  opacity:.88;
  filter:drop-shadow(0 0 25px rgba(255,90,54,.42));
}
.hero-x span{
  position:absolute;
  left:50%;top:50%;
  width:220px;height:18px;
  border-radius:8px;
  background:linear-gradient(90deg,rgba(255,90,54,.25),#ff7a45 48%,#ffbc71);
  box-shadow:0 0 22px rgba(255,112,59,.85),0 0 60px rgba(255,115,57,.35);
}
.hero-x span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.hero-x span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.hero-metric-panel{
  position:absolute;
  right:31%;
  top:37%;
  width:150px;
  padding:13px 14px;
  background:rgba(15,15,15,.52);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(7px);
}
.hero-metric-panel>div{margin:0 0 8px}
.hero-metric-panel small{
  display:block;
  color:#f2ede3;
  font-size:6px;
  font-weight:700;
  letter-spacing:.1em;
  margin-bottom:3px;
}
.hero-metric-panel i{
  display:block;height:3px;background:rgba(255,255,255,.14);overflow:hidden
}
.hero-metric-panel b{display:block;height:100%;background:var(--orange)}
.hero-content{
  position:relative;
  z-index:3;
  min-height:560px;
  display:flex;
  align-items:center;
  padding-top:68px;
}
.hero-copy{width:min(540px,52vw)}
.hero-kicker{
  margin-bottom:12px;
  color:rgba(255,255,255,.55);
  font-size:9px;
  font-weight:700;
  letter-spacing:.24em;
}
.hero-copy h1{
  margin:0;
  font-family:var(--serif);
  font-size:63px;
  line-height:.89;
  font-weight:400;
  letter-spacing:-.035em;
}
.hero-copy h1 span{color:var(--orange)}
.hero-copy>p{
  max-width:430px;
  margin:18px 0 0;
  font-size:19px;
  line-height:1.23;
  color:rgba(255,255,255,.92);
}
.hero-copy .master-cta{margin-top:24px}
.hero-proof{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:12px;
}
.proof-orbs{display:flex}
.proof-orbs i{
  width:30px;height:30px;border-radius:50%;
  margin-left:-6px;
  border:2px solid rgba(255,255,255,.75);
  background:
    radial-gradient(circle at 60% 35%,#f4d4bd 0 17%,transparent 18%),
    linear-gradient(145deg,#5a4d45,#d9c3ad);
  filter:saturate(.6);
}
.proof-orbs i:first-child{margin-left:0}
.proof-orbs i:nth-child(2){background:linear-gradient(145deg,#b78a6c,#282321)}
.proof-orbs i:nth-child(3){background:linear-gradient(145deg,#544943,#d0b49b)}
.proof-orbs i:nth-child(4){background:linear-gradient(145deg,#c8ad92,#42362f)}
.hero-proof p{
  margin:0;
  font-size:10px;
  line-height:1.25;
  color:rgba(255,255,255,.86);
}
.hero-side-message{
  position:absolute;
  right:2%;
  bottom:34px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.45;
  color:#fff;
}

/* CATEGORY STRIP */
.category-strip{
  background:var(--warm);
  border-bottom:1px solid rgba(17,17,17,.1);
}
.category-rail{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:34px;
}
.category-intro{
  font-size:10px;
  white-space:nowrap;
  font-weight:600;
  color:#111;
}
.category-item{
  display:flex;
  align-items:center;
  gap:7px;
  color:#5e5a55;
  font-size:10px;
  white-space:nowrap;
}
.category-item svg{
  width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round
}

/* PROBLEM */
.problem-section{
  position:relative;
  min-height:330px;
  overflow:hidden;
  background:#101111;
  color:#fff;
}
.problem-media{
  position:absolute;
  inset:0;
  overflow:hidden;
  perspective:1000px;
}
.problem-media:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#101111 0%,rgba(16,17,17,.92) 26%,rgba(16,17,17,.32) 47%,rgba(16,17,17,.08) 80%,rgba(16,17,17,.45));
}
.problem-floor{
  position:absolute;
  width:72%;
  height:125%;
  left:25%;
  top:-4%;
  transform:rotateX(63deg) rotateZ(-4deg);
  transform-origin:center;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 58px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 54px),
    radial-gradient(circle at 40% 50%,rgba(255,90,54,.12),transparent 46%),
    #25231f;
  box-shadow:0 20px 90px #000 inset;
}
.problem-stream{
  position:absolute;
  left:30%;
  height:2px;
  transform-origin:left center;
  background:linear-gradient(90deg,transparent,#f0e7d7 15%,#fff 55%,rgba(255,90,54,.7),transparent);
  box-shadow:0 0 11px rgba(255,255,255,.65),0 0 22px rgba(255,90,54,.15);
  z-index:1;
}
.problem-stream:after{
  content:"";position:absolute;right:18%;top:-2px;width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 16px var(--orange)
}
.stream-a{top:34%;width:58%;transform:rotate(-2deg)}
.stream-b{top:53%;width:54%;transform:rotate(4deg)}
.stream-c{top:72%;width:48%;transform:rotate(-4deg)}
.problem-block{
  position:absolute;
  z-index:2;
  width:92px;height:112px;
  background:linear-gradient(180deg,rgba(27,27,27,.92),rgba(5,5,5,.96));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 40px rgba(0,0,0,.48);
  transform:skewY(-4deg);
}
.problem-block span{
  position:absolute;left:10px;right:10px;top:12px;
  font-size:7px;font-weight:700;letter-spacing:.08em;color:#eee
}
.b1{left:36%;top:34%;transform:scale(.78) skewY(-4deg)}
.b2{left:47%;top:25%;transform:scale(.72) skewY(-4deg)}
.b3{left:58%;top:40%;transform:scale(.86) skewY(-4deg)}
.b4{left:65%;top:59%;transform:scale(1.02) skewY(-4deg)}
.b5{left:76%;top:34%;transform:scale(.76) skewY(-4deg)}
.problem-person{
  position:absolute;z-index:3;width:13px;height:36px;border-radius:7px 7px 3px 3px;background:#1a1918;box-shadow:0 8px 13px rgba(0,0,0,.5)
}
.problem-person:before{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#27231f;top:-8px;left:1px}
.p1{left:43%;bottom:24%}.p2{left:54%;bottom:37%}.p3{left:70%;bottom:20%}.p4{left:82%;bottom:31%}
.problem-grid{
  position:relative;
  z-index:4;
  min-height:330px;
  display:grid;
  grid-template-columns:1fr 180px;
  align-items:center;
}
.problem-copy{max-width:400px}
.problem-section .section-index{color:rgba(255,255,255,.5)}
.problem-copy h2{
  margin:10px 0 0;
  font-family:var(--serif);
  font-size:44px;
  line-height:.92;
  font-weight:400;
}
.problem-copy>p{
  margin:13px 0 0;
  color:rgba(255,255,255,.75);
  font-size:13px;
  line-height:1.38;
}
.problem-copy>a{
  display:inline-flex;gap:10px;margin-top:14px;
  text-decoration:none;color:var(--orange);font-size:12px;font-weight:600;
}
.problem-labels{
  justify-self:end;
  width:170px;
  display:grid;
  gap:22px;
}
.problem-labels p{
  position:relative;margin:0;padding-left:34px;
  color:rgba(255,255,255,.76);
  font-size:8px;font-weight:700;line-height:1.25;letter-spacing:.08em;
}
.problem-labels p:before{
  content:"";position:absolute;left:0;top:7px;width:24px;height:1px;background:rgba(255,255,255,.36)
}
.problem-labels p.active:before{background:var(--orange)}
.problem-labels p.active{color:#fff}

/* BUSINESS CHECK */
.business-check-section{
  position:relative;
  min-height:360px;
  overflow:hidden;
  background:var(--paper);
}
.check-photo{
  position:absolute;
  right:0;
  top:0;
  width:51%;
  height:100%;
}
.check-photo img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.82) contrast(1.02) brightness(.84)}
.check-photo-grade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,var(--paper) 0%,rgba(241,238,231,.85) 10%,rgba(241,238,231,.05) 48%,rgba(17,17,17,.12) 100%);
}
.check-content{
  position:relative;
  z-index:2;
  padding-top:28px;
  padding-bottom:28px;
}
.business-check-section .section-index{margin-bottom:6px}
.check-heading h2{
  margin:0;
  font-family:var(--serif);
  font-size:43px;
  line-height:.92;
  font-weight:400;
}
.check-heading p{
  margin:8px 0 0;
  color:#6f6a63;
  font-size:11px;
  line-height:1.35;
}
.check-options{
  margin-top:14px;
  width:min(100%,870px);
  display:grid;
  grid-template-columns:repeat(6,1fr);
  background:rgba(247,246,242,.92);
  border:1px solid rgba(17,17,17,.1);
  box-shadow:0 12px 38px rgba(17,17,17,.08);
}
.check-options button{
  position:relative;
  min-height:84px;
  border:0;
  border-right:1px solid rgba(17,17,17,.08);
  background:rgba(247,246,242,.8);
  color:#111;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:5px;
  cursor:pointer;
}
.check-options button:last-child{border-right:0}
.check-options button svg{
  width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round
}
.check-options button span{font-size:10px;font-weight:600;line-height:1.08;text-align:center}
.check-options button b{
  position:absolute;right:7px;top:7px;color:rgba(17,17,17,.25);font-size:7px;font-weight:700
}
.check-options button.active{
  background:#121313;
  color:#fff;
}
.check-options button.active svg{stroke:var(--orange)}
.check-options button.active b{color:var(--orange)}
.check-result{
  width:min(100%,870px);
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:28px;
  color:#4f4b45;
}
.check-result>span{font-size:7px;font-weight:800;letter-spacing:.1em;color:#99938b}
.check-result>strong{font-size:10px;font-weight:600}
.check-result>small{display:none}
.check-result>em{margin-left:auto;font-size:7px;font-style:normal;font-weight:700;letter-spacing:.06em;color:#8b857c}

/* VALUE */
.value-section{
  position:relative;
  background:
    radial-gradient(circle at 44% 55%,rgba(255,90,54,.08),transparent 34%),
    linear-gradient(180deg,#101111,#111212);
  color:#fff;
  padding:34px 0 22px;
}
.value-grid{
  display:grid;
  grid-template-columns:1.05fr 1.45fr .74fr;
  gap:34px;
  align-items:end;
}
.value-section .section-index{color:rgba(255,255,255,.45)}
.value-copy h2{
  margin:8px 0 0;
  font-family:var(--serif);
  font-size:36px;
  line-height:.94;
  font-weight:400;
}
.value-inputs{margin-top:18px;display:grid;gap:9px}
.value-inputs label{display:block}
.value-inputs label>span{
  display:block;margin-bottom:4px;color:rgba(255,255,255,.56);font-size:8px
}
.value-inputs input{
  width:100%;height:32px;padding:0 11px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:3px;
  background:#202121;
  color:#fff;
  outline:0;
  font-size:12px;
}
.value-inputs input:focus{border-color:rgba(255,90,54,.7)}
.money-input{position:relative}
.money-input i{position:absolute;left:11px;top:8px;font-style:normal;color:#fff;font-size:12px}
.money-input input{padding-left:27px}
.value-scenarios{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.value-scenarios article{
  min-height:145px;
  padding:18px 12px 15px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.025);
  text-align:center;
  display:grid;
  align-content:center;
  justify-items:center;
}
.value-scenarios svg{
  width:23px;height:23px;margin-bottom:6px;
  fill:none;stroke:var(--orange);stroke-width:1.35
}
.value-scenarios span{font-size:9px;line-height:1.2;color:rgba(255,255,255,.82)}
.value-scenarios strong{
  display:block;margin-top:5px;color:var(--orange);font-size:24px;line-height:1;font-weight:700;letter-spacing:-.04em
}
.value-scenarios small{margin-top:3px;font-size:8px;color:rgba(255,255,255,.52)}
.value-aside{
  border-left:1px solid rgba(255,255,255,.32);
  padding-left:18px;
}
.value-aside p{
  margin:0 0 16px;
  color:rgba(255,255,255,.76);
  font-size:10px;
  line-height:1.4;
}
.low-value-message{
  padding:10px 0;
  border-top:1px solid rgba(255,90,54,.45);
  color:#fff;
  font-size:9px;
  line-height:1.35;
}
.value-disclaimer{
  margin-top:12px;
  text-align:center;
  color:rgba(255,255,255,.38);
  font-size:7px;
}

/* SOLUTION */
.solution-section{
  position:relative;
  background:var(--paper);
  min-height:350px;
  overflow:hidden;
}
.solution-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  min-height:350px;
  align-items:center;
}
.solution-copy{
  position:relative;
  z-index:3;
  padding:30px 30px 28px 0;
}
.solution-copy h2{
  margin:8px 0 0;
  font-family:var(--serif);
  font-size:42px;
  line-height:.93;
  font-weight:400;
}
.solution-copy>p{
  margin:13px 0 0;
  color:#6a665f;
  font-size:11px;
  line-height:1.45;
}
.solution-outcomes{
  margin-top:25px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:11px;
}
.solution-outcomes>div{display:grid;justify-items:start;gap:6px}
.solution-outcomes svg{
  width:20px;height:20px;fill:none;stroke:#111;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round
}
.solution-outcomes span{font-size:7px;font-weight:800;line-height:1.15;letter-spacing:.03em}
.system-stage{
  position:relative;
  align-self:stretch;
  min-height:350px;
  overflow:hidden;
  background:
    radial-gradient(circle at 58% 50%,rgba(255,119,58,.17),transparent 31%),
    linear-gradient(90deg,rgba(241,238,231,.4),rgba(30,27,24,.04));
  perspective:900px;
}
.system-floor{
  position:absolute;
  inset:12% 7%;
  transform:rotateX(64deg) rotateZ(-5deg);
  background:
    repeating-linear-gradient(90deg,rgba(17,17,17,.07) 0 1px,transparent 1px 46px),
    repeating-linear-gradient(0deg,rgba(17,17,17,.06) 0 1px,transparent 1px 42px);
  border:1px solid rgba(17,17,17,.08);
}
.system-tower{
  position:absolute;
  left:22%;
  top:21%;
  width:190px;
  transform:rotateY(-16deg);
  transform-style:preserve-3d;
}
.system-tower>div{
  position:relative;
  height:38px;
  margin-bottom:2px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(90deg,#262422,#111);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:12px 9px 24px rgba(0,0,0,.12);
}
.system-tower span{font-size:8px;font-weight:700;letter-spacing:.05em}
.system-core{
  position:absolute;
  left:51%;
  top:31%;
  width:125px;height:142px;
  display:grid;place-items:center;
  background:#191817;
  box-shadow:0 22px 60px rgba(0,0,0,.28);
}
.system-core img{width:58px;filter:drop-shadow(0 0 10px rgba(255,90,54,.35))}
.energy{
  position:absolute;
  height:2px;
  background:linear-gradient(90deg,rgba(255,90,54,.08),#ff7f43,rgba(255,90,54,.05));
  box-shadow:0 0 8px rgba(255,90,54,.7),0 0 22px rgba(255,90,54,.26);
  transform-origin:left center;
}
.e1{left:43%;top:31%;width:35%;transform:rotate(-13deg)}
.e2{left:44%;top:41%;width:38%;transform:rotate(3deg)}
.e3{left:44%;top:51%;width:36%;transform:rotate(16deg)}
.e4{left:46%;top:61%;width:31%;transform:rotate(-7deg)}
.e5{left:49%;top:69%;width:28%;transform:rotate(8deg)}
.system-side{
  position:absolute;
  right:1%;
  top:34%;
  padding-left:18px;
  border-left:1px solid rgba(17,17,17,.24);
  color:#171717;
  font-size:8px;
  font-weight:800;
  line-height:1.45;
  letter-spacing:.08em;
}

/* APPROACH */
.approach-section{
  position:relative;
  min-height:255px;
  overflow:hidden;
  background:#101111;
  color:#fff;
}
.approach-photo{
  position:absolute;
  left:47%;
  top:0;
  width:39%;
  height:100%;
}
.approach-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  filter:saturate(.55) contrast(1.04) brightness(.65) sepia(.06)
}
.approach-photo:before{
  content:"";position:absolute;z-index:1;inset:0;
  background:linear-gradient(90deg,#101111 0%,rgba(16,17,17,.45) 25%,rgba(16,17,17,.05) 70%,rgba(16,17,17,.55));
}
.approach-grid{
  position:relative;
  z-index:2;
  min-height:255px;
  display:grid;
  grid-template-columns:1.1fr .7fr .4fr;
  gap:40px;
  align-items:center;
}
.approach-section .section-index{color:rgba(255,255,255,.42)}
.approach-copy h2{
  margin:8px 0 0;
  max-width:560px;
  font-family:var(--serif);
  font-size:34px;
  line-height:.95;
  font-weight:400;
}
.approach-copy>p{
  max-width:500px;
  margin:11px 0 0;
  color:rgba(255,255,255,.72);
  font-size:10px;
  line-height:1.45;
}
.approach-quote{
  margin:0;
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.5);
  font-family:var(--serif);
  font-size:19px;
  line-height:1.08;
  font-style:normal;
}
.approach-side{
  justify-self:end;
  color:#fff;
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1.45;
}
.approach-side span{display:block;margin-top:15px;color:var(--orange);font-size:16px}

/* SCENARIOS */
.scenarios-section{
  padding:25px 0;
  background:var(--paper);
}
.scenarios-row{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:26px;
  align-items:center;
}
.scenarios-title h2{
  margin:7px 0 0;
  font-family:var(--serif);
  font-size:31px;
  line-height:.94;
  font-weight:400;
}
.scenario-cards{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:7px;
}
.scenario-card{
  position:relative;
  min-height:104px;
  overflow:hidden;
  padding:50px 12px 10px;
  color:#fff;
  background:
    linear-gradient(180deg,rgba(17,17,17,.05),rgba(17,17,17,.85)),
    var(--bg) center/cover no-repeat;
}
.scenario-card:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.scenario-card span{position:relative;z-index:1;font-family:var(--serif);font-size:15px}
.scenario-card p{position:relative;z-index:1;margin:3px 0 0;font-size:7px;line-height:1.25;color:rgba(255,255,255,.72)}

/* FINAL */
.final-section{
  position:relative;
  min-height:365px;
  overflow:hidden;
  background:#111;
  color:#fff;
}
.final-media{
  position:absolute;inset:0;
}
.final-media img{
  width:100%;height:100%;object-fit:cover;object-position:35% 55%;
  filter:saturate(.78) contrast(1.05) brightness(.63)
}
.final-grade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(15,15,15,.65) 0%,rgba(15,15,15,.26) 43%,rgba(15,15,15,.8) 74%,rgba(15,15,15,.95) 100%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.32));
}
.final-x{
  position:absolute;
  left:44%;
  top:47%;
  width:190px;height:190px;
  transform:translate(-50%,-50%);
}
.final-x span{
  position:absolute;left:50%;top:50%;
  width:210px;height:52px;
  background:linear-gradient(90deg,rgba(83,70,55,.95),rgba(187,159,119,.8));
  box-shadow:0 18px 50px rgba(0,0,0,.4);
}
.final-x span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.final-x span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.final-grid{
  position:relative;
  z-index:3;
  min-height:365px;
  display:grid;
  grid-template-columns:1.05fr .95fr 170px;
  gap:34px;
  align-items:center;
}
.final-section .section-index{color:rgba(255,255,255,.48)}
.final-copy h2{
  margin:8px 0 0;
  max-width:470px;
  font-family:var(--serif);
  font-size:42px;
  line-height:.93;
  font-weight:400;
}
.final-copy>p{
  margin:12px 0 0;
  color:rgba(255,255,255,.74);
  font-size:12px;
  line-height:1.4;
}
.analysis-context{
  margin-top:12px;
  max-width:430px;
  color:rgba(255,255,255,.5);
  font-size:9px;
}
.analysis-context.active{color:#fff}
.progress-form{
  padding:22px 0 15px;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.form-progress{
  display:flex;align-items:center;gap:7px;margin-bottom:14px
}
.form-progress span{
  width:23px;height:23px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.5);
  font-size:7px;font-weight:700;
}
.form-progress span.active{background:#fff;color:#111;border-color:#fff}
.form-progress span.done{background:var(--orange);border-color:var(--orange);color:#fff}
.form-progress i{width:28px;height:1px;background:rgba(255,255,255,.14)}
.form-step{display:none}
.form-step.active{display:block}
.form-step-head small{color:rgba(255,255,255,.4);font-size:7px;letter-spacing:.1em}
.form-step-head h3{margin:5px 0 0;font-size:18px;color:#fff}
.choice-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(255,255,255,.12);
}
.choice-grid label{position:relative}
.choice-grid input{position:absolute;opacity:0;pointer-events:none}
.choice-grid span{
  min-height:37px;
  padding:0 22px 0 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;
  color:rgba(255,255,255,.78);
  font-size:9px;
  cursor:pointer;
}
.choice-grid label:nth-child(odd) span{border-right:1px solid rgba(255,255,255,.12)}
.choice-grid input:checked+span{color:var(--orange)}
.choice-grid input:checked+span:after{
  content:"×";position:absolute;right:8px;color:var(--orange);font-weight:700
}
.form-next,.form-submit{
  margin-top:12px;
  min-height:43px;
  padding:0 16px;
  border-radius:6px;
  background:var(--orange);
  color:#fff;
  font-size:10px;
  font-weight:700;
}
.form-next{width:100%}
.form-nav{display:flex;align-items:center;gap:12px;margin-top:12px}
.form-nav .form-next,.form-nav .form-submit{margin-top:0;flex:1}
.form-back{
  border:0;background:transparent;color:rgba(255,255,255,.55);font-size:9px;cursor:pointer
}
.field{
  display:block;
  margin-top:10px;
}
.field>span{display:block;margin-bottom:3px;color:rgba(255,255,255,.52);font-size:8px}
.field em{font-style:normal;color:rgba(255,255,255,.28)}
.field input,.field textarea{
  width:100%;
  padding:0 0 7px;
  border:0;border-bottom:1px solid rgba(255,255,255,.16);
  border-radius:0;
  background:transparent;
  color:#fff;
  outline:0;
  resize:vertical;
  font-size:11px;
}
.field input{height:31px}
.field textarea{min-height:50px}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.32)}
.field input.invalid,.field textarea.invalid{border-color:#ff8a6e}
.form-inline-error{min-height:13px;margin-top:6px;color:#ff9b84;font-size:8px}
.privacy-note{margin:8px 0 0;color:rgba(255,255,255,.36);font-size:7px}
.form-status{min-height:14px;margin-top:6px;color:rgba(255,255,255,.62);font-size:8px}
.form-status.error{color:#ff9b84}
.form-success{padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}
.form-success[hidden]{display:none}
.form-success .success-mark{display:block;color:var(--orange);font-size:32px;line-height:1}
.form-success small{color:rgba(255,255,255,.4);font-size:7px;letter-spacing:.1em}
.form-success h3{margin:6px 0 0;font-family:var(--serif);font-size:25px}
.form-success p{margin:7px 0 0;color:rgba(255,255,255,.58);font-size:9px;line-height:1.45}
.hp-field{position:absolute!important;left:-99999px!important;opacity:0!important}
.final-side-message{
  justify-self:end;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  line-height:1.45;
}
.final-side-message span{display:block;margin-top:16px;color:var(--orange);font-size:16px}

/* STICKY + FOOTER */
.sticky-analysis{
  display:none;
  position:fixed;
  z-index:70;
  left:14px;right:14px;bottom:14px;
  transform:translateY(90px);
  opacity:0;
  transition:opacity .25s ease,transform .25s ease;
  pointer-events:none;
}
.sticky-analysis.visible{opacity:1;transform:none;pointer-events:auto}
.sticky-analysis a{
  min-height:52px;
  display:flex;align-items:center;justify-content:center;gap:18px;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  font-size:11px;
  font-weight:700;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.master-footer{background:#0d0e0e;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.footer-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-inner img{width:130px}
.footer-inner span{font-size:8px;color:rgba(255,255,255,.35);letter-spacing:.08em}

/* TABLET */
@media(max-width:1100px){
  :root{--shell:min(100% - 38px,1000px)}
  .master-desktop-nav{gap:24px}
  .hero-copy h1{font-size:56px}
  .hero-metric-panel{right:28%}
  .hero-x{right:5%;width:190px;height:190px}
  .hero-x span{width:190px}
  .problem-grid{grid-template-columns:1fr 150px}
  .value-grid{grid-template-columns:.9fr 1.55fr .75fr;gap:22px}
  .solution-outcomes{grid-template-columns:repeat(3,1fr)}
  .system-tower{left:13%}
  .approach-grid{grid-template-columns:1fr .7fr .38fr;gap:24px}
  .scenario-cards{grid-template-columns:repeat(3,1fr)}
  .scenario-card:nth-child(n+4){display:none}
  .final-grid{grid-template-columns:1fr 1fr 130px}
}

/* MOBILE */
@media(max-width:767px){
  :root{--shell:calc(100% - 36px)}
  .reveal{transform:translateY(10px)}
  .master-header{height:64px}
  .master-nav{
    height:64px;
    grid-template-columns:auto 1fr auto;
    gap:14px;
  }
  .master-brand img{width:132px}
  .master-desktop-nav,.master-header-cta{display:none}
  .menu-toggle{justify-self:end}
  .mobile-menu{top:64px}

  .master-hero{min-height:690px}
  .master-hero-media picture img{
    object-position:58% 50%;
  }
  .hero-darken{
    background:
      linear-gradient(180deg,rgba(10,11,11,.36) 0%,rgba(10,11,11,.05) 32%,rgba(10,11,11,.15) 52%,rgba(10,11,11,.94) 78%,#0d0e0e 100%);
  }
  .hero-content{
    min-height:690px;
    align-items:flex-end;
    padding-top:64px;
    padding-bottom:46px;
  }
  .hero-copy{width:100%}
  .hero-kicker{font-size:8px;margin-bottom:10px}
  .hero-copy h1{font-size:49px;line-height:.9}
  .hero-copy>p{font-size:16px;line-height:1.25;margin-top:14px}
  .hero-copy .master-cta{margin-top:18px;min-height:50px;padding-inline:20px}
  .hero-proof{margin-top:17px}
  .proof-orbs i{width:25px;height:25px}
  .hero-side-message{display:none}
  .hero-x{
    width:150px;height:150px;
    right:1%;top:27%;
    opacity:.8;
  }
  .hero-x span{width:150px;height:13px}
  .hero-metric-panel{
    top:27%;left:6%;right:auto;width:118px;
    padding:10px;
    transform:scale(.9);
    transform-origin:left top;
  }

  .category-strip{overflow:hidden}
  .category-rail{
    width:100%;
    padding:0 18px;
    overflow-x:auto;
    gap:22px;
    scrollbar-width:none;
  }
  .category-rail::-webkit-scrollbar{display:none}
  .category-intro{display:none}
  .category-item{font-size:9px}

  .problem-section{min-height:590px}
  .problem-media{top:205px;height:385px}
  .problem-media:after{
    background:linear-gradient(180deg,#101111 0%,rgba(16,17,17,.1) 16%,rgba(16,17,17,.06) 62%,rgba(16,17,17,.5));
  }
  .problem-floor{left:-12%;width:124%;height:120%;top:0}
  .problem-stream{left:5%}
  .stream-a{width:90%}.stream-b{width:88%}.stream-c{width:84%}
  .b1{left:17%;top:29%}.b2{left:38%;top:18%}.b3{left:55%;top:43%}.b4{left:67%;top:59%}.b5{left:77%;top:26%}
  .p1{left:27%}.p2{left:48%}.p3{left:70%}.p4{left:84%}
  .problem-grid{
    min-height:590px;
    grid-template-columns:1fr;
    align-content:start;
    padding-top:28px;
  }
  .problem-copy{max-width:none}
  .problem-copy h2{font-size:42px}
  .problem-copy>p{font-size:12px}
  .problem-labels{
    position:absolute;
    left:18px;right:18px;bottom:18px;
    width:auto;
    grid-template-columns:1fr 1fr;
    gap:8px 18px;
  }
  .problem-labels p{font-size:7px;padding-left:24px}
  .problem-labels p:before{width:16px}

  .business-check-section{min-height:610px}
  .check-photo{
    top:0;right:0;width:100%;height:245px;
  }
  .check-photo img{object-position:center 46%}
  .check-photo-grade{
    background:linear-gradient(180deg,rgba(241,238,231,.05),rgba(241,238,231,.16) 55%,var(--paper) 100%);
  }
  .check-content{padding-top:255px;padding-bottom:28px}
  .check-heading h2{font-size:41px}
  .check-heading p{font-size:10px}
  .check-options{
    margin-top:15px;
    width:100%;
    grid-template-columns:1fr 1fr;
    box-shadow:none;
  }
  .check-options button{
    min-height:68px;
    border-bottom:1px solid rgba(17,17,17,.08);
  }
  .check-options button:nth-child(2n){border-right:0}
  .check-options button span{font-size:10px}
  .check-result{
    width:100%;
    margin-top:12px;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:6px 10px;
  }
  .check-result>strong{font-size:10px}
  .check-result>em{grid-column:1/-1;margin-left:0;font-size:7px}

  .value-section{padding:30px 0 24px}
  .value-grid{
    grid-template-columns:1fr;
    gap:22px;
    align-items:stretch;
  }
  .value-copy h2{font-size:39px}
  .value-inputs{grid-template-columns:1fr}
  .value-scenarios{grid-template-columns:1fr}
  .value-scenarios article{
    min-height:92px;
    grid-template-columns:34px 1fr auto;
    justify-items:start;
    text-align:left;
    gap:0 8px;
    align-items:center;
    padding:12px 14px;
  }
  .value-scenarios svg{grid-row:1/3;margin:0}
  .value-scenarios span{align-self:end}
  .value-scenarios strong{
    grid-row:1/3;grid-column:3;
    align-self:center;
    margin:0;
    font-size:23px;
  }
  .value-scenarios small{align-self:start;margin-top:2px}
  .value-aside{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.25);
    padding:16px 0 0;
  }
  .value-aside p{font-size:10px}
  .value-disclaimer{text-align:left;font-size:7px}

  .solution-section{min-height:650px}
  .solution-grid{
    grid-template-columns:1fr;
    min-height:650px;
    align-content:start;
  }
  .solution-copy{padding:28px 0 0}
  .solution-copy h2{font-size:41px}
  .solution-copy>p{font-size:10px}
  .solution-outcomes{
    grid-template-columns:repeat(3,1fr);
    gap:16px 10px;
  }
  .system-stage{
    min-height:360px;
    margin-top:8px;
    width:calc(100% + 36px);
    margin-left:-18px;
  }
  .system-tower{left:12%;top:18%;width:150px}
  .system-tower>div{height:32px}
  .system-core{left:54%;top:30%;width:100px;height:120px}
  .energy.e1{left:42%;top:30%;width:46%}.energy.e2{left:42%;top:40%;width:48%}.energy.e3{left:42%;top:50%;width:46%}.energy.e4{left:44%;top:60%;width:43%}.energy.e5{left:47%;top:70%;width:38%}
  .system-side{right:5%;top:72%;font-size:7px}

  .approach-section{min-height:600px}
  .approach-photo{
    left:0;top:0;width:100%;height:300px;
  }
  .approach-photo img{object-position:55% 38%}
  .approach-photo:before{
    background:linear-gradient(180deg,rgba(16,17,17,.08),rgba(16,17,17,.22) 52%,#101111 100%);
  }
  .approach-grid{
    min-height:600px;
    grid-template-columns:1fr;
    gap:18px;
    align-content:end;
    padding-bottom:28px;
  }
  .approach-copy h2{font-size:36px}
  .approach-copy>p{font-size:10px}
  .approach-quote{
    font-size:19px;
    padding-left:14px;
  }
  .approach-side{
    justify-self:start;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.14);
  }

  .scenarios-section{padding:28px 0 34px}
  .scenarios-row{grid-template-columns:1fr;gap:18px}
  .scenarios-title h2{font-size:34px}
  .scenario-cards{
    display:flex;
    overflow-x:auto;
    gap:9px;
    margin-right:-18px;
    padding-right:18px;
    scrollbar-width:none;
  }
  .scenario-cards::-webkit-scrollbar{display:none}
  .scenario-card{
    display:block!important;
    flex:0 0 245px;
    min-height:132px;
    padding-top:74px;
  }
  .scenario-card span{font-size:17px}
  .scenario-card p{font-size:8px}

  .final-section{min-height:760px}
  .final-media img{object-position:44% 48%}
  .final-grade{
    background:linear-gradient(180deg,rgba(15,15,15,.14) 0%,rgba(15,15,15,.22) 38%,rgba(15,15,15,.88) 67%,#0f0f0f 100%);
  }
  .final-x{left:62%;top:27%;width:135px;height:135px}
  .final-x span{width:150px;height:38px}
  .final-grid{
    min-height:760px;
    grid-template-columns:1fr;
    align-content:end;
    gap:18px;
    padding-top:250px;
    padding-bottom:28px;
  }
  .final-copy h2{font-size:40px}
  .progress-form{
    padding:16px 0 0;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .choice-grid{grid-template-columns:1fr 1fr}
  .final-side-message{display:none}
  .sticky-analysis{display:block}
  .master-footer{padding-bottom:72px}
  .footer-inner{min-height:62px}
}

/* MOBILE 375 */
@media(max-width:389px){
  :root{--shell:calc(100% - 32px)}
  .hero-copy h1{font-size:46px}
  .master-hero{min-height:670px}
  .hero-content{min-height:670px}
  .problem-copy h2{font-size:39px}
  .check-heading h2{font-size:39px}
  .value-copy h2{font-size:37px}
  .solution-copy h2{font-size:39px}
  .approach-copy h2{font-size:34px}
  .final-copy h2{font-size:38px}
}

/* MOBILE 430 */
@media(min-width:430px) and (max-width:767px){
  :root{--shell:calc(100% - 44px)}
  .hero-copy h1{font-size:52px}
  .problem-copy h2{font-size:45px}
  .check-heading h2{font-size:44px}
  .value-copy h2{font-size:42px}
  .solution-copy h2{font-size:44px}
  .approach-copy h2{font-size:39px}
  .final-copy h2{font-size:43px}
}

/* LARGE DESKTOP */
@media(min-width:1440px){
  :root{--shell:min(100% - 120px,1460px)}
  .master-header,.master-nav{height:82px}
  .hero-content{min-height:620px;padding-top:80px}
  .master-hero{min-height:620px}
  .hero-copy h1{font-size:72px}
  .hero-copy>p{font-size:21px}
  .hero-x{width:260px;height:260px;right:10%}
  .hero-x span{width:260px;height:21px}
  .hero-metric-panel{right:31%;width:170px}
  .category-rail{min-height:58px}
  .problem-section,.problem-grid{min-height:360px}
  .problem-copy h2{font-size:49px}
  .business-check-section{min-height:390px}
  .check-content{padding-top:32px}
  .check-heading h2{font-size:49px}
  .check-options{width:min(100%,970px)}
  .check-options button{min-height:92px}
  .value-section{padding-top:39px}
  .value-copy h2{font-size:40px}
  .value-scenarios strong{font-size:28px}
  .solution-section,.solution-grid{min-height:390px}
  .solution-copy h2{font-size:48px}
  .approach-section,.approach-grid{min-height:280px}
  .approach-copy h2{font-size:39px}
  .approach-quote{font-size:21px}
  .scenario-card{min-height:116px}
  .final-section,.final-grid{min-height:405px}
  .final-copy h2{font-size:48px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.master-cta,.master-header-cta,.form-next,.form-submit,.sticky-analysis a{transition:none!important}
}


/* =========================================================
   MASTER REFERENCE DENSITY PASS
   Compress desktop vertical rhythm to approved reference.
   ========================================================= */
@media(min-width:1024px){
  .master-header,.master-nav{height:64px}
  .master-header{height:64px}
  .master-brand img{width:142px}
  .master-desktop-nav{gap:38px}
  .master-header-cta{min-height:38px}

  .master-hero,
  .hero-content{min-height:470px}
  .hero-content{padding-top:62px}
  .hero-copy h1{font-size:61px}
  .hero-copy>p{margin-top:14px;font-size:17px}
  .hero-copy .master-cta{margin-top:18px;min-height:48px}
  .hero-proof{margin-top:14px}
  .hero-x{width:205px;height:205px;top:28%}
  .hero-x span{width:205px;height:16px}
  .hero-metric-panel{top:35%;width:142px}

  .category-rail{min-height:48px}

  .problem-section,
  .problem-grid{min-height:270px}
  .problem-copy h2{font-size:40px}
  .problem-copy>p{margin-top:10px;font-size:11px}
  .problem-labels{gap:18px}
  .problem-block{height:96px;width:82px}

  .business-check-section{min-height:272px}
  .check-content{padding-top:20px;padding-bottom:18px}
  .check-heading h2{font-size:38px}
  .check-options{margin-top:10px}
  .check-options button{min-height:72px}
  .check-result{min-height:22px;margin-top:5px}

  .value-section{padding:25px 0 16px}
  .value-copy h2{font-size:32px}
  .value-inputs{margin-top:12px;gap:6px}
  .value-inputs input{height:29px}
  .value-scenarios article{min-height:125px;padding:12px 10px}
  .value-scenarios strong{font-size:22px}
  .value-aside p{margin-bottom:11px;font-size:9px}
  .value-disclaimer{margin-top:7px}

  .solution-section,
  .solution-grid{min-height:270px}
  .solution-copy{padding-top:22px;padding-bottom:20px}
  .solution-copy h2{font-size:38px}
  .solution-copy>p{margin-top:9px;font-size:10px}
  .solution-outcomes{margin-top:17px}
  .system-stage{min-height:270px}
  .system-tower{top:16%;width:165px}
  .system-tower>div{height:31px}
  .system-core{top:25%;width:108px;height:124px}

  .approach-section,
  .approach-grid{min-height:190px}
  .approach-copy h2{font-size:30px}
  .approach-copy>p{margin-top:8px;font-size:9px}
  .approach-quote{font-size:17px}
  .approach-photo{height:100%}

  .scenarios-section{padding:16px 0}
  .scenarios-row{grid-template-columns:205px 1fr;gap:22px}
  .scenarios-title h2{font-size:27px}
  .scenario-card{min-height:88px;padding-top:42px}
  .scenario-card span{font-size:13px}

  .final-section,
  .final-grid{min-height:250px}
  .final-copy h2{font-size:36px}
  .final-copy>p{margin-top:8px;font-size:10px}
  .progress-form{padding:14px 0 10px}
  .form-progress{margin-bottom:9px}
  .choice-grid{margin-top:7px}
  .choice-grid span{min-height:32px}
  .field{margin-top:7px}
  .field input{height:27px}
  .form-next,.form-submit{min-height:38px;margin-top:9px}
  .final-x{width:150px;height:150px}
  .final-x span{width:165px;height:42px}

  .footer-inner{min-height:52px}
}

@media(min-width:1440px){
  :root{--shell:min(100% - 110px,1380px)}
  .master-header,.master-nav{height:68px}
  .master-hero,.hero-content{min-height:500px}
  .hero-content{padding-top:66px}
  .hero-copy h1{font-size:65px}
  .hero-copy>p{font-size:18px}
  .hero-x{width:220px;height:220px}
  .hero-x span{width:220px;height:18px}
  .category-rail{min-height:50px}
  .problem-section,.problem-grid{min-height:282px}
  .problem-copy h2{font-size:43px}
  .business-check-section{min-height:286px}
  .check-heading h2{font-size:41px}
  .check-options button{min-height:76px}
  .value-copy h2{font-size:34px}
  .value-scenarios strong{font-size:24px}
  .solution-section,.solution-grid{min-height:285px}
  .solution-copy h2{font-size:41px}
  .system-stage{min-height:285px}
  .approach-section,.approach-grid{min-height:200px}
  .approach-copy h2{font-size:32px}
  .scenario-card{min-height:92px}
  .final-section,.final-grid{min-height:265px}
  .final-copy h2{font-size:39px}
}


/* =========================================================
   DESKTOP GEOMETRY POLISH
   Desktop-only spacing / proportions. Mobile intentionally
   unchanged. Keeps the approved visual direction intact.
   ========================================================= */
@media (min-width:1024px){
  :root{
    --shell:min(calc(100% - 80px),1500px);
  }

  .master-nav{
    gap:28px;
  }
  .master-desktop-nav{
    gap:34px;
  }

  .hero-copy{
    width:min(500px,45vw);
  }
  .hero-copy h1{
    max-width:500px;
  }
  .hero-copy>p{
    max-width:390px;
  }
  .hero-side-message{
    right:3.25%;
  }

  .category-rail{
    justify-content:space-between;
    gap:18px;
  }

  .problem-copy{
    max-width:380px;
  }
  .problem-grid{
    grid-template-columns:minmax(390px,.9fr) 170px;
  }
  .problem-labels{
    width:166px;
  }

  .check-heading{
    max-width:520px;
  }
  .check-options,
  .check-result{
    width:min(100%,900px);
  }

  .value-grid{
    grid-template-columns:.96fr 1.42fr .76fr;
    gap:30px;
  }
  .value-copy{
    max-width:430px;
  }
  .value-scenarios{
    gap:12px;
  }
  .value-aside{
    padding-left:22px;
  }

  .solution-grid{
    grid-template-columns:1fr 1fr;
  }
  .solution-copy{
    padding-right:48px;
  }
  .solution-copy>p{
    max-width:470px;
  }
  .solution-outcomes{
    gap:14px;
  }

  .approach-grid{
    grid-template-columns:1.18fr .54fr .28fr;
    gap:34px;
  }
  .approach-copy{
    max-width:620px;
  }
  .approach-quote{
    max-width:250px;
  }

  .scenarios-row{
    grid-template-columns:220px 1fr;
    gap:28px;
  }
  .scenario-cards{
    gap:9px;
  }

  .final-grid{
    grid-template-columns:1.03fr .97fr 150px;
    gap:38px;
  }
  .final-copy{
    max-width:520px;
  }
  .progress-form{
    max-width:520px;
    width:100%;
  }
}

@media (min-width:1280px) and (max-width:1439px){
  :root{
    --shell:min(calc(100% - 112px),1500px);
  }
  .hero-copy{
    width:min(510px,43vw);
  }
  .solution-copy{
    padding-right:54px;
  }
}

@media (min-width:1440px) and (max-width:1799px){
  :root{
    --shell:min(calc(100% - 144px),1500px);
  }

  .master-brand img{
    width:146px;
  }
  .master-desktop-nav{
    gap:40px;
  }

  .hero-copy{
    width:520px;
  }
  .hero-copy h1{
    max-width:520px;
    font-size:63px;
    line-height:.91;
  }
  .hero-copy>p{
    max-width:405px;
    font-size:17px;
  }
  .hero-copy .master-cta{
    padding-inline:23px;
  }

  .problem-copy h2{
    font-size:42px;
  }

  .check-content{
    padding-top:22px;
    padding-bottom:20px;
  }
  .check-heading h2{
    font-size:40px;
  }
  .check-options{
    width:min(100%,920px);
  }
  .check-options button{
    min-height:78px;
  }

  .value-section{
    padding-top:29px;
    padding-bottom:20px;
  }
  .value-grid{
    gap:36px;
  }
  .value-copy h2{
    font-size:35px;
  }
  .value-scenarios article{
    min-height:132px;
  }

  .solution-copy{
    padding-right:62px;
  }
  .solution-copy h2{
    font-size:40px;
  }
  .solution-outcomes{
    margin-top:20px;
  }

  .approach-grid{
    gap:40px;
  }
  .approach-copy h2{
    font-size:33px;
  }

  .scenarios-section{
    padding-top:18px;
    padding-bottom:18px;
  }
  .scenarios-row{
    grid-template-columns:235px 1fr;
    gap:32px;
  }
  .scenario-card{
    min-height:100px;
    padding-top:48px;
  }

  .final-grid{
    grid-template-columns:1.03fr .97fr 155px;
    gap:42px;
  }
  .final-copy h2{
    font-size:40px;
  }
}

@media (min-width:1800px){
  :root{
    --shell:min(calc(100% - 200px),1560px);
  }

  .master-nav{
    max-width:1560px;
  }
  .hero-copy{
    width:550px;
  }
  .hero-copy h1{
    max-width:550px;
    font-size:68px;
  }
  .hero-copy>p{
    max-width:430px;
    font-size:18px;
  }

  .check-options,
  .check-result{
    width:min(100%,980px);
  }

  .value-grid{
    gap:42px;
  }
  .solution-copy{
    padding-right:72px;
  }
  .scenarios-row{
    grid-template-columns:250px 1fr;
    gap:36px;
  }
  .final-grid{
    gap:48px;
  }
}


/* =========================================================
   DESKTOP MICRO CALIBRATION V2
   Reference-proportion pass at 100% zoom.
   Mobile remains untouched.
   ========================================================= */
@media (min-width:1024px){
  :root{
    --shell:min(calc(100% - 72px),1500px);
  }

  .master-header,
  .master-nav{
    height:62px;
  }
  .master-brand img{width:138px}
  .master-desktop-nav{gap:34px}
  .master-desktop-nav a{font-size:11px}
  .master-header-cta{
    min-height:36px;
    padding-inline:16px;
    font-size:10px;
  }

  .master-hero,
  .hero-content{
    min-height:430px;
  }
  .hero-content{
    padding-top:58px;
  }
  .hero-copy{
    width:min(485px,44vw);
  }
  .hero-kicker{
    margin-bottom:9px;
    font-size:8px;
  }
  .hero-copy h1{
    max-width:485px;
    font-size:56px;
    line-height:.90;
  }
  .hero-copy>p{
    max-width:380px;
    margin-top:12px;
    font-size:16px;
    line-height:1.2;
  }
  .hero-copy .master-cta{
    min-height:44px;
    margin-top:16px;
    padding-inline:20px;
  }
  .hero-proof{margin-top:11px}
  .proof-orbs i{width:26px;height:26px}
  .hero-x{
    width:190px;
    height:190px;
    top:27%;
    right:8%;
  }
  .hero-x span{
    width:190px;
    height:15px;
  }
  .hero-metric-panel{
    top:34%;
    right:29%;
    width:132px;
    padding:10px 11px;
  }
  .hero-side-message{
    right:2.7%;
    bottom:26px;
  }

  .category-rail{
    min-height:43px;
    gap:16px;
  }
  .category-intro,
  .category-item{
    font-size:9px;
  }

  .problem-section,
  .problem-grid{
    min-height:225px;
  }
  .problem-copy{
    max-width:360px;
  }
  .problem-copy h2{
    margin-top:7px;
    font-size:37px;
    line-height:.91;
  }
  .problem-copy>p{
    margin-top:8px;
    font-size:10px;
    line-height:1.32;
  }
  .problem-copy>a{margin-top:10px;font-size:11px}
  .problem-grid{
    grid-template-columns:minmax(360px,.92fr) 155px;
  }
  .problem-labels{
    width:155px;
    gap:14px;
  }
  .problem-labels p{font-size:7px}
  .problem-block{
    width:74px;
    height:84px;
  }

  .business-check-section{
    min-height:232px;
  }
  .check-content{
    padding-top:16px;
    padding-bottom:14px;
  }
  .business-check-section .section-index{margin-bottom:4px}
  .check-heading h2{
    font-size:36px;
    line-height:.91;
  }
  .check-heading p{
    margin-top:5px;
    font-size:9px;
  }
  .check-options{
    width:min(100%,880px);
    margin-top:8px;
  }
  .check-options button{
    min-height:64px;
  }
  .check-options button span{font-size:9px}
  .check-result{
    min-height:18px;
    margin-top:4px;
  }

  .value-section{
    padding:21px 0 14px;
  }
  .value-grid{
    grid-template-columns:.95fr 1.43fr .72fr;
    gap:27px;
  }
  .value-copy h2{
    margin-top:6px;
    font-size:30px;
    line-height:.92;
  }
  .value-inputs{
    margin-top:10px;
    gap:5px;
  }
  .value-inputs input{
    height:27px;
  }
  .value-scenarios{
    gap:9px;
  }
  .value-scenarios article{
    min-height:112px;
    padding:10px 9px;
  }
  .value-scenarios strong{
    font-size:20px;
  }
  .value-aside{
    padding-left:18px;
  }
  .value-aside p{
    margin-bottom:9px;
    font-size:8px;
  }
  .value-disclaimer{
    margin-top:5px;
    font-size:6px;
  }

  .solution-section,
  .solution-grid{
    min-height:228px;
  }
  .solution-grid{
    grid-template-columns:1fr 1fr;
  }
  .solution-copy{
    padding:18px 48px 17px 0;
  }
  .solution-copy h2{
    margin-top:6px;
    font-size:36px;
    line-height:.92;
  }
  .solution-copy>p{
    margin-top:7px;
    font-size:9px;
  }
  .solution-outcomes{
    margin-top:13px;
    gap:10px;
  }
  .solution-outcomes svg{
    width:18px;
    height:18px;
  }
  .solution-outcomes span{
    font-size:6px;
  }
  .system-stage{
    min-height:228px;
  }
  .system-tower{
    top:13%;
    width:150px;
  }
  .system-tower>div{
    height:28px;
  }
  .system-core{
    top:22%;
    width:96px;
    height:112px;
  }

  .approach-section,
  .approach-grid{
    min-height:165px;
  }
  .approach-grid{
    grid-template-columns:1.18fr .54fr .28fr;
    gap:30px;
  }
  .approach-copy h2{
    margin-top:5px;
    font-size:28px;
    line-height:.93;
  }
  .approach-copy>p{
    margin-top:6px;
    font-size:8px;
  }
  .approach-quote{
    padding-left:14px;
    font-size:15px;
  }
  .approach-side{
    font-size:7px;
  }

  .scenarios-section{
    padding:11px 0;
  }
  .scenarios-row{
    grid-template-columns:198px 1fr;
    gap:20px;
  }
  .scenarios-title h2{
    margin-top:4px;
    font-size:24px;
  }
  .scenario-cards{
    gap:7px;
  }
  .scenario-card{
    min-height:77px;
    padding:35px 9px 8px;
  }
  .scenario-card span{
    font-size:12px;
  }
  .scenario-card p{
    font-size:6px;
  }

  .final-section,
  .final-grid{
    min-height:220px;
  }
  .final-grid{
    grid-template-columns:1.04fr .96fr 138px;
    gap:30px;
  }
  .final-copy h2{
    margin-top:6px;
    font-size:34px;
    line-height:.92;
  }
  .final-copy>p{
    margin-top:6px;
    font-size:9px;
  }
  .analysis-context{
    margin-top:8px;
    font-size:8px;
  }
  .progress-form{
    max-width:500px;
    padding:10px 0 8px;
  }
  .form-progress{margin-bottom:7px}
  .form-progress span{
    width:20px;
    height:20px;
  }
  .form-step-head h3{
    margin-top:3px;
    font-size:16px;
  }
  .choice-grid{
    margin-top:5px;
  }
  .choice-grid span{
    min-height:29px;
    font-size:8px;
  }
  .field{
    margin-top:5px;
  }
  .field input{
    height:25px;
  }
  .form-next,
  .form-submit{
    min-height:34px;
    margin-top:7px;
  }
  .final-x{
    width:135px;
    height:135px;
  }
  .final-x span{
    width:150px;
    height:38px;
  }
  .footer-inner{
    min-height:46px;
  }
}

@media (min-width:1280px) and (max-width:1439px){
  :root{
    --shell:min(calc(100% - 104px),1500px);
  }
  .hero-copy{
    width:495px;
  }
  .hero-copy h1{
    max-width:495px;
    font-size:58px;
  }
  .check-options{
    width:min(100%,900px);
  }
}

@media (min-width:1440px) and (max-width:1799px){
  :root{
    --shell:min(calc(100% - 128px),1500px);
  }

  .master-header,
  .master-nav{
    height:64px;
  }

  .master-hero,
  .hero-content{
    min-height:445px;
  }
  .hero-content{
    padding-top:60px;
  }
  .hero-copy{
    width:505px;
  }
  .hero-copy h1{
    max-width:505px;
    font-size:60px;
  }
  .hero-copy>p{
    font-size:16px;
  }

  .problem-section,
  .problem-grid{
    min-height:232px;
  }
  .problem-copy h2{
    font-size:38px;
  }

  .business-check-section{
    min-height:240px;
  }
  .check-heading h2{
    font-size:37px;
  }
  .check-options button{
    min-height:66px;
  }

  .value-section{
    padding-top:22px;
    padding-bottom:15px;
  }
  .value-copy h2{
    font-size:31px;
  }
  .value-scenarios article{
    min-height:116px;
  }

  .solution-section,
  .solution-grid{
    min-height:235px;
  }
  .solution-copy h2{
    font-size:37px;
  }
  .system-stage{
    min-height:235px;
  }

  .approach-section,
  .approach-grid{
    min-height:170px;
  }
  .approach-copy h2{
    font-size:29px;
  }

  .scenarios-section{
    padding:12px 0;
  }
  .scenarios-row{
    grid-template-columns:205px 1fr;
    gap:22px;
  }
  .scenario-card{
    min-height:80px;
  }

  .final-section,
  .final-grid{
    min-height:228px;
  }
  .final-copy h2{
    font-size:35px;
  }
}

@media (min-width:1800px){
  :root{
    --shell:min(calc(100% - 176px),1580px);
  }
  .master-hero,
  .hero-content{
    min-height:470px;
  }
  .hero-copy{
    width:530px;
  }
  .hero-copy h1{
    max-width:530px;
    font-size:63px;
  }
  .check-options{
    width:min(100%,940px);
  }
  .final-grid{
    grid-template-columns:1.06fr .94fr 145px;
  }
}


/* =========================================================
   MOBILE VISUAL + CRO CALIBRATION
   375 / 390 / 430 only. Desktop intentionally unchanged.
   ========================================================= */
@media (max-width:767px){
  :root{
    --shell:calc(100% - 40px);
  }

  .master-home{
    text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
  }

  .section-index{
    font-size:9px;
    letter-spacing:.16em;
  }

  a,button,label{
    touch-action:manipulation;
  }

  .master-header{
    height:60px;
  }
  .master-nav{
    height:60px;
    gap:12px;
  }
  .master-brand img{
    width:124px;
  }
  .menu-toggle{
    width:40px;
    height:40px;
    padding:10px;
  }
  .menu-toggle span{
    width:19px;
  }
  .mobile-menu{
    top:60px;
    padding:18px 20px 22px;
  }
  .mobile-menu a{
    min-height:48px;
    display:flex;
    align-items:center;
    padding:0;
    font-size:14px;
  }
  .mobile-menu-cta{
    min-height:48px;
    justify-content:center;
    padding:0 18px!important;
  }

  .master-hero,
  .hero-content{
    min-height:640px;
  }
  .master-hero-media picture img{
    object-position:59% 49%;
  }
  .hero-darken{
    background:
      linear-gradient(180deg,rgba(10,11,11,.30) 0%,rgba(10,11,11,.04) 30%,rgba(10,11,11,.12) 50%,rgba(10,11,11,.90) 75%,#0d0e0e 100%);
  }
  .hero-content{
    padding-top:60px;
    padding-bottom:32px;
  }
  .hero-kicker{
    margin-bottom:8px;
    font-size:8px;
    letter-spacing:.21em;
  }
  .hero-copy h1{
    max-width:350px;
    font-size:44px;
    line-height:.92;
    letter-spacing:-.03em;
  }
  .hero-copy>p{
    max-width:330px;
    margin-top:12px;
    font-size:15px;
    line-height:1.28;
  }
  .hero-copy .master-cta{
    min-height:48px;
    margin-top:16px;
    padding-inline:19px;
    gap:22px;
    font-size:12px;
  }
  .hero-proof{
    margin-top:14px;
    gap:10px;
  }
  .proof-orbs i{
    width:23px;
    height:23px;
  }
  .hero-proof p{
    font-size:9px;
  }
  .hero-x{
    width:132px;
    height:132px;
    right:2%;
    top:25%;
    opacity:.77;
  }
  .hero-x span{
    width:132px;
    height:11px;
  }
  .hero-metric-panel{
    top:26%;
    left:5%;
    width:106px;
    padding:8px 9px;
    transform:none;
  }
  .hero-metric-panel small{
    font-size:5.5px;
  }

  .category-rail{
    min-height:48px;
    padding-inline:20px;
    gap:20px;
  }
  .category-item{
    gap:6px;
    font-size:9px;
  }
  .category-item svg{
    width:15px;
    height:15px;
  }

  .problem-section,
  .problem-grid{
    min-height:520px;
  }
  .problem-grid{
    padding-top:24px;
  }
  .problem-copy h2{
    margin-top:8px;
    font-size:36px;
    line-height:.94;
  }
  .problem-copy>p{
    margin-top:10px;
    font-size:13px;
    line-height:1.4;
  }
  .problem-copy>a{
    margin-top:12px;
    font-size:11px;
  }
  .problem-media{
    top:180px;
    height:340px;
  }
  .problem-floor{
    left:-9%;
    width:118%;
  }
  .problem-block{
    width:72px;
    height:88px;
  }
  .problem-labels{
    left:20px;
    right:20px;
    bottom:15px;
    gap:8px 16px;
  }
  .problem-labels p{
    padding-left:22px;
    font-size:7px;
    line-height:1.3;
  }

  .business-check-section{
    min-height:548px;
  }
  .check-photo{
    height:208px;
  }
  .check-content{
    padding-top:218px;
    padding-bottom:24px;
  }
  .check-heading h2{
    max-width:330px;
    font-size:36px;
    line-height:.94;
  }
  .check-heading p{
    max-width:320px;
    margin-top:7px;
    font-size:12px;
    line-height:1.4;
  }
  .check-options{
    margin-top:12px;
    border-radius:0;
  }
  .check-options button{
    min-height:62px;
    padding:7px 5px;
  }
  .check-options button svg{
    width:18px;
    height:18px;
  }
  .check-options button span{
    font-size:9.5px;
    line-height:1.12;
  }
  .check-result{
    margin-top:10px;
    gap:5px 9px;
  }
  .check-result>span{
    font-size:6.5px;
  }
  .check-result>strong{
    font-size:10px;
    line-height:1.3;
  }
  .check-result>em{
    font-size:6.5px;
  }

  .value-section{
    padding:26px 0 22px;
  }
  .value-grid{
    gap:18px;
  }
  .value-copy h2{
    max-width:350px;
    font-size:35px;
    line-height:.95;
  }
  .value-inputs{
    margin-top:15px;
    gap:10px;
  }
  .value-inputs label>span{
    margin-bottom:5px;
    font-size:10px;
  }
  .value-inputs input{
    height:44px;
    padding-inline:12px;
    font-size:15px;
  }
  .money-input i{
    top:13px;
    font-size:14px;
  }
  .money-input input{
    padding-left:30px;
  }
  .value-scenarios{
    gap:8px;
  }
  .value-scenarios article{
    min-height:82px;
    grid-template-columns:30px 1fr auto;
    padding:11px 12px;
  }
  .value-scenarios svg{
    width:20px;
    height:20px;
  }
  .value-scenarios span{
    font-size:9px;
  }
  .value-scenarios strong{
    font-size:21px;
  }
  .value-scenarios small{
    font-size:7px;
  }
  .value-aside{
    padding-top:14px;
  }
  .value-aside p{
    margin-bottom:12px;
    font-size:11px;
    line-height:1.45;
  }
  .value-disclaimer{
    margin-top:9px;
    font-size:7px;
    line-height:1.35;
  }

  .solution-section,
  .solution-grid{
    min-height:566px;
  }
  .solution-copy{
    padding-top:25px;
  }
  .solution-copy h2{
    max-width:355px;
    font-size:36px;
    line-height:.94;
  }
  .solution-copy>p{
    max-width:340px;
    margin-top:10px;
    font-size:12px;
    line-height:1.4;
  }
  .solution-outcomes{
    margin-top:20px;
    gap:15px 10px;
  }
  .solution-outcomes svg{
    width:19px;
    height:19px;
  }
  .solution-outcomes span{
    font-size:7.5px;
    line-height:1.2;
  }
  .system-stage{
    min-height:304px;
    margin-top:10px;
    width:calc(100% + 40px);
    margin-left:-20px;
  }
  .system-tower{
    left:10%;
    top:15%;
    width:142px;
  }
  .system-tower>div{
    height:30px;
  }
  .system-core{
    left:55%;
    top:28%;
    width:94px;
    height:112px;
  }
  .system-core img{
    width:48px;
  }
  .system-side{
    right:5%;
    top:72%;
    font-size:6.5px;
  }

  .approach-section,
  .approach-grid{
    min-height:526px;
  }
  .approach-photo{
    height:242px;
  }
  .approach-grid{
    gap:15px;
    padding-bottom:24px;
  }
  .approach-copy h2{
    max-width:350px;
    font-size:33px;
    line-height:.96;
  }
  .approach-copy>p{
    max-width:345px;
    margin-top:9px;
    font-size:11.5px;
    line-height:1.45;
  }
  .approach-quote{
    max-width:310px;
    padding-left:13px;
    font-size:18px;
    line-height:1.1;
  }
  .approach-side{
    padding-top:12px;
    font-size:7.5px;
  }

  .scenarios-section{
    padding:25px 0 30px;
  }
  .scenarios-row{
    gap:15px;
  }
  .scenarios-title h2{
    max-width:330px;
    font-size:32px;
    line-height:.96;
  }
  .scenario-cards{
    gap:8px;
    margin-right:-20px;
    padding-right:20px;
    scroll-snap-type:x proximity;
  }
  .scenario-card{
    flex-basis:220px;
    min-height:118px;
    padding:64px 11px 10px;
    scroll-snap-align:start;
  }
  .scenario-card span{
    font-size:16px;
  }
  .scenario-card p{
    font-size:8px;
    line-height:1.3;
  }

  .final-section,
  .final-grid{
    min-height:710px;
  }
  .final-media img{
    object-position:45% 45%;
  }
  .final-x{
    left:64%;
    top:25%;
    width:120px;
    height:120px;
  }
  .final-x span{
    width:134px;
    height:34px;
  }
  .final-grid{
    gap:15px;
    padding-top:220px;
    padding-bottom:24px;
  }
  .final-copy h2{
    max-width:355px;
    font-size:35px;
    line-height:.95;
  }
  .final-copy>p{
    margin-top:9px;
    font-size:13px;
    line-height:1.35;
  }
  .analysis-context{
    margin-top:9px;
    font-size:9px;
  }
  .progress-form{
    padding-top:14px;
  }
  .form-progress{
    margin-bottom:12px;
  }
  .form-progress span{
    width:25px;
    height:25px;
    font-size:7px;
  }
  .form-step-head h3{
    font-size:18px;
    line-height:1.2;
  }
  .choice-grid{
    margin-top:9px;
  }
  .choice-grid span{
    min-height:44px;
    padding:0 22px 0 10px;
    font-size:10px;
    line-height:1.2;
  }
  .field{
    margin-top:11px;
  }
  .field>span{
    margin-bottom:4px;
    font-size:9px;
  }
  .field input{
    height:44px;
    font-size:14px;
  }
  .field textarea{
    min-height:72px;
    font-size:14px;
  }
  .form-next,
  .form-submit{
    min-height:48px;
    margin-top:12px;
    font-size:11px;
  }
  .form-back{
    min-height:44px;
    padding:0 6px;
    font-size:10px;
  }
  .privacy-note{
    margin-top:9px;
    font-size:7.5px;
    line-height:1.35;
  }

  .sticky-analysis{
    left:12px;
    right:12px;
    bottom:max(12px,env(safe-area-inset-bottom));
  }
  .sticky-analysis a{
    min-height:50px;
    gap:15px;
    font-size:11px;
  }
  .master-footer{
    padding-bottom:calc(68px + env(safe-area-inset-bottom));
  }
  .footer-inner{
    min-height:58px;
  }

  #problemi,
  #diagnosi,
  #value-check,
  #soluzione,
  #approccio,
  #scenari,
  #analisi{
    scroll-margin-top:60px;
  }
}

@media (max-width:389px){
  :root{
    --shell:calc(100% - 32px);
  }
  .hero-copy h1{
    max-width:330px;
    font-size:41px;
  }
  .master-hero,
  .hero-content{
    min-height:620px;
  }
  .problem-copy h2,
  .check-heading h2,
  .solution-copy h2{
    font-size:34px;
  }
  .value-copy h2{
    font-size:33px;
  }
  .approach-copy h2{
    font-size:31px;
  }
  .final-copy h2{
    font-size:33px;
  }
  .system-stage{
    width:calc(100% + 32px);
    margin-left:-16px;
  }
  .scenario-cards{
    margin-right:-16px;
    padding-right:16px;
  }
  .scenario-card{
    flex-basis:210px;
  }
}

@media (min-width:430px) and (max-width:767px){
  :root{
    --shell:calc(100% - 44px);
  }
  .hero-copy h1{
    max-width:380px;
    font-size:47px;
  }
  .hero-copy>p{
    font-size:15.5px;
  }
  .problem-copy h2,
  .check-heading h2,
  .solution-copy h2{
    font-size:38px;
  }
  .value-copy h2{
    font-size:37px;
  }
  .approach-copy h2{
    font-size:35px;
  }
  .final-copy h2{
    font-size:37px;
  }
  .system-stage{
    width:calc(100% + 44px);
    margin-left:-22px;
  }
  .scenario-cards{
    margin-right:-22px;
    padding-right:22px;
  }
  .scenario-card{
    flex-basis:232px;
  }
}


/* =========================================================
   MOBILE LEGIBILITY V2
   Raise only commercially important secondary elements.
   Decorative micro-labels remain intentionally small.
   ========================================================= */
@media (max-width:767px){
  .section-index{
    font-size:10px;
    letter-spacing:.145em;
  }

  .master-brand img{
    width:132px;
  }

  .hero-kicker{
    font-size:9px;
  }
  .hero-copy>p{
    font-size:16px;
    line-height:1.32;
  }
  .hero-copy .master-cta{
    min-height:50px;
    font-size:13px;
    font-weight:700;
  }
  .hero-proof p{
    font-size:10px;
    line-height:1.3;
  }

  .category-rail{
    min-height:52px;
  }
  .category-item{
    font-size:11px;
    font-weight:600;
  }
  .category-item svg{
    width:17px;
    height:17px;
  }

  .problem-copy>p{
    font-size:13.5px;
  }
  .problem-copy>a{
    font-size:12px;
    font-weight:700;
  }
  .problem-labels p{
    font-size:9px;
    line-height:1.35;
    font-weight:700;
  }

  .business-check-section{
    min-height:566px;
  }
  .check-heading p{
    font-size:12.5px;
  }
  .check-options button{
    min-height:68px;
  }
  .check-options button svg{
    width:20px;
    height:20px;
  }
  .check-options button span{
    font-size:11px;
    line-height:1.15;
    font-weight:700;
  }
  .check-result>span{
    font-size:8px;
  }
  .check-result>strong{
    font-size:11.5px;
    line-height:1.35;
  }
  .check-result>em{
    font-size:8px;
    line-height:1.3;
  }

  .value-inputs label>span{
    font-size:11px;
  }
  .value-inputs input{
    font-size:16px;
  }
  .value-scenarios span{
    font-size:10.5px;
    line-height:1.25;
  }
  .value-scenarios strong{
    font-size:23px;
  }
  .value-scenarios small{
    font-size:8.5px;
  }
  .value-aside p{
    font-size:12px;
  }
  .value-disclaimer{
    font-size:8.5px;
    line-height:1.4;
  }

  .solution-copy>p{
    font-size:12.5px;
  }
  .solution-outcomes span{
    font-size:9.5px;
    line-height:1.22;
    font-weight:800;
  }
  .solution-outcomes svg{
    width:21px;
    height:21px;
  }
  .system-side{
    font-size:8.5px;
    line-height:1.35;
  }

  .approach-copy>p{
    font-size:12px;
  }
  .approach-side{
    font-size:9px;
    line-height:1.4;
  }

  .scenario-card span{
    font-size:17px;
  }
  .scenario-card p{
    font-size:9.5px;
    line-height:1.35;
  }

  .final-copy>p{
    font-size:13.5px;
  }
  .analysis-context{
    font-size:10px;
    line-height:1.35;
  }
  .form-step-head small{
    font-size:8px;
  }
  .form-step-head h3{
    font-size:19px;
  }
  .choice-grid span{
    min-height:46px;
    font-size:11.5px;
  }
  .field>span{
    font-size:10.5px;
    font-weight:600;
  }
  .field input,
  .field textarea{
    font-size:16px;
  }
  .form-next,
  .form-submit{
    min-height:50px;
    font-size:12.5px;
  }
  .form-back{
    font-size:11px;
  }
  .privacy-note{
    font-size:8.5px;
    line-height:1.45;
  }
  .sticky-analysis a{
    min-height:52px;
    font-size:12.5px;
    font-weight:700;
  }
}

@media (max-width:389px){
  .category-item{
    font-size:10.5px;
  }
  .problem-labels p{
    font-size:8.5px;
  }
  .check-options button span{
    font-size:10.5px;
  }
  .value-scenarios strong{
    font-size:22px;
  }
  .solution-outcomes span{
    font-size:9px;
  }
}

@media (min-width:430px) and (max-width:767px){
  .category-item{
    font-size:11.5px;
  }
  .problem-labels p{
    font-size:9.5px;
  }
  .check-options button span{
    font-size:11.5px;
  }
  .value-scenarios strong{
    font-size:24px;
  }
  .solution-outcomes span{
    font-size:10px;
  }
}


/* =========================================================
   MOBILE INTERACTION LIGHT V3
   Dark = narrative. Light = interaction and conversion.
   Final analysis block enlarged without becoming oversized.
   Desktop intentionally unchanged.
   ========================================================= */
@media (max-width:767px){

  /* VALUE CHECK — interactive section becomes light */
  .value-section{
    background:
      radial-gradient(circle at 82% 16%,rgba(255,90,54,.08),transparent 28%),
      var(--paper);
    color:var(--ink);
    border-top:1px solid rgba(17,17,17,.08);
    border-bottom:1px solid rgba(17,17,17,.08);
  }
  .value-section .section-index{
    color:rgba(17,17,17,.48);
  }
  .value-copy h2{
    color:var(--ink);
  }
  .value-inputs label>span{
    color:#666159;
  }
  .value-inputs input{
    background:#fff;
    color:var(--ink);
    border:1px solid rgba(17,17,17,.12);
    box-shadow:0 7px 22px rgba(17,17,17,.035);
  }
  .value-inputs input:focus{
    border-color:rgba(255,90,54,.75);
    box-shadow:0 0 0 3px rgba(255,90,54,.08);
  }
  .money-input i{
    color:var(--ink);
  }
  .value-scenarios article{
    background:#fff;
    border:1px solid rgba(17,17,17,.10);
    box-shadow:0 9px 24px rgba(17,17,17,.04);
  }
  .value-scenarios span{
    color:#5f5a53;
  }
  .value-scenarios strong{
    color:var(--orange);
  }
  .value-scenarios small{
    color:#8a857d;
  }
  .value-aside{
    border-top-color:rgba(17,17,17,.16);
  }
  .value-aside p{
    color:#5f5a53;
  }
  .low-value-message{
    border-top-color:rgba(255,90,54,.45);
    color:var(--ink);
  }
  .value-disclaimer{
    color:#8d887f;
  }

  /* FINAL ANALYSIS — visual climax above, light form below */
  .final-section{
    min-height:790px;
    background:var(--paper);
    color:var(--ink);
  }
  .final-media{
    height:340px;
    bottom:auto;
  }
  .final-media img{
    object-position:46% 46%;
    filter:saturate(.80) contrast(1.02) brightness(.74);
  }
  .final-grade{
    background:
      linear-gradient(180deg,rgba(15,15,15,.12) 0%,rgba(15,15,15,.24) 44%,rgba(15,15,15,.58) 78%,rgba(15,15,15,.70) 100%);
  }
  .final-x{
    left:65%;
    top:27%;
    width:126px;
    height:126px;
  }
  .final-x span{
    width:142px;
    height:36px;
  }

  .final-grid{
    min-height:790px;
    padding-top:178px;
    padding-bottom:28px;
    align-content:start;
    gap:0;
  }
  .final-copy{
    min-height:178px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding-bottom:18px;
    color:#fff;
  }
  .final-section .final-copy .section-index{
    color:rgba(255,255,255,.62);
  }
  .final-copy h2{
    max-width:365px;
    font-size:37px;
    line-height:.94;
    color:#fff;
  }
  .final-copy>p{
    font-size:14px;
    color:rgba(255,255,255,.88);
  }
  .analysis-context{
    margin-top:10px;
    color:rgba(255,255,255,.72);
    font-size:10.5px;
  }
  .analysis-context.active{
    color:#fff;
  }

  .progress-form{
    position:relative;
    z-index:4;
    margin:0 -20px;
    padding:24px 20px 8px;
    background:var(--paper);
    border-top:1px solid rgba(17,17,17,.09);
  }

  .form-progress{
    margin-bottom:18px;
    gap:8px;
  }
  .form-progress span{
    width:29px;
    height:29px;
    border-color:rgba(17,17,17,.18);
    color:#87827a;
    background:transparent;
    font-size:8px;
  }
  .form-progress span.active{
    background:var(--ink);
    border-color:var(--ink);
    color:#fff;
  }
  .form-progress span.done{
    background:var(--orange);
    border-color:var(--orange);
    color:#fff;
  }
  .form-progress i{
    width:34px;
    background:rgba(17,17,17,.13);
  }

  .form-step-head small{
    color:#8b867e;
    font-size:9px;
  }
  .form-step-head h3{
    margin-top:5px;
    color:var(--ink);
    font-size:21px;
    line-height:1.16;
  }

  .choice-grid{
    margin-top:12px;
    border-top:1px solid rgba(17,17,17,.12);
    background:#fff;
  }
  .choice-grid span{
    min-height:50px;
    padding:0 24px 0 12px;
    border-bottom-color:rgba(17,17,17,.10);
    color:#4f4b45;
    font-size:12px;
    line-height:1.18;
  }
  .choice-grid label:nth-child(odd) span{
    border-right-color:rgba(17,17,17,.10);
  }
  .choice-grid input:checked+span{
    color:var(--orange);
    background:rgba(255,90,54,.035);
  }
  .choice-grid input:checked+span:after{
    color:var(--orange);
  }

  .field{
    margin-top:13px;
  }
  .field>span{
    color:#5c5750;
    font-size:11px;
    font-weight:700;
  }
  .field em{
    color:#9b958c;
  }
  .field input,
  .field textarea{
    padding-inline:0;
    color:var(--ink);
    background:transparent;
    border-bottom-color:rgba(17,17,17,.18);
    font-size:16px;
  }
  .field input::placeholder,
  .field textarea::placeholder{
    color:#aaa49b;
  }
  .field input:focus,
  .field textarea:focus{
    border-color:var(--orange);
  }

  .form-inline-error{
    color:#c84428;
    font-size:9px;
  }
  .form-back{
    color:#6f6a63;
    font-size:11.5px;
  }
  .form-next,
  .form-submit{
    min-height:54px;
    border-radius:8px;
    background:var(--orange);
    color:#fff;
    font-size:13px;
    font-weight:800;
    box-shadow:0 9px 20px rgba(255,90,54,.15);
  }
  .form-next:active,
  .form-submit:active{
    transform:translateY(1px);
  }
  .privacy-note{
    color:#847f77;
    font-size:9px;
    line-height:1.45;
  }
  .form-status{
    color:#69645d;
  }
  .form-status.error{
    color:#c84428;
  }
  .form-success{
    border-top-color:rgba(17,17,17,.12);
    color:var(--ink);
  }
  .form-success small{
    color:#8b867e;
  }
  .form-success h3{
    color:var(--ink);
  }
  .form-success p{
    color:#6a655d;
  }

  /* Sticky CTA slightly stronger and visually separated */
  .sticky-analysis a{
    min-height:54px;
    font-size:13px;
    box-shadow:0 10px 26px rgba(17,17,17,.16);
  }

  /* Interactive blocks get a little more vertical room */
  .business-check-section{
    min-height:580px;
  }
  .check-options button{
    min-height:72px;
  }
  .check-result{
    margin-top:12px;
  }
}

/* 375: keep the enlargement controlled */
@media (max-width:389px){
  .final-grid{
    padding-top:170px;
  }
  .final-copy{
    min-height:170px;
  }
  .final-copy h2{
    font-size:35px;
  }
  .progress-form{
    margin-left:-16px;
    margin-right:-16px;
    padding-left:16px;
    padding-right:16px;
  }
  .choice-grid span{
    min-height:48px;
    font-size:11.5px;
  }
}

/* 430: use the extra width rather than oversized type */
@media (min-width:430px) and (max-width:767px){
  .final-grid{
    padding-top:184px;
  }
  .final-copy{
    min-height:184px;
  }
  .final-copy h2{
    max-width:390px;
    font-size:39px;
  }
  .progress-form{
    margin-left:-22px;
    margin-right:-22px;
    padding-left:22px;
    padding-right:22px;
  }
  .choice-grid span{
    font-size:12.5px;
  }
}

/* DEPLOY TRIGGER MOBILE INTERACTION V3 */


/* =========================================================
   FINAL MOBILE CORRECTION
   Restore Value Check dark. Keep only Analysis/Form light.
   Keep all analysis copy fully inside the dark image area.
   ========================================================= */
@media (max-width:767px){

  /* Restore VALUE CHECK to approved dark treatment */
  .value-section{
    background:
      radial-gradient(circle at 44% 55%,rgba(255,90,54,.08),transparent 34%),
      linear-gradient(180deg,#101111,#111212);
    color:#fff;
    border-top:0;
    border-bottom:0;
  }
  .value-section .section-index{
    color:rgba(255,255,255,.45);
  }
  .value-copy h2{
    color:#fff;
  }
  .value-inputs label>span{
    color:rgba(255,255,255,.62);
  }
  .value-inputs input{
    background:#202121;
    color:#fff;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:none;
  }
  .value-inputs input:focus{
    border-color:rgba(255,90,54,.72);
    box-shadow:0 0 0 3px rgba(255,90,54,.07);
  }
  .money-input i{
    color:#fff;
  }
  .value-scenarios article{
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.07);
    box-shadow:none;
  }
  .value-scenarios span{
    color:rgba(255,255,255,.82);
  }
  .value-scenarios strong{
    color:var(--orange);
  }
  .value-scenarios small{
    color:rgba(255,255,255,.54);
  }
  .value-aside{
    border-top-color:rgba(255,255,255,.24);
  }
  .value-aside p{
    color:rgba(255,255,255,.78);
  }
  .low-value-message{
    border-top-color:rgba(255,90,54,.45);
    color:#fff;
  }
  .value-disclaimer{
    color:rgba(255,255,255,.42);
  }

  /* ANALYSIS: photo/copy as one dark climax, form only becomes light */
  .final-section{
    background:var(--paper);
    color:var(--ink);
    min-height:800px;
  }
  .final-media{
    height:400px;
    bottom:auto;
  }
  .final-media img{
    object-position:46% 45%;
    filter:saturate(.80) contrast(1.04) brightness(.72);
  }
  .final-grade{
    background:
      linear-gradient(180deg,
        rgba(15,15,15,.14) 0%,
        rgba(15,15,15,.22) 35%,
        rgba(15,15,15,.54) 70%,
        rgba(15,15,15,.82) 100%);
  }

  .final-grid{
    min-height:800px;
    padding-top:0;
    padding-bottom:28px;
    gap:0;
    align-content:start;
  }
  .final-copy{
    min-height:400px;
    padding-top:118px;
    padding-bottom:22px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    color:#fff;
    text-shadow:0 1px 16px rgba(0,0,0,.18);
  }
  .final-section .final-copy .section-index{
    color:rgba(255,255,255,.68);
  }
  .final-copy h2{
    color:#fff;
  }
  .final-copy>p{
    color:rgba(255,255,255,.92);
    font-size:15px;
    line-height:1.42;
  }
  .analysis-context,
  .analysis-context.active{
    color:rgba(255,255,255,.90);
    font-size:12.5px;
    line-height:1.38;
  }

  .progress-form{
    margin-top:0;
    background:var(--paper);
    border-top:1px solid rgba(17,17,17,.09);
  }
  .progress-form .form-step-head h3{
    font-size:22px;
    line-height:1.15;
  }
  .progress-form .choice-grid span{
    font-size:13px;
    line-height:1.22;
  }
  .progress-form .field>span{
    font-size:11.5px;
  }
  .progress-form .form-next,
  .progress-form .form-submit{
    font-size:13.5px;
  }
}

@media (max-width:389px){
  .final-media{
    height:386px;
  }
  .final-copy{
    min-height:386px;
    padding-top:112px;
  }
}

@media (min-width:430px) and (max-width:767px){
  .final-media{
    height:414px;
  }
  .final-copy{
    min-height:414px;
    padding-top:124px;
  }
}


/* =========================================================
   FORM SUCCESS STATE — confirmation must read as success,
   and must replace the completed form instead of stacking.
   ========================================================= */
.form-step[hidden],
.form-progress[hidden]{
  display:none !important;
}

.form-success:focus{
  outline:none;
}

.form-success .success-mark{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin:0 0 14px;
  border-radius:50%;
  background:var(--orange);
  color:#fff;
  font-family:var(--sans);
  font-size:23px;
  font-weight:800;
  line-height:1;
  box-shadow:0 10px 24px rgba(255,90,54,.18);
}

@media (max-width:767px){
  .progress-form.is-success{
    padding-top:30px;
    padding-bottom:32px;
  }
  .progress-form.is-success .form-status{
    display:none;
  }
  .progress-form.is-success .form-success{
    padding:0;
    border-top:0;
  }
  .progress-form.is-success .form-success .success-mark{
    width:46px;
    height:46px;
    margin-bottom:16px;
    font-size:25px;
  }
  .progress-form.is-success .form-success small{
    display:block;
    margin-bottom:8px;
    color:#8b867e;
    font-size:9px;
    font-weight:700;
    letter-spacing:.13em;
  }
  .progress-form.is-success .form-success h3{
    max-width:360px;
    margin:0;
    color:var(--ink);
    font-size:31px;
    line-height:1.02;
  }
  .progress-form.is-success .form-success p{
    max-width:380px;
    margin-top:12px;
    color:#625d56;
    font-size:14px;
    line-height:1.5;
  }
}
