:root{
  --ink:#111;
  --paper:#fff;
  --soft:#f7f7f5;
  --blue-soft:#c5cfe1;
  --blue:#244aa5;
  --blue-dark:#183475;
  --muted:#575757;
  --line:#d7d7d2;
  --green-soft:#c4d9d0;
  --max:1220px;
  --gutter:clamp(1.2rem,4vw,3.25rem);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.45;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.skip-link{position:fixed;z-index:50;top:.6rem;left:.6rem;padding:.65rem .9rem;background:#fff;border:2px solid #111;transform:translateY(-170%)}
.skip-link:focus{transform:none}
.shell{width:min(var(--max),calc(100% - (2 * var(--gutter))));margin-inline:auto}
.brandbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.brandbar__inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:block}
.brand img{width:clamp(155px,17vw,215px)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.15rem;border:2px solid var(--ink);background:var(--ink);color:#fff;font-weight:800;text-decoration:none;line-height:1.1;cursor:pointer}
.button:hover,.button:focus-visible{background:var(--blue);border-color:var(--blue);outline:3px solid rgba(36,74,165,.22);outline-offset:3px}
.button--blue{background:var(--blue);border-color:var(--blue)}
.button--paper{background:#fff;color:var(--ink)}
.button--paper:hover,.button--paper:focus-visible{color:#fff}
.eyebrow{margin:0 0 .75rem;font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}

.hero{background:var(--soft);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:590px}
.hero__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4.5vw,4.8rem);max-width:790px}
.hero h1{margin:0 0 1.35rem;font-size:clamp(2.7rem,4.7vw,5rem);line-height:.97;letter-spacing:-.045em}
.hero__lead{max-width:720px;margin:0 0 1.4rem;font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.38}
.hero__actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.65rem}
.phone-number{font-size:1.08rem;font-weight:900;text-decoration:none}
.phone-number:hover,.phone-number:focus-visible{color:var(--blue);outline-offset:4px}
.hero__note{max-width:680px;margin:0;color:var(--muted)}
.hero__price{margin:.85rem 0 0;color:var(--blue-dark);font-size:.92rem;font-weight:900}
.visual-slot{min-width:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:2rem;background:repeating-linear-gradient(-45deg,#e4e7e9,#e4e7e9 12px,#eef0f1 12px,#eef0f1 24px);border:1px solid #cbd0d3;color:#4c5357;text-align:center}
.visual-slot span{font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.visual-slot strong{display:block;margin-top:.5rem;font-size:clamp(1.4rem,2.5vw,2.25rem)}
.visual-slot--hero-image{position:relative;padding:0;overflow:hidden;border:0;background:#e9e9e5;text-align:left}
.visual-slot--hero-image img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}

.situations,.responsibility,.setup,.faq{padding:clamp(3.2rem,6vw,5.5rem) 0}
.section-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:2rem}
.section-head h2,.responsibility h2,.setup h2,.faq h2{margin:0;font-size:clamp(2.2rem,4vw,4.15rem);line-height:.98;letter-spacing:-.045em}
.section-head>p,.responsibility__intro>p:last-child{margin:0;color:#3f3f3f;font-size:1.05rem}
.situation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.situation-card{padding:clamp(1.2rem,2vw,1.7rem);background:#fff}
.situation-card h3{margin:0 0 .55rem;font-size:1.15rem}
.situation-card p{margin:0;color:#484848;font-size:.95rem}

.responsibility{background:var(--green-soft)}
.responsibility__grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:1rem;align-items:stretch}
.responsibility__intro{padding-right:clamp(0rem,3vw,3rem)}
.responsibility__intro h2{margin-bottom:1rem}
.boundary-card{padding:clamp(1.35rem,2.5vw,2rem);border:2px solid var(--ink);background:#fff}
.boundary-card--human{background:var(--ink);color:#fff}
.boundary-card h3{margin:0 0 1rem;font-size:1.45rem}
.boundary-card ul,.plan ul{margin:0;padding:0;list-style:none}
.boundary-card li,.plan li{position:relative;padding:.48rem 0 .48rem 1.35rem;border-bottom:1px solid var(--line)}
.boundary-card li::before,.plan li::before{content:'✓';position:absolute;left:0;font-weight:900}
.boundary-card--human li{border-color:#404040}
.boundary-card--human li::before{content:'→';color:var(--blue-soft)}

.plans{padding:clamp(3.2rem,6vw,5.5rem) 0;background:var(--blue-soft)}
.section-head--plans{align-items:end}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.plan{display:flex;flex-direction:column;padding:clamp(1.4rem,2.4vw,2rem);background:#fff;border:2px solid var(--ink)}
.plan--connected{background:#eef2f8;border-color:var(--blue)}
.plan--partner{background:var(--ink);color:#fff}
.plan__label{margin:0 0 .35rem;font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.plan h3{margin:0 0 .65rem;font-size:clamp(1.75rem,2.4vw,2.65rem);line-height:.98;letter-spacing:-.035em}
.price-lockup{margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}
.plan--partner .price-lockup,.plan--partner li{border-color:#414141}
.price-lockup span{display:block;font-weight:900}
.price-lockup strong{display:block;margin-top:.15rem;font-size:clamp(2rem,3vw,3rem);line-height:1}
.price-lockup small{font-size:1rem;color:var(--muted)}
.plan--partner .price-lockup small{color:#cfcfcf}
.usage{align-self:flex-start;margin:0 0 .8rem;padding:.35rem .55rem;background:#edf1f9;font-size:.84rem;font-weight:900}
.plan--connected .usage{background:#fff}
.plan--partner .usage{background:#292929}
.plan>p:not(.plan__label):not(.usage){color:#353535}
.plan--partner>p:not(.plan__label):not(.usage){color:#e1e1e1}
.plan__cta{margin-top:auto}
.fineprint{margin:1rem 0 0;color:#303030;font-size:.86rem}

.setup{background:#fff}
.setup__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.setup ol{margin:0;padding:0;list-style:none;counter-reset:setup}
.setup li{counter-increment:setup;display:grid;grid-template-columns:3.1rem 1fr;column-gap:1rem;padding:1.15rem 0;border-top:1px solid var(--line)}
.setup li::before{content:counter(setup);grid-row:1 / span 2;color:var(--blue);font-size:2.2rem;font-weight:900;line-height:1}
.setup li strong,.setup li span{grid-column:2}
.setup li strong{font-size:1.1rem}
.setup li span{margin-top:.25rem;color:#4a4a4a}

.faq{background:var(--soft)}
.faq__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.faq__items{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{padding:1.15rem 2.5rem 1.15rem 0;font-weight:900;cursor:pointer}
.faq summary:focus-visible{outline:3px solid rgba(36,74,165,.25);outline-offset:3px}
.faq details p{max-width:720px;margin:-.25rem 0 1.2rem;color:#444}

.proof{padding:clamp(2.5rem,5vw,4.5rem) 0;background:var(--ink);color:#fff}
.proof__grid{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.visual-slot--small{min-height:245px;border-color:#4a4a4a;background:repeating-linear-gradient(-45deg,#222,#222 12px,#292929 12px,#292929 24px);color:#d9d9d9}
.proof__copy h2{margin:0 0 .8rem;font-size:clamp(2.2rem,4vw,4rem);line-height:.98;letter-spacing:-.045em}
.proof__copy>p:not(.eyebrow){max-width:680px;margin:0 0 1.2rem;color:#e3e3e3;font-size:1.06rem}
.proof__actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.proof__actions span{font-weight:800}

footer{padding:1.4rem 0;background:#fff;border-top:1px solid var(--line)}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.84rem}
.footer__inner img{width:155px}
.footer__inner a:hover,.footer__inner a:focus-visible{color:var(--blue)}

@media(max-width:1000px){
  .hero__grid{grid-template-columns:1fr;min-height:0}
  .visual-slot{min-height:390px}
  .hero__copy{max-width:none}
  .situation-grid{grid-template-columns:1fr 1fr}
  .responsibility__grid{grid-template-columns:1fr 1fr}
  .responsibility__intro{grid-column:1 / -1;margin-bottom:1rem}
  .plan-grid{grid-template-columns:1fr}
  .plan{min-height:0}
}

@media(max-width:700px){
  .brandbar__inner{min-height:62px}
  .brand img{width:138px}
  .brandbar .button{min-height:42px;padding:.68rem .8rem;font-size:.84rem}
  .visual-slot{min-height:280px}
  .hero h1{font-size:clamp(2.45rem,12vw,3.65rem)}
  .hero__actions{align-items:flex-start;flex-direction:column}
  .section-head,.responsibility__grid,.setup__grid,.faq__grid,.proof__grid{grid-template-columns:1fr}
  .situation-grid{grid-template-columns:1fr}
  .responsibility__intro{grid-column:auto}
  .visual-slot--small{min-height:190px}
  .footer__inner{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

@media(forced-colors:active){
  .button,.boundary-card,.plan,.visual-slot{border:2px solid ButtonText}
}

