/* CinEstate Unified 2026 UI — landing, app, auth, presentation and editorial pages */
:root{--ce-ink:#171717;--ce-muted:#737379;--ce-paper:#fbfbfa;--ce-white:#fff;--ce-line:#e4e4e6;--ce-soft:#f4f4f3;--ce-gold:#b89462;--ce-gold-soft:#faf5ed;--ce-radius:26px;--ce-shadow:0 24px 70px rgba(0,0,0,.08)}
html{scroll-behavior:smooth}body{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;color:var(--ce-ink);background:var(--ce-paper)}
h1,h2,h3,.brand,.logo,.logo a,.hero-copy h1,.section-head h2,.story-copy h2,.mode-header h2,#upload-zone h2,#prog-overlay h2,.result-head h2,.upgrade-title,.up-tier,.up-price,.mode-card h3,.pcard h3,.hl,.rh,.mname,.fn{font-family:'Playfair Display',Georgia,serif!important;font-style:italic!important;letter-spacing:-.035em!important}
button,input,textarea,select{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important}
/* Public site: use the full viewport intentionally, never a half-page canvas. */
.site-wrap{width:min(1480px,calc(100% - 72px))!important;margin-inline:auto!important}.hero-grid{grid-template-columns:minmax(410px,.83fr) minmax(620px,1.17fr)!important;gap:58px!important}.hero-apple{min-height:calc(100vh - 66px);display:flex;align-items:center;padding:105px 0 46px!important}.hero-stage{min-height:680px!important}.demo-shell{width:min(100%,840px)!important;aspect-ratio:16/10.5!important;border-radius:34px!important}.hero-copy h1{font-weight:500!important;font-size:clamp(58px,5.55vw,94px)!important;line-height:.93!important}.hero-copy p{max-width:580px!important}.trust{padding:28px 0 34px!important}.workflow{padding:24px 0!important}.story{padding:90px 0!important}.metrics{padding-bottom:82px!important}.features-apple,.compare-apple,.pricing-apple,.faq-apple{padding-top:90px!important;padding-bottom:90px!important}
/* Auth */
.auth-page,.login-page{background:radial-gradient(circle at 70% 10%,#eee8df 0,transparent 34%),var(--ce-paper)!important}.auth-card,.login-card,.auth-container{background:rgba(255,255,255,.88)!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:30px!important;box-shadow:0 30px 90px rgba(0,0,0,.08)!important;backdrop-filter:blur(18px)!important}.auth-card h1,.login-card h1{font-family:'Playfair Display',Georgia,serif!important;font-style:italic!important}.auth-card input,.login-card input{background:#fff!important;border:1px solid var(--ce-line)!important;border-radius:14px!important}.auth-card button,.login-card button{border-radius:999px!important}
/* App shell */
body.app-body,body:has(#s-upload),body:has(#prog-overlay){background:linear-gradient(180deg,#fbfbfa,#f3f3f2)!important}.app-body header,header:has(.step-trail){height:64px!important;background:rgba(255,255,255,.82)!important;border-bottom:1px solid var(--ce-line)!important;backdrop-filter:blur(22px) saturate(160%)!important}.logo{font-size:24px!important;color:#171717!important}.logo-sub{font-family:'DM Sans',sans-serif!important;color:#909095!important;letter-spacing:.16em!important}.step-dot{background:#d4d4d6!important}.step-dot.active{background:#171717!important}.step-dot.done{background:var(--ce-gold)!important}
main:has(#s-upload),body:has(#s-upload) main{width:min(1480px,calc(100% - 72px))!important;max-width:none!important;margin-inline:auto!important;padding:58px 0 100px!important}
#upload-zone{min-height:560px!important;border:1px dashed #c8c8ca!important;border-radius:30px!important;background:rgba(255,255,255,.88)!important;box-shadow:0 25px 75px rgba(0,0,0,.06)!important}.mode-card,.pcard,.settings-panel,#s-result{border-color:var(--ce-line)!important;background:#fff!important;box-shadow:0 12px 36px rgba(0,0,0,.045)!important;border-radius:22px!important}.mode-card:hover,.pcard:hover{transform:translateY(-3px)!important;box-shadow:0 20px 50px rgba(0,0,0,.08)!important}.btn,.btn-ghost,.btn-card,.sec-acts button,.sp-sel,.sp-input,.res-sel{border-color:var(--ce-line)!important;border-radius:999px!important;background:#fff!important;color:var(--ce-ink)!important}.sp-sel,.sp-input,.res-sel,.fx-sel,.card-sel,.card-text-input{border-radius:12px!important}.btn-primary,.dlbtn,.hdr-upgrade-btn{background:#171717!important;color:#fff!important;border:0!important;border-radius:999px!important;box-shadow:0 10px 25px rgba(0,0,0,.12)!important}.btn-ai{background:var(--ce-gold-soft)!important;color:#86663a!important;border:1px solid #e8d8bd!important;border-radius:999px!important}
#prog-overlay{background:rgba(247,247,246,.9)!important;backdrop-filter:blur(26px)!important;color:var(--ce-ink)!important}.prog-bg{background:#dedee0!important}.prog-fill{background:#171717!important}.shot-lbl{color:rgba(255,255,255,.65)!important}.result-head{background:#fff!important}.result-actions{background:#fff!important;border-top:1px solid var(--ce-line)!important}.btn-tiktok{border-radius:999px!important;background:#171717!important}
/* Presentation */
.presentation,.presentation-page{background:var(--ce-paper)!important}.presentation header,.presentation-nav{background:rgba(255,255,255,.82)!important;border-bottom:1px solid var(--ce-line)!important;backdrop-filter:blur(20px)!important}.slide,.presentation-slide{background:#fff!important;border-radius:30px!important;box-shadow:0 25px 80px rgba(0,0,0,.07)!important}.slide h1,.slide h2,.slide h3{font-family:'Playfair Display',Georgia,serif!important;font-style:italic!important}.slide button,.presentation button{border-radius:999px!important}
/* Editorial/blog */
article,.blog-card,.post-card{border-radius:24px!important}.blog-card,.post-card{border:1px solid var(--ce-line)!important;background:#fff!important;box-shadow:0 12px 35px rgba(0,0,0,.04)!important}.blog-card h2,.post-card h2,.post h1{font-family:'Playfair Display',Georgia,serif!important;font-style:italic!important}.blog-card:hover,.post-card:hover{transform:translateY(-3px);box-shadow:0 20px 55px rgba(0,0,0,.07)!important}
/* Shared motion */
.reveal{animation:ce-reveal .65s cubic-bezier(.2,.8,.2,1) both}@keyframes ce-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}a,button,.pill,.btn,.pcard,.mode-card{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,border-color .2s,background .2s,opacity .2s}
@media(max-width:900px){.site-wrap{width:min(100% - 32px,720px)!important}.hero-apple{min-height:auto;padding-top:100px!important}.hero-grid{grid-template-columns:1fr!important}.hero-stage{min-height:500px!important}.hero-copy h1{font-size:clamp(48px,11vw,76px)!important}main:has(#s-upload),body:has(#s-upload) main{width:calc(100% - 32px)!important}.workflow-grid,.metrics-card{grid-template-columns:repeat(2,1fr)!important}.story-grid,.compare-grid,.faq-layout{grid-template-columns:1fr!important}.plans{grid-template-columns:1fr 1fr!important}}
@media(max-width:560px){.site-wrap{width:calc(100% - 24px)!important}.nav-links,.nav-actions .text-link{display:none!important}.hero-stage{min-height:390px!important}.floating-card.photos{left:0!important;width:125px!important}.floating-card.result{right:0!important}.workflow-grid,.metrics-card,.plans{grid-template-columns:1fr!important}.flow-step{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.flow-step:last-child{border-bottom:0!important}main:has(#s-upload),body:has(#s-upload) main{width:calc(100% - 24px)!important;padding-top:36px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Hero reference match: clean tablet product demo, no floating UI over the device. */
.hero-stage{align-self:stretch}.demo-shell{width:min(100%,900px)!important;aspect-ratio:1.42!important;padding:9px!important;border-radius:34px!important;background:#101010!important;box-shadow:0 34px 90px rgba(0,0,0,.18)!important;transform:none!important}.demo-shell:hover{transform:translateY(-3px)!important}.demo-chrome{display:none!important}.demo-shell iframe{border-radius:27px!important;background:#f7f7f5!important}.floating-card.photos,.floating-card.result,.arrow-note{display:none!important}
.hero-stage:after{content:"";position:absolute;width:84%;height:35%;bottom:4%;left:8%;background:radial-gradient(ellipse,rgba(0,0,0,.13),transparent 68%);filter:blur(24px);z-index:-1;pointer-events:none}.hero-copy{position:relative;z-index:2}.hero-copy h1{max-width:640px!important}.hero-copy h1 .soft{display:inline!important}
/* Product UI mirrors the same airy product language as the hero. */
#s-upload,#s-mode,#s-manual,#s-result{max-width:none!important}.sec-bar{display:flex;align-items:center;gap:12px}.sec-acts{margin-left:auto}.settings-panel{padding:24px!important}.sp-grid{gap:16px!important}.pcard{overflow:hidden}.pcard img{transition:transform .7s cubic-bezier(.2,.8,.2,1)}.pcard:hover img{transform:scale(1.025)}
/* Presentation / demo pages: convert the legacy dark treatment to the unified editorial surface. */
body:has(#canvas),body:has(.presentation){background:#f6f6f4!important;color:#171717!important}.sc{background:#fbfbfa!important;color:#171717!important}.sc:before{opacity:.025!important}.lbl{color:#8b7352!important}.sub{color:#737379!important}.cb{background:#fff!important;border:1px solid #dedee1!important;color:#737379!important;border-radius:999px!important}.pill{background:#171717!important;color:#fff!important;border:0!important;border-radius:999px!important}.hl,.uh,.mname,.rh{color:#171717!important}.logo-tag,.logo-sub{color:#909095!important}.bar{background:#dedee0!important}.fill{background:#171717!important}.navdot{background:#d2d2d5!important}.navdot.on{background:#171717!important}
