/* Phase 4. Semantic palette: photos and official logo retain their original colors. */
:root{--bg:#fafaf8;--surface:#fff;--soft:#f0f1eb;--raised:#e9ebe2;--ink:#20231c;--muted:#5d6357;--line:#d9ded0;--control-line:#858e7b;--yellow:#f3cb14;--accent-ink:#766000;--on-accent:#20231c;--strong:#24291f;--on-strong:#fff;--photo:#fff;--photo-ink:#30352a;--error:#a32528;--error-bg:#fff0ed;--notice:#f4edd2;--shadow:0 12px 36px #20291a12;--focus:#937300;--easing:cubic-bezier(.2,0,0,1)}
:root[data-theme=dark]{--bg:#171916;--surface:#20241e;--soft:#252a22;--raised:#30372b;--ink:#f0f2e9;--muted:#bac2b2;--line:#3b4435;--control-line:#748268;--accent-ink:#f3cb14;--strong:#e4ebd9;--on-strong:#1d2418;--error:#ffb3ab;--error-bg:#3e2424;--notice:#373322;--shadow:0 12px 36px #0003;--focus:#f3cb14}
body{transition:background-color .2s,color .2s}.preview-ribbon{background:var(--soft);color:var(--muted);border-color:var(--line)}.site-header{gap:22px;border-bottom:1px solid var(--line)}.brand{padding:8px 10px;background:var(--photo);border-radius:3px}.brand img{width:166px}.desktop-nav{gap:22px}.desktop-nav a:hover,.footer-grid a:hover{color:var(--accent-ink)}.desktop-nav a[aria-current=page]{text-decoration-color:var(--accent-ink)}.theme-toggle{width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);display:grid;place-items:center;transition:background .2s,transform .2s}.theme-toggle:hover{background:var(--raised);transform:rotate(12deg)}.theme-icon{width:17px;height:17px;border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%);transform:rotate(-35deg)}[data-theme=dark] .theme-icon{transform:rotate(145deg)}.menu-toggle{color:var(--ink);min-width:44px;min-height:44px}.mobile-nav{background:var(--surface)}.mobile-nav a{min-height:44px}.button-yellow,.add-button,.add-button.in-quote,[data-cart-count]{color:var(--on-accent)}.button-dark{background:var(--strong);color:var(--on-strong)}.button-dark:hover{background:var(--strong);filter:brightness(.94)}.button-outline{border-color:var(--control-line)}.button-outline:hover{background:var(--raised);border-color:var(--ink)}.text-button,.stage-actions .text-button{color:var(--accent-ink);min-height:44px}.text-link{border-color:var(--control-line);min-height:44px;align-items:center}.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.skip-link{color:var(--on-accent)}
.hero-copy,.hero-stage{animation:none}.hero{padding-top:58px;padding-bottom:65px}.hero h1{letter-spacing:-.045em}.hero-lede{color:var(--muted);max-width:440px}.hero-stage{background:var(--photo);border:1px solid var(--line);border-radius:3px 70px 3px 3px;box-shadow:var(--shadow);color:var(--photo-ink)}.hero-stage:before{content:'';position:absolute;left:26px;top:61px;width:42px;height:3px;background:var(--yellow)}.hero-main-product img{mix-blend-mode:normal}.hero-secondary{color:var(--photo-ink);border-color:#e0e1d9}.hero-caption,.promise-inner,.collection-number,.collection-card p,.product-info>span,.product-bottom small,.process-list p,.about-copy>p:not(.eyebrow),.last-cta p,.section-heading p:not(.eyebrow),.footer-grid p,.footer-grid a,.footer-bottom,.breadcrumb,.gallery-caption p span,.product-facts span,.stage-description,.phase-note,.summary-label,.quote-sidebar>p,.custom-preview p,.sidebar-tip p,.quote-item-heading span{color:var(--muted)}.promise-inner span:before,.process-list article>span{color:var(--accent-ink)}.collection-card{background:var(--surface);border:1px solid var(--line);padding:20px}.collection-card img{mix-blend-mode:normal;background:var(--photo);border-radius:4px;padding:10px}.collection-card:hover,.product-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.collection-number{font-variant-numeric:tabular-nums}.collection-card h3{padding-top:7px}.product-card{border-color:var(--line)}.product-photo{background:var(--photo);border-bottom:1px solid var(--line)}.product-photo img{mix-blend-mode:normal}.product-card:has(.in-quote){border-color:var(--accent-ink)}.product-card:hover .product-photo img{transform:scale(1.025)}.product-info{padding:21px}.add-button{width:44px;height:44px;flex:none;border-color:transparent}.photo-action{background:var(--photo);color:var(--photo-ink);border:1px solid #e0e1d9}.how-section,.last-cta{background:var(--soft);border-color:var(--line)}.process-list article,.about-object span,.product-facts,.footer-bottom{border-color:var(--line)}.about-object{background:var(--surface);border:1px solid var(--line)}.about-object img{mix-blend-mode:normal;background:var(--photo);border-radius:4px}.footer-grid img{padding:10px;background:var(--photo);border-radius:3px;width:200px}.footer-replay{padding:0;color:var(--muted);text-align:left;font-size:14px}.search-field input,.field input,.field textarea,.field select{background:var(--surface);color:var(--ink);border-color:var(--control-line);min-height:48px}.search-field input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.search-icon{color:var(--muted)}.category-chip{color:var(--ink);border-color:var(--control-line);min-height:44px}.category-chip:hover{background:var(--raised)}.category-chip.selected{background:var(--strong);color:var(--on-strong);border-color:var(--strong)}.category-list{scrollbar-color:var(--control-line) transparent}.catalog-after,.quote-sidebar{background:var(--soft);border:1px solid var(--line)}.empty-state,.custom-preview{background:var(--soft);border-color:var(--line)}.gallery-main{background:var(--photo);color:var(--photo-ink);border:1px solid var(--line)}.gallery-main>img{mix-blend-mode:normal}.gallery-main>span{color:var(--photo-ink)}.image-lightbox{background:var(--photo)}.dialog-close{min-width:44px;min-height:44px;color:var(--photo-ink)}.quote-workspace,.quote-item,.clear-draft-dialog{background:var(--surface);color:var(--ink);border-color:var(--line)}.quote-stepper{border-color:var(--line)}.quote-stepper button{background:var(--soft);color:var(--muted);min-height:62px}.quote-stepper button[aria-current]{background:var(--surface);color:var(--ink)}.quote-stepper button[aria-current] span{color:var(--accent-ink)}.quote-item{padding:24px;margin-bottom:20px}.quote-item-heading{align-items:center}.quote-item-heading>div{flex:1;min-width:0}.quote-item-heading>img{background:var(--photo);padding:4px;border-radius:4px;object-fit:contain;flex:none}.quote-item-heading small{color:var(--muted)}.item-fields{grid-template-columns:minmax(130px,.45fr) 1fr}.item-fields .field:has(textarea){grid-column:1/-1}.custom-icon{background:var(--notice);color:var(--accent-ink)}.custom-preview{border:1px solid var(--line)}.custom-preview summary{min-height:44px;align-content:center}.quote-sidebar{position:sticky;top:24px}.quote-sidebar dl>div,.sidebar-tip{border-color:var(--line)}.message-example{background:var(--soft)!important;border-color:var(--line)!important;line-height:1.7;font-size:15px;padding:22px}.contact-preview .art-instruction,.art-instruction,.long-message,.storage-warning{background:var(--notice);color:var(--ink)}.field-error{color:var(--error)}[aria-invalid=true]{border-color:var(--error)!important}.error-summary{background:var(--error-bg);border-color:var(--error)}.toast{background:var(--strong);color:var(--on-strong);box-shadow:var(--shadow);border-left:4px solid var(--yellow)}.button:disabled{background:var(--soft);color:var(--muted);border-color:var(--line)}.send-note{color:var(--muted)}
/* Presentation is independent of content. Final CSS state is fail-open. */
.brand-intro{position:fixed;inset:0;z-index:200;background:#171916;display:grid;place-items:center;color:#eff1e8;animation:intro-exit 350ms 2300ms both;isolation:isolate}.brand-intro:before{content:'';position:absolute;inset:20% 15%;background:radial-gradient(ellipse,#e8c02010,transparent 65%);z-index:-1}.intro-composition{width:min(610px,84vw);text-align:center}.intro-kicker{font-size:10px;letter-spacing:.22em;color:#c8cbbb;margin-bottom:28px}.intro-logo{position:relative;aspect-ratio:443/137;background:#fafaf8;border:18px solid #fafaf8;box-sizing:content-box;border-radius:3px;box-shadow:0 20px 80px #0003}.intro-logo img{position:absolute;width:100%;height:100%;object-fit:contain}.intro-symbol{clip-path:inset(0 69% 0 0);animation:intro-symbol 850ms var(--easing) both}.intro-wordmark{clip-path:inset(0 0 0 34%);animation:intro-wordmark 750ms 650ms var(--easing) both}.intro-rule{display:block;height:2px;width:48px;background:#f3cb14;margin:30px auto 20px;animation:intro-rule 900ms 250ms var(--easing) both}.intro-caption{font-size:16px;letter-spacing:.02em;color:#c8cbbb;animation:intro-caption 650ms 1050ms both}.intro-skip{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));right:clamp(24px,5vw,72px);min-height:48px;padding:10px 18px;background:transparent;border:1px solid #66705d;color:#eff1e8;border-radius:4px;font-size:14px}.intro-skip span{margin-left:15px}.intro-skip:hover{background:#30372b}.intro-skip:focus-visible{outline:3px solid #f3cb14;outline-offset:4px}
@keyframes intro-symbol{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(6px)}to{opacity:1;clip-path:inset(0 69% 0 0);transform:none}}
@keyframes intro-wordmark{from{opacity:0;clip-path:inset(0 66% 0 34%);transform:translateX(-8px)}to{opacity:1;clip-path:inset(0 0 0 34%);transform:none}}
@keyframes intro-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes intro-caption{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes intro-exit{from{opacity:1;visibility:visible;pointer-events:auto}to{opacity:0;visibility:hidden;pointer-events:none}}
@media(min-width:761px) and (max-width:1100px){.desktop-nav{gap:14px}.site-header{gap:12px;padding-inline:24px}.brand img{width:146px}.header-quote{font-size:13px;padding-inline:14px;gap:10px}}
@media(max-width:900px) and (min-width:761px){.desktop-nav a:nth-child(2){display:none}.hero h1{font-size:49px}.hero-actions{gap:12px}.hero-actions .text-link{font-size:13px}}
@media(max-width:760px){.site-header{gap:12px}.theme-toggle{margin-left:auto}.menu-toggle{margin-left:0}.brand img{width:152px}.brand{padding:6px}.mobile-nav{top:107px}.hero{padding-top:36px;padding-bottom:45px}.hero-stage{border-top-right-radius:52px}.product-info{padding:15px}.quote-sidebar{position:static}.quote-item{padding:17px}.quote-item-heading{flex-wrap:wrap}.quote-item-heading .remove-item{margin-left:auto}.quote-stage{padding:18px}.item-fields{grid-template-columns:1fr}.item-fields .field:has(textarea){grid-column:auto}.quote-stepper button{font-size:12px}.intro-composition{width:80vw}.intro-logo{border-width:12px}.intro-kicker{font-size:9px;letter-spacing:.13em}.intro-caption{font-size:14px}.intro-skip{right:24px}.collection-card{padding:14px}.collection-card img{padding:6px}.quote-stage .stage-actions{gap:16px}.stage-actions .button{white-space:normal}.quote-page .phase-note{line-height:1.6}}
@media(max-width:390px){.brand img{width:137px}.site-header{gap:8px;padding-inline:16px}.hero h1{font-size:43px}.hero-actions{gap:12px}.product-info{padding:12px}.product-info h3{font-size:16px}.product-bottom{flex-wrap:wrap}.product-bottom small{max-width:100%}.add-button{margin-left:auto}.collection-card h3{font-size:16px}.quote-stage{padding:14px}.quote-item{padding:12px}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}.hero-main-product:hover img,.hero-secondary:hover,.collection-card:hover,.product-card:hover,.product-card:hover .product-photo img,.button:hover,.theme-toggle:hover{transform:none}.hero-secondary{transform:none}html{scroll-behavior:auto}}
@media(max-width:760px){.mobile-nav{position:relative;top:auto}.mobile-cart{bottom:max(16px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){#replay-intro{display:none}}

.catalog-count{color:var(--muted)}
