.occasion-heading{margin-block:3rem 2rem;padding:2.5rem 4%;background:#101a16f5;border:1px solid var(--line)}
.occasion-heading .back-link{margin-bottom:1.3rem}.occasion-heading h1{font-size:clamp(3rem,5vw,5rem);line-height:1.08;margin-block:1rem 1.4rem}.occasion-heading>p:last-child{max-width:660px;color:var(--muted);font-size:1.05rem}
.occasion-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.75fr);gap:2rem;margin-bottom:4rem;align-items:start}.occasion-aside{background:#101a16f2;border:1px solid var(--line);padding:2.1rem}.occasion-aside h2{font-size:2.4rem;margin-block:1rem 1.5rem;line-height:1.15}.occasion-aside>p:not(.eyebrow),.occasion-note{color:var(--muted)}.occasion-note{border-top:1px solid var(--line);padding-top:1.3rem;margin-top:1.3rem}.occasion-note>p:first-child{color:var(--mint);margin-bottom:.4rem}.occasion-aside .text-link{margin-top:1rem}
.occasion-form{min-width:0;padding:2.4rem;background:#101a16fa;border:1px solid #bbaa8280;color:var(--cream);color-scheme:dark}.form-required-note{color:var(--muted);font-size:.875rem;margin-bottom:1.5rem}.form-section{border:0;border-top:1px solid var(--line);margin:0 0 2rem;padding:1.5rem 0 0;min-width:0}.form-section>legend{font-family:var(--serif);font-size:1.9rem;line-height:1.25;padding:0 .7rem 0 0;max-width:100%;color:var(--cream)}.form-section>legend>span{display:inline-block;margin-right:.7rem;font-family:var(--sans);font-size:.875rem;color:var(--brass);vertical-align:middle}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-top:1rem}.field{display:flex;flex-direction:column;gap:.45rem;min-width:0;font-size:1rem}.field-wide{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-width:0;max-width:100%;font:inherit;font-size:1rem;padding:.8rem .85rem;border:1px solid #b9e4cf80;border-radius:0;background:#1a2b23;color:var(--cream);min-height:48px}.field textarea{resize:vertical;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:#b3bdb5;opacity:1}.field-hint{display:block;font-size:.875rem;line-height:1.6;color:var(--muted);font-weight:400}.field-hint a,.occasion-thanks p a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.choice-group{min-width:0;padding:0;border:0;margin:0 0 1.6rem}.choice-group>legend{padding:0;font-size:1rem;margin-bottom:.7rem}.choice-group>.field-hint{margin-bottom:.7rem}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.choice{display:flex;align-items:center;gap:.75rem;min-height:52px;border:1px solid #b9e4cf55;background:#1a2b2366;padding:.8rem;cursor:pointer;font-size:.95rem;line-height:1.4}.choice:has(input:checked){background:#b9e4cf19;border-color:var(--mint);color:var(--mint-light)}.choice:hover{border-color:var(--mint)}.choice input,.contact-consent input{width:19px;height:19px;flex:0 0 19px;accent-color:var(--mint);margin:0}.occasion-form :is(input,select,textarea,button):focus-visible{outline:3px solid var(--mint);outline-offset:4px}.choice:has(input:focus-visible){outline:2px solid var(--mint);outline-offset:3px}.choice input:focus-visible{outline:0}.field-error{margin-top:.75rem;color:#ffcfb9;font-size:.95rem}.field-error[hidden]{display:none}.form-finish{border-top:1px solid var(--line);padding-top:1.5rem;display:grid;gap:1rem}.contact-consent{display:flex;align-items:flex-start;gap:.8rem;font-size:1rem;line-height:1.5}.contact-consent input{margin-top:.2rem}.form-finish .button{justify-self:start;cursor:pointer;font-family:var(--sans);font-size:1rem}.form-finish .button:disabled{opacity:.7;cursor:wait}.form-honey{display:none!important}.occasion-thanks{max-width:900px;margin-block:4rem;padding:3rem 5%}.occasion-thanks p{max-width:640px;margin-top:1.2rem;color:var(--muted)}.occasion-thanks .button{margin-top:2rem}
@media(max-width:1050px){.occasion-layout{grid-template-columns:minmax(0,1fr)}.occasion-aside{display:none}.occasion-form{padding:2rem}.occasion-heading{margin-top:2rem}}
@media(max-width:640px){.occasion-heading{padding:1.6rem 6%;margin-block:1.5rem}.occasion-heading h1{font-size:3rem}.occasion-form{padding:1.5rem 6%}.field-grid,.choice-grid{grid-template-columns:minmax(0,1fr)}.form-section>legend{font-size:1.65rem}.form-section{margin-bottom:1.8rem}.occasion-layout{margin-bottom:2.5rem}.form-finish .button{width:100%}.occasion-thanks{margin-block:2rem}}
