.o2-page{--o2-sun:#f4e4c1;--o2-orange:#ff8c42;--o2-pine:#2d5f3f;--o2-sky:#7bafd4;--o2-ink:#1a1f2e;--o2-ink-soft:#1a1f2e94;--o2-line:#1a1f2e1a;--o2-max:960px;background:var(--o2-sun);min-height:100vh;color:var(--o2-ink);font-family:Manrope,sans-serif}.o2-container{width:min(var(--o2-max), calc(100% - 40px));margin:0 auto}.o2-nav{letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;padding:20px 24px;font-family:Manrope,sans-serif;font-size:11px;font-weight:600;display:flex}.o2-nav-back{color:var(--o2-pine);text-decoration:none}.o2-nav-back:hover{text-decoration:underline}.o2-nav-sep{color:var(--o2-ink-soft)}.o2-nav-current{color:var(--o2-orange)}.o2-hero{padding:80px 0 72px;position:relative;overflow:hidden}.o2-hero-topo{opacity:.04;background-image:repeating-radial-gradient(circle at 50% 50%, transparent 0, transparent 38px, var(--o2-pine) 39px, transparent 40px);pointer-events:none;background-size:82px 82px;position:absolute;inset:0}.o2-badge{border:1px solid var(--o2-line);letter-spacing:.18em;text-transform:uppercase;color:var(--o2-pine);background:#fff6;border-radius:999px;padding:8px 14px;font-size:10px;font-weight:600;display:inline-block}.o2-title{text-transform:uppercase;letter-spacing:-.03em;margin-top:28px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(4rem,10vw,7.5rem);font-weight:400;line-height:.88}.o2-title-accent{color:var(--o2-orange);text-transform:none;font-size:1.08em;font-style:italic;font-weight:300}.o2-subtitle{max-width:520px;color:var(--o2-ink);margin-top:28px;font-size:18px;line-height:1.7}.o2-status{letter-spacing:.14em;text-transform:uppercase;color:var(--o2-pine);align-items:center;gap:10px;margin-top:32px;font-size:11px;font-weight:600;display:inline-flex}.o2-status-dot{background:var(--o2-orange);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite o2-pulse}@keyframes o2-pulse{0%,to{opacity:1}50%{opacity:.3}}.o2-main{background:#faf6ef}.o2-mission{border-top:1px solid var(--o2-line);padding:72px 0}.o2-mission-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:48px;display:grid}.o2-mission-copy h2,.o2-section-head h2,.o2-form-intro h2{text-transform:uppercase;letter-spacing:-.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:.92}.o2-mission-copy p{color:#1a1f2ed1;margin-top:20px;font-size:15px;line-height:1.75}.o2-mission-meta{border:1px solid var(--o2-line);background:#f4e4c180;border-radius:14px;gap:20px;padding:24px;display:grid}.o2-meta-block{gap:4px;display:grid}.o2-meta-label{letter-spacing:.2em;text-transform:uppercase;color:var(--o2-orange);font-size:9px;font-weight:700}.o2-meta-value{color:var(--o2-ink);font-size:14px;font-weight:500}.o2-guests{border-top:1px solid var(--o2-line);padding:72px 0}.o2-section-head{max-width:580px}.o2-section-head p{color:var(--o2-ink-soft);margin-top:16px;font-size:15px;line-height:1.72}.o2-guest-grid{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.o2-guest-pill{border:1px solid var(--o2-line);color:var(--o2-pine);background:#ffffff80;border-radius:12px;padding:14px 18px;font-size:13px;font-weight:600;transition:border-color .2s,background .2s}.o2-guest-pill:hover{border-color:var(--o2-orange);background:#ff8c420f}.o2-form-section{border-top:1px solid var(--o2-line);padding:72px 0 96px}.o2-form-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:48px;display:grid}.o2-form-intro p{color:var(--o2-ink-soft);margin-top:16px;font-size:15px;line-height:1.72}.o2-form{border:1px solid var(--o2-line);background:#ffffff8c;border-radius:16px;gap:16px;padding:28px;display:grid}.o2-form-head h3{text-transform:uppercase;letter-spacing:-.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:1.8rem;font-weight:400;line-height:1}.o2-form-head p{color:var(--o2-ink-soft);margin-top:8px;font-size:13px;line-height:1.6}.o2-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.o2-field{gap:6px;display:grid}.o2-field label{letter-spacing:.16em;text-transform:uppercase;color:var(--o2-ink-soft);font-size:10px;font-weight:700}.o2-field input,.o2-field textarea{border:1px solid var(--o2-line);width:100%;min-height:46px;color:var(--o2-ink);background:#ffffffb3;border-radius:10px;outline:none;padding:12px 14px;font-family:Manrope,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.o2-field textarea{resize:vertical;min-height:100px}.o2-field input:focus,.o2-field textarea:focus{border-color:var(--o2-orange);box-shadow:0 0 0 4px #ff8c421f}.o2-form-error{color:#9a3412;font-size:13px;font-weight:600}.o2-button{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;min-height:50px;padding:14px 20px;font-family:Manrope,sans-serif;font-size:12px;font-weight:700;transition:transform .18s,background .18s;display:inline-flex}.o2-button:hover{transform:translateY(-1px)}.o2-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.o2-button-submit{background:var(--o2-ink);color:var(--o2-sun)}.o2-button-submit:hover:not(:disabled){background:#2a3040}.o2-form-success{border:1px solid var(--o2-line);background:#ffffff8c;border-radius:16px;gap:14px;padding:28px;display:grid}.o2-form-success h3{text-transform:uppercase;font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:400}.o2-form-success p{color:var(--o2-ink-soft);font-size:14px;line-height:1.6}.o2-form-success .o2-button{border:1px solid var(--o2-line);color:var(--o2-ink);background:0 0;justify-self:start}.o2-footer{background:var(--o2-sun);border-top:1px solid var(--o2-line);padding:28px 0}.o2-footer-inner{letter-spacing:.1em;text-transform:uppercase;color:var(--o2-ink-soft);align-items:center;gap:12px;font-size:11px;font-weight:500;display:flex}.o2-footer-link{color:var(--o2-pine);font-weight:600;text-decoration:none}.o2-footer-link:hover{text-decoration:underline}.o2-footer-sep{color:var(--o2-line)}@media (max-width:768px){.o2-hero{padding:52px 0 48px}.o2-mission-grid,.o2-form-layout{grid-template-columns:1fr;gap:28px}.o2-mission,.o2-guests,.o2-form-section{padding:52px 0}.o2-form-section{padding-bottom:72px}}@media (max-width:480px){.o2-title{font-size:3.4rem}.o2-container{width:min(var(--o2-max), calc(100% - 28px))}}
