.cphome{--bg:#f3f7fc;--surface:#fff;--ink:#11243e;--ink-soft:#5e7290;--brand:#2a66c4;--brand-2:#1e4c99;--line:#d3e0f0;--tint:#e8f0fb;font-family:var(--font-dm-sans), system-ui, sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;flex-direction:column;flex:1;display:flex}.cphome *{box-sizing:border-box}.cphome :focus-visible{outline:2px solid var(--brand);outline-offset:2px}.home-top{z-index:10;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.home-top .brand{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;color:var(--ink);font-size:21px;font-weight:600;text-decoration:none}.home-top nav{align-items:center;gap:18px;display:flex}.home-top a.nav{color:var(--ink-soft);font-size:14.5px;font-weight:500;text-decoration:none}.home-top a.nav:hover{color:var(--ink);text-decoration:underline}.cphome .btn{border-radius:999px;justify-content:center;align-items:center;padding:12px 26px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.cphome .btn-primary{background:var(--brand);color:#fff}.cphome .btn-primary:hover{background:var(--brand-2)}.cphome .btn-ghost{border:1px solid var(--line);color:var(--ink);background:var(--surface)}.cphome .btn-ghost:hover{border-color:var(--brand);color:var(--brand-2)}.cphome .btn-sm{padding:9px 18px;font-size:14px}.cphome section{width:100%}.cphome .shell{max-width:1060px;margin:0 auto;padding:0 24px}.cphome .eyebrow{color:var(--brand-2);text-transform:uppercase;letter-spacing:.09em;margin:0 0 10px;font-size:13px;font-weight:600}.cphome h2{font-family:var(--font-fraunces), serif;letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(26px,4.5vw,34px);font-weight:600;line-height:1.15}.cphome .sub{color:var(--ink-soft);max-width:640px;margin:0;font-size:16.5px;line-height:1.6}.hero{padding:64px 0 72px}.hero .shell{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px;display:grid}.hero h1{font-family:var(--font-fraunces), serif;letter-spacing:-.025em;margin:0 0 18px;font-size:clamp(34px,6vw,52px);font-weight:600;line-height:1.08}.hero .lead{color:var(--ink-soft);max-width:520px;margin:0 0 28px;font-size:18px;line-height:1.65}.hero .cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-art{justify-content:center;display:flex}.hero-art svg{width:100%;max-width:420px;height:auto}.how{background:var(--surface);border-block:1px solid var(--line);padding:64px 0}.how .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:36px;display:grid}.how .step{flex-direction:column;gap:8px;display:flex}.how .stepnum{font-family:var(--font-fraunces), serif;color:var(--brand);font-size:30px;font-weight:600;line-height:1}.how .step h3{margin:0;font-size:18px;font-weight:600}.how .step p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.6}.features{padding:72px 0}.features .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px;display:grid}.features .card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;padding:22px 22px 24px;display:flex}.features .card .icon{background:var(--tint);width:40px;height:40px;color:var(--brand-2);border-radius:10px;justify-content:center;align-items:center;display:flex}.features .card h3{margin:0;font-size:16.5px;font-weight:600}.features .card p{color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.6}.pricing{background:var(--surface);border-block:1px solid var(--line);padding:72px 0;scroll-margin-top:72px}.pricing .plan-card{background:var(--bg);border:1px solid var(--line);border-radius:20px;margin-top:36px;padding:28px}.pricing .plan-head{flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:22px;display:flex}.pricing .plan-head h3{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.pricing .plan-head p{color:var(--ink-soft);margin:0;font-size:15px}.pricing .options{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.pricing .option{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:6px;padding:22px 20px;display:flex;position:relative}.pricing .option.featured{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.pricing .badge{background:var(--brand);color:#fff;letter-spacing:.03em;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;position:absolute;top:-11px;left:18px}.pricing .badge.alt{background:var(--brand-2)}.pricing .option .opt-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-weight:600}.pricing .option .opt-price{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;font-size:27px;font-weight:600;line-height:1.2}.pricing .option .opt-price small{font-family:var(--font-dm-sans), system-ui, sans-serif;color:var(--ink-soft);letter-spacing:0;font-size:14px;font-weight:500}.pricing .option .opt-effective{color:var(--brand-2);font-size:14px;font-weight:600}.pricing .option .opt-note{color:var(--ink-soft);font-size:13.5px;line-height:1.55}.pricing .plan-cta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;display:flex}.pricing .plan-note{color:var(--ink-soft);max-width:560px;margin:0;font-size:13.5px;line-height:1.55}.faq{padding:72px 0}.faq .qa-list{max-width:760px;margin-top:28px}.faq .qa{border-bottom:1px solid var(--line);padding:22px 0}.faq .qa:last-child{border-bottom:none}.faq .qa h3{margin:0 0 8px;font-size:17px;font-weight:600}.faq .qa p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.65}.cta-band{background:var(--ink);color:#fff;padding:64px 0}.cta-band .shell{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.cta-band h2{color:#fff;margin:0 0 6px}.cta-band p{color:#b9c8de;max-width:520px;margin:0;font-size:16px;line-height:1.6}.cta-band .btn-light{color:var(--ink);background:#fff}.cta-band .btn-light:hover{background:#dfeafa}@media (max-width:900px){.hero .shell{grid-template-columns:1fr;gap:36px}.hero-art{order:-1}.hero-art svg{max-width:320px}.how .steps,.features .grid{grid-template-columns:1fr;gap:24px}.pricing .options{grid-template-columns:1fr;gap:20px}.cta-band .shell{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.hero{padding:40px 0 52px}.home-top{padding:14px 16px}.cphome .shell{padding:0 16px}}
