:root{--surface:var(--paper);--soft:#eef0e7;--accent-text:#66765e}
:root[data-theme="rose"]{--paper:#fff6f3;--ink:#382b31;--green:#733e51;--muted:#77636d;--line:#e7d4da;--surface:#fffaf8;--soft:#f4e8ec;--accent-text:#935568}
:root[data-theme="midnight"]{color-scheme:dark;--paper:#171e1c;--ink:#edf2e9;--green:#375842;--muted:#bac7bc;--line:#435049;--surface:#222d27;--soft:#293a30;--accent-text:#bdd0ac}
.preferences-page{max-width:1100px;margin:auto;padding:55px 5% 80px}.preferences-page h1{font-size:clamp(38px,5vw,62px);letter-spacing:-1px}.preferences-page>.intro{max-width:720px}.preference-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:30px;align-items:start}.preferences-form{display:grid;gap:22px}.preferences-form fieldset{border:1px solid var(--line);padding:25px;margin:0;background:var(--surface);min-width:0}.preferences-form legend{font-family:'Playfair Display',serif;font-size:25px;padding:0 8px}.preference-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.preference-fields label{font-size:13px;line-height:1.8;display:block}.preference-fields select{display:block;width:100%;min-height:48px;padding:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);margin-top:7px;font-size:16px}.preferences-page .fine{font-size:13px;line-height:1.8;color:var(--muted)}.preference-checks{display:flex;flex-wrap:wrap;gap:12px}.preference-checks label,.preference-toggle{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--line);cursor:pointer}.preference-checks input,.preference-toggle input{width:19px;height:19px;flex-shrink:0;accent-color:var(--green)}.preference-toggle{margin-bottom:12px}.preferences-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.preferences-actions button{min-height:48px}.preference-summary{padding:25px;background:var(--soft);border:1px solid var(--line);position:sticky;top:25px}.preference-summary h2{font-size:30px;margin-bottom:20px}.preference-summary p{line-height:1.8}.preference-chip{display:inline-flex;padding:8px 12px;border:1px solid var(--line);margin:4px;font-size:12px;background:var(--surface)}.preference-summary a,.preference-calendar-note a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}.preference-calendar-note{padding:16px;background:var(--soft);line-height:1.8}.preferences-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;white-space:nowrap}#preferencesStatus{line-height:1.8;padding-top:10px;min-height:40px}.preferences-page a:focus-visible,.preferences-page button:focus-visible,.preferences-page select:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}
/* Keep the chosen palette consistent across the existing editorial sections. */
html[data-theme="rose"] .founding-strip,html[data-theme="midnight"] .founding-strip,html[data-theme="rose"] .wedding-copy,html[data-theme="midnight"] .wedding-copy{background:var(--soft)}
html[data-theme="rose"] .journal-card,html[data-theme="midnight"] .journal-card,html[data-theme="rose"] .event,html[data-theme="midnight"] .event,html[data-theme="rose"] .news-story,html[data-theme="midnight"] .news-story,html[data-theme="rose"] .package-card,html[data-theme="midnight"] .package-card,html[data-theme="rose"] .cs-panel,html[data-theme="midnight"] .cs-panel{background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme="rose"] input,html[data-theme="rose"] textarea,html[data-theme="rose"] select,html[data-theme="midnight"] input,html[data-theme="midnight"] textarea,html[data-theme="midnight"] select{background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-theme="rose"] em,html[data-theme="midnight"] em{color:var(--accent-text)}html[data-theme="midnight"] .cs-answer{background:var(--soft);color:var(--ink)}
html:is([data-theme="rose"],[data-theme="midnight"]) :is(.business-hero,.business-tint,.highlight,.investment-note,.news-hero,.calendar-section,.coverage-note,.period-badge,.cs-message){background:var(--soft);color:var(--ink);border-color:var(--line)}
html:is([data-theme="rose"],[data-theme="midnight"]) .period-badge.current{background:var(--green);color:white}
html:is([data-theme="rose"],[data-theme="midnight"]) :is(.cs-launcher,.cs-heading){background:var(--green);color:white}
html[data-large-text="true"] body{font-size:16px}html[data-large-text="true"] p,html[data-large-text="true"] label{font-size:17px!important;line-height:1.85}html[data-large-text="true"] nav a,html[data-large-text="true"] .text-link,html[data-large-text="true"] .preferences-link,html[data-large-text="true"] .saved-link{font-size:14px!important}
html[data-reduced-motion="true"],html[data-reduced-motion="true"] *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
@media(max-width:900px){header{flex-wrap:wrap;gap:18px}header nav{order:3;width:100%;margin-left:0;justify-content:space-between}.header-actions{margin-left:auto;flex-wrap:wrap}.preference-layout{grid-template-columns:1fr}.preference-summary{position:static}}
@media(max-width:500px){.preferences-page{padding:35px 5% 60px}.preference-fields{grid-template-columns:1fr}.preferences-form fieldset{padding:20px 16px}.header-actions{gap:8px}.preferences-link{font-size:11px}.preference-checks{gap:8px}.preferences-page h1{font-size:36px}.preferences-actions{gap:10px}.preferences-actions .dark{flex:1}}
