/* The stationery collection: shaped paper, silk edges and quieter ornament. */
:root{--soft-shadow:0 8px 24px #49383f07;--foil:#bda16a}
/* Keep every line on the stationery, including its closing signature. */
.hero-art .letter{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;height:auto;min-height:236px;padding:22px 18px}
.hero-art .letter .hand{flex:none;margin:0}
.hero-art .letter .eyebrow{display:block;flex:none;width:100%;line-height:1.5}
.hero-art .letter .letter-signoff{white-space:nowrap;font-size:8px;letter-spacing:1.3px}
.hero-art .letter .knot{display:block;flex:none;width:84px;height:44px}
.keepsake-preview .keepsake-album{width:136px;flex:0 0 136px;align-self:center}
.keepsake-preview .keepsake-album .book-image{width:100%;margin:0;box-shadow:0 6px 14px #3d34221a}
.keepsake-preview>div:last-child{min-width:0}
@media(min-width:581px) and (max-width:1150px){.hero-art .letter{height:auto;min-height:220px;padding:20px 16px}.hero-art .letter .hand{margin:0}.keepsake-preview{padding:22px 20px;gap:18px}.keepsake-preview .keepsake-album{width:116px;flex-basis:116px}}
.nav .wedding-icon{width:28px;height:28px;flex:0 0 28px;stroke-width:1.35;color:#d6b77d;overflow:visible;transition:color .18s ease}
.nav .wedding-icon .icon-light{stroke:#eee2cc}
.nav .wedding-icon .icon-foil{fill:#d6b77d;fill-opacity:.3}
.nav .wedding-icon .icon-overlap{paint-order:stroke;stroke-width:1.6}
.nav .wedding-icon .icon-spark{stroke:#f2dbae;stroke-width:1.15}
.nav button:hover .wedding-icon,.nav button.active .wedding-icon{color:#f2d294}
.nav button:hover .icon-light,.nav button.active .icon-light{stroke:#fff5e3}
.nav button{gap:12px}
@media(prefers-reduced-motion:reduce){.nav .wedding-icon{transition:none}}
.sidebar{padding-top:23px;overflow-y:auto;scrollbar-width:thin}
.brandmark{width:78px;height:81px;margin:0 auto 12px;filter:drop-shadow(0 2px 8px #1d121b22)}
.sidebar .nav{margin-top:26px;gap:3px}.nav button{border-radius:14px 5px 14px 5px}.navfoot{padding-top:20px}
.brand small{line-height:1.6}.chevron{display:inline-block;width:8px;height:8px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin:-3px 2px 0 8px;transition:transform .2s}
.perspective-switch{display:flex;align-items:center;gap:6px;background:#eee6df;padding:8px 15px;border-radius:18px 5px 18px 5px;font:19px var(--serif);max-width:165px}.perspective-switch>span{font-style:italic;color:#978071}.perspective-switch .chevron{width:6px;height:6px}
.btn{position:relative;border:1px solid #6c535c;border-radius:24px 8px 24px 8px;background:linear-gradient(145deg,#624952,#46323c);box-shadow:inset 0 0 0 3px #ffffff09,0 3px 5px #49383f0b;padding:11px 25px;min-height:47px;font:600 18px/1.25 var(--serif);letter-spacing:.1px;transition:transform .15s,box-shadow .15s}
.btn:hover{background:linear-gradient(145deg,#735661,#503943);transform:translateY(-1px);box-shadow:inset 0 0 0 3px #ffffff12,0 5px 12px #49383f15}.btn.light{background:linear-gradient(145deg,#fffdf6,#f1eadf);border-color:#d9ccb9;box-shadow:inset 0 0 0 3px #fffdf8;font-weight:600}.btn.light:hover{background:#f7f0e3}.btn.danger{background:#874b4a}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #755b6a;outline-offset:4px}.text-button{font:italic 19px/1.4 var(--serif);border-bottom:1px solid #bfa98b;padding:3px 0}.section-heading .text-button{font-size:16px}.top-actions>.text-button{font:14px var(--sans)}
.card{border-radius:28px 9px 28px 9px;border:1px solid #e6ddcf;box-shadow:var(--soft-shadow);background:linear-gradient(145deg,#fffdf8,#fcf9f2)}
.hero{border-radius:36px 10px 36px 10px;border-color:#e5d8d1}.welcome-panel{border-radius:8px 35px 8px 35px;padding:20px 24px;background:linear-gradient(115deg,#eee7d9,#f5efe3);border-color:#e7ddcb}
.prompt-card{border-radius:35px 35px 10px 10px;border:1px solid #dcded2;box-shadow:0 5px 0 -1px #faf7ed,0 6px 0 0 #ddd4c7,0 13px 22px #49383f06;padding:25px 25px 22px;min-height:242px;margin-bottom:6px}
.prompt-card.rose{background:linear-gradient(155deg,#f3eae5,#eaded8);border-color:#e5d7cc}.prompt-card.sage{background:linear-gradient(155deg,#f1f3e9,#e4e9db)}.prompt-card.cream{background:linear-gradient(155deg,#faf3df,#f1e7cf);border-color:#e5d9b9}
.prompt-card .top{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid #aa917226;gap:10px}.voice-note{font:20px/1.1 'Parisienne',cursive;color:#91794e;white-space:nowrap;transform:rotate(-5deg)}
.prompt-card h3{font-size:29px;line-height:1.18;max-width:none}.prompt-card .card-foot{gap:14px}.prompt-card .card-foot button{font:italic 19px var(--serif);border-bottom:1px solid #b6a284;padding:3px 0}.prompt-card .card-foot .small{font-size:10px;margin:0}
.prompt-toolbar{display:flex;align-items:stretch;gap:30px;margin:30px 0 25px;position:relative;z-index:4}.chapter-picker{flex:1;min-width:0;position:relative;max-width:590px}.chapter-picker summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;background:linear-gradient(120deg,#fffcf6,#f0eade);border:1px solid #e3d8c8;border-radius:28px 7px 28px 7px;cursor:pointer;box-shadow:0 5px 16px #49383f05;user-select:none}.chapter-picker summary::-webkit-details-marker{display:none}.chapter-picker summary strong{display:block;font:italic 31px/1.2 var(--serif);margin:7px 0 4px;color:#4c3c3b}.chapter-picker summary .eyebrow{font-size:9px;color:#8b775d}.chapter-hint{font-size:11px;color:#8c8070}.chapter-picker[open] summary>.chevron{transform:rotate(225deg);margin-top:5px}.chapter-picker summary:focus:not(:focus-visible){outline:none}.chapter-picker summary:focus-visible{outline:2px dotted #755b6a;outline-offset:5px}
.chapter-options{position:absolute;top:calc(100% + 10px);left:0;right:0;max-height:365px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:14px;background:#fffcf6;border:1px solid #dfd2be;box-shadow:0 16px 40px #49383f20;border-radius:10px 26px 10px 26px;z-index:15}.chapter-options button{text-align:left;position:relative;background:none;padding:15px 14px;border-radius:9px;color:var(--ink)}.chapter-options button:hover{background:#efe9df}.chapter-options strong{display:block;font:24px var(--serif)}.chapter-options button>span{display:block;font-size:10px;color:#8b7a68;line-height:1.5;margin-top:4px}.chapter-options button[aria-pressed=true] strong{text-decoration:underline;text-decoration-color:#b59b6b;text-underline-offset:6px}.chapter-options .chosen-label{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#715248;margin-top:8px}
.reminder-note{background:#f0e6de;border:1px solid #e2d2c3;border-radius:6px 30px 6px 30px;min-width:245px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:22px 24px 26px;position:relative;box-shadow:4px 4px 0 -1px #faf6ed,4px 4px 0 0 #dfd1be;transform:rotate(1deg)}.reminder-note>span:nth-child(2){font:italic 25px/1.3 var(--serif);margin-top:9px}.reminder-note .eyebrow{font-size:8px;color:#8d735b}.note-stitch{position:absolute;width:34px;bottom:15px;border-bottom:1px solid #bc9b71}.note-stitch:after{content:'';position:absolute;left:15px;top:-2px;width:4px;height:4px;background:#bc9b71;transform:rotate(45deg)}.reminder-note:hover{background:#eadbd2;transform:rotate(0)}
.helper-card{border-radius:45px 8px 45px 8px;padding:30px;background:linear-gradient(135deg,#f0e6de,#f7efe6);border:1px solid #e1d1bf;box-shadow:var(--soft-shadow)}.helper-card:after{content:'';position:absolute;top:22px;right:22px;width:23px;height:23px;border-top:1px solid #b69a69;border-right:1px solid #b69a69;border-radius:0 18px 0 0;opacity:.6}.helper-card h3{font-size:32px}.helper-card .text-button{font-size:19px}.helper-card p{font-size:13px}.keepsake-preview{border-radius:10px 40px 10px 40px;background:linear-gradient(130deg,#e8e6d9,#f2eee1)}
.script-caption{display:block;font:24px 'Parisienne',cursive;color:#9c7c54;margin:0 0 12px}.film-note{border-radius:55px 12px 55px 12px;padding:35px 32px;position:relative;background:linear-gradient(145deg,#f7f1e6,#f0e6d9)}.film-note:after{content:'';position:absolute;inset:9px;border:1px solid #c0a17455;border-radius:47px 7px 47px 7px;pointer-events:none}.film-note h3{font-size:34px}.film-note .quote-row{font-size:12px}.film-stage{border-radius:45px 10px 45px 10px}.film-stage:before{border-radius:32px 5px 32px 5px}.film-stage:after{border-radius:25px 3px 25px 3px}
.empty{border-radius:40px 10px 40px 10px}.empty .knot{width:110px;height:70px}.banner{border-radius:8px 24px 8px 24px}.media-card{border-radius:20px 8px 20px 8px}.album-choice{border-radius:20px 7px 20px 7px}.notice{border-radius:8px 24px 8px 24px}.tabs button{border-radius:16px 5px 16px 5px}.dialog-close{border-radius:50%}dialog{border-radius:30px 10px 30px 10px}
@media(max-width:1150px){.sidebar{padding-top:19px}.brandmark{width:68px;height:71px}.sidebar .nav{margin-top:20px}.nav button{padding:10px 5px}.prompt-card{padding:22px 19px}.prompt-card h3{font-size:26px}.voice-note{font-size:18px}.prompt-toolbar{gap:18px}.reminder-note{min-width:230px}.top-actions{gap:12px}}
@media(max-width:850px){.perspective-switch{font-size:17px;max-width:130px}.perspective-switch .chevron{display:none}.chapter-options{max-height:330px}}
@media(max-width:580px){.prompt-toolbar{flex-direction:column;gap:18px}.chapter-picker{width:100%;max-width:none}.chapter-picker summary{padding:19px 23px}.chapter-options{grid-template-columns:1fr;max-height:330px}.reminder-note{min-width:0;width:100%;padding:16px 22px 22px;align-items:flex-start;border-radius:6px 25px 6px 25px;transform:none}.reminder-note>span:nth-child(2){font-size:24px;margin-top:3px}.note-stitch{right:25px;bottom:26px}.prompt-card{padding:25px;min-height:225px}.prompt-card h3{font-size:30px}.voice-note{font-size:22px}.perspective-switch{padding:7px 10px;max-width:110px;overflow:hidden;white-space:nowrap}.perspective-switch>span{display:none}.topbar .couple{max-width:125px;font-size:18px}.mobile-menu{font-size:10px;border-radius:12px 3px 12px 3px;padding:9px}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading .text-button{font-size:16px}.helper-card{padding:28px}.film-note{padding:32px 27px}.btn{font-size:18px}.hero-copy .btn{white-space:normal}.hero-copy{max-width:89%}.film-stage h2{font-size:40px}.topbar{gap:6px}.welcome-panel .btn{white-space:normal}}
.sidebar{scrollbar-color:#816b74 transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#816b74;border-radius:4px}.chapter-options{scrollbar-width:thin;scrollbar-color:#c0ae93 transparent}dialog{scrollbar-width:thin;scrollbar-color:#c0ae93 transparent}input,textarea,select{border-radius:12px 4px 12px 4px;background:#fffdf8}

@media(max-width:580px){
 .hero{min-height:0;grid-template-columns:1fr}
 .hero-copy{max-width:none}
 .hero-art{position:relative;inset:auto;width:auto;height:auto;min-height:260px;padding:12px 24px 28px;opacity:1}
 .hero-art .letter{width:180px;height:auto;min-height:220px;padding:20px 18px;transform:rotate(9deg)}
 .hero-art .letter .hand{margin:0;font-size:24px}
 .hero-art .letter .eyebrow{font-size:7px;letter-spacing:1.3px}
 .hero-art .letter .knot{height:40px}
 .hero-art .ribbon{left:calc(50% - 80px);top:0;height:230px}
 .keepsake-preview{gap:18px;padding:22px 18px}
 .keepsake-preview .keepsake-album{width:116px;flex-basis:116px}
}
@media(max-width:360px){.keepsake-preview{gap:14px;padding:18px 14px}.keepsake-preview .keepsake-album{width:100px;flex-basis:100px}.keepsake-preview h3{font-size:25px}}

/* Clicking a control never adds an outer box. Keyboard focus uses an underline. */
:root[data-input-mode] :is(button,a,input,textarea,select,summary):focus{outline:none}
:root[data-input-mode=keyboard] :is(button,a,summary):focus-visible{text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:5px}
:root[data-input-mode=keyboard] :is(input,textarea,select):focus-visible{box-shadow:inset 0 -2px 0 #755b6a}
