/* Sobremesa: warm paper, burgundy ink and generous editorial rhythm. */
:root{--cream:#faf6ee;--ink:#482433;--wine:#742b40;--muted:#786b67;--line:#dfd3c5}
body{background:var(--cream)}.nav{height:96px}.nav-contact{color:var(--wine)}.hero{padding-top:42px}.hero-kicker{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.hero h1{font-size:clamp(56px,7.6vw,118px);margin:32px 0;letter-spacing:-.065em;line-height:1.04}.hero h1 .serif{color:var(--wine)}.hero-bottom p{font-size:15px}.hero-bottom strong{font-weight:400}.button{border-radius:999px;min-height:56px;padding:17px 26px;font-size:13px;gap:24px}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #742b4014}.live-scene,.live-scene[data-mood]{background:radial-gradient(ellipse at 50% 100%,#e4c3a6,transparent 70%),#eee1d2;border-radius:160px 160px 8px 8px;color:var(--wine);margin-top:48px}.live-scene .scene-title,.scene-center>span:first-child,#scene-detail{color:var(--wine);text-shadow:none}.scene-outline{-webkit-text-stroke:1px #742b401a}.live-scene #light-canvas{opacity:.36;mix-blend-mode:multiply}.mood-buttons{background:#faf6ee9c;border-color:#cdb9a5;backdrop-filter:blur(10px)}.mood-buttons button{color:var(--wine);min-height:44px}.mood-buttons button[aria-pressed=true]{background:var(--wine);color:var(--cream)}.section,.timeline-section{padding-top:90px;padding-bottom:90px}.montages{background:#f0e7da}.montages .section-heading h2{font-size:clamp(52px,7vw,100px)}.montage-art{border:1px solid #e0d3c2;background:#faf6ee;border-radius:12px;padding:20px;box-shadow:0 24px 60px #5b302509}.montage-tabs button{border-radius:8px 8px 0 0;min-height:60px}.montage-tabs button[aria-selected=true]{background:#faf6ee;color:var(--wine)}.montage-copy p{font-size:14px}.montage-copy ul{font-size:12px}.upgrade{background:#faf6ee;color:var(--ink)}.upgrade h2{font-size:clamp(48px,6vw,84px)}.upgrade-heading>.eyebrow{display:block;color:var(--muted)}.fx-preview{background:radial-gradient(ellipse at 50% 100%,#bb8c7b44,transparent 70%),#e9ddce;border:1px solid var(--line);border-radius:12px}.fx-options{border-color:var(--line)}.fx-option,.fx-option:first-child{color:var(--ink);border-color:var(--line);padding-left:20px}.fx-option[aria-pressed=true]{background:#f0e7da}.fx-index,.fx-description,.fx-footer p{color:#77645c}.fx-name i{border-color:#bca592}.fx-option[aria-pressed=true] .fx-name i{background:var(--wine);border-color:var(--wine);color:var(--cream)}.fx-footer .button{background:var(--wine);color:var(--cream)}.extras{background:#f0e7da}.extras-intro{font-size:14px;line-height:1.8;max-width:550px;color:var(--muted);margin-top:25px}.extras-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-top:0;gap:12px;margin-top:36px}.extra-item,.extra-item:nth-child(n){text-align:left;border:1px solid #d9cbbb;padding:24px!important;border-radius:8px;min-height:210px;background:#faf6ee70;display:flex;flex-direction:column;align-items:flex-start}.extra-item h3{margin:22px 0 10px;font-size:27px}.extra-item p{font-size:12px}.extra-arrow{right:20px;top:20px}.extra-action{font-size:11px;display:block;margin-top:auto;padding-top:24px;color:var(--wine)}.extra-item[aria-pressed=true]{border-color:var(--wine);background:#fffaf3;box-shadow:inset 0 0 0 1px var(--wine)}.extra-item:last-child{grid-column:span 2}.extra-item:last-child h3{font-family:Georgia,serif;font-style:italic;font-size:38px}.how-it-works{padding-bottom:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:30px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps article>span{font-size:10px;color:var(--muted);letter-spacing:.1em}.steps h3{font-size:26px;letter-spacing:-.04em;margin:25px 0 12px}.steps p{font-size:13px;line-height:1.8;color:var(--muted)}.contact{background:#efe4d6;color:var(--ink);border-top:1px solid var(--line)}.contact h2{font-size:clamp(48px,5vw,76px)}.contact p,.contact label{color:#74615b}.contact .email{color:var(--wine);border-color:#bca793}.contact input,.contact textarea{color:var(--ink);border-color:#baa494}.contact input::placeholder,.contact textarea::placeholder{color:#87736a}.contact input[type=date]{color-scheme:light}.contact .button{background:var(--wine);color:var(--cream)}.form-heading{font-family:Georgia,serif;font-style:italic;font-size:26px!important;color:var(--wine)!important;margin-bottom:28px}.email-alternative{font-size:12px;padding:20px 0;color:var(--wine);text-decoration:underline;text-underline-offset:5px}.form-note{max-width:52ch;line-height:1.7!important}#request-summary:empty{display:none}#request-summary{background:#faf6ee;border:1px solid #dfcfbd;border-radius:6px;margin-bottom:24px;padding:16px;font-size:12px;line-height:1.7;color:var(--wine)}.floating-contact{position:fixed;right:24px;bottom:24px;z-index:90;padding:16px 21px;background:var(--wine);color:var(--cream);border-radius:40px;box-shadow:0 6px 25px #48243326;font-size:12px;display:flex;gap:24px;align-items:center;transition:opacity .25s}.intro-active .floating-contact,.floating-contact.is-hidden{opacity:0;pointer-events:none}footer{padding-bottom:100px}.intro-top{position:relative;z-index:10}.intro-top button{border-bottom:1px solid #bca58d;font-size:12px;min-height:44px}.invitation .envelope{width:min(78vw,1050px,100dvh);aspect-ratio:1.65}.invitation .envelope-scene{padding:12px 0}.invitation .intro-heading{margin-top:4px}.invitation .intro-heading h2{font-size:clamp(28px,3.2vw,48px)}.invitation .seal{width:92px;height:92px;left:calc(50% - 46px)}.invitation .letter-title{font-size:clamp(30px,4vw,62px)}.invitation .letter{padding:8%}.invitation.opening .envelope{transform:translateY(65px) rotate(0)}
@media(min-width:1600px){.nav,.hero,.section,.wedding-sound,footer{padding-left:max(5%,calc((100% - 1440px)/2));padding-right:max(5%,calc((100% - 1440px)/2))}.nav{margin:0}}
@media(max-width:1000px){.extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{gap:25px}.hero h1{font-size:8vw}.nav nav{gap:20px}}
@media(max-width:760px){.nav{height:82px}.hero-kicker{font-size:9px}.hero-kicker span:last-child{display:none}.hero{padding-top:25px}.hero h1{font-size:clamp(43px,9.8vw,72px);margin:24px 0;line-height:1.08}.hero-bottom{align-items:flex-start;flex-direction:column;gap:22px}.hero-bottom p{font-size:14px;line-height:1.7}.hero-bottom .button{width:100%}.live-scene{border-radius:65px 65px 8px 8px;margin-top:32px}.section,.timeline-section{padding-top:58px;padding-bottom:58px}.montage-panel{display:block}.montage-copy{padding-top:28px}.montage-art{padding:12px}.montage-tabs button span{font-size:14px}.extras-grid{gap:10px}.extra-item,.extra-item:nth-child(n){padding:20px!important;min-height:210px}.extra-item h3{font-size:24px}.extra-item:last-child{min-height:190px}.steps{grid-template-columns:1fr;gap:28px}.steps h3{margin-top:16px}.contact{gap:35px}.floating-contact{bottom:max(14px,env(safe-area-inset-bottom));right:14px;padding:15px 20px}.invitation .envelope{width:92vw;max-width:640px}.invitation .seal{width:76px;height:76px;left:calc(50% - 38px)}.invitation .intro-heading h2{font-size:31px}.invitation .intro-top .brand{font-size:24px}.invitation .intro-top button{font-size:10px}.timeline-footer>span{max-width:100%}}
@media(max-width:420px){.extras-grid{grid-template-columns:1fr}.extra-item:last-child{grid-column:auto}.extra-item,.extra-item:nth-child(n){min-height:180px}.hero h1{font-size:10vw}.nav .brand{font-size:25px}}
@media(max-height:600px){.invitation .intro-heading{display:none}.invitation .envelope{width:min(70vw,80dvh)}.invitation .seal{width:60px;height:60px;left:calc(50% - 30px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}}
.invitation .intro-top{justify-content:space-between;width:100%;gap:24px}.intro-active .floating-contact{visibility:hidden}.floating-contact.is-hidden{visibility:hidden}
