:root{color-scheme:dark;--bg:#181210;--bar:#1e1714;--panel:#241a17;--line:#49322a;--text:#f6ebde;--muted:#d0b9a9;--accent:#efa174;--hot:#ffb886;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.58}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.22em}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.7}
:focus-visible{outline:2px solid var(--hot);outline-offset:4px}
[hidden]{display:none!important}
.skip{position:absolute;top:-100px;left:12px;padding:.5rem;background:var(--bg);z-index:3}
.skip:focus{top:10px}
.top{background:var(--bar);border-bottom:1px solid var(--line)}
.bar{max-width:1380px;padding:0 4.2%;margin:auto;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:.77rem;font-weight:700;letter-spacing:.11em;white-space:nowrap}
.brand img{width:25px;height:27px}
.brand strong{color:var(--accent)}
nav{display:flex;align-items:center;gap:27px}
nav a{color:var(--muted);font-size:.85rem;white-space:nowrap}
nav a[aria-current]{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.55em}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:6px;border:1px solid transparent;background:var(--accent);color:#25140d;padding:.73rem 1.05rem;font-weight:720;font-size:.88rem;line-height:1.35;text-align:center}
.button:hover{background:var(--hot);text-decoration:none}
.button.small{padding:.5rem .72rem;font-size:.8rem}
.button.ghost{background:#251a16b8;border-color:#775245;color:var(--text)}
.button.ghost:hover{background:#39251e}
.hero{position:relative;isolation:isolate;min-height:530px;display:flex;align-items:center;overflow:hidden;background:#1a100e;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url(/embers.svg) right center / auto 100% no-repeat}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1a100e 1%,#1a100ef5 30%,#1a100e8a 48%,#1a100e08 80%),linear-gradient(0deg,#1a100e90,transparent 25%)}
.hero-content{width:min(1170px,88%);margin:0 auto;padding:50px 0 66px}
.kicker{margin:0 0 12px;color:var(--accent);font-size:.71rem;font-weight:760;letter-spacing:.16em;display:flex;align-items:center;gap:10px}
.dot{width:7px;height:7px;border-radius:50%;background:#ff9b60;box-shadow:0 0 12px #f66}
.line{width:22px;height:1px;background:var(--accent)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.07;margin:0;color:var(--text)}
.hero h1{font-size:clamp(4rem,8vw,7rem);letter-spacing:-.068em;line-height:.91}
.hero h1 em{color:var(--accent);font-weight:400}
.hero-copy{max-width:465px;margin:25px 0 23px;color:#e5d0bf;font-size:1rem}
.hero-caption{position:absolute;right:5%;bottom:25px;color:#f7cfb0;display:flex;align-items:center;gap:9px;font-size:.62rem;font-weight:650;letter-spacing:.15em}
.hero-caption span{height:1px;width:19px;background:#ef9c70}
.actions,.subhead{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.home-body,.inner{max-width:1170px;width:88%;margin:auto;padding:50px 0 64px}
.inner{min-height:70vh}
.section-heading{margin-bottom:24px}
.section-heading h1{font-size:clamp(2.7rem,6vw,4.7rem);letter-spacing:-.055em}
h2{font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.045em}
h3{font-size:1.55rem;letter-spacing:-.027em}
p{margin:.6rem 0;color:var(--muted)}
.section-heading>p:last-child{max-width:650px}
.circles,.cards,.guidance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.circles article,.panel,.card,.timeline,.slot{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:22px}
.circles article{display:flex;flex-direction:column;align-items:flex-start}
.circles article a{font-size:.82rem;font-weight:650;margin-top:auto;padding-top:12px}
.tile-no{font-size:.72rem;color:var(--accent);font-weight:740;letter-spacing:.12em;margin-bottom:18px}
.reflection{margin-top:24px;background:#291b17;border:1px solid #56372b;border-radius:9px;padding:23px;display:flex;align-items:center;gap:19px}
.reflection img{width:41px}
.reflection>a{margin-left:auto}
.reflection .kicker{margin-bottom:5px}
.reflection p:last-child{margin-bottom:0}
.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.filters label{min-width:min(180px,100%)}
.filters a{margin-left:auto}
label{display:block;font-weight:630;color:var(--text);font-size:.9rem}
input,select,textarea{color:var(--text);background:#191210;border:1px solid #735244;border-radius:5px;padding:.57rem .7rem;width:100%;margin-top:5px}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:#b9a192}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
fieldset{border:1px solid var(--line);border-radius:6px;margin:18px 0;padding:9px 14px}
legend{padding:0 5px}
.radio{display:flex;align-items:center;gap:8px;margin:6px 0}
.radio input{width:auto;margin:0;accent-color:var(--accent)}
.muted{color:var(--muted);font-weight:400;font-size:.85rem}
[role=status]:empty{display:none}
[role=status]{min-height:1.5em}
.error{color:#ffb09d}
.card{min-width:0}
.card header{padding-bottom:9px;border-bottom:1px solid var(--line);margin-bottom:11px}
.card h3{overflow-wrap:anywhere}
.badge{font-size:.67rem;color:#ffc19c;background:#37241e;border:1px solid #5d3c30;display:inline-block;padding:2px 7px;border-radius:30px;margin:0 4px 8px 0}
.field{margin:12px 0}
.field strong{display:block;font-size:.75rem;color:var(--accent)}
.original{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);margin:.17rem 0 .55rem}
.timeline,.slot{margin:0 0 9px}
.timeline{display:grid;grid-template-columns:65px 1fr;gap:13px}
.timeline>span{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
.timeline p{margin:.3rem 0}
.compact{display:flex;align-items:end;gap:12px;max-width:580px}
.compact label{flex:1}
.guidance{margin-bottom:25px}
.guidance h3{font-size:1.33rem}
.subhead{justify-content:space-between;margin:28px 0 14px}
details summary{cursor:pointer;font-weight:650;color:var(--accent);font-size:.86rem}
.assignment label,.edit-segment label{margin:.55rem 0}
.assignment button{margin-top:.45rem}
.link-item{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.link-item .original{padding-left:11px;border-left:2px solid #885239}
.remove{background:none;border:0;color:var(--accent);padding:0;text-decoration:underline;font-size:.78rem}
.empty{grid-column:1/-1;padding:24px;border:1px dashed #624237;border-radius:8px}
footer{border-top:1px solid var(--line);background:#1d1513}
footer>div{width:88%;max-width:1170px;margin:auto;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}
footer p{font-size:.77rem;margin:0}
@media(max-width:880px){.bar{flex-wrap:wrap;justify-content:space-between;padding-top:10px;padding-bottom:10px;gap:9px}.bar nav{order:3;width:100%;justify-content:center;gap:20px}.hero::before{background-position:62% center}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.bar nav{gap:0;justify-content:space-between}.bar nav a{font-size:.76rem}.hero{min-height:500px}.hero-content{padding:43px 0 70px}.hero h1{font-size:clamp(3.45rem,15vw,5rem)}.hero::before{background-position:61% center}.hero::after{background:linear-gradient(90deg,#1a100ef2,#1a100e86 75%,#1a100e42),linear-gradient(0deg,#1a100ec9,transparent 35%)}.home-body,.inner{padding:34px 0 42px}.circles,.cards,.guidance,.form-grid{grid-template-columns:1fr}.reflection,.compact,footer>div{align-items:flex-start;flex-direction:column}.reflection>a,.filters a{margin-left:0}.timeline{grid-template-columns:50px 1fr}.filters label{min-width:0;flex:1}.filters select{max-width:100%}.circles article,.panel,.card,.timeline,.slot{padding:16px}}

/* Event header and invitation. */
html { scroll-behavior: smooth; }
.top { position: sticky; top: 0; z-index: 20; box-shadow: 0 3px 18px #00000036; }
.countdown-bar { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 9px 22px; min-height: 35px; padding: 6px 15px; background: #382219; border-bottom: 1px solid #81503970; }
.countdown-bar p { color: #f6d9bf; margin: 0; font-size: .65rem; letter-spacing: .07em; font-weight: 700; line-height: 1.2; }
.countdown-bar #countdown { display: flex; align-items: center; gap: 9px; font-size: .65rem; color: #f5c79e; font-variant-numeric: tabular-nums; line-height: 1.2; }
.countdown-bar #countdown span { display: inline-flex; align-items: baseline; gap: 3px; }
.countdown-bar #countdown strong { font: 750 .86rem var(--sans); color: #fff2dc; }
.countdown-bar #event-status { color: #ffc29a; }
.bar { min-height: 68px; }
nav { gap: 23px; }
nav a { padding: 10px 0; }
nav a[href="#share"] { color: var(--accent); }
.hero { min-height: 470px; }
.hero::before { background: url('/shared-fire.webp') center / cover no-repeat; }
.hero::after { background: linear-gradient(90deg,#18100ff5 0%,#18100fed 30%,#18100fa1 53%,#18100f20 100%),linear-gradient(0deg,#18100f99,transparent 45%); }
.hero-content { padding-top: 45px; padding-bottom: 65px; }
.hero h1 { font-size: clamp(4rem,7.4vw,6.8rem); }
.hero-copy { margin-bottom: 16px; }
.event-details { color: #fff0df; font-weight: 700; font-size: .87rem; line-height: 1.6; margin: 0 0 21px; }
.event-details span { font-size: .77rem; color: #e2bda4; font-weight: 500; }
.event-note { padding: 19px 22px; background: #2b1d17; border: 1px solid #68432f; border-radius: 8px; margin-bottom: 29px; }
.event-note p { margin: .3rem 0 0; }
.event-note>strong { color: var(--accent); font-size: 1rem; }
.event-note h2 { font-size: 1.6rem; }
#order-list+.event-note { margin: 22px 0 0; }
.submission-fields { border: 0; padding: 0; margin: 0; min-inline-size: 0; }
.submission-fields:disabled { opacity: .62; }
.signin-notice { margin-bottom: 20px; }
.signin-notice .button { margin: 9px 0; }
.invitation-page { color-scheme: light; color: #342219; background: #f6efe4; }
.invitation-heading { background: linear-gradient(90deg,#170f0de8,#170f0dbb),url('/shared-fire.webp') center / cover; text-align: center; padding: 58px 5%; color: #fff1dc; }
.invitation-heading .kicker { justify-content: center; }
.invitation-heading h1 { font-size: clamp(2.5rem,6vw,4.7rem); letter-spacing: -.055em; }
.invitation-heading>p:last-child { color: #e8c8aa; font-family: var(--serif); font-style: italic; font-size: 1.15rem; }
.letter-wrap { max-width: 825px; margin: 0 auto; padding: 35px 5% 62px; }
.letter-meta { padding-bottom: 18px; margin-bottom: 27px; border-bottom: 1px solid #d1bba8; }
.letter-meta p { color: #644835; font-size: .88rem; margin: .4rem 0; }
.letter-copy p { color: #30221b; font-family: var(--serif); font-size: 1.09rem; line-height: 1.8; margin: 0 0 1.2rem; }
.letter-copy .ablaze { display: block; color: #ac2721; font-size: 2rem; line-height: 1.1; font-weight: 700; margin: 6px 0 0; }
.letter-image { display: block; width: 100%; height: 200px; object-fit: cover; object-position: 50% 54%; border-radius: 6px; margin: 26px 0; }
.letter-note,.meal-note { background: #eadecd; border-left: 3px solid #a75132; padding: 23px; margin: 27px 0 0; }
.letter-note h2,.meal-note h2 { color: #342219; font-size: 1.65rem; }
.letter-note p,.meal-note p { color: #614331; font-size: .95rem; }
.letter-note .button { margin-top: 9px; }
.meal-note a { color: #83391f; text-decoration: underline; text-underline-offset: 3px; }
.timeline { grid-template-columns: 70px 1fr; }
footer { background: linear-gradient(#1b120fe6,#1b120fe6),url('/shared-fire.webp') center/cover; }
@media(max-width:1060px) {
  .bar { justify-content: center; flex-wrap: wrap; gap: 0; padding-top: 13px; padding-bottom: 4px; }
  nav { width: 100%; justify-content: center; gap: 24px; flex-wrap: wrap; }
}
@media(max-width:580px) {
  .bar { padding-top: 10px; padding-bottom: 5px; }
  .brand { font-size: .68rem; }
  .brand img { width: 20px; height: 23px; }
  .bar nav { justify-content: center; gap: 1px 19px; flex-wrap: wrap; }
  .bar nav a { font-size: .76rem; padding: 5px 0; }
  .hero { min-height: 440px; }
  .hero-content { padding-top: 35px; padding-bottom: 48px; }
  .hero h1 { font-size: clamp(3.2rem,13.5vw,4.6rem); }
  .hero-copy { font-size: .94rem; margin-top: 20px; }
  .hero-caption { font-size: .55rem; bottom: 14px; }
  .hero::after { background: linear-gradient(90deg,#180f0ff2,#180f0fb3 62%,#180f0f67),linear-gradient(0deg,#180f0f9c,transparent); }
  .countdown-bar { gap: 6px 14px; }
  .countdown-bar p { font-size: .6rem; }
  .countdown-bar .zone { display: none; }
  .letter-wrap { padding: 25px 6% 40px; }
  .letter-copy p { font-size: 1.02rem; line-height: 1.75; }
  .letter-image { height: 160px; }
  .letter-note,.meal-note { padding: 18px; }
  .timeline { grid-template-columns: 61px 1fr; gap: 10px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
