/* Page layouts built on the approved homepage's shared design system. */
.page-hero{padding:76px 0 66px}
.page-hero .wrap{position:relative}
.page-hero h1{max-width:1050px;margin-inline:auto;font-size:clamp(56px,7.8vw,108px);text-wrap:balance}
.page-hero .lede{max-width:620px;margin:25px auto 0;font-size:18px;animation:rise 1s .1s both}
.motion-paused .page-hero .lede{animation:none;opacity:1;transform:none}
.page-hero::before{inset:0 -20% -35%}
.page-hero::after{top:40px}
.page-hero .eyebrow{justify-content:center}
.page-hero a:not(.button),main a:not(.button){color:var(--accent-deep);text-decoration:underline;text-underline-offset:4px}
.page-hero .tbd{background:#ffffffb3}
.section .section-heading{font-size:clamp(36px,4.8vw,62px);max-width:820px;text-wrap:balance}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}
.section-head .lede{font-size:16px;max-width:360px}
.section h2+p{margin-top:22px;max-width:780px}
.section p+p{margin-top:16px}
.fine{font-size:13px;line-height:1.7}
.pricing-grid{display:grid;grid-template-columns:1fr 1.12fr .8fr .8fr;gap:15px;align-items:stretch;padding:14px 0 76px}
.price-card{position:relative;min-width:0;display:flex;flex-direction:column;padding:30px 24px;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.price-card h2{font-size:27px;letter-spacing:-.045em}
.card-marker{min-height:18px;margin-bottom:20px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.price{margin:15px 0 0;color:var(--ink);font-size:58px;font-weight:800;line-height:1.1;letter-spacing:-.065em}
.price-desc{margin-top:13px;min-height:37px;font-size:13px}
.price-card ul{display:grid;gap:12px;list-style:none;margin:24px 0 27px;padding:0}
.price-card li{display:flex;gap:8px;color:var(--muted);font-size:13px}
.price-card li::before{content:"✓";color:var(--accent);font-weight:700}
.price-card .button{margin-top:auto;padding:12px;min-height:49px;font-size:12px;text-align:center}
.price-card.recommended{border:2px solid var(--accent);background:linear-gradient(155deg,#faf7ff,#fff 70%);box-shadow:0 10px 40px #773ae811}
.recommended .card-marker{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:6px 14px;border-radius:25px;background:var(--accent);color:var(--white);white-space:nowrap;letter-spacing:.02em;font-size:10px}
.recommended h2{margin-top:38px}
.price-card.locked{background:#f4f1f8;box-shadow:none}
.locked .card-marker{display:flex;align-items:center;gap:9px}
.lock-icon{position:relative;display:inline-block;width:10px;height:9px;border:1.5px solid currentColor;border-radius:2px;margin-top:4px;flex-shrink:0}
.lock-icon::before{content:"";position:absolute;left:1px;top:-7px;width:5px;height:7px;border:1.5px solid currentColor;border-bottom:0;border-radius:5px 5px 0 0}
.locked .price{font-size:42px;margin-top:20px}
.locked-state{padding-top:28px;margin-top:auto;font-size:13px;line-height:1.7}
.locked-state strong{display:block;margin-bottom:8px;color:var(--ink)}
.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin:32px 0 0;padding:12px 28px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.scope-grid>div{padding:20px 0;border-bottom:1px solid var(--line)}
.scope-grid>div:nth-last-child(-n+2){border-bottom:0}
dt{font-size:14px;font-weight:700}
dd{margin:9px 0 0;color:var(--muted);font-size:14px}
.notice{margin-top:28px;max-width:820px;padding:24px 26px;border:1px solid #d9c8ef;border-left:3px solid var(--accent);border-radius:0 16px 16px 0;background:var(--soft)}
.notice p{font-size:15px;line-height:1.7}
.guarantee{max-width:850px;margin:28px 0 22px;padding:24px 28px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 16px 16px 0;background:linear-gradient(155deg,#faf7ff,#fff 70%);font-size:clamp(20px,2.5vw,28px);line-height:1.6}
.guarantee p{color:var(--ink)}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:28px}
.cta-row .fine{max-width:410px}
.flow{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 84px;padding:0}
.flow>li{counter-increment:step;position:relative;min-width:0;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.flow>li::before{content:counter(step,decimal-leading-zero);display:grid;place-items:center;width:48px;height:48px;margin-bottom:30px;border:1px solid #d9c8ef;border-radius:12px;background:var(--wash);color:var(--accent);font-size:18px;font-weight:700;letter-spacing:-.03em}
.flow>li:nth-child(2n){background:linear-gradient(155deg,#faf7ff,#fff 70%)}
.flow h2{max-width:440px;font-size:clamp(26px,3vw,34px);line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
.flow p{margin-top:20px;font-size:15px;line-height:1.7}
.flow .fine{margin-top:14px;font-size:13px}
.faq-list{max-width:900px;margin:0 auto 80px;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);scroll-margin-top:32px}
.faq-list summary{position:relative;list-style:none;padding:25px 44px 25px 0;font-size:19px;letter-spacing:-.025em;font-weight:700;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:4px;top:20px;font-size:28px;font-weight:400;color:var(--accent)}
.faq-list details[open] summary::after{content:"−"}
.faq-list details[open] summary{color:var(--accent)}
.answer{max-width:800px;padding:0 40px 26px 0;font-size:16px;line-height:1.8}
.answer p+p{margin-top:16px}
.answer blockquote{margin:0 0 18px;padding-left:20px;border-left:3px solid var(--accent)}
.answer blockquote p{color:var(--ink)}
.vip-main .page-hero{min-height:65vh;display:grid;align-items:center;padding-block:100px 120px}
.vip-main .page-hero h1{max-width:960px}
.vip-main .page-hero .lede{max-width:620px}
.locked-label{font-size:11px}
.legal-main{padding-bottom:88px}
.legal-main .page-hero h1{max-width:1060px;font-size:clamp(46px,6.4vw,88px)}
.legal-main .page-hero .lede{font-size:16px}
.legal-wrap{max-width:900px}
.draft-notice{margin:0 0 26px;padding:18px 22px;background:var(--wash);border:1px solid #d9c8ef;border-left:4px solid var(--accent);border-radius:0 12px 12px 0;color:var(--ink);font-size:15px;font-weight:700}
.document{padding:clamp(24px,5vw,56px);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:anywhere;font-size:16px;line-height:1.75}
.document p{margin:0 0 20px}
.document>p,.document>ol,.document>ul{max-width:72ch}
.document strong{color:var(--ink)}
.document h2{margin:44px 0 16px;padding-top:24px;border-top:1px solid var(--line);font-size:clamp(23px,3vw,29px);line-height:1.25;letter-spacing:-.035em;text-wrap:balance}
.document-note{font-size:13px;font-weight:700}
.document ol,.document ul{padding-left:26px;margin:0 0 24px;color:var(--muted)}
.document li{padding-left:5px;margin-bottom:12px}
.table-scroll{overflow-x:auto;margin-block:22px 28px;border:1px solid var(--line);border-radius:10px}
.document table{width:100%;min-width:580px;border-collapse:collapse;font-size:14px;line-height:1.6;text-align:left}
.document th,.document td{padding:14px 16px;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.document th{background:var(--soft);color:var(--ink);font-weight:700}
.document td{color:var(--muted)}
.document tbody tr:last-child td{border-bottom:0}
@media(max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.locked{min-height:275px}.locked .price-desc{min-height:0}}
@media(max-width:800px){.page-hero{padding:64px 0 56px}.page-hero h1{font-size:clamp(52px,9vw,76px)}.flow{gap:18px}.flow>li{padding:26px}.section-head{display:block}.section-head .lede{margin-top:20px;max-width:580px}.vip-main .page-hero{padding-block:82px 100px}}
@media(max-width:580px){.page-hero{padding:46px 0 48px}.page-hero h1{font-size:clamp(46px,12vw,68px);letter-spacing:-.065em;line-height:1.02}.page-hero .eyebrow{font-size:10px}.page-hero .lede{font-size:16px;line-height:1.65;margin-top:22px}.page-hero::after{top:60px;scale:.7}.pricing-grid{grid-template-columns:1fr;gap:24px;padding-bottom:58px}.price-card{padding:28px}.locked{min-height:240px}.recommended h2{margin-top:38px}.scope-grid{grid-template-columns:1fr;padding:4px 22px}.scope-grid>div:nth-last-child(2){border-bottom:1px solid var(--line)}.flow{grid-template-columns:1fr;gap:18px;margin-bottom:58px}.flow>li{padding:28px}.flow>li::before{margin-bottom:24px}.flow h2{font-size:29px}.faq-list{margin-bottom:56px}.faq-list summary{font-size:17px;padding:22px 36px 22px 0}.faq-list summary::after{top:17px}.answer{padding-right:12px;font-size:15px}.notice,.guarantee{padding:20px}.cta-row{align-items:stretch;gap:18px}.cta-row .button{width:100%}.vip-main .page-hero{min-height:60vh;padding-block:70px 85px}.legal-main{padding-bottom:58px}.legal-main .page-hero h1{font-size:clamp(41px,10.5vw,60px)}.legal-main .page-hero .lede{font-size:15px}.document{padding:26px 20px;border-radius:16px;font-size:15px}.document h2{margin-top:34px}.draft-notice{padding:16px;font-size:14px}.table-scroll{border-radius:6px}}
@media print{@page{margin:18mm}.legal-main{padding:0}.legal-main .page-hero{padding:0 0 18px;text-align:left;overflow:visible}.legal-main .page-hero::before,.legal-main .page-hero::after,.legal-main .page-hero .eyebrow{display:none}.legal-main .page-hero h1{font-size:24pt;max-width:none;animation:none}.legal-main .page-hero .lede{margin:12px 0 0;font-size:10pt}.legal-wrap{width:100%;max-width:none}.draft-notice{border:1px solid #777;border-left:4px solid #000;border-radius:0;background:#fff;color:#000;padding:10px;margin-bottom:18px}.document{border:0;border-radius:0;padding:0;font-size:10pt;line-height:1.5}.document h2{font-size:15pt;break-after:avoid;margin-top:22px;padding-top:14px}.document p,.document td,.document th{color:#000}.document p,.document li{orphans:3;widows:3}.document a{color:#000;text-decoration:underline}.tbd{color:#000;background:transparent;border:1px solid #777}.table-scroll{overflow:visible;border:0}.document table{min-width:0;font-size:8pt;table-layout:fixed}.document th,.document td{padding:7px 8px}.document thead{display:table-header-group}.document tr{break-inside:avoid}}
