:root{--bg-canvas:#1e1612;--bg-surface:#32241b;--bg-surface-hover:#413025;--text-primary:#f5ecdf;--text-muted:#d2bdab;--accent-primary:#f59e0b;--accent-secondary:#efc58c;--border-subtle:#86664b;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font-family:"Trebuchet MS","Segoe UI",sans-serif;line-height:1.75}h1,h2,h3,p,li,a{overflow-wrap:anywhere;hyphens:auto}h1,h2,h3{line-height:1.15}h1{font-size:clamp(2.4rem,6vw,5.2rem);letter-spacing:-.045em;margin:.3em 0}h2{font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:-.025em}h3{font-size:1.3rem}a{color:var(--accent-secondary);text-underline-offset:5px;transition:color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}a:hover{color:var(--text-primary)}button,input,textarea,select{font:inherit}button,a.button{cursor:pointer}button,.button{min-height:44px;border:1px solid var(--accent-primary);border-radius:0;background:transparent;color:var(--text-primary);padding:12px 19px;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:bold;display:inline-flex;justify-content:center;align-items:center;transition:transform .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease)}button:hover,.button:hover{background:var(--accent-primary);color:var(--bg-canvas);transform:translateY(-3px);box-shadow:0 9px 30px #f59e0b22}:focus-visible{outline:3px solid var(--accent-primary);outline-offset:5px}.skip-link{position:absolute;left:12px;top:-100px;background:var(--bg-canvas);padding:12px;z-index:20}.skip-link:focus{top:12px}.site-header{position:relative;padding:10px 24px 8px;border-bottom:1px solid #86664b66;background:#1e1612}.brand-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);font-size:1rem;font-weight:bold;min-height:44px;min-width:0}.brand-mark{width:30px;height:30px;border:1px solid var(--accent-primary);border-radius:50% 50% 38% 60%;display:grid;place-items:center;color:var(--accent-primary);flex-shrink:0}.site-nav{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.site-nav>a:not(.button){display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--text-muted);font-size:.9rem}.site-nav>a:hover,.site-nav>a[aria-current="page"]{color:var(--accent-primary);transform:translateY(-2px)}.menu-toggle{display:none;font-size:1.45rem;padding:0 12px;letter-spacing:.15em;line-height:1}.wrap{max-width:1200px;margin:0 auto;padding:clamp(1.5rem,4vw,4rem)}.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;min-height:570px}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 70% 40%,#f59e0b20,transparent 65%);animation:warmth 12s ease-in-out infinite alternate}.eyebrow{color:var(--accent-primary);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:bold}.lead{font-size:clamp(1.1rem,2vw,1.3rem);color:var(--text-muted);max-width:55ch}.hero-visual{position:relative;padding-bottom:48px;min-width:0}.party-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:20px}.hero-photo{aspect-ratio:4/3}.fact-panel{position:relative;margin:-30px 18px 0;padding:20px 24px;background:var(--bg-surface);border-radius:20px;box-shadow:0 18px 50px #0005;transform:rotate(-1deg)}.fact-panel dl{margin:0;display:grid;grid-template-columns:1fr;gap:8px}.fact-panel dt{color:var(--accent-primary);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}.fact-panel dd{margin:0;font-size:.9rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.spine{position:relative;padding-left:64px}.spine:before{content:"";position:absolute;top:45px;bottom:45px;left:23px;width:1px;background:linear-gradient(var(--accent-primary),#f59e0b30)}.stage{position:relative;padding:14px 0 52px;scroll-margin-top:24px}.stage:before{content:"";position:absolute;inset:0 -16px;z-index:-1;background:radial-gradient(ellipse at 15% 40%,#f59e0b0a,transparent 70%)}.stage-number{position:absolute;left:-64px;top:26px;width:47px;height:47px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--accent-primary);background:var(--bg-canvas);color:var(--accent-primary);font-weight:bold}.stage h2{margin-top:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px}.grid>*{min-width:0}.panel{background:var(--bg-surface);border-radius:20px;padding:28px;box-shadow:0 12px 35px #0003;transition:transform .45s var(--ease),background .45s var(--ease),box-shadow .45s var(--ease)}.panel:hover{background:var(--bg-surface-hover);transform:translateY(-4px);box-shadow:0 20px 45px #0005}.panel h3{margin-top:0}.card-link{display:block;text-decoration:none;color:var(--text-primary)}.card-link p{color:var(--text-muted)}.card-link .eyebrow{display:block;margin-bottom:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.split>*{min-width:0}.reading{max-width:70ch}.reading p{margin:1em 0}.checklist{list-style:none;padding:0}.checklist li{position:relative;padding:8px 0 8px 30px}.checklist li:before{content:"";position:absolute;left:0;top:17px;width:13px;height:13px;border:1px solid var(--accent-secondary)}.invitation{border-left:2px solid var(--accent-primary);margin:20px 0;padding:18px 24px;background:var(--bg-surface);border-radius:0 20px 20px 0}.muted,figcaption{color:var(--text-muted)}figure{margin:0}figcaption{font-size:.85rem;margin-top:10px}.table-scroll{overflow-x:auto;border-radius:20px;background:var(--bg-surface);margin:24px 0}table{border-collapse:collapse;width:100%;min-width:510px;text-align:left}caption{padding:16px;font-weight:bold;text-align:left}th,td{padding:14px 18px;border-bottom:1px solid #86664b55;vertical-align:top}th{color:var(--accent-secondary)}details{padding:20px 24px;margin-bottom:14px;background:var(--bg-surface);border-radius:20px}summary{cursor:pointer;min-height:44px;font-weight:bold;display:list-item;transition:color .3s var(--ease)}summary:hover{color:var(--accent-primary)}details p{max-width:70ch}.callout{margin:30px 0;border-left:2px solid var(--accent-primary);padding:18px 24px;background:#f59e0b0b;border-radius:0 20px 20px 0}.site-footer{border-top:1px solid #86664b66;padding:30px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.9rem;color:var(--text-muted)}.site-footer p{margin:0}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{min-height:44px;display:inline-flex;align-items:center}label{display:block;font-weight:bold;margin:18px 0 6px}input,select,textarea{display:block;width:100%;min-width:0;min-height:48px;background:var(--bg-canvas);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:8px;padding:12px}textarea{resize:vertical;min-height:170px}.form-note{font-size:.9rem;color:var(--text-muted)}.status{min-height:2em;color:var(--accent-secondary)}.draft-output{min-height:280px}.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}@keyframes warmth{from{opacity:.55;transform:translateY(-8px)}to{opacity:1;transform:translateY(8px)}}@media(min-width:1025px){.hero-visual{margin-top:20px}.panel.wide{grid-column:span 2}}@media(min-width:769px) and (max-width:1024px){.site-nav{gap:12px}.site-nav .button{padding:10px}.hero{gap:24px}.hero h1{font-size:3.2rem}}@media(max-width:768px){.site-header{padding:8px 16px}.menu-ready .menu-toggle{display:inline-flex}.site-nav{gap:8px 18px;padding:10px 0}.menu-ready .site-nav{display:none}.menu-ready .site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;animation:menu-in .3s var(--ease)}.menu-ready .site-nav>a{padding:8px 12px}.hero{grid-template-columns:1fr;min-height:0}.hero-visual{padding-bottom:8px}.hero h1{max-width:16ch}.split{grid-template-columns:1fr}.spine{padding-left:54px}.spine:before{left:19px}.stage-number{left:-54px;width:39px;height:39px}.stage{padding-bottom:34px}.site-footer{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.brand{font-size:.87rem;gap:7px}.brand-mark{width:25px;height:25px}.wrap{padding:24px 16px}.hero h1{font-size:2.65rem}.panel{padding:22px}.fact-panel{margin:-20px 10px 0;padding:16px}.spine{padding-left:49px}.spine:before{left:17px}.stage-number{left:-49px;width:35px;height:35px;font-size:.85rem}.actions{flex-direction:column;align-items:stretch}.stage h2{font-size:1.65rem}.invitation{padding:16px}.table-scroll{max-width:100%}}@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.panel:hover,.button:hover,button:hover{transform:none}}@media print{body{background:white;color:#111}.site-header,.site-footer,.hero-visual,.actions,.skip-link{display:none}a{color:#111}.wrap{max-width:none;padding:10px}.hero{display:block;min-height:0}.panel,.invitation,.callout,.table-scroll{background:white;box-shadow:none;color:#111;border:1px solid #aaa}.stage-number{background:white;color:#111}.eyebrow,.muted,.lead,th{color:#333}.reveal-ready{opacity:1;transform:none}.stage{break-inside:avoid}.spine:before{background:#888}h1{font-size:32pt}h2{font-size:20pt}button{display:none}}