:root { --cream:#fff; --paper:#fff; --ink:#29231f; --ink-soft:#625c58; --line:#e9e5e1; --shadow:0 22px 65px rgba(45,31,22,.1); }
body { background:#fff; }
.site-header { background:rgba(255,255,255,.95); border-bottom-color:var(--line); }
.hero { background:#fff; }
.hero::before { opacity:.18; }
.hero::after { opacity:.25; }
.how, .photo-guide, .modes, .comparison, .responsible, .quote-section { background:#fff; color:var(--ink); border-top:1px solid var(--line); }
.how .section-head p, .step-card p, .comparison-head p, .comparison-demo-copy p, .compare-row p, .comparison-note { color:var(--ink-soft); }
.how .section-kicker, .comparison-head .section-kicker, .comparison-demo-copy>span, .compare-row>span { color:var(--orange-dark); }
.step-card { border-color:var(--line); background:#fff; }
.step-card:hover { border-color:#ecc2b0; background:#fff; transform:translateY(-4px); }
.step-card--featured { color:var(--ink); background:#fff7f2; border-color:#f2d7c9; transform:none; }
.step-card--featured:hover { background:#fff7f2; transform:translateY(-4px); }
.step-icon { color:var(--orange); background:#fff0e8; }
.ai-pill { color:var(--orange-dark); background:#fff; border-color:#f2d7c9; }
.video-story, .mode-stage, .comparison-demo { background:#fff; border:1px solid var(--line); box-shadow:0 12px 35px rgba(50,34,25,.06); }
.story-copy, .story-bottom, .stage-copy { color:var(--ink); background:#fff; }
.story-top, .story-bottom p, .stage-copy p { color:var(--ink-soft); }
.story-chip { background:#fff7f2; border-color:#f2d7c9; color:var(--orange-dark); }
.stage-copy small { color:var(--orange-dark); }
.video-story:hover video, .video-story.playing video { transform:none; }
.mode-video-frame::after { display:none; }
.mode-video-frame>span { display:none; }
.compare-table { border-color:var(--line); }
.compare-row+.compare-row, .compare-row>*+* { border-color:var(--line); }
.compare-row--head { background:#faf9f8; }
.compare-row--head>*, .comparison-note strong, .compare-row p::before { color:var(--ink); }
.final-cta { min-height:0; display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(30px,5vw,80px); padding:80px clamp(22px,7vw,118px); text-align:left; background:#fff; color:var(--ink); border-top:1px solid var(--line); }
.final-cta video { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; transform:none; border-radius:24px; }
.final-cta .cta-overlay { display:none; }
.final-cta .cta-content { padding:0; }
.final-cta h2 { font-size:clamp(2.5rem,4vw,4rem); line-height:1.07; }
.final-cta p { color:var(--ink-soft); margin:0 0 28px; }
.section-kicker--light { color:var(--orange-dark); }
.button--light { color:#fff; background:var(--orange); box-shadow:0 10px 25px rgba(233,96,44,.15); }
.site-footer { background:#fff; color:var(--ink); padding:18px clamp(16px,5vw,76px); border-top:1px solid var(--line); }
.footer-main { grid-template-columns:max-content minmax(0,1fr); gap:24px; padding-bottom:0; }
.footer-brand { gap:12px; flex-wrap:nowrap; }
.footer-brand .brand { width:118px; height:auto; flex:0 0 auto; }
.footer-brand>span { color:var(--ink-soft); border-left-color:var(--line); padding-left:12px; font-size:.75rem; }
.brand--footer { filter:none; mix-blend-mode:normal; opacity:1; }
.footer-links { min-width:0; gap:4px 20px; font-size:.8125rem; line-height:1.45; }
.footer-links a { display:inline-flex; align-items:center; min-height:32px; max-width:100%; overflow-wrap:anywhere; }
.footer-links a:hover, .footer-links a[aria-current=page] { color:var(--orange-dark); }
.reveal { opacity:1; transform:none; }
.motion-ready .reveal { opacity:0; transform:translateY(20px); }
.motion-ready .reveal.visible { opacity:1; transform:none; }
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible { outline:3px solid #ef8c61; outline-offset:5px; }
.content-link { color:var(--orange-dark); text-decoration:underline; text-underline-offset:4px; font-size:1rem; }
.section-cta .content-link { display:inline-block; margin:20px; }
@media(max-width:820px) { .final-cta { grid-template-columns:minmax(0,1fr); padding:60px 22px; gap:35px; } .footer-main { grid-template-columns:minmax(0,1fr); gap:10px; } .footer-links { justify-content:flex-start; } }
@media(max-width:540px) { .site-footer { padding-block:18px; } .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-items:start; gap:2px 16px; } .footer-links a { min-height:32px; } }
@media(max-width:390px) { .final-cta { padding:48px 16px; } .hero h1 { font-size:clamp(2rem,10vw,2.7rem); line-height:1.06; letter-spacing:-.045em; } }
@media(prefers-reduced-motion:reduce) { .motion-ready .reveal { opacity:1; transform:none; } }
