/* Juntei: expressive typography and consistent public journey components. */
@font-face{font-family:Manrope;src:url("../fonts/manrope-400.6e27cbf23447.ttf") format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url("../fonts/manrope-500.0982b121f471.ttf") format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url("../fonts/manrope-600.66285822d3e0.ttf") format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url("../fonts/manrope-700.147066cb1813.ttf") format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url("../fonts/manrope-800.b2971656ed35.ttf") format('truetype');font-weight:800;font-display:swap}
.marketing-screen,.login-screen{--brand-forest:#004d43;--brand-leaf:#487e32;--brand-lime:#d1efa4;--brand-ink:#123f36;font-family:Manrope,system-ui,sans-serif;background:radial-gradient(ellipse at 96% 0,#d1efa44d,transparent 35%),#f6f7f0;color:var(--brand-ink)}
.marketing-shell{max-width:1440px}
.marketing-header,.login-header{padding-bottom:24px;border-bottom:1px solid #004d431a}
.marketing-nav,.login-header-action{font-size:13px;font-weight:700}
.marketing-nav .nav-outline,.login-header-action>a{border:1px solid #004d4340;background:#fff9;padding:10px 12px 10px 20px;gap:24px;min-height:46px}
.nav-outline>span,.login-header-action>a>span{display:grid;place-items:center;width:26px;height:26px;background:#e3edda;color:#004d43;border-radius:50%}
.marketing-shell h1,.login-story h1,.login-form-panel h2{font-weight:800;letter-spacing:-.065em}
.landing-hero-copy h1{font-size:clamp(48px,4.8vw,70px);line-height:1.04;max-width:640px;margin:26px 0}
.marketing-shell h2{font-weight:800;letter-spacing:-.05em}
.marketing-shell h3{font-weight:750;letter-spacing:-.03em}
.marketing-shell h1 em,.marketing-shell h2 em{color:var(--brand-leaf)}
.landing-hero-copy h1 em:after{height:10px;background:#b6db7759;bottom:4px}
.marketing-shell p{color:#52684d}
.landing-hero-copy>p{font-size:15px;color:#52684d;line-height:1.85}
.landing-hero-copy>.m-eyebrow,.journey-copy>.m-eyebrow{font-size:9px;letter-spacing:1.5px;border-color:#bed3a5;background:#eaf2de;color:#40682c;padding:9px 13px;font-weight:800}
.landing-hero{gap:48px;padding-top:46px;padding-bottom:56px}
.m-button,.login-submit{min-height:62px;padding:10px 12px 10px 23px;gap:26px;border:1px solid #003e36;border-radius:16px;background:linear-gradient(120deg,#004d43,#096351);color:#fff;font-family:inherit;font-size:14px;font-weight:800;box-shadow:0 5px 0 #003c35,0 12px 24px #004d431a;line-height:1.5;text-align:left}
.m-button>span,.login-submit>span{width:38px;height:38px;flex-shrink:0;background:var(--brand-lime);color:#004d43;font-size:24px;border:1px solid #e8facb;box-shadow:inset 0 1px #fff8}
.m-button:hover,.login-submit:hover{background:linear-gradient(120deg,#086253,#12785d);box-shadow:0 5px 0 #003c35,0 16px 28px #004d432b;transform:translateY(-2px)}
.m-button:hover>span,.login-submit:hover>span{background:#e2f6c2;color:#003e36;transform:translateX(2px)}
.m-button:active,.login-submit:active{transform:translateY(3px);box-shadow:0 1px 0 #003c35}
.m-button:disabled,.login-submit:disabled{transform:none;box-shadow:none;cursor:not-allowed}
.marketing-screen a:focus-visible,.marketing-screen button:focus-visible,.login-screen a:focus-visible,.login-screen button:focus-visible{outline:3px solid #487e32;outline-offset:5px}
.hero-proof{color:#426b35;font-size:11px;gap:16px;margin-top:27px}
.hero-price-note{color:#5e7055;font-size:10px;max-width:390px;line-height:1.8;margin-top:12px}
.landing-product{min-height:520px;border-radius:34px;background:radial-gradient(ellipse at 100% 100%,#338659,transparent 68%),#004d43;box-shadow:0 24px 45px -28px #004d4380}
.product-card{transform:rotate(-5deg);border-radius:22px}
.product-tag{padding:15px 18px;border-radius:14px;right:16px;bottom:43px}
.product-tag b{font-size:11px}.product-tag small{font-size:10px;color:#42642e}
.benefit-strip{border-color:#cddbc2;gap:25px}
.benefit-strip>div>span{background:#004d43;color:#d1efa4;border:0;font-weight:800;border-radius:13px;width:43px;height:43px}
.benefit-strip b{font-size:13px;font-weight:800;color:#234e3b}.benefit-strip small{font-size:11px;color:#5e7055}
.overview-copy h2,.pricing-copy h2{font-size:42px;line-height:1.12}
.dashboard-preview{transform:none;border-color:#c4d6b5;box-shadow:0 22px 40px -25px #004d433d}
.preview-toolbar{background:#004d43;color:#d5e7c7}
.preview-toolbar>span:last-child{color:#d1efa4}
.preview-welcome h3{font-weight:800}.preview-metrics b{font-weight:800}
.preview-metrics span,.preview-metrics small,.preview-bottom,.preview-activity span{color:#5c7350}
.preview-disclaimer{color:#5f7355}
.how-steps article,.how-steps article:last-child{border-color:#d4e0c9;background:#fcfdf8;padding:24px;border-radius:18px}
.how-steps article>span{color:#487e32;font-weight:800;font-size:9px}
.how-steps h3{font-size:19px}.how-steps p{font-size:12px;color:#52684d}
.pricing-section{background:radial-gradient(ellipse at 0 100%,#d1efa4aa,transparent 70%),#e7eedc;border-color:#d1dfc1;border-radius:30px}
.price-card{border-radius:24px;border-color:#c4d6b0;padding:32px;background:#fcfdf8}
.plan-price strong,.checkout-price strong{font-weight:800;letter-spacing:-.065em;font-variant-numeric:tabular-nums}
.price-pill{background:#004d43;border-color:#004d43;color:#d1efa4;font-weight:700;padding:6px 11px}
.price-card .plan-features li{font-size:12px;color:#426039}.price-card>small{color:#5e7055;font-size:10px;margin-top:22px}
.faq-items summary{font-size:13px;font-weight:700;padding:5px 0;color:#174e3c}
.faq-items details[open]{background:#e8f0dd}
.journey-layout{gap:64px;padding-top:44px}
.journey-copy h1{font-size:clamp(44px,4.2vw,62px);line-height:1.09}
.journey-copy>p{font-size:14px;max-width:430px}
.journey-card{border:1px solid #c7d9b8;border-radius:26px;box-shadow:0 25px 55px -30px #004d4340;background:#fcfdf8}
.journey-card h2{font-size:32px}
.journey-progress{font-size:10px;font-weight:700}
.journey-progress .current{background:#004d43;color:#e1f3c6;padding:8px 12px;border-radius:99px}
.identity-preview{background:linear-gradient(135deg,#004d43,#176c51);color:#f4f9ea;border-color:#176c51;transform:none;border-radius:20px;box-shadow:0 15px 30px -20px #004d4360}
.identity-preview-top,.identity-preview-content small,.identity-preview-bottom>span{color:#d1e5c0}
.identity-preview-content strong{color:#fff;font-weight:800}.identity-preview-icon{background:#d1efa4;color:#004d43}
.journey-plan strong{font-size:30px;font-weight:800;letter-spacing:-1px}
.journey-plan>span{color:#426039;font-weight:700}
.m-form label,.login-field label{font-size:12px;font-weight:800;color:#234e3b}
.m-form input,.login-input-wrap{border:1px solid #bbcdb1;background:#fff;border-radius:12px;min-height:54px}
.m-form input{padding:15px;font-size:15px}
.m-form input:focus,.login-input-wrap:focus-within{outline:3px solid #d1efa4;border-color:#487e32;box-shadow:none}
.m-form input::placeholder,.login-input-wrap input::placeholder{color:#6c7b65}
.input-help,.form-fineprint,.journey-switch,.purchase-reassurance small{color:#5e7055}
.journey-switch a,.login-signup-note a{color:#004d43;font-weight:800;text-underline-offset:5px;text-decoration:underline}
.purchase-card .m-button{margin-top:10px}.purchase-card .form-fineprint{margin-top:22px}
.access-summary{border-color:#c4d6b0;background:#ebf2e1}
.login-story{background:#004d43;border-radius:30px}
.login-story h1{font-size:clamp(38px,4.1vw,62px);line-height:1.08}
.login-story h1 em{color:#d1efa4}
.login-form-panel h2{font-size:48px;line-height:1.1}
.login-form-description{color:#52684d;font-size:13px}
.login-greeting-mark{background:#d1efa4;border:1px solid #b9d58e;color:#004d43;width:48px;height:48px;border-radius:16px}
.login-submit{width:100%;display:flex;align-items:center;justify-content:space-between}
.login-form-eyebrow{color:#487e32;font-weight:800}
.login-signup-note{font-size:12px;line-height:1.9;color:#52684d}
.login-secure{color:#5e7055}
.marketing-footer{background:#004d43;border-color:#004d43}
@media(max-width:1100px) and (min-width:781px){.marketing-shell{padding-left:36px;padding-right:36px}.landing-hero{gap:30px}.landing-hero-copy h1{font-size:53px}.landing-product{min-height:470px;padding-left:28px;padding-right:28px}.journey-layout{gap:35px}.journey-copy h1{font-size:46px}.m-button{font-size:13px;gap:15px}}
@media(max-width:780px){
 .marketing-nav,.login-header-action{font-size:11px}
 .marketing-nav .nav-outline,.login-header-action>a{padding:8px 10px 8px 14px;gap:12px}
 .landing-hero{gap:30px;padding-top:28px;padding-bottom:34px}
 .landing-hero-copy h1{font-size:clamp(40px,9.8vw,58px);letter-spacing:-.06em;line-height:1.07}
 .landing-hero-copy>p{font-size:14px}.hero-proof{font-size:10px;gap:12px}
 .hero-price-note{font-size:10px;max-width:340px}
 .m-button,.login-submit{font-size:13px;min-height:60px;padding-left:18px;gap:15px;border-radius:14px}
 .m-button>span,.login-submit>span{width:34px;height:34px}
 .landing-product{min-height:450px;border-radius:25px}
 .product-tag b{font-size:10px}.product-tag small{font-size:9px}
 .benefit-strip{gap:20px}.benefit-strip b{font-size:12px}
 .overview-copy h2,.pricing-copy h2{font-size:34px}
 .how-steps article,.how-steps article:last-child{padding:20px}
 .how-steps h3{font-size:18px}.how-steps p{font-size:12px}
 .price-card{padding:26px 22px}.price-card .plan-features li{font-size:11px}
 .journey-layout{gap:28px;padding-top:28px}.journey-copy h1{font-size:42px}
 .journey-copy>p{font-size:13px}.journey-card{border-radius:22px;padding:26px 23px}
 .journey-card h2{font-size:29px}
 .m-form input{font-size:16px}.journey-plan strong{font-size:28px}
 .login-story{border-radius:23px}.login-story h1{font-size:36px}
 .login-form-panel h2{font-size:38px}.login-form-description{font-size:12px}
}
@media(max-width:360px){
 .landing-hero-copy h1{font-size:38px}.landing-product{min-height:410px}
 .product-tag{padding:12px;right:10px}.product-tag b{font-size:9px}
 .journey-copy h1{font-size:36px}.journey-card{padding:24px 18px}
 .overview-copy h2,.pricing-copy h2{font-size:30px}
 .login-story h1{font-size:31px}.login-form-panel h2{font-size:34px}
 .hero-proof{font-size:9px}.m-button{font-size:12px;gap:12px}
}
@media(prefers-reduced-motion:reduce){.marketing-screen *,.login-screen *{transition:none!important;animation:none!important}}
