:root{--navy:#0B1F3A;--slate:#2E4057;--teal:#1F8A9E;--orange:#E8742C;--panel:#F2F5F7;--line:#D5DDE3;--max:1120px;--font:"Avenir Next",Montserrat,"Segoe UI","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--slate);line-height:1.6;font-size:17px;background:#fff}
img,svg{max-width:100%;height:auto}
a{color:#17707f}a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:8px 16px;z-index:10}.skip:focus{left:8px;top:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3{color:var(--navy);line-height:1.15;font-weight:600;letter-spacing:-.01em;margin:0 0 16px}
h1{font-size:clamp(2.2rem,5vw,3.5rem)}h2{font-size:clamp(1.7rem,3.2vw,2.3rem)}h3{font-size:1.2rem}
p{margin:0 0 16px;max-width:68ch}
header.site{position:sticky;top:0;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);z-index:5}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px}
header.site img{height:34px;width:auto;display:block}
nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0;flex-wrap:wrap}
nav a{color:var(--navy);text-decoration:none;font-size:15px}nav a:hover{color:var(--teal)}
section{padding:72px 0}section.alt{background:var(--panel)}
.eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-weight:600;margin-bottom:8px}
.btn{display:inline-block;padding:14px 24px;border-radius:6px;font-weight:600;text-decoration:none;font-size:16px;border:2px solid var(--navy);color:var(--navy);transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--orange);border-color:var(--orange);color:var(--navy)}.btn.primary:hover{background:#f08a46;color:var(--navy)}
.hero{background:var(--navy);color:#cfd9e3;padding:88px 0 72px}
.hero h1{color:#fff}.hero p.lead{font-size:1.25rem;color:#dbe4ec}
.hero .ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.hero .btn:not(.primary){color:#fff;border-color:#8fa3b8}.hero .btn:not(.primary):hover{background:rgba(255,255,255,.1);color:#fff}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.ph{border:2px dashed #8fa3b8;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;font-size:15px;background:rgba(255,255,255,.04);color:#cfd9e3}
.ph small{opacity:.8;margin-top:4px}
.ph.hero-img{aspect-ratio:1200/700}
.ph.video{aspect-ratio:16/9;background:var(--panel);border-color:#9aabb9;color:var(--slate)}
.cols{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px}
.alt .card{background:#fff}
.card h3{margin-bottom:8px}.card p{margin:0;font-size:16px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.steps li{counter-increment:s;border-top:3px solid var(--navy);padding-top:16px}
.steps li::before{content:counter(s);display:block;color:var(--orange);font-weight:700;font-size:1.6rem}
.steps li:first-child{border-color:var(--orange)}
.diagram{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;margin-top:32px}
.diagram svg{min-width:640px}.diagram .flow{stroke-dasharray:6 6;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-12}}
@media (prefers-reduced-motion:reduce){.diagram svg{min-width:640px}.diagram .flow{animation:none}*{scroll-behavior:auto!important;transition:none!important}}
ul.plain{padding-left:20px;margin:0 0 16px}ul.plain li{margin-bottom:6px}
footer{background:var(--navy);color:#b9c7d4;padding:48px 0;font-size:15px}
footer a{color:#fff}footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer img{height:34px;margin-bottom:12px}
.story h2{margin-top:48px}.story .big{font-size:clamp(1.4rem,3vw,2rem);color:var(--navy);line-height:1.35;max-width:30ch}
.story .big em{font-style:normal;color:var(--orange)}
.fadein{animation:fi .8s ease both}@keyframes fi{from{opacity:0;transform:translateY(8px)}}
@media (max-width:820px){.hero-grid{grid-template-columns:1fr}section{padding:48px 0}.hero{padding:56px 0 48px}nav ul{gap:14px}header.site .wrap{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}}
.note{background:#E8EDF1;border-left:4px solid var(--teal);padding:12px 16px;font-size:15px;max-width:none;margin:24px 0 0;border-radius:0 6px 6px 0}
.chap{padding:112px 0}.chap h2{max-width:24ch;margin-bottom:24px}.chap p{font-size:1.1rem}
.chap .diagram,.chap .cols,.chap .steps{margin-top:48px}
.dark{background:var(--navy);color:#cfd9e3}.dark h2,.dark h3{color:#fff}.dark a{color:#7fc6d3}
.diagram.light{background:#fff}.diagram.light svg{min-width:640px}
.never{margin-top:56px}.never-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.never-list li{border-left:4px solid var(--orange);padding:4px 0 4px 16px;color:#fff;font-size:1.15rem;font-weight:600}
.proofs{margin-top:56px}.proofs h3{font-size:1.05rem;margin-bottom:4px}.proofs p{font-size:1rem}
.cta-band{background:var(--panel);padding:112px 0;text-align:center}.cta-band h2{margin-left:auto;margin-right:auto;max-width:22ch}.cta-band p{margin-left:auto;margin-right:auto}
@media (max-width:820px){.chap{padding:64px 0}}
.line-list.mob-only{display:none}
.line-list{list-style:none;margin:32px 0 0;padding:0 0 0 20px;border-left:4px solid var(--orange);display:grid;gap:16px}
.line-list strong{display:block;color:var(--navy)}
@media (max-width:820px){.desk-only{display:none}.line-list.mob-only{display:grid}}
/* questionnaire */
.qwrap{max-width:760px;margin:0 auto}
.qprog{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:24px 0 8px}
.qprog span{display:block;height:100%;width:20%;background:var(--orange);transition:width .3s}
.qstep{border:0;padding:0;margin:0;min-width:0}
.qstep legend{font-size:1.5rem;font-weight:600;color:var(--navy);padding:0;margin-bottom:24px}
.qnum{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);margin-bottom:4px}
.qf{margin-bottom:20px}.qf label,.qf .lbl{display:block;font-weight:600;color:var(--navy);margin:0 0 6px;font-size:16px}
.qf .lbl{max-width:none}
.qf input[type=text],.qf input[type=email],.qf input[type=tel],.qf select,.qf textarea{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid #9aabb9;border-radius:6px;background:#fff;color:var(--slate)}
.qf textarea{resize:vertical}
.qf label.opt{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--slate);margin-bottom:8px;cursor:pointer}
.qf label.opt input{margin-top:5px;width:18px;height:18px;flex:none}
.req{font-weight:400;color:#5b6b7a;font-size:14px}
.qf .err{color:#a8330a;font-size:14px;margin:4px 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.qnav{display:flex;justify-content:space-between;gap:16px;margin-top:32px}
.qnav .btn{cursor:pointer;font-family:inherit;background:#fff}.qnav .btn.primary{background:var(--orange)}
.qnav .btn[hidden]{display:none}
.qsum{background:var(--panel);border-radius:8px;padding:20px 24px;margin-top:24px}
.qsum dt{font-weight:600;color:var(--navy);margin-top:12px;font-size:15px}.qsum dd{margin:2px 0 0;white-space:pre-wrap;font-size:16px}
.qfail{border-left:4px solid var(--orange);background:#fdf1e8;padding:16px;border-radius:0 6px 6px 0}
nav a.here{color:var(--teal);font-weight:600}
@media (max-width:520px){.qnav .btn{padding:12px 16px}}
/* two-door hero */
.hero2{padding:32px 0 28px}
.hero-top{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.hero2 h1{font-size:clamp(2.2rem,4.4vw,3.2rem);margin-bottom:12px}.hero2 p.lead{font-size:1.15rem;margin:0}
.hero2 .hero-top img{border-radius:8px;border:1px solid #2E4057;max-height:220px;width:100%;object-fit:cover}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.door{background:rgba(255,255,255,.06);border:1px solid #2E4057;border-radius:8px;padding:22px 24px;display:flex;flex-direction:column;align-items:flex-start}
.door.hl{border-left:6px solid var(--orange);background:rgba(232,116,44,.1);border-color:var(--orange)}
.door h2{color:#fff;font-size:1.3rem;margin-bottom:8px}.door p{margin:0 0 16px;flex:1;color:#dbe4ec;font-size:1rem}
.door .btn:not(.primary){color:#fff;border-color:#8fa3b8}.door .btn:not(.primary):hover{background:rgba(255,255,255,.1)}
.hero-link{margin:16px 0 0;font-size:15px}.hero-link a{color:#b9d4de}
nav a.navcta{background:var(--orange);color:var(--navy);padding:8px 16px;border-radius:6px;font-weight:600}nav a.navcta:hover{background:#f08a46;color:var(--navy)}
.mbar{display:none}
@media (max-width:820px){.hero2{padding:24px 0}.hero-top{grid-template-columns:1fr}.hero2 .hero-top img{display:none}.doors{grid-template-columns:1fr;gap:16px;margin-top:20px}.door{padding:18px}
nav .navcta{display:none}
.mbar{display:block;position:fixed;left:0;right:0;bottom:0;background:var(--navy);padding:10px 16px;z-index:6;text-align:center;box-shadow:0 -2px 8px rgba(0,0,0,.2)}.mbar .btn{display:block;padding:12px}
body{padding-bottom:64px}}
@media (max-width:820px){.hero2 h1{font-size:2rem}.hero2 p.lead{font-size:1rem}.hero2 .eyebrow{margin-bottom:4px}.door h2{font-size:1.1rem}.door p{font-size:.95rem;margin-bottom:12px}.door .btn{padding:10px 18px}.hero-link{display:none}.hero2{padding:16px 0}.doors{margin-top:14px}}
@media (max-width:820px){header.site nav{display:none}header.site .wrap{min-height:52px}.hero2 p.lead{font-size:.95rem}}
/* ===== visual upgrade ===== */
:root{--navy2:#102B4F;--ease:cubic-bezier(.2,.7,.2,1)}
body{font-size:1.05rem}p{max-width:70ch}
h1{letter-spacing:-.02em}h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12}
.eyebrow{letter-spacing:.08em;font-size:13px}
header.site{background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px)}
.sprog{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:0 50%}
.btn{border-radius:8px;transition:transform .2s var(--ease),box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(11,31,58,.18)}
.btn.primary:hover{box-shadow:0 8px 24px rgba(232,116,44,.4)}
.btn:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px var(--orange)}
nav a.navcta{border-radius:8px}
/* hero */
.hero2{position:relative;overflow:hidden;background:linear-gradient(135deg,#0B1F3A 0%,#102B4F 100%);padding:36px 0 32px}
.hero2>.wrap{position:relative;z-index:1}
.hbg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hline{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 5s var(--ease) .3s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hero2 h1{font-size:clamp(2.8rem,4.6vw,4.2rem);line-height:1.02;margin-bottom:14px}
.hero2 p.lead{font-size:1.1rem;max-width:56ch;color:#dbe4ec}
.hero-top{grid-template-columns:1.15fr .85fr;gap:48px}
.bwin{border-radius:12px;background:#0f2540;box-shadow:0 30px 60px -18px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.1);overflow:hidden;transform:perspective(1100px) rotateY(-5deg) rotateX(2deg);transition:transform .5s var(--ease)}
.bwin:hover{transform:none}
.bbar{display:flex;gap:6px;padding:9px 12px;background:#1a3556}
.bbar i{width:9px;height:9px;border-radius:50%;background:#6f87a3;display:block}.bbar i:first-child{background:#E8742C}
.hero2 .hero-top .bwin img{border:0;border-radius:0;display:block;max-height:200px;width:100%;object-fit:cover;object-position:top}
.door{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .25s var(--ease),border-color .25s}
.door:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.4)}
.door p{color:#e6edf3}
.door.hl{background:rgba(232,116,44,.14);border:1px solid rgba(232,116,44,.7);border-left:6px solid var(--orange);box-shadow:0 0 36px rgba(232,116,44,.28),0 0 0 1px rgba(232,116,44,.15) inset}
.hero-link a{color:#cfe3ea}
/* chapters */
.chap{padding:clamp(4rem,8vw,7rem) 0;position:relative;overflow:hidden}
.chap>.wrap{position:relative}
.cn{position:absolute;right:24px;top:-.55em;font-size:clamp(5rem,12vw,9rem);font-weight:700;line-height:1;color:var(--navy);opacity:.05;letter-spacing:-.04em;pointer-events:none;user-select:none}
.dark .cn{color:#fff;opacity:.06}
.card{border-radius:12px;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);border-color:var(--teal);box-shadow:0 14px 28px -14px rgba(11,31,58,.28)}
.ic{display:inline-flex;width:44px;height:44px;border-radius:10px;align-items:center;justify-content:center;background:rgba(31,138,158,.12);color:#17707f;margin-bottom:14px}
.steps li{background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:12px;padding:20px;transition:transform .25s var(--ease),border-color .25s}
.steps li:first-child{border-top-color:var(--orange)}.steps li:hover{transform:translateY(-4px);border-color:var(--teal)}
.pulse circle{transform-box:fill-box;transform-origin:center;animation:pl 3s ease-in-out infinite}
@keyframes pl{0%,70%,100%{transform:scale(1)}35%{transform:scale(1.35)}}
/* chapter 4 */
.dark{background:linear-gradient(160deg,#0B1F3A,#0f2a4b)}
.diagram.darkd{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:12px;margin-top:40px}
.diagram.darkd svg{min-width:640px}
.darkd .conn line{animation:dash 1.6s linear infinite}
.dot{offset-distance:0%;animation:trav 3.3s ease-in-out infinite}
@keyframes trav{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
.never{margin-top:56px}
.never-list{gap:14px}
.never-list li{border:0;background:rgba(255,255,255,.05);border-radius:10px;padding:14px 16px 14px 56px;position:relative;font-size:1.1rem}
.never-list li::before{content:"\00d7";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--orange);color:var(--navy);font-weight:700;font-size:22px;line-height:27px;text-align:center}
.badge{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:18px}
.badge .ic{background:rgba(127,198,211,.16);color:#9fd6e0}.badge p{color:#d4dee8}
/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.card.rv.in:hover,.steps li.rv.in:hover{transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.hline{animation:none;stroke-dashoffset:0}.dot{animation:none;opacity:0}.pulse circle,.darkd .conn line{animation:none}.bwin{transform:none}}
/* cta + footer */
.cta-band{background:linear-gradient(180deg,var(--panel),#e6edf1);padding:clamp(4rem,8vw,7rem) 0}
footer{border-top:3px solid var(--orange);padding:48px 0}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
footer .fcol p{max-width:none;margin:0 0 10px}.footer .fh,footer .fh{color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
footer .fsmall{font-size:14px;color:#9fb1c2}footer a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}footer a:hover{border-color:var(--orange)}
@media (max-width:820px){footer .wrap{grid-template-columns:1fr}.hero2 .bwin{display:none}.cn{font-size:4.5rem;right:16px}.hero2 h1{font-size:2.5rem}}
/* start page */
.qcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(20px,4vw,40px);box-shadow:0 24px 48px -24px rgba(11,31,58,.3)}
.pills{list-style:none;display:flex;gap:8px;padding:0;margin:20px 0 8px;flex-wrap:wrap}
.pills li{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--panel);color:#4a5b6b;border:1px solid var(--line)}
.pills li.on{background:var(--navy);color:#fff;border-color:var(--navy)}.pills li.dn{background:rgba(31,138,158,.14);color:#0f5967;border-color:rgba(31,138,158,.4)}
.qprog{display:none}
.qf input[type=text],.qf input[type=email],.qf input[type=tel],.qf select,.qf textarea{padding:14px 16px;font-size:1.05rem;border-radius:10px;transition:box-shadow .2s,border-color .2s}
.qf input:focus,.qf select:focus,.qf textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(31,138,158,.25)}
.thanks{text-align:center;padding:16px 0}.thanks p{margin-left:auto;margin-right:auto}
@media (max-width:520px){.pills li:not(.on){display:none}}
.hero2 h1{font-size:clamp(2.8rem,4.2vw,3.8rem)}.hero-top{grid-template-columns:1.3fr .8fr}.cn{opacity:.04}
@media (max-width:820px){.hero2 h1{font-size:2.5rem}}
@media (max-width:820px){.hero-top{grid-template-columns:1fr}.hero2 h1{font-size:2.3rem}.hero2 p.lead{font-size:.95rem}.hero2 .eyebrow{font-size:12px}}
.door .short{display:none}
@media (max-width:820px){.door .long{display:none}.door .short{display:inline}.hero2{padding-bottom:84px}.door h2{font-size:1.05rem;margin-bottom:6px}.door{padding:14px 16px}.doors{gap:12px;margin-top:12px}.hero2 p.lead{margin-bottom:0;font-size:.92rem;line-height:1.5}.hero2 h1{font-size:2.1rem;margin-bottom:8px}.door .btn{padding:9px 16px;font-size:15px}.door p{margin-bottom:10px;font-size:.92rem;line-height:1.45}}
.vid{margin:48px 0 0;max-width:960px}.vid video{width:100%;height:auto;aspect-ratio:16/9;display:block;border-radius:12px;background:#0B1F3A;box-shadow:0 24px 48px -24px rgba(11,31,58,.45)}
.vid figcaption{font-size:.95rem;color:#4a5b6b;margin-top:12px}
