/* Occasi 2026: shared brand, public pages and account entry points.
   Layers: header 1000, native dialog top layer. Guest invitations retain their themes. */
@font-face{font-family:'Occasi Sans';src:url('../assets/fonts/dm-sans-latin.woff2?v=152') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:'Occasi Serif';src:url('../assets/fonts/cormorant-latin.woff2?v=152') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
:root{--oc-deep:#112d23;--oc-ink:#17392c;--oc-paper:#f7f5ed;--oc-white:#fffdf8;--oc-gold:#806437;--oc-line:#d6ddcf;--oc-muted:#52665b;--oc-sage:#e6ece2;--oc-serif:'Occasi Serif',Georgia,serif;--oc-sans:'Occasi Sans',Arial,sans-serif;--oc-nav:80px}
.oc-site{--ink:var(--oc-ink);--paper:var(--oc-paper);--muted:var(--oc-muted);--line:var(--oc-line);background:var(--oc-paper);font-family:var(--oc-sans);color:var(--oc-ink);font-size:16px;line-height:1.6;-webkit-tap-highlight-color:#d5c29b4d}
.oc-site :is(h1,h2,h3){text-wrap:balance}.oc-site p{text-wrap:pretty}.oc-site :is(button,a,input,select,textarea){touch-action:manipulation}.oc-site :is(a,button,input,select,textarea):focus-visible{outline:3px solid #a67b36;outline-offset:5px}
.oc-site :is(input,select,textarea){accent-color:var(--oc-ink)}.oc-site .public-wrap,.oc-site>.wrap,.oc-site main>.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.oc-site .skip{position:fixed;left:20px;top:12px;z-index:1100;transform:translateY(-160%);background:var(--oc-white);color:var(--oc-deep);padding:13px 22px;border-radius:4px}.oc-site .skip:focus{transform:none}
.oc-nav{background:var(--oc-deep);color:var(--oc-paper);border-color:#ffffff24;min-height:80px;padding:15px 40px;backdrop-filter:none;gap:30px}
.oc-brand{gap:9px}.oc-brand span{font:500 31px/1 var(--oc-sans);letter-spacing:-.07em}.oc-nav .oc-brand img,.oc-footer .oc-brand img{filter:brightness(0) invert(1);width:43px;height:30px}
.oc-nav-links{gap:25px}.oc-nav-links>a{font-size:13px;color:#e8eee5;min-height:44px;padding-block:11px}.oc-nav-links>a:hover,.oc-nav-links>a[aria-current]{color:#e7cca1}.oc-nav-links>a::after{bottom:5px}
.oc-nav-actions{gap:22px}.oc-nav-login{font-size:13px;min-height:44px;display:inline-flex;align-items:center}.oc-nav .oc-button{background:var(--oc-paper);color:var(--oc-deep);border-color:var(--oc-paper);font-size:12px;padding:12px 18px;min-height:46px}.oc-nav .oc-button:hover{background:#e5dcc7;color:var(--oc-deep);transform:none}
.oc-menu-toggle{border-color:#ffffff50;border-radius:4px}.oc-menu-toggle::before,.oc-menu-toggle::after{background:var(--oc-paper)}
.oc-site .oc-nav a.oc-button{color:var(--oc-deep)}
.oc-menu{background:var(--oc-deep);color:var(--oc-paper);overscroll-behavior:contain}.oc-menu nav a{border-color:#ffffff20;font-size:33px;padding-block:15px}.oc-menu nav a:hover{color:#e7cca1}.oc-menu-heading .oc-kicker{color:#d5c29b}.oc-menu-close{border-color:#ffffff50;border-radius:4px}.oc-menu .oc-button{background:var(--oc-paper);color:var(--oc-deep)}.oc-menu a.oc-button{color:var(--oc-deep)}.oc-menu-bottom{gap:24px}.oc-menu-bottom .oc-textlink{color:var(--oc-paper)}
.oc-site .oc-button,.oc-site .public-button{font-family:var(--oc-sans);font-size:14px;line-height:1.4;min-height:50px;padding:15px 24px;border-radius:4px;font-weight:600;gap:12px;box-shadow:none;transition:background .2s,color .2s,transform .2s}
.oc-site .oc-button:hover,.oc-site .public-button:hover{transform:translateY(-1px)}.oc-site .oc-button:active,.oc-site .public-button:active{transform:none}
.oc-site .oc-textlink,.oc-site .public-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:6px;text-decoration-thickness:1px}.oc-site .oc-textlink:hover,.oc-site .public-link:hover{text-decoration-thickness:2px}
.oc-site .public-eyebrow,.oc-site .oc-kicker{font:600 11px/1.5 var(--oc-sans);letter-spacing:.15em;color:var(--oc-gold)}
.oc-site .public-page-intro,.oc-site .collection-page-head{padding-block:66px 50px}.oc-site .public-page-intro h1,.oc-site .collection-page-head h1{font-family:var(--oc-serif);font-size:clamp(46px,5.6vw,76px);line-height:1.04;max-width:16ch;letter-spacing:-.035em;margin-block:17px 25px}
.oc-site .public-page-intro p:not(.public-eyebrow),.oc-site .collection-page-head p:not(.public-eyebrow){font-size:17px;line-height:1.7;max-width:58ch;color:var(--oc-muted)}
.oc-site .community-hero{padding-block:70px 76px;gap:80px}.oc-site .community-hero h1{font-size:clamp(52px,5.5vw,76px);line-height:1.04;max-width:12ch}.oc-site .community-hero .intro{font-size:17px;line-height:1.7}.oc-site .community-hero h1 em{color:#806437}
.oc-site .community-section{padding-block:75px}.oc-site .community-section h2{font-size:clamp(40px,4.2vw,58px);line-height:1.1}.oc-site .community-section p{font-size:16px;line-height:1.8}.oc-site .community-cta h2{font-size:clamp(40px,4.5vw,62px)}
.oc-site .seo82-price-grid{gap:28px}.oc-site .seo82-price-card{border:1px solid #cbd5c7;background:var(--oc-white);border-radius:7px;box-shadow:none;padding:36px}.oc-site .seo82-price-card h2{font-size:39px;line-height:1.08}.oc-site .seo82-price-card p,.oc-site .seo82-price-card li{font-size:15px;line-height:1.7}.oc-site .seo82-price-card .public-button{width:100%}
.oc-site .public-faq details{border:0;border-bottom:1px solid var(--oc-line);background:transparent;border-radius:0}.oc-site .public-faq summary{font-size:16px;padding:22px 32px 22px 0;line-height:1.55}.oc-site .public-faq p{font-size:15px;line-height:1.8;max-width:65ch}.oc-site .public-faq summary:hover{color:#54704f}
.oc-site .auth-layout{max-width:1050px;margin-block:58px 78px;background:var(--oc-white);border-radius:8px;box-shadow:0 20px 65px #112d2308}.oc-site .auth-art{background:var(--oc-deep)}.oc-site .auth-art h2{font-size:62px;line-height:1.07}.oc-site .auth-panel{padding:48px}.oc-site .auth-panel h1{font-size:48px;margin-bottom:16px}.oc-site .auth-panel :is(input,select){min-height:50px;font-size:16px}.oc-site .auth-field label{font-size:14px}.oc-site .auth-panel p{font-size:14px}.oc-site .auth-panel :is(button,a){text-underline-offset:4px}
.oc-site .public-policy{padding-block:58px 80px}.oc-site .public-policy h1{font-size:56px}.oc-site .public-policy p,.oc-site .public-policy li{font-size:16px;line-height:1.85}
.oc-pro-public .hero{padding-block:64px 78px;gap:64px}.oc-pro-public .hero h1{font-size:clamp(54px,5.4vw,76px);line-height:1.05}.oc-pro-public .hero .intro{font-size:17px;line-height:1.7}.oc-pro-public .hero .fine{font-size:13px;line-height:1.7}.oc-pro-public .section{padding-block:80px}.oc-pro-public .section h2{font-size:clamp(42px,4.4vw,61px);line-height:1.08}.oc-pro-public .preview{transform:none;box-shadow:0 20px 60px #112d2314}.oc-pro-public .btn{min-height:48px;font-size:14px;border-radius:4px}.oc-pro-public .feature-grid p,.oc-pro-public .plans p,.oc-pro-public .audiences p{font-size:15px;line-height:1.7}
.oc-footer{background:var(--oc-deep);color:var(--oc-paper);padding:72px 48px 30px}.oc-footer-top{max-width:1240px;margin-inline:auto;gap:60px}.oc-footer h3{font:600 11px/1.5 var(--oc-sans);letter-spacing:.13em;color:#d5c29b}.oc-footer nav{gap:5px}.oc-footer nav a{font-size:13px;min-height:35px;display:inline-flex;align-items:center;color:#e0e8dc;text-decoration:none}.oc-footer nav a:hover{text-decoration:underline}.oc-footer-top>div:first-child p{font-family:var(--oc-serif);font-size:29px;line-height:1.15;color:var(--oc-paper)}.oc-footer-bottom{max-width:1240px;font-size:12px;color:#c3d0c0;line-height:1.7}.oc-footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
@media(min-width:1440px){.oc-nav{padding-inline:max(48px,calc((100vw - 1344px)/2))}}
@media(max-width:1180px){.oc-nav-links{display:none}.oc-menu-toggle{display:block}.oc-nav{padding-inline:28px}.oc-site .public-wrap,.oc-site>.wrap,.oc-site main>.wrap{width:calc(100% - 64px)}}
@media(max-width:760px){:root{--oc-nav:72px}.oc-nav{min-height:calc(72px + env(safe-area-inset-top));padding:12px 22px;padding-top:calc(12px + env(safe-area-inset-top))}.oc-nav .oc-brand span{font-size:28px}.oc-nav .oc-brand img{width:38px;height:28px}.oc-nav-login{display:none}.oc-site .public-wrap,.oc-site>.wrap,.oc-site main>.wrap{width:calc(100% - 44px)}.oc-site .public-page-intro,.oc-site .collection-page-head{padding-block:40px 36px}.oc-site .public-page-intro h1,.oc-site .collection-page-head h1{font-size:46px}.oc-site .public-page-intro p:not(.public-eyebrow),.oc-site .collection-page-head p:not(.public-eyebrow){font-size:16px}.oc-site .community-hero{padding-block:40px 50px;gap:36px}.oc-site .community-hero h1{font-size:49px}.oc-site .community-section{padding-block:48px}.oc-site .community-section h2{font-size:39px}.oc-site .community-section p{font-size:15px}.oc-site .community-cta{padding-block:52px}.oc-site .community-cta h2{font-size:43px}.oc-site .seo82-price-card{padding:26px 22px}.oc-site .seo82-price-card h2{font-size:35px}.oc-site .auth-layout{margin-block:25px 45px;width:calc(100% - 32px)}.oc-site .auth-panel{padding:32px 24px}.oc-site .auth-panel h1{font-size:43px}.oc-site .public-policy h1{font-size:44px}.oc-pro-public .hero{padding-block:42px 52px;gap:35px}.oc-pro-public .hero h1{font-size:52px}.oc-pro-public .section{padding-block:52px}.oc-pro-public .section h2{font-size:42px}.oc-footer{padding:50px 22px 25px}.oc-footer-top{gap:30px 24px}.oc-footer nav a{min-height:44px}.oc-footer-bottom{gap:12px}.oc-footer-bottom>div{flex-wrap:wrap;gap:22px}}
@media(prefers-reduced-motion:reduce){.oc-site *,.oc-site *::before,.oc-site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.oc-nav .oc-brand img,.oc-footer .oc-brand img{filter:none}.oc-menu-toggle{border-color:ButtonText}.oc-menu-toggle::before,.oc-menu-toggle::after{background:ButtonText}}
