/* Shared public-site theme. Loaded last, after page-specific component styles. */
:root{--canvas:#fffefa;--paper:#f8f7f1;--surface:#fff;--ink:#23241f;--hair:#e7e6df;--hair-strong:#d8d9d0;--muted:#74776b;--accent:#a84324;--accent-soft:#b85736;--accent-bright:#ce7652}
body{background:var(--canvas);color:var(--ink);font-family:'Outfit',system-ui,sans-serif}
.nav-wrap,.nav-wrap.nav-scrolled{background:rgba(255,254,250,.97);border-bottom:1px solid #efeee8;backdrop-filter:blur(14px)}
.nav-inner{height:82px;max-width:1400px;padding:0 48px}.brand-text{color:var(--ink);font-size:25px;letter-spacing:-1px}
.mega-menu{top:82px;background:var(--canvas);box-shadow:0 20px 30px #23241f0d}.mega-inner{max-width:1220px}.mega-col{border-color:var(--hair)}
.btn{border-radius:9px;padding:13px 23px;font-weight:500}.btn-solid,.btn-solid.is-accent{background:var(--ink);color:#fff}.btn-solid:hover,.btn-solid.is-accent:hover{background:var(--accent);box-shadow:none}.btn-line{border-color:var(--hair-strong);border-radius:9px}.nav-cta .btn-line{border-color:transparent}.btn-ghost{padding-left:0;padding-right:0}.nav-links a.active{color:var(--accent)}
.page-header{padding:148px 24px 64px;background:var(--canvas)}.page-header::before,.page-header::after{display:none}.page-header-inner{max-width:1100px;text-align:center;margin-inline:auto}.page-header-inner .crumb{justify-content:center}.crumb{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:26px;color:var(--muted)}
.page-title{font-size:clamp(44px,5.7vw,80px);font-weight:500;letter-spacing:-.055em;line-height:1.07;text-wrap:balance;max-width:1050px;margin:0 auto}
.page-title .it,.section-title .it,.cta-left h2 .it,.blog-cta h3 .it,.serif-it{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit;color:var(--accent)}
.page-sub{font-size:18px;line-height:1.65;color:var(--muted);max-width:640px;margin:24px auto 0}.page-ctas{justify-content:center;margin-top:28px}
.section{padding-top:80px;padding-bottom:80px}.section-inner{max-width:1220px}.section-title{font-weight:500;font-size:clamp(32px,4vw,54px);line-height:1.1;letter-spacing:-.045em}.section-eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:500;color:var(--muted)}.section-sub{color:var(--muted);font-size:17px;line-height:1.65}
.card,.product-card,.plan,.addon,.doc-card,.download-card,.contact-card,.story-card,.blog-card{border-radius:12px;border-color:var(--hair);box-shadow:none}.product-card:hover,.blog-card:hover{box-shadow:0 12px 28px #23241f08}
.plan{background:#fff}.plan.is-featured{background:#f5e2d8;border-color:#e8c4b0}.plan.is-enterprise{background:var(--ink);border-color:var(--ink)}
.cta-band{background:var(--canvas);padding:64px 24px}.cta-card{background:#f2d6c6;border-radius:16px;box-shadow:none;padding:58px 64px;max-width:1220px}.cta-left h2{font-weight:500;font-size:clamp(30px,3.8vw,49px);line-height:1.1;letter-spacing:-.045em}.cta-btn{background:var(--ink);box-shadow:none;font-weight:500}.cta-btn:hover{box-shadow:none;background:var(--accent)}.cta-btn:hover .cta-btn-label{opacity:1}.cta-btn:hover .cta-btn-icon{width:42px}.cta-secondary{font-weight:500}
.footer{background:var(--canvas);border-top:1px solid var(--hair)}.footer::before,.footer::after{display:none}.footer-col{opacity:1;transform:none;filter:none}.footer-grid,.footer-bottom{max-width:1220px}.footer-col h6{font-size:10px;letter-spacing:1.3px;font-weight:500}.footer-col a{color:#64675d}.footer-col .brand-text{color:var(--ink)}
.legal-layout{max-width:1140px;gap:72px}.legal-toc{top:110px}.legal-callout{background:#f8f7f1;border-color:var(--hair);border-left-color:#b85736}.legal-section h2{font-weight:500;letter-spacing:-.025em}.legal-body{color:var(--ink)}.legal-section p,.legal-section li,.prose{line-height:1.8}.prose blockquote{font-family:inherit;font-style:normal;background:#f5e2d8;border:0;border-radius:10px;padding:22px 26px}.blog-cta{background:#f2d6c6;border:0}.blog-cta h3{font-weight:500}.blog-card{background:#fff}
input,select,textarea{accent-color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
[id]{scroll-margin-top:105px}
@media(max-width:800px){.nav-inner{padding:0 20px;height:70px}.mega-menu{top:70px}.page-header{padding:118px 22px 48px}.page-title{font-size:54px;letter-spacing:-.045em}.page-sub{font-size:17px}.section{padding-top:56px;padding-bottom:56px}.cta-card{padding:38px 30px}.legal-layout{gap:30px}.nav-links{gap:18px}}
@media(max-width:560px){.nav-cta .btn-line{display:none}.nav-cta .btn{font-size:12px!important;padding:10px 14px}.page-header{padding:111px 20px 40px}.page-title{font-size:43px;letter-spacing:-.045em}.page-sub{font-size:16px}.page-ctas{gap:12px}.page-ctas .btn{font-size:13px;padding:13px 18px}.section-title{font-size:35px}.section-sub{font-size:16px}.cta-band{padding:42px 16px}.cta-card{padding:30px 24px;gap:28px}.cta-right{min-width:0}.footer-grid{gap:30px}.legal-layout{padding:0 20px}.legal-lede{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep content immediately readable while legacy animation scripts initialize. */
.reveal{opacity:1!important;transform:none!important}
.plan.is-recommended{background:#f5e2d8;border-color:#e3b69f;box-shadow:none}.plan.is-enterprise::before{display:none}
.blog-h1{font-family:'Outfit',sans-serif;font-size:clamp(38px,4.6vw,66px);font-weight:500;letter-spacing:-.045em;line-height:1.12;text-wrap:balance}.post-meta{justify-content:center}.post-card{border-color:var(--hair);border-radius:12px;box-shadow:none}.post-card h2{font-weight:500;letter-spacing:-.025em}.post-card:hover{box-shadow:0 10px 25px #23241f08}
/* One consistent footer for product, editorial and legal pages. */
.footer,.home-refresh .footer{background:#f8f7f1;margin-top:0;padding:72px 48px 28px;border-top:1px solid #e7e6df}
.footer-grid{grid-template-columns:1.7fr 1fr 1fr 1.1fr;gap:56px;padding:0;max-width:1220px}
.footer .brand{gap:9px;padding:0}.footer .brand-text{font-size:25px;letter-spacing:-1px;font-weight:700;color:#23241f}.footer .brand-mark img{width:27px;height:27px}
.footer-statement{font-size:29px;line-height:1.15;letter-spacing:-1px;font-weight:500;color:#23241f;margin:25px 0 14px}
.footer-description{font-size:14px;line-height:1.65;color:#73766b;margin:0}
.footer .footer-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;margin-top:24px;padding:11px 16px;border:1px solid #d8d9d0;border-radius:8px;font-size:13px;font-weight:500;color:#23241f}
.footer .footer-contact:hover{background:#f2d6c6;border-color:#e2bcaa;padding-left:16px}
.footer-heading{font-size:11px;font-weight:500;line-height:1.4;letter-spacing:1.4px;text-transform:uppercase;color:#8a8d80;margin:6px 0 22px}
.footer-col ul{gap:6px}.footer-col li a{padding:7px 0;font-size:14px;line-height:1.4;color:#54594b;transition:color .18s ease;text-underline-offset:5px}
.footer-col li a:hover{color:#a84324;text-decoration:underline;padding-left:0}
.footer-bottom{padding:23px 0 0;margin:56px auto 0;border-color:#e1e3d8;font-size:11px;color:#7d8174;letter-spacing:.1px}
@media(max-width:900px){.footer,.home-refresh .footer{padding:50px 28px 25px}.footer-grid{gap:30px;grid-template-columns:1.4fr 1fr 1fr}.footer-brand{grid-column:1 / -1;display:block}.footer-statement{margin-top:18px}.footer-bottom{margin-top:38px}}
@media(max-width:560px){.footer,.home-refresh .footer{padding:40px 22px 24px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-brand{grid-column:1 / -1}.footer-statement{font-size:28px}.footer-heading{margin:0 0 13px}.footer-col li a{font-size:13px;min-height:36px;align-items:center}.footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;margin-top:32px}}
