:root {
  --ink: #102b4c;
  --muted: #576d84;
  --blue: #0c60b4;
  --cyan: #1ca7db;
  --powder: #eaf6ff;
  --light: #f5faff;
  --stroke: #d9e7f3;
  --white: #fff;
  --shadow: 0 30px 75px rgba(12, 67, 116, 0.13);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
img { display:block; max-width:100%; }
a { color: inherit; }
button { font: inherit; }
*:focus-visible { outline: 3px solid #56b7e8; outline-offset: 4px; }
.skip { position: absolute; left:-9999px; top: 12px; background:var(--white); color:var(--ink); z-index:100; padding: 12px; }
.skip:focus { left:12px; }
.topline { background: #072f57; color: #d7eeff; font-size: 12px; letter-spacing: .1em; font-weight: 800; text-align:center; padding: 10px 18px; text-transform:uppercase; }
.wrap { width: min(1160px, calc(100% - 44px)); margin: 0 auto; }
.site-header { background: rgba(255,255,255,.94); border-bottom:1px solid var(--stroke); position:sticky; top:0; backdrop-filter:blur(16px); z-index:40; }
.nav { min-height:82px; display:flex; justify-content:space-between; align-items:center; gap:22px; }
.brand { display:inline-flex; gap:11px; align-items:center; font-size:16px; font-weight:900; letter-spacing:.075em; line-height:1.1; text-decoration:none; white-space:nowrap; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:15px 4px 15px 4px; color:white; background:linear-gradient(145deg,#014f9f,#20b8e9); font-size:25px; transform:rotate(-6deg); box-shadow:0 9px 17px #127dc52c; }
.navlinks { display:flex; align-items:center; gap:28px; }
.navlinks a { color:#2e506e; font-size:13px; font-weight:750; text-decoration:none; }
.navlinks a:hover { color:var(--blue); }
.nav-cta { border:1px solid var(--stroke); border-radius:100px; padding:10px 17px; background:#f7fbff; }
.hero { padding:74px 0 84px; overflow:hidden; background:radial-gradient(ellipse at 90% 12%,#cfeeff 0,transparent 33%),linear-gradient(180deg,#f1f9ff 0%,#fff 100%); position:relative; }
.hero:before { content:""; position:absolute; width:630px; height:630px; left:-400px; top:-300px; border-radius:50%; border:95px solid rgba(28,167,219,.045); pointer-events:none; }
.hero-grid { display:grid; grid-template-columns: 1.13fr .87fr; align-items:center; gap:78px; position:relative; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:12px; color:#0d69af; letter-spacing:.16em; text-transform:uppercase; font-weight:850; }
.eyebrow:before { content:""; width:28px; height:2px; background:#0a9bd9; }
.hero h1 { font-size:clamp(43px,5.5vw,77px); letter-spacing:-.055em; line-height:1.03; margin:20px 0 24px; font-weight:850; max-width:740px; }
.hero h1 em { color:#0c78be; font-style:normal; }
.lead { font-size:18px; line-height:1.85; color:#526d83; max-width:590px; }
.hero-points { margin:30px 0 28px; padding:0; list-style:none; display:grid; gap:10px; }
.hero-points li { display:flex; align-items:flex-start; gap:11px; font-size:14px; font-weight:650; }
.tick { display:inline-grid; place-items:center; flex:0 0 23px; height:23px; border-radius:50%; background:#dbf5fa; color:#0475aa; font-weight:900; font-size:14px; }
.price-line { display:flex; align-items:baseline; gap:15px; flex-wrap:wrap; padding:22px 0 19px; border-top:1px solid var(--stroke); max-width:580px; }
.price { font-size:41px; line-height:1; font-weight:900; letter-spacing:-.045em; }
.one-time { color:var(--muted); font-size:13px; font-weight:700; }
.cta { min-height:62px; display:inline-flex; justify-content:center; align-items:center; gap:12px; border-radius:14px; background:linear-gradient(105deg,#0d60b6,#009be1); border:0; color:white; box-shadow:0 14px 26px #1469b52f; padding:17px 26px; text-decoration:none; font-size:15px; font-weight:850; transition:transform .2s, box-shadow .2s; text-align:center; }
.cta:hover { transform:translateY(-2px); box-shadow:0 20px 38px #1469b54b; }
.cta.disabled { opacity:.67; cursor:not-allowed; box-shadow:none; background:#7795ae; }
.cta.disabled:hover { transform:none; }
.cta.secondary { background:transparent; color:var(--blue); border:1px solid #97caee; box-shadow:none; }
.fine { color:#72889c; font-size:12px; margin:13px 0 0; line-height:1.6; }
.hero-visual { position:relative; min-width:0; }
.aura { position:absolute; inset:10% -8% -9%; border-radius:50%; background:radial-gradient(circle,#8fdbff90,transparent 70%); filter:blur(18px); }
.cover-frame { position:relative; width:min(100%,410px); margin:auto; padding:13px; background:white; border-radius:17px; box-shadow:var(--shadow); transform:rotate(3deg); }
.cover-frame:before { content:""; position:absolute; inset:-13px; border:1px solid #8ed7ff70; border-radius:25px; transform:rotate(-7deg); pointer-events:none; }
.cover-frame img { border-radius:8px; width:100%; box-shadow:0 4px 15px #0c4d8026; }
.stamp { position:absolute; right:-24px; bottom:30px; width:116px; height:116px; border-radius:50%; border:7px solid white; color:white; background:#0d569e; display:grid; place-content:center; text-align:center; line-height:1.17; box-shadow:0 10px 26px #03487555; transform:rotate(-13deg); }
.stamp strong { font-size:28px; }
.stamp span { font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.075em; }
.trust-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--stroke); border-block:1px solid var(--stroke); }
.trust-row > div { padding:22px; background:#fff; text-align:center; }
.trust-row strong { display:block; font-size:16px; letter-spacing:-.015em; }
.trust-row span { color:var(--muted); font-size:12px; }
.section { padding:96px 0; }
.section.alt { background:#f3f9ff; }
.section-head { max-width:700px; margin:0 auto 54px; text-align:center; }
.section-head h2 { font-size:clamp(32px,4vw,52px); letter-spacing:-.043em; line-height:1.12; margin:16px 0; }
.section-head p { color:var(--muted); font-size:17px; }
.section-tag { color:var(--blue); font-size:11px; text-transform:uppercase; letter-spacing:.18em; font-weight:900; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature { border:1px solid var(--stroke); border-radius:23px; padding:31px; background:white; box-shadow:0 12px 27px #14496f08; }
.feature-icon { width:45px; height:45px; border-radius:15px; background:#e7f5ff; display:grid; place-items:center; font-size:22px; color:#075fab; margin-bottom:24px; }
.feature h3 { margin:0 0 10px; font-size:19px; line-height:1.3; letter-spacing:-.024em; }
.feature p { color:var(--muted); font-size:14px; margin:0; }
.split { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:75px; }
.split h2 { font-size:clamp(31px,4vw,50px); line-height:1.16; letter-spacing:-.04em; margin:17px 0; }
.split p { color:var(--muted); font-size:16px; }
.quote-panel { background:linear-gradient(125deg,#07559e,#16a8d9); color:white; border-radius:25px; padding:45px; position:relative; min-height:410px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.quote-panel:after { content:"✦"; font-size:290px; opacity:.08; line-height:1; position:absolute; right:-55px; top:-20px; }
.quote-panel small { letter-spacing:.19em; font-weight:900; font-size:12px; }
.quote-panel blockquote { margin:20px 0 14px; font-size:27px; line-height:1.35; letter-spacing:-.026em; font-weight:750; max-width:480px; position:relative; z-index:2; }
.quote-panel span { font-size:13px; opacity:.78; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.step { padding:24px 20px; position:relative; border-top:2px solid #7ac8f2; }
.step small { font-size:15px; font-weight:900; color:#087ebd; }
.step h3 { font-size:19px; margin:15px 0 8px; }
.step p { color:var(--muted); font-size:14px; margin:0; }
.included { border:1px solid #cce7fa; border-radius:28px; background:#fff; padding:38px; display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:center; box-shadow:0 17px 50px #0f5e9c0d; }
.included ul { list-style:none; padding:0; margin:25px 0 0; display:grid; gap:17px; }
.included li { display:flex; gap:11px; align-items:flex-start; color:#42637e; font-size:15px; }
.included h3 { font-size:30px; line-height:1.2; letter-spacing:-.034em; margin:0; }
.included-right { padding:28px; border-radius:20px; background:#eef8ff; }
.included-right .number { color:#095fa9; font-size:70px; font-weight:900; line-height:1; letter-spacing:-.07em; }
.included-right .label { font-size:12px; color:#52718c; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.included-right p { font-size:14px; color:#59728a; margin-bottom:0; }
.faq-list { max-width:790px; margin:0 auto; }
.faq-list details { border-bottom:1px solid var(--stroke); padding:21px 0; }
.faq-list summary { cursor:pointer; font-size:16px; font-weight:800; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.faq-list summary:after { content:"+"; color:var(--blue); font-size:24px; font-weight:600; line-height:1; }
.faq-list details[open] summary:after { content:"−"; }
.faq-list details p { color:var(--muted); font-size:14px; margin:15px 0 4px; }
.final-cta { background:linear-gradient(125deg,#052d56,#0a66ae 62%,#10a3d6); color:white; border-radius:30px; text-align:center; padding:62px 36px; }
.final-cta h2 { font-size:clamp(33px,5vw,53px); line-height:1.14; letter-spacing:-.047em; margin:0 auto 15px; max-width:720px; }
.final-cta p { color:#d1ecff; margin:0 auto 26px; max-width:570px; }
.final-cta .cta { background:white; color:#075da5; box-shadow:0 16px 30px #001a3440; }
.final-cta .cta.disabled { color:white; background:#7a9eb9; }
.final-cta .fine { color:#e6f4ff; }
.site-footer { background:#052b4d; color:#c4d9e9; margin-top:60px; padding:65px 0 25px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding-bottom:55px; border-bottom:1px solid #ffffff2c; }
.footer-grid h4 { color:white; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.footer-grid p { max-width:330px; font-size:13px; line-height:1.8; color:#a9c6dd; }
.footer-grid a { display:block; text-decoration:none; margin:9px 0; font-size:13px; }
.footer-grid a:hover { color:white; }
.footer-base { display:flex; gap:16px; justify-content:space-between; align-items:center; padding-top:25px; font-size:12px; color:#aac0d3; }
.legal-banner { margin-top:15px; padding:12px 16px; border:1px solid #ffc779; border-radius:9px; color:#6a4800; background:#fff8e7; font-size:12px; line-height:1.6; }
.detail-hero { padding:77px 0 52px; background:linear-gradient(155deg,#f1faff,#fff); border-bottom:1px solid var(--stroke); }
.detail-hero h1 { font-size:clamp(34px,5vw,58px); letter-spacing:-.052em; line-height:1.13; max-width:760px; margin:14px 0 16px; }
.detail-hero p { color:var(--muted); max-width:740px; font-size:17px; }
.legal-body { max-width:880px; padding:65px 0 100px; }
.legal-body h2 { margin:38px 0 12px; font-size:22px; }
.legal-body h3 { margin:28px 0 10px; font-size:17px; }
.legal-body p, .legal-body li { color:#486177; font-size:15px; line-height:1.9; }
.legal-body li { padding:4px 0; }
.legal-body a { color:#076ab3; }
.info-card { padding:25px; background:#f1f8ff; border:1px solid var(--stroke); border-radius:18px; margin:27px 0; }
.info-card h3 { margin-top:0; }
.preview-note { display:inline-block; background:#fff5dc; color:#80501d; padding:10px 14px; font-size:12px; border-radius:10px; margin-top:15px; }
.official-trust-slot { min-height:0; }
.access-wrap { padding:62px 0 96px; }
.access-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:28px; }
.access-header h2 { margin:8px 0; font-size:clamp(28px,5vw,38px); letter-spacing:-.04em; }
.access-lock { background:#e8f8f4; color:#0d7567; border:1px solid #bde7da; padding:10px 14px; border-radius:30px; font-size:12px; font-weight:750; }
.access-status { border:1px solid #cce7fa; border-radius:20px; background:#f1f8ff; color:#315e80; padding:28px; font-size:16px; }
.access-status.error { color:#943c32; background:#fff7f5; border-color:#ffd6cf; }
.access-books { display:grid; gap:20px; }
.access-book { display:flex; gap:24px; align-items:center; border:1px solid var(--stroke); background:white; border-radius:23px; padding:24px; box-shadow:0 14px 45px #0b508b0d; }
.access-book img { width:130px; height:auto; border-radius:10px; box-shadow:0 7px 24px #0a375b27; }
.access-book h3 { font-size:22px; margin:12px 0 6px; }
.access-book p { color:var(--muted); font-size:14px; }
.access-download { display:inline-block; margin-top:14px; padding:13px 20px; font-size:14px; }
.access-support { margin-top:36px; padding:28px; border-radius:20px; background:#f3f9fd; }
.access-support h3 { margin:0 0 10px; }
.access-support p { color:var(--muted); max-width:760px; font-size:14px; }
.access-support a { color:#0877bd; font-weight:700; }
.visually-hidden { position:absolute; clip:rect(0,0,0,0); width:1px; height:1px; overflow:hidden; }
@media (max-width:950px) {
 .hero-grid { grid-template-columns:1fr 1fr; gap:36px; }
 .navlinks a:not(.nav-cta) { display:none; }
 .hero h1 { font-size:50px; }
 .stamp { right:-14px; bottom:25px; width:100px; height:100px; }
 .stamp strong { font-size:24px; }
 .split { gap:38px; }
 .feature { padding:25px; }
}
@media (max-width:720px) {
 .wrap { width:min(100% - 34px,540px); }
 .topline { font-size:10px; }
 .nav { min-height:67px; }
 .brand { font-size:12px; }
 .brand-mark { width:35px; height:35px; font-size:21px; }
 .nav-cta { font-size:12px!important; padding:9px 11px; }
 .hero { padding:49px 0 65px; }
 .hero-grid { grid-template-columns:1fr; gap:50px; }
 .hero h1 { font-size:clamp(42px,11vw,56px); }
 .lead { font-size:16px; line-height:1.7; }
 .hero-visual { grid-row:2; }
 .cover-frame { width:min(76%,330px); }
 .price { font-size:38px; }
 .hero .cta { width:100%; }
 .trust-row { grid-template-columns:1fr; }
 .trust-row > div { padding:15px; }
 .section { padding:68px 0; }
 .section-head { margin-bottom:36px; }
 .feature-grid, .steps, .included, .split, .footer-grid { grid-template-columns:1fr; }
 .feature { padding:25px; }
 .quote-panel { min-height:290px; padding:30px; }
 .quote-panel blockquote { font-size:24px; }
 .included { padding:22px; gap:18px; }
 .included-right .number { font-size:55px; }
 .final-cta { padding:42px 23px; border-radius:22px; }
 .final-cta .cta { width:100%; }
 .footer-grid { gap:22px; }
 .footer-base { align-items:flex-start; flex-direction:column; gap:4px; }
 .access-wrap { padding:38px 0 60px; }
 .access-header { flex-direction:column; align-items:flex-start; }
 .access-book { align-items:flex-start; padding:18px; gap:15px; }
 .access-book img { width:84px; }
 .access-book h3 { font-size:18px; }
 .access-download { font-size:12px; padding:10px 13px; }
}
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; } }
