:root{--bg:#f7f7f4;--surface:#fff;--ink:#111;--muted:#64645f;--line:#dfded8;--soft:#ecebe5;--dark:#121212;--dark-muted:#bdbdb7;--accent:#0f766e;--accent-dark:#0b4f49;--mint:#10a37f;--sky:#58c7e8;--coral:#ff8f70;--gold:#f4c542;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:OpenAI Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}main{min-height:100vh;position:relative;overflow:clip}main:before{content:"";z-index:-2;pointer-events:none;background:linear-gradient(115deg, #10a37f1a, transparent 28%), linear-gradient(250deg, #58c7e81a, transparent 32%), var(--bg);position:fixed;inset:0}.site-nav{z-index:10;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:24px;width:min(1160px,100% - 32px);margin:0 auto;padding:18px 0;display:flex;position:sticky;top:0}.brand{align-items:center;min-width:92px;display:inline-flex}.brand img{width:92px;height:auto;display:block}.nav-links{color:var(--muted);align-items:center;gap:18px;font-size:.92rem;display:flex}.nav-links a:hover{color:var(--ink)}.hero{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:56px;width:min(1160px,100% - 32px);margin:24px auto 0;padding:72px 0 64px;display:grid;position:relative}.color-field{z-index:-1;clip-path:polygon(10% 0,100% 8%,86% 82%,0 100%);filter:blur(1px);opacity:.86;background:linear-gradient(125deg,#10a37f85,#58c7e857 38%,#ff8f7052 68%,#f4c54257),#fff;width:min(560px,52%);height:420px;position:absolute;top:20px;right:-96px}.hero-copy{z-index:1;max-width:780px;position:relative}.eyebrow{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:760px;margin-bottom:22px;font-size:6.1rem;font-weight:500;line-height:.93}h2{letter-spacing:0;margin-bottom:14px;font-size:3.4rem;font-weight:500;line-height:1}h3{letter-spacing:0;margin-bottom:8px;font-size:1.05rem;font-weight:650}.lede{color:#3a3a36;max-width:720px;margin-bottom:30px;font-size:1.35rem;line-height:1.35}.hero-date{color:var(--accent-dark);background:#ffffffad;border:1px solid #0f766e2e;border-radius:999px;margin-bottom:18px;padding:8px 13px;font-size:.95rem;font-weight:700;display:inline-flex}.hero-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button,button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:0 20px;font-weight:650;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.button:hover,button:hover{transform:translateY(-1px)}.button.primary,button{background:linear-gradient(135deg, #10a37f47, #58c7e82e), var(--dark);color:#fff}.button.secondary{border-color:var(--line);color:var(--ink);background:0 0}button:disabled{cursor:wait;opacity:.7}.hero-panel{z-index:1;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #ffffffe0, #fff 44%), var(--surface);align-self:end;position:relative;overflow:hidden;box-shadow:0 24px 70px #0000000f}.hero-panel:before{content:"";background:linear-gradient(90deg, var(--mint), var(--sky), var(--coral), var(--gold));height:4px;display:block}.hero-panel>div{padding:22px}.hero-panel>div+div{border-top:1px solid var(--line)}.panel-label{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:700;display:block}.hero-panel strong{margin-bottom:6px;font-size:1.2rem;display:block}.hero-panel p,.value-grid p,.track-list p,.section-heading p,.timeline p,details p,.site-footer p{color:var(--muted)}.hero-panel p,.value-grid p,.track-list p,.timeline p,details p{margin-bottom:0}.section{border-top:1px solid var(--line);width:min(1160px,100% - 32px);margin:0 auto;padding:74px 0}.section.compact{padding-top:54px}.section-heading{max-width:730px;margin-bottom:30px}.section-heading p:last-child{margin-bottom:0;font-size:1.05rem}.value-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.value-grid article,.track-list article,details{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffdb;padding:22px;position:relative;overflow:hidden}.value-grid article:before,.track-list article:before,details:before{content:"";background:linear-gradient(90deg, var(--mint), var(--sky), var(--coral));opacity:.72;height:3px;position:absolute;inset:0 0 auto}.value-grid span{color:var(--accent-dark);margin-bottom:26px;font-size:.85rem;font-weight:700;display:inline-flex}.timeline{gap:10px;display:grid}.timeline-item{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(90deg,#10a37f0f,#0000 34%),#ffffffe6;grid-template-columns:190px minmax(0,1fr);gap:20px;padding:22px;display:grid;position:relative;overflow:hidden}.timeline-item:after{content:"";background:linear-gradient(180deg, var(--mint), var(--sky), var(--coral), var(--gold));width:4px;position:absolute;inset:0 auto 0 0}.time-marker{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:.82rem;font-weight:750;display:grid}.time-marker span+span{color:var(--muted);letter-spacing:0;text-transform:none;font-size:.78rem;font-weight:650}.timeline h3{margin-bottom:12px;font-size:1.25rem}.timeline p+p{margin-top:8px}.timeline-list{color:var(--muted);margin:10px 0 0;padding-left:20px}.timeline-list li+li{margin-top:4px}.timeline strong,.track-list h3,details summary,.rsvp-form label>span:first-child{color:var(--ink)}.split{grid-template-columns:minmax(0,.85fr) minmax(360px,1fr);align-items:start;gap:52px;display:grid}.split .section-heading{margin-bottom:0}.track-list{gap:10px;display:grid}.rsvp-section{grid-template-columns:minmax(0,.75fr) minmax(420px,1fr);align-items:start;gap:52px;display:grid}.rsvp-form{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg, #10a37f17, #58c7e80f 36%, #fffffff0 72%), var(--surface);gap:16px;padding:24px;display:grid}.field-grid{gap:14px;display:grid}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.rsvp-form label{gap:7px;display:grid}.rsvp-form label>span:first-child{font-size:.9rem;font-weight:650}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:6px;outline:none;padding:12px 13px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f766e1f,0 10px 28px #58c7e81f}.checkboxes{gap:10px;display:grid}.checkbox{color:var(--muted);grid-template-columns:18px minmax(0,1fr);align-items:start;line-height:1.35}.checkbox input{width:18px;height:18px;margin:2px 0 0}.form-status{min-height:22px;color:var(--muted);margin:0;font-size:.92rem}.form-status.success{color:var(--accent-dark)}.form-status.error{color:#9f1d1d}.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}details{padding:0}summary{cursor:pointer;padding:20px 22px;font-weight:650;list-style:none}summary::-webkit-details-marker{display:none}details p{padding:0 22px 20px}details[open]{background:linear-gradient(135deg, #f4c54214, #ffffffeb 50%), var(--surface)}.site-footer{border-top:1px solid var(--line);width:min(1160px,100% - 32px);color:var(--muted);grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:24px;margin:0 auto;padding:28px 0 46px;font-size:.9rem;display:grid}.site-footer p{margin-bottom:0}.site-footer p:first-child{color:var(--ink);font-weight:650}@media (max-width:900px){.site-nav{align-items:flex-start}.hero,.split,.rsvp-section,.site-footer{grid-template-columns:1fr}.hero{gap:28px;padding-top:48px}.color-field{opacity:.58;width:520px;right:-160px}.value-grid,.faq-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:10px}h1{font-size:4.6rem}h2{font-size:2.8rem}}@media (max-width:620px){.site-nav{position:static}.nav-links{gap:12px}.hero,.section{width:min(100% - 24px,1160px)}.hero{padding-top:32px}.color-field{width:440px;height:320px;top:8px;right:-220px}h1{font-size:3.25rem}h2{font-size:2.2rem}.lede{font-size:1.15rem}.field-grid.two{grid-template-columns:1fr}.hero-actions,.form-actions{flex-direction:column;align-items:stretch}.button,button{width:100%}}
