/* Shared customer-facing palette from the redesigned editorial home. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{color-scheme:light;--editorial-paper:#f4f1eb;--editorial-cream:#e9e4dc;--editorial-ink:#18222b;--editorial-gold:#a3845c;--editorial-line:rgba(24,34,43,.18)}
body{background:var(--editorial-paper);color:var(--editorial-ink);font-family:'DM Sans',system-ui,sans-serif}
body:not(.hero-page) a{color:inherit}
body:not(.hero-page) h1,body:not(.hero-page) h2,body:not(.hero-page) h3{color:var(--editorial-ink);font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em}
body:not(.hero-page) .eyebrow,body:not(.hero-page) .landing-eyebrow{color:#8b765a}
body:not(.hero-page) .muted,body:not(.hero-page) .hero-intro,body:not(.hero-page) .section-heading>p{color:#58636a}
body:not(.hero-page) .brand-lockup,body:not(.hero-page) .landing-brand{color:var(--editorial-ink)}
body:not(.hero-page) .brand-row img,body:not(.hero-page) .landing-brand img{filter:brightness(0)}
body:not(.hero-page) .landing-header{background:var(--editorial-paper);border-color:var(--editorial-line)}
body:not(.hero-page) .landing-hero{background:var(--editorial-paper)}
body:not(.hero-page) .benefit-strip{border-color:var(--editorial-line);color:#8b765a}
body:not(.hero-page) .steps-section,body:not(.hero-page) .security-section{background:var(--editorial-paper)}
body:not(.hero-page) .collection-section{background:var(--editorial-cream)}
body:not(.hero-page) .landing-feature:nth-of-type(even){background:#eee8df}
body:not(.hero-page) .feature-photo,body:not(.hero-page) .collection-grid img{background:#ded6cb;border-color:var(--editorial-line)}
body:not(.hero-page) .landing-cta,body:not(.hero-page) button:not(.google-signin){background:var(--editorial-ink);color:#fff;border:1px solid var(--editorial-ink);border-radius:2px;box-shadow:none}
body:not(.hero-page) .landing-cta.secondary,body:not(.hero-page) button.outline{background:transparent;color:var(--editorial-ink);border-color:var(--editorial-ink)}
body:not(.hero-page) .panel,body:not(.hero-page) .experience-card{background:#fffdfa;border:1px solid var(--editorial-line);border-radius:3px;box-shadow:none;color:var(--editorial-ink)}
body:not(.hero-page) .experience-card.popular{border-color:var(--editorial-gold);background:#f0e9df}
body:not(.hero-page) .experience-card .tagline,body:not(.hero-page) .experience-card .fineprint,body:not(.hero-page) .credit-explanation,body:not(.hero-page) .experience-card .unavailable{color:#58636a}
body:not(.hero-page) .plan-icon,body:not(.hero-page) .allocation,body:not(.hero-page) .price,body:not(.hero-page) .plan-price,body:not(.hero-page) .plan-photos,body:not(.hero-page) .experience-card li:before{color:var(--editorial-gold)}
body:not(.hero-page) .plan-icon{border-color:var(--editorial-gold)}
body:not(.hero-page) .popular-badge{background:var(--editorial-ink);color:#fff}
body:not(.hero-page) input,body:not(.hero-page) select,body:not(.hero-page) textarea{background:#fffdfa;color:var(--editorial-ink);border:1px solid #c8bbaa}
body:not(.hero-page) .tile{background:#fffdfa;color:var(--editorial-ink);border:1px solid var(--editorial-line)}
body:not(.hero-page) .tile[aria-pressed=true]{outline-color:var(--editorial-gold)}
body:not(.hero-page) .gallery img{background:#e9e4dc}
body:not(.hero-page) .closing-section{background:#d7c8b6;border-color:var(--editorial-line);border-radius:3px}
body:not(.hero-page) .site-footer{background:transparent;color:var(--editorial-ink)}
body:not(.hero-page) .site-footer a{color:var(--editorial-ink)}
/* The portrait studio keeps its flow, with the editorial palette. */
body.hero-page{--bg:#f4f1eb;--ink:#18222b;--muted:#58636a;--line:rgba(24,34,43,.25);background-color:var(--editorial-paper);color:var(--editorial-ink)}
body.hero-page #step-open{background-color:var(--editorial-paper);background-image:none;color:var(--editorial-ink)}
body.hero-page #step-open::after{background:none}
body.hero-page #step-open .open-line,body.hero-page #step-open .open-intro-note,body.hero-page #step-open .open-eyebrow{color:var(--editorial-ink);text-shadow:none}
body.hero-page #step-open .open-line em{color:var(--editorial-gold)}
body.hero-page #step-open .script,body.hero-page .lockup .script{filter:brightness(0)}
body.hero-page #step-open .camera,body.hero-page .lockup .camera{filter:brightness(0)}
body.hero-page .showcase-slide{background:#fffdfa;color:var(--editorial-ink);border-color:var(--editorial-line);box-shadow:none}
body.hero-page #begin,body.hero-page #subscription-entry,body.hero-page #pricing-continue{background:var(--editorial-ink);color:#fff;border-color:var(--editorial-ink);border-radius:2px}
body.hero-page .explore-studio-secondary{color:var(--editorial-ink);border-color:var(--editorial-ink)}
body.hero-page #step-studio,body.hero-page #step-looks,body.hero-page #step-poses,body.hero-page #step-styling,body.hero-page #step-preview,body.hero-page #step-pricing{background-color:var(--editorial-paper);color:var(--editorial-ink)}
body.hero-page .quality-card,body.hero-page .style-tiles button{background:#fffdfa;color:var(--editorial-ink);border-color:var(--editorial-line)}
body.hero-page #step-open>.home-pricing-link{color:var(--editorial-ink)}
body.hero-page .site-footer{background:transparent;color:var(--editorial-ink)}
body.hero-page .site-footer a{color:var(--editorial-ink)}
@media(max-width:999px){body.hero-page #step-open{background-image:none}body.hero-page #step-open .showcase-slide{background:#fffdfa}}
body.hero-page .showcase-frame{background:var(--editorial-paper);border-color:transparent}
body.hero-page .showcase-slide .experience-category span,body.hero-page .showcase-slide .visual-seal,body.hero-page .showcase-slide .trial-seal,body.hero-page .showcase-slide .privacy-seal span{color:#fff3df}
body.hero-page .showcase-slide .experience-copy h2,body.hero-page .showcase-slide .experience-copy p,body.hero-page .showcase-slide .experience-kicker,body.hero-page .showcase-slide .experience-step strong{color:var(--editorial-ink)}
body.hero-page #showcase-hint{color:#8b765a}
body:not(.hero-page) .theme-grid button,body:not(.hero-page) .quality-option{background:#fffdfa;color:var(--editorial-ink);border-color:var(--editorial-line);border-radius:3px}
body:not(.hero-page) .theme-grid button small,body:not(.hero-page) .quality-option small{color:#58636a}
body:not(.hero-page) .photo-picker{background:#fffdfa;color:var(--editorial-ink);border-color:var(--editorial-gold);border-radius:3px}
body:not(.hero-page) .photo-picker small{color:#58636a}
body:not(.hero-page) .note{color:#58636a}
body:not(.hero-page) footer:not(.site-footer){border-color:var(--editorial-line)}
/* Portrait tiles keep their image crop and readable white captions on cream pages. */
body .types :is(a,button),body .looks :is(a,button){color:#fff;border-color:rgba(24,34,43,.24)}
body .types .cap,body .looks .cap{color:#fff;background:linear-gradient(to top,rgba(8,12,17,.88),rgba(8,12,17,.08) 75%,transparent)}
body .types .cap b,body .looks .cap b,body .types .cap .num,body .looks .cap .num{color:#fff}
body .types .cap small,body .looks .cap small{color:#f4f1eb}
body:not(.hero-page) .poses button{background-color:#141414;background-position:center top;background-size:cover;background-repeat:no-repeat;color:#fff;border-color:rgba(24,34,43,.25);border-radius:12px}
body:not(.hero-page) .poses button.signature-pose{background-size:auto 145%;background-position:center top}
body:not(.hero-page) .poses button b,body:not(.hero-page) .poses button .pose-number{color:#fff;text-shadow:0 1px 4px #000b}
body:not(.hero-page) .poses button::after{background:linear-gradient(to top,rgba(8,12,17,.82),transparent)}
body .look-kicker{color:#6c645b}
body .look-brand .script,body .look-brand .camera,body .studio-copy .script,body .studio-copy .camera{filter:brightness(0)}
body .home-back{color:#8b765a}
body .discovery-copy a{color:#65533e}
body:not(.hero-page) #pose-create:disabled{background:#757a7b;border-color:#757a7b;color:#fff;opacity:1}
main:has(#step-poses:not(.hidden)){overflow-x:clip}
/* Upload flow: dark controls and captions stay readable on the paper background. */
body:not(.hero-page){--ink:#18222b;--muted:#58636a;--line:rgba(24,34,43,.24)}
body:not(.hero-page) #step-capture .file-btn{background:#fffdfa;color:var(--editorial-ink);border:1px solid var(--editorial-gold);font-weight:500}
body:not(.hero-page) #step-capture .file-btn .chev{color:var(--editorial-ink);border-color:var(--editorial-gold)}
body:not(.hero-page) #step-capture .capture-poses figcaption{color:#65533e}
body:not(.hero-page) #capture-continue:disabled{background:#757a7b;border-color:#757a7b;color:#fff;opacity:1}
/* Keep actions consistent while preserving clear quality selection and disabled states. */
body .landing-cta,body button:not(.google-signin):not(.customer-menu-toggle):not(.showcase-dot),body.hero-page #begin,body.hero-page #subscription-entry,body.hero-page #pricing-continue{border-radius:6px}
body:not(.hero-page) button:disabled,body.hero-page button:disabled{background:#aeb2b3;color:#30383d;border-color:#aeb2b3;opacity:1;cursor:not-allowed;box-shadow:none}
body:not(.hero-page) .quality-option,body.hero-page .quality-card{background:#fffdfa;color:var(--editorial-ink);border:1px solid #b9ad9c;border-radius:8px;box-shadow:none}
body:not(.hero-page) .quality-option.chosen,body.hero-page .quality-card[aria-pressed="true"]{background:#f0e9df;border:2px solid #8b6838;box-shadow:0 0 0 2px #8b683833}
body.hero-page .quality-card p,body.hero-page .quality-card li,body.hero-page .quality-title{color:var(--editorial-ink)}
body.hero-page .quality-card .quality-photo span{color:#f1d8a5}
body.hero-page #pricing-continue .generation-credit-cost{color:#fff;opacity:.8}
body:not(.hero-page) .quality-card{background:#fffdfa;color:var(--editorial-ink);border:1px solid #b9ad9c;border-radius:8px;box-shadow:none}
body:not(.hero-page) .quality-card[aria-pressed="true"]{background:#f0e9df;border:2px solid #8b6838;box-shadow:0 0 0 2px #8b683833}
body:not(.hero-page) .quality-card p,body:not(.hero-page) .quality-card li,body:not(.hero-page) .quality-title{color:var(--editorial-ink)}
body:not(.hero-page) .quality-intro{color:#58636a}
body:not(.hero-page) #pricing-continue{background:var(--editorial-ink);color:#fff;border-color:var(--editorial-ink)}
body:not(.hero-page) #pricing-continue .generation-credit-cost{color:#fff;opacity:.8}
body #studio-navigation a{color:var(--editorial-ink)}
body:not(.hero-page) #queue,body:not(.hero-page) #to-pricing{background:var(--editorial-ink);color:#fff;border-color:var(--editorial-ink);border-radius:6px}
body:not(.hero-page) #queue:disabled,body:not(.hero-page) #to-pricing:disabled{background:#aeb2b3;color:#30383d;border-color:#aeb2b3}
/* Actions, navigation and choices have distinct roles and visible states. */
[hidden]{display:none!important}
body:not(.hero-page) #step-pricing button.quality-card{position:relative;background:#fffdfa;color:#18222b;border:2px solid #c6bbaa;box-shadow:none}
body:not(.hero-page) #step-pricing button.quality-card[aria-pressed="true"]{background:#eee4d5;border-color:#8b6838;box-shadow:0 0 0 2px #8b683833}
body:not(.hero-page) #step-pricing button.quality-card:disabled{background:#e9e6e0;color:#62696d;border-color:#d1cbc2;box-shadow:none;cursor:not-allowed}
body:not(.hero-page) #step-pricing button.quality-card:disabled :is(.quality-title,p,li){color:#62696d}
.quality-availability{display:block;margin-top:16px;font-size:13px;font-weight:600;color:#655139}
body:not(.hero-page) #step-styling .style-tiles button{position:relative;background:#fffdfa;color:#18222b;border:2px solid #c6bbaa;box-shadow:none}
body:not(.hero-page) #step-styling .style-tiles button[aria-pressed="true"]{background:#eee4d5;border-color:#8b6838;box-shadow:0 0 0 2px #8b683833}
body:not(.hero-page) #step-styling .style-tiles button[aria-pressed="true"]::after{content:'✓';position:absolute;right:12px;top:8px;font-size:20px;color:#655139}
body:not(.hero-page) #step-styling .style-tiles button:disabled{background:#e9e6e0;color:#62696d;border-color:#d1cbc2;box-shadow:none}
body:not(.hero-page) #step-styling .look-title{color:#18222b}
body:not(.hero-page) #step-styling .styling-description{color:#58636a}
body:not(.hero-page) :is(#pricing-back,#back-upload,.look-head .back,#capture-back){background:transparent;color:#18222b;border:1px solid #a99b88;box-shadow:none;border-radius:6px}
body:not(.hero-page) :is(#pricing-back,#back-upload,.look-head .back,#capture-back):hover{background:#e9e4dc}
body:not(.hero-page) :is(#styling-next,#pose-create,#capture-continue):not(:disabled){background:#18222b;color:#fff;border-color:#18222b}
body:not(.hero-page) #pricing-continue:disabled{background:#aeb2b3;color:#30383d;border-color:#aeb2b3}
body:not(.hero-page) #images-gallery{align-items:stretch}
body:not(.hero-page) #images-gallery figure{display:flex;flex-direction:column}
body:not(.hero-page) #images-gallery img{aspect-ratio:2/3;object-fit:contain;background:#e9e4dc;flex:none}
body:not(.hero-page) #images-gallery .image-download{margin-top:auto}
body:not(.hero-page) :is(.look-head .back,#capture-back){display:grid;place-items:center;padding:0}
body:not(.hero-page) #step-pricing .quality-card[aria-pressed="true"] .quality-title strong::after{content:' ✓';color:#655139}
/* One back control for category, style, pose and upload screens. */
body :is(#studio-back,#look-back,#pose-back,#capture-back,#styling-back,#work-back){display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #a99b88;border-radius:6px;background:#f4f1eb;color:#18222b;box-shadow:none;text-decoration:none;cursor:pointer;line-height:1;z-index:3}
body :is(#studio-back,#look-back,#pose-back,#capture-back,#styling-back,#work-back) svg{display:block;width:22px;height:22px;pointer-events:none}
body :is(#studio-back,#look-back,#pose-back,#capture-back,#styling-back,#work-back):hover{background:#e9e4dc}
body :is(#studio-back,#look-back,#pose-back,#capture-back,#styling-back,#work-back):focus-visible{outline:2px solid #8b6838;outline-offset:4px}
body :is(.studio-back-link,#back-themes,#back-upload,.purchase-back){background:transparent;color:#18222b;border:1px solid #a99b88;border-radius:6px;box-shadow:none;text-decoration:none}
body .studio-back-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px}
body .studio-toast{position:fixed;z-index:1100;left:50%;bottom:80px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);margin:0;padding:16px 22px;border:1px solid #8b765a;border-radius:8px;background:#18222b;color:#fff;box-shadow:0 8px 30px #18222b33;font-size:15px;line-height:1.5;text-align:center}
#customer-context .customer-plan{display:block;width:fit-content;padding:4px 10px;border:1px solid #a3845c;border-radius:5px;color:#f1d8a5;font-size:12px}

/* Quality selectors remain readable against their light selection surfaces. */
body:not(.hero-page) button.quality-option{background:#fffdfa;color:#18222b;border:2px solid #b9ad9c;box-shadow:none}
body:not(.hero-page) button.quality-option small{color:#4b5962}
body:not(.hero-page) button.quality-option.chosen{background:#f0e9df;color:#18222b;border-color:#8b6838;box-shadow:0 0 0 2px #8b683833}
body:not(.hero-page) button.quality-option:disabled{background:#e9e6e0;color:#515b62;border-color:#c6bfb4;box-shadow:none;opacity:1}
body:not(.hero-page) button.quality-option:disabled small{color:#515b62}
body:not(.hero-page) button.quality-option:focus-visible{outline:3px solid #1665c0;outline-offset:3px}

/* Account copy and its primary studio action use readable theme colours. */
body:not(.hero-page):has(#account-billing) h1 em{color:#82633e}
body:not(.hero-page):has(#account-billing) .intro-note{color:#58636a}
body:not(.hero-page) a.account-explore{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 24px;border:1px solid #18222b;border-radius:6px;background:#18222b;color:#fff;font:500 15px/1.4 'DM Sans',system-ui,sans-serif;text-decoration:none}
body:not(.hero-page) a.account-explore:hover{background:#293b46}
body:not(.hero-page) a.account-explore:focus-visible{outline:3px solid #1665c0;outline-offset:3px}
@media(max-width:600px){body:not(.hero-page) a.account-explore{width:100%}}

/* Provisional Stillo wordmark exports; the footer stays light on navy. */
img[src="/stillo-wordmark-dark.png"]{filter:brightness(0)}
footer img[src="/stillo-wordmark-dark.png"]{filter:brightness(0) invert(1)}
