/* Authoritative Ocean & Apricot identity. Supplied marks remain untouched. */
@font-face{font-family:'DM Sans';src:url('/assets/fonts/DMSans-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/DMSans-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--ocean:#245B70;--apricot:#F2B38E;--paper:#FAF6F0;--ink:#20343D;--ocean-pressed:#1B4656;--sage:var(--ocean);--blue:var(--ocean);--lime:var(--apricot);--taupe:#bfb7b6;--muted:#52646A;--line:#d9e0df;--radius:24px}
body,button,input,textarea,select,.public-shell,.public-footer{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:400}
h1,h2,h3,h4,h5,h6,.button,strong,b,.desktop-nav,.demo-name,.price{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:700;font-synthesis:none}
button,input,textarea,select{font-size:16px}body{color:var(--ink)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ocean);outline-offset:4px}
.button{background:var(--ocean);color:white;font-weight:700;min-height:48px;border-radius:100px;transition:background .16s ease,transform .16s ease}.button:hover,.button:active{background:var(--ocean-pressed)}.button.lime{background:var(--apricot);color:var(--ink)}.button.lime:hover{background:#edaa81}.button.secondary{background:transparent;color:var(--ocean);border:1px solid var(--ocean)}.button.secondary:hover{background:#eef3f2}
.logo,.nav .logo,.footer-brand .logo{display:block;width:200px;min-width:180px;flex-shrink:0}.logo img{width:100%;height:auto;aspect-ratio:950/300;object-fit:contain}.logo{padding:8px 12px;box-sizing:content-box}.logo:hover{opacity:1}.public-footer .brand-home{width:56px;height:70px;min-width:56px;padding:8px;box-sizing:content-box}.public-footer .brand-home img{width:56px;height:70px;object-fit:contain}.public-banner-emblem{width:40px;height:50px;top:16px;right:18px;object-fit:contain}.recovery{background:white}.recovery img{width:48px;height:auto}.recovery h1{color:var(--ocean)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.recovery-page{background:var(--paper)}.join-brand{display:block;width:56px;margin-bottom:24px}.join-brand img{display:block;width:56px;height:70px}.join-page{background:var(--paper);min-height:100dvh;display:grid;place-items:center;padding:24px}.join-page .admin-main{margin:0;width:100%;max-width:480px}.join-page form{background:white;padding:32px;border-radius:24px}.join-page h1{font-size:32px;line-height:1.15;letter-spacing:-.7px;margin:0 0 16px}.join-page input{width:100%;margin-top:8px;padding:14px;border-radius:12px;border:1px solid var(--line)}.join-page label{display:block;margin-top:20px}.join-page .button{width:100%;margin-top:24px}.legal-page{padding-block:55px 80px;max-width:860px}.legal-page h1{font-size:48px;margin-bottom:24px}.legal-page h2{font-size:28px;margin:32px 0 15px}.legal-page p{font-size:17px;margin-top:16px}.legal-page .small{font-size:14px}@media(max-width:650px){.legal-page h1{font-size:38px}}
/* Card controls continue to use the owner's chosen theme in every state. */
.public-actions .button:hover,.public-actions .button:active{background:var(--accent,#245B70);color:var(--icon-ink,#FAF6F0)}.public-actions .button.lime:hover,.public-actions .button.lime:active{background:var(--apricot);color:var(--ink)}
@media(max-width:360px){.logo,.nav .logo,.footer-brand .logo{width:180px;padding:8px;min-width:180px}.mobile-menu summary{white-space:nowrap}.nav{gap:8px}}

/* Prioritize recurring Active, with Access in the secondary Apricot treatment. */
.plan.active.featured{background:var(--ocean);border-color:var(--ocean);color:white;box-shadow:0 18px 42px #245b7020;transform:scale(1.035);z-index:1}.plan.active.featured .button{background:var(--apricot);color:var(--ink)}.plan.access{background:#FDF3ED;border:2px solid var(--apricot)}.plan.access .plan-label{color:var(--ink)}.plan.access .button{border-color:var(--apricot);color:var(--ink);background:transparent}
@media(max-width:900px){.plan.active.featured{transform:none;padding-block:42px;border-width:3px}} 

.plan.active.featured .plan-label,.plan.active.featured .plan-summary{color:#FAF6F0}.plan .not-included::before{content:'–';color:var(--muted)}

.plan.active.featured .price small{color:#FAF6F0}.plan.active.featured li::before{color:var(--apricot)}
