@font-face{
  font-family:"Plus Jakarta Sans";
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  --ink:#1c2b36;
  --paper:#f1f1f1;
  --card:#fff;
  --muted:#4a5861;
  --line:#dde3e8;
  --cta:#d4146c;
  --cta-hover:#b8105c;
  --cta-ink:#fff;
  --deep:#14495e;
  --chip:#f0f2f4;
  --ok:#1b7a4e;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;padding-top:72px;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--sans)}
body.nav-open{overflow:hidden}
a{color:var(--deep)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--sans);line-height:1.2;letter-spacing:-.02em;overflow-wrap:break-word;color:var(--deep)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px}
.wrap{width:92%;max-width:1120px;margin-left:auto;margin-right:auto}
.sr{display:grid;gap:.25rem}
.req{color:var(--cta);font-weight:700}
.opt{font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:0;margin-left:.35rem}

.logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);min-width:0}
.logo-mark{width:36px;height:36px;flex:0 0 36px;border-radius:8px;background:var(--deep);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;padding:7px}
.logo-mark i{display:block;background:#fff;border-radius:1px;opacity:.95}
.logo-mark i:nth-child(1){opacity:.45}
.logo-mark i:nth-child(2){opacity:.7}
.logo-mark i:nth-child(3){opacity:.85}
.logo-text{font-weight:800;line-height:1.1;font-size:.98rem}
.logo-text span{display:block;font-size:.72rem;font-weight:600;color:var(--cta)}

.site-header,.tunnel-head{position:fixed;top:0;left:0;right:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.site-header.is-scrolled,.tunnel-head.is-scrolled{box-shadow:0 8px 24px rgba(20,73,94,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:72px;position:relative}
.nav{display:flex;align-items:stretch;align-self:stretch;gap:.25rem}
.nav > .btn-cta{align-self:center;margin-left:.5rem}
.nav-label{background:none;border:0;font:600 15px var(--sans);cursor:pointer;color:var(--ink);padding:0 .7rem;display:flex;align-items:center}
.nav-group{position:relative;display:flex;align-items:stretch;flex:0 0 auto}
.nav-panel{display:none;position:absolute;top:calc(100% - 2px);left:50%;transform:translateX(-50%);background:var(--card);border:1px solid var(--line);padding:.45rem;min-width:220px;box-shadow:0 8px 24px rgba(20,73,94,.08);z-index:42}
.nav-panel:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-group.is-open .nav-panel,.nav-group.is-hover .nav-panel{display:flex;flex-direction:column}
.nav-panel a{padding:.45rem .6rem;text-decoration:none;color:var(--ink);min-height:44px;display:flex;align-items:center;border-radius:6px}
.nav-panel a:hover{background:var(--chip);color:var(--deep)}
.nav-toggle{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 .9rem;border:1px solid var(--line);background:var(--card);border-radius:999px;font:600 15px var(--sans);color:var(--ink);cursor:pointer;flex:0 0 auto;z-index:43}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.2rem;border-radius:8px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-family:var(--sans);font-size:1rem}
.btn-cta{background:var(--cta);color:var(--cta-ink)}
.btn-cta:hover,.btn-cta:focus-visible{background:var(--cta-hover);filter:none}
.btn-ghost{border:1px solid var(--ink);color:var(--ink);background:transparent}
.btn-block{width:100%;margin-top:1.2rem;letter-spacing:.04em;text-transform:uppercase;font-size:.95rem}

.hero{padding:2.6rem 0 1.6rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.4rem;align-items:center}
.hero-start{max-width:720px}
.hero-visual{min-height:280px;background:#e4eaef;border-radius:16px;overflow:hidden}
.hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;color:var(--cta);margin:0 0 .7rem}
.hero h1{font-size:clamp(1.7rem,4vw,2.5rem);margin:.2rem 0 1rem;color:var(--deep)}
.lead{font-size:1.05rem;color:var(--muted);max-width:40rem}
.ask-home{font-size:1.15rem;margin:1.4rem 0 .6rem;color:var(--deep)}
.hero-home{padding:1.35rem 0 1.6rem}
.hero-home__showcase{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;overflow:hidden;border-radius:16px;box-shadow:0 14px 34px rgba(20,73,94,.11);background:#fff}
.hero-home__visual{min-height:520px;background:#dfe8ed;overflow:hidden}
.hero-home__visual picture{display:block;width:100%;height:100%;min-height:inherit}
.hero-home__visual img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.hero-home__panel{background:linear-gradient(155deg,#143f52 0%,#1f5a70 100%);padding:1.85rem 1.9rem 1.7rem;color:#fff;display:flex;flex-direction:column;justify-content:center;min-width:0}
.hero-home__eyebrow{display:inline-flex;align-self:flex-start;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2);padding:.3rem .65rem;border-radius:999px;letter-spacing:.06em;margin-bottom:.65rem}
.hero-home__panel h1{color:#fff;font-size:clamp(1.55rem,2.5vw,2.15rem);line-height:1.12;margin:0 0 .85rem;max-width:18ch}
.hero-home__intro{margin:0;color:rgba(255,255,255,.86);font-size:.96rem;line-height:1.5;max-width:36rem}
.hero-home__panel .ask-home{color:#fff;font-size:1.08rem;font-weight:600;margin:0 0 .7rem}
.hero-home__panel .choice-grid--hero{margin:0;gap:.7rem}
.hero-choice{justify-content:flex-start!important;align-items:center!important;gap:.75rem!important;min-height:76px!important;padding:.75rem .9rem!important;background:#fff!important;color:var(--ink)!important;border:0;border-radius:12px!important;box-shadow:0 6px 16px rgba(5,35,48,.12);font-weight:700!important;text-align:left!important;touch-action:manipulation;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease!important}
.hero-choice__label{display:block!important;background:transparent!important;color:inherit!important;min-height:0!important;padding:0!important;border-radius:0!important;line-height:1.2;font-size:.95rem}
.hero-choice:hover,.hero-choice:focus-visible{transform:translateY(-2px);box-shadow:0 12px 24px rgba(5,35,48,.2);background:var(--cta)!important;color:#fff!important}
a.hero-choice>.hero-choice__icon{display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;min-height:48px!important;flex:0 0 48px!important;padding:0!important;border:2px solid #ff6fa9!important;border-radius:999px!important;color:var(--cta)!important;background:#fff!important;box-shadow:none!important;transition:background .16s,color .16s,border-color .16s}
.hero-choice:hover>.hero-choice__icon,.hero-choice:focus-visible>.hero-choice__icon{background:#fff!important;color:var(--cta)!important;border-color:#fff!important}
a.hero-choice>.hero-choice__icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.hero-home__note{margin:.85rem 0 0;color:#e4ebee;font-size:.8rem;line-height:1.4}
.hero-home__summary{display:flex;justify-content:center;padding:1.15rem 0 0}
.hero-home__summary p{margin:0;max-width:920px;text-align:center;color:var(--muted);font-size:.95rem;line-height:1.55}
.notice{background:#fff4d6;border-left:4px solid #c9a227;padding:.7rem .9rem;color:var(--ink)}
.prose h2{font-size:1.2rem;margin:1.6rem 0 .5rem}
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:28;background:#fff;border-top:1px solid var(--line);padding:.7rem 5% calc(.7rem + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:center;justify-content:space-between;box-shadow:0 -8px 24px rgba(20,73,94,.08)}
.cookie-bar[hidden]{display:none}
body.nav-open .cookie-bar{display:none}
body.has-cookie{padding-bottom:calc(var(--cookie-h, 9rem) + .5rem)}
body.has-cookie .sticky-cta{bottom:calc(var(--cookie-h, 9rem) + 12px) !important}
body.has-cookie .site-footer{padding-bottom:calc(var(--cookie-h, 10rem) + 5.5rem)}
body.nav-open.has-cookie{padding-bottom:0}
.cookie-bar p{margin:0;max-width:42rem;color:var(--muted);font-size:.92rem}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem}

fieldset{border:0;margin:0;padding:0;min-width:0}
legend.ask{padding:0}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:.35rem 0 1.1rem}
.choice-grid--2{grid-template-columns:1fr 1fr}
.choice{position:relative;margin:0;cursor:pointer;display:block}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice span,a.choice{display:flex;align-items:center;justify-content:center;min-height:56px;padding:.75rem .9rem;border-radius:8px;background:var(--chip);color:#5b6770;font-weight:600;text-align:center;text-decoration:none;touch-action:manipulation;transition:background .15s,color .15s}
.choice input:checked+span,.choice input:focus-visible+span{background:var(--cta);color:#fff}
.choice:hover span{background:#ffe1ef;color:var(--deep)}
.choice input:checked+span:hover{background:var(--cta);color:#fff}
a.choice:hover{background:#ffe1ef;color:var(--deep)}
.pc-card .ask-strong{margin:0 0 .55rem;font-size:1.05rem;font-weight:600;color:var(--deep)}
.pc-kicker{margin:0 0 .35rem;color:var(--muted);font-size:.95rem}
.stepper{display:flex;align-items:center;gap:.45rem;margin:.15rem 0 1rem}
.stepper button{width:48px;height:48px;border:0;border-radius:8px;background:var(--chip);color:var(--deep);font-size:1.35rem;line-height:1;cursor:pointer;touch-action:manipulation}
.stepper button:hover,.stepper button:focus-visible{background:#e4eaef;outline:2px solid var(--deep);outline-offset:1px}
.stepper span{min-width:1.6rem;text-align:center;font-weight:700;color:var(--ink)}
.child-birth{margin-top:.15rem}
.choice-grid--hero{margin-top:1.4rem}
.choice-grid--hero .choice{background:#fff;color:#4d5b66;box-shadow:0 1px 2px rgba(20,73,94,.06)}

.band{padding:2.2rem 0}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cards-3 article{background:var(--card);padding:1.15rem 1.2rem;border-radius:12px}
.link-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;list-style:none;padding:0}
.link-tiles a{display:block;background:var(--card);padding:.95rem 1rem;text-decoration:none;color:var(--ink);font-weight:700;border-radius:10px}
.link-tiles a:hover{box-shadow:0 0 0 2px var(--cta) inset}
.checks{padding-left:1.1rem}.checks li{margin:.45rem 0}
.faq h2{margin-bottom:1rem}
.faq-list{display:grid;gap:.55rem;max-width:760px}
.faq-item{background:var(--card);border-radius:10px;padding:0}
.faq-item summary{list-style:none;cursor:pointer;font-weight:600;color:var(--deep);padding:.95rem 2.4rem .95rem 1.05rem;position:relative;min-height:48px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"";position:absolute;right:1.05rem;top:50%;width:.5rem;height:.5rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg)}
.faq-item[open] summary:after{transform:translateY(-20%) rotate(225deg)}
.faq-a{padding:0 1.05rem 1rem}
.faq-a p{margin:0;color:var(--muted)}

.landing{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;padding:2rem 0}
.landing-visual{min-height:200px;background:#e4eaef;border-radius:16px;overflow:hidden}
.landing-visual picture{display:block;width:100%;height:100%;min-height:inherit}
.landing-visual img{width:100%;height:100%;object-fit:cover}
.crumb{padding:1.15rem 0 .15rem;color:var(--muted);font-size:.9rem}
.crumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .2rem;list-style:none;margin:0;padding:0}
.crumb-list li{display:flex;align-items:center;max-width:100%}
.crumb-list li:not(:last-child):after{content:"";width:.38rem;height:.38rem;margin:0 .45rem;border-right:1.5px solid var(--muted);border-top:1.5px solid var(--muted);transform:rotate(45deg);opacity:.55;flex:0 0 auto}
.crumb a{color:var(--deep);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.crumb [aria-current="page"]{color:var(--muted);font-weight:600}

.tunnel{width:min(720px,92%);margin:1.2rem auto 3rem}
body.is-tunnel{padding-top:64px;padding-bottom:0;height:100dvh;overflow:hidden;background:#e8eef1}
body.is-tunnel.has-cookie{padding-bottom:0}
body.is-tunnel .cookie-bar,body.is-tunnel .tunnel-foot{display:none!important}
body.is-tunnel .tunnel-head{min-height:64px;padding:0 1rem}
.tunnel-wiz{height:calc(100dvh - 64px);max-width:560px;margin:0 auto;display:flex;flex-direction:column;padding:0 .9rem}
.wiz-progress{flex:0 0 auto;padding:.55rem 0 .35rem}
.wiz-count{margin:0 0 .4rem;color:var(--deep);font-weight:700;font-size:1rem}
.wiz-bar{height:8px;background:#d5dee4;border-radius:99px;overflow:hidden}
.wiz-bar i{display:block;height:100%;width:16%;background:var(--deep);border-radius:99px;transition:width .25s ease}
.wiz-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.wiz-stage{flex:1 1 auto;min-height:0;overflow:hidden;position:relative}
.wiz-step{display:none;height:100%;overflow:auto;padding:.15rem 0 .4rem;-webkit-overflow-scrolling:touch}
.wiz-step.is-on{display:block}
.wiz-step h1{font-size:clamp(1.45rem,5vw,1.85rem);margin:0 0 .35rem;color:var(--deep)}
.wiz-step h1:focus{outline:none}
.wiz-step h2{margin:0 0 .35rem;font-size:1.05rem;color:var(--muted)}
.wiz-help{margin:0 0 1rem;color:var(--ink);font-size:1.05rem;line-height:1.45}
.wiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.wiz-grid--3{grid-template-columns:1fr 1fr 1fr}
.wiz-grid--4{grid-template-columns:repeat(4,1fr)}
.wiz-stack{display:grid;gap:.55rem}
.wiz-pick{position:relative;display:flex;align-items:center;gap:.75rem;min-height:68px;padding:.85rem .9rem;background:#fff;border:2px solid #c9d4db;border-radius:12px;cursor:pointer;color:var(--deep);font-weight:700;font-size:1.05rem;line-height:1.25}
.wiz-pick input{position:absolute;opacity:0;pointer-events:none}
.wiz-pick__icon{width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;color:var(--cta);background:#fff;border:2px solid #ff9fc4;border-radius:999px}
.wiz-pick__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wiz-pick__txt{display:block}
.wiz-pick__txt strong{display:block;font-size:1.08rem}
.wiz-pick__txt em{display:block;margin-top:.2rem;font-style:normal;font-weight:500;color:var(--ink);font-size:.95rem}
.wiz-pick:has(input:checked),.wiz-pick.is-on{border-color:var(--deep);background:#e7f1f5;box-shadow:0 0 0 2px rgba(20,73,94,.12)}
.wiz-pick--sm{min-height:56px;justify-content:center;text-align:center;padding:.7rem .4rem}
.wiz-pick--num{min-height:64px;justify-content:center;font-size:1.35rem}
.wiz-pick--level{min-height:72px;align-items:flex-start}
.wiz-field{display:grid;gap:.35rem;margin:0 0 .9rem;font-weight:600;color:var(--deep);font-size:1.02rem}
.field-year{font-size:1.7rem!important;letter-spacing:.12em;text-align:center;min-height:64px;font-weight:700;border-width:2px}
.wiz-nav{flex:0 0 auto;display:flex;gap:.65rem;padding:.75rem 0 calc(.85rem + env(safe-area-inset-bottom,0px))}
.wiz-nav .btn{flex:1;min-height:56px;font-size:1.08rem}
.wiz-result{flex:1 1 auto;overflow:auto;padding:1rem 0}
.check-lg{font-size:1.02rem;align-items:flex-start}
.check-lg input{width:22px;height:22px;flex:0 0 22px;margin-top:.15rem}
.ask-strong{margin:1rem 0 .55rem}
.pc-card{background:var(--card);padding:1.6rem 1.5rem 1.7rem;margin:0 0 .85rem;border-radius:4px}
.pc-card h1,.pc-card h2{margin:0 0 1rem;font-size:1.55rem;font-weight:700;color:var(--deep)}
.ask{display:block;margin:1rem 0 .45rem;font-weight:500;color:var(--deep)}
.field,select.field,.date-row select{width:100%;min-height:48px;border:2px solid #7d8d97;background:#fff;border-radius:8px;padding:.65rem .85rem;font:inherit;color:var(--ink);font-size:16px;box-shadow:inset 0 1px 0 rgba(20,73,94,.04)}
.field:focus,select:focus,input:focus{border-color:var(--deep);outline:3px solid rgba(20,73,94,.28);outline-offset:1px;background:#fff}
.date-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.birth-date{border:0;padding:0;margin:0}
.hint{margin:.15rem 0 .4rem;color:var(--muted);font-size:.88rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
[hidden]{display:none!important}
.check{display:flex;gap:.65rem;align-items:flex-start;margin:.85rem 0;font-size:.95rem;color:var(--deep)}
.check input{margin-top:.25rem;width:18px;height:18px;flex:0 0 18px}
.form-error{background:#fde8ee;padding:.8rem 1rem;border-left:4px solid var(--cta);margin:0 auto 1rem;width:min(720px,92%)}
.form-error:focus{outline:none}
.tiny{font-size:.8rem;color:var(--muted)}
.estimate-box{margin-top:1.15rem;padding:1.15rem 1.15rem 1.2rem;background:linear-gradient(180deg,#f7fbfc 0%,#eef5f8 100%);border:1px solid #d5e1e7;border-radius:14px}
.estimate-kicker{margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;color:var(--muted)}
.estimate-point{margin:.1rem 0 .25rem;font-size:1.35rem;color:var(--deep)}
.estimate-point strong{font-size:1.75rem;font-weight:800}
.estimate-range{margin:0 0 .55rem;color:var(--ink);font-weight:600}
.est-done{margin:.85rem 0 0;color:var(--deep);font-weight:600}
#estimate-stage{margin-top:1.2rem}
.est-load{text-align:center;padding:1.6rem 1rem 1.4rem}
.est-load-title{margin:0 0 .35rem;font-weight:700;color:var(--deep);font-size:1.05rem}
.est-load-sub{margin:0;color:var(--muted);font-size:.9rem}
.est-orb{width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;border:2px solid rgba(20,73,94,.12);position:relative}
.est-orb:before,.est-orb:after{content:"";position:absolute;border-radius:50%}
.est-orb:before{inset:8px;border:2px solid rgba(255,45,135,.18)}
.est-orb:after{inset:-2px;border:2px solid transparent;border-top-color:var(--cta);border-right-color:#1a5a72;animation:est-spin 1.05s cubic-bezier(.45,.05,.55,.95) infinite}
.estimate-box--reveal{opacity:0;transform:translateY(14px) scale(.985)}
.estimate-box--reveal.is-in{opacity:1;transform:none;transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1)}
@keyframes est-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .est-orb:after{animation:none;border-top-color:var(--cta)}
  .estimate-box--reveal,.estimate-box--reveal.is-in{opacity:1;transform:none;transition:none}
}
.tunnel .form-error{width:auto;margin:1rem 0 0}

.level{margin:0 0 1.45rem}
.level:last-child{margin-bottom:.2rem}
.level-title{margin:0;font-weight:700;color:var(--deep);display:flex;align-items:center;gap:.55rem;font-size:1.05rem}
.level-icon{width:28px;height:28px;flex:0 0 28px;color:#3d5663;display:inline-flex}
.level-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.level-hint{margin:.35rem 0 .65rem;color:#4a5c66;font-size:.92rem;line-height:1.4;min-height:2.6em}
.track{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;align-items:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;padding:12px 4px;margin:-12px 0}
.track.is-dragging{cursor:grabbing}
.tick{display:block;cursor:inherit;margin:0;position:relative;pointer-events:none}
.tick input{position:absolute;opacity:0;width:1px;height:1px}
.tick-bar{height:12px;border-radius:99px;background:#e6eaed;display:block;position:relative}
.tick.is-on .tick-bar{background:var(--cta)}
.tick.is-current .tick-bar:after{content:"";position:absolute;right:-5px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:#fff;border:3px solid var(--cta);box-shadow:0 2px 10px rgba(255,45,135,.28);z-index:2}
.tick-lab{font-size:.72rem;color:var(--muted);text-align:center}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.tick input:focus-visible+.tick-bar{outline:2px solid var(--deep);outline-offset:2px}

.article-layout{display:grid;grid-template-columns:1fr 280px;gap:2.5rem;padding-bottom:3rem;align-items:start}
.article-side{position:sticky;top:88px}
.article-meta{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;color:var(--muted);font-size:.92rem}
.article-cover{width:100%;max-height:360px;object-fit:cover;border-radius:8px;margin:1rem 0}
.article-body h2,.article-body h3{scroll-margin-top:96px}
.article-toc{position:static;background:var(--card);padding:1rem;border-radius:10px}
.article-toc__title{font-size:1.15rem;margin:.2rem 0 0.8rem}
.article-toc__list{list-style:none;padding:0;margin:0}
.article-toc a{display:block;padding:.45rem .6rem;color:#444;text-decoration:none;border-left:3px solid transparent}
.article-toc a.is-active{border-left-color:var(--cta);font-weight:600;color:#111}
.article-toc--mobile{display:none}
.side-cta{width:100%;margin-top:1rem}

.site-footer{border-top:1px solid var(--line);padding:2rem 0 calc(5.5rem + env(safe-area-inset-bottom,0px));margin-top:2rem;color:var(--muted);background:#fff}
.footer-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr) minmax(150px,1fr) minmax(250px,1.35fr);gap:1.4rem}
.footer-grid a{display:block;color:var(--muted);text-decoration:none;margin:.25rem 0}
.footer-email{white-space:nowrap;font-size:.94rem}
.foot-title{font-weight:700;color:var(--ink);margin:0 0 .4rem}
.sticky-cta{display:none}
.prose{padding:2rem 0 4rem;max-width:720px}
.guide-teaser{background:var(--card);padding:1.2rem;margin:1.2rem 0;border-radius:12px}

.tunnel-head{min-height:72px;display:flex;align-items:center;padding:0 6%}
.card-form{display:grid;gap:.8rem;max-width:480px}
.card-form label{display:grid;gap:.3rem;font-weight:500;color:var(--deep)}
.card-form input,.card-form textarea{width:100%;min-height:48px;border:1px solid #c9d2d8;background:#fff;border-radius:8px;padding:.65rem .85rem;font:inherit;font-size:16px;color:var(--ink);box-shadow:0 1px 2px rgba(20,73,94,.04)}
.card-form input:hover,.card-form textarea:hover{border-color:#9fadb6}
.card-form input:focus,.card-form textarea:focus{border-color:var(--deep);outline:2px solid rgba(20,73,94,.16);outline-offset:1px}
.card-form textarea{min-height:140px}
.see-also{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;list-style:none;padding:0;margin:1rem 0 0}
.see-also a{display:block;background:var(--card);padding:.85rem 1rem;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600}
.tunnel-foot{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;padding:1.5rem 1rem 2rem;font-size:.85rem}
.tunnel-foot a{color:var(--muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 .25rem}
body.is-tunnel .form-error{margin:.35rem 0 0}

@media (hover:hover) and (pointer:fine) and (min-width:1025px){
  .nav-group:hover .nav-panel,.nav-group.is-hover .nav-panel{display:flex;flex-direction:column}
}
@media (max-width:1024px){
  .hero{padding:1.5rem 0 1.1rem}
  .hero-home__showcase{grid-template-columns:1fr}
  .hero-home__panel{order:1;padding:1.25rem 1.15rem 1.2rem}
  .hero-home__visual{order:2;min-height:160px;max-height:180px}
  .hero-home__panel h1{max-width:none;font-size:1.42rem}
  .hero-choice{min-height:70px!important}
  .hero-home{padding-bottom:5.4rem}
  .footer-email{white-space:normal;overflow-wrap:anywhere}
  .hero-grid,.landing,.article-layout,.cards-3,.link-tiles,.footer-grid,.split,.see-also{grid-template-columns:1fr}
  .link-tiles{grid-template-columns:1fr 1fr}
  .nav-toggle{display:inline-flex}
  body.nav-open::before{content:"";position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;z-index:38}
  .nav{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;width:100%;height:calc(100vh - 72px);height:calc(100dvh - 72px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:.4rem 5% 5.5rem;z-index:39}
  .nav.open{display:flex}
  body.nav-open .sticky-cta{display:none}
  .nav-group{width:100%;flex-direction:column;align-items:stretch}
  .nav-label{width:100%;text-align:left;min-height:48px;padding:.75rem 1.4rem .75rem .15rem;border-bottom:1px solid var(--line);position:relative;background:#fff}
  .nav-label:after{content:"";position:absolute;right:.2rem;top:50%;width:.45rem;height:.45rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg)}
  .nav-group.is-open .nav-label:after{transform:translateY(-20%) rotate(225deg)}
  .nav-panel{position:static;display:none;transform:none;left:auto;box-shadow:none;border:0;padding:0 0 .35rem .7rem;background:transparent;min-width:0;width:100%}
  .nav-group.is-open .nav-panel{display:flex;flex-direction:column}
  .nav .btn-cta{margin-top:.85rem;width:100%}
  body.nav-open{overflow:hidden}
  .article-side{position:static}
  .article-toc{position:static}
  .article-toc--mobile{display:block;margin:1rem 0}
  .article-side .article-toc{display:none}
  .article-side .side-cta{display:none}
  .sticky-cta{display:flex;position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:26;background:var(--cta);color:#fff;justify-content:center;min-height:48px;align-items:center;border-radius:999px;text-decoration:none;font-weight:700}
  .landing-visual{min-height:200px}
  .site-footer{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px))}
}
@media (max-width:640px){
  .wrap{width:calc(100% - 1.4rem)}
  .choice-grid{grid-template-columns:1fr}
  .choice-grid--2,.choice-grid--hero{grid-template-columns:1fr 1fr}
  .choice-grid--hero a.choice,.choice-grid--hero .choice span{font-size:.86rem;padding:.55rem .4rem;min-height:48px}
  .link-tiles{grid-template-columns:1fr}
  .pc-card{padding:1.25rem 1.05rem}
  .hero h1{font-size:1.55rem}
  .cookie-bar{flex-direction:column;align-items:stretch}
  .cookie-actions{justify-content:stretch}
  .cookie-actions .btn{flex:1}
}
@media (max-width:380px){
  body{padding-top:64px}
  .header-inner{min-height:64px}
  .nav{top:64px;height:calc(100vh - 64px);height:calc(100dvh - 64px)}
  body.nav-open::before{top:64px}
}
.btn:focus-visible,.nav-label:focus-visible,.nav-toggle:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--deep);outline-offset:2px}

body.has-cookie .site-footer{
  padding-bottom:calc(var(--cookie-h, 10rem) + 5.5rem);
}
