@font-face{font-family:PalmaFizzy;src:url('assets/palma-fizzy-light.otf') format('opentype');font-weight:300;font-display:swap}
:root{--night:#0a1011;--light:#eef0e7;--sage:#d6e6b5;--soft:#bec9c3;--form-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Arial,sans-serif}
html{background:var(--night);color-scheme:dark;scrollbar-gutter:stable}body.atmosphere-page{background:var(--night);color:var(--light);font-family:var(--form-font)}::selection{background:#b3c4b4;color:#102320}
.atmosphere{position:relative;isolation:isolate;min-height:max(740px,var(--form-required-height,0px));height:100svh;overflow:clip;background:transparent}
.atmosphere::before{content:"";position:fixed;inset:0;z-index:-4;pointer-events:none;background:linear-gradient(162deg,#0a0e10 0%,#10201c 52%,#1b352b 100%)}
.ambient-light{position:fixed;inset:-10%;z-index:-3;pointer-events:none;background:radial-gradient(ellipse 47% 30% at 78% 77%,#78a7806b,transparent 85%),radial-gradient(ellipse 50% 22% at 27% 82%,#74877c38,transparent 85%),radial-gradient(ellipse 42% 58% at 100% 50%,#203f3b32,transparent 90%);filter:blur(25px);animation:ambient-breathe 16s ease-in-out infinite alternate}
.ambient-grain{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.012;background-size:180px 180px;background-repeat:repeat;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}
#particle-range{position:fixed;inset:0;width:100%;height:100svh;z-index:-1;pointer-events:none}
.atmosphere-header{position:absolute;top:34px;left:5%;right:5%;display:flex;align-items:center;z-index:3}.atmosphere-header>a{min-height:44px;display:flex;align-items:center}.atmosphere-header img{width:250px;height:auto;filter:brightness(0) invert(95%) sepia(7%) saturate(308%) hue-rotate(34deg)}
.event-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,410px);align-items:start;column-gap:clamp(70px,8.8vw,160px);margin:0 7.5%;padding-top:clamp(160px,20vh,235px);pointer-events:none}.event-layout>*{pointer-events:auto}
.event-intro{padding-top:20px;transition:opacity .42s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.event-intro h1{margin:0}.event-wordmark{width:92%;height:auto;max-width:639px}.event-information{margin-top:50px;color:#c8d0cc;font-family:var(--form-font);font-size:15px;line-height:1.55;letter-spacing:-.018em}.event-information p{margin:0}.event-information p+p{margin-top:3px;color:#b6c3bb}
.calendar-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;margin-top:30px;padding:3px 15px 3px 8px;border-radius:56px;background:linear-gradient(165deg,#d9d9d931,#d9d9d912);border:1px solid #e7f1ec35;box-shadow:inset 0 1px 1px #ffffff22,inset 0 -1px 1px #ffffff0a,0 4px 14px #00000014;backdrop-filter:blur(8px) saturate(115%);-webkit-backdrop-filter:blur(8px) saturate(115%);font:400 16px/1.4 var(--form-font);letter-spacing:-.028em;color:#f3f5ef;transition:background .18s,border-color .18s,transform .18s}.calendar-pill img{width:30px;height:30px;flex:none}.calendar-pill:hover{background:#d9d9d92e;border-color:#e7f1ec65}.calendar-pill:active{transform:scale(.97)}
.glass-panel{position:relative;padding:30px;border-radius:28px;background:linear-gradient(145deg,#f3fbf306,#c9e5d203);border:1px solid #e1ede335;box-shadow:inset 0 1px 1px #ffffff26,inset 1px 0 1px #ffffff0b,inset 0 -1px 1px #ffffff14,0 18px 50px #0000001a;transform:none;opacity:0;visibility:visible;pointer-events:none;will-change:opacity;transition:opacity .9s cubic-bezier(.22,.61,.36,1);--glass-x:50%;--glass-y:20%}
.glass-material{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,#e4f4e41c,#b8cec407 50%,#e0f3dc18);backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%)}
@supports(backdrop-filter:url('#glass-test')){.glass-material{backdrop-filter:var(--glass-filter,blur(16px)) blur(3px) saturate(120%)}}
.glass-panel::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse 70% 55% at var(--glass-x) var(--glass-y),#f1f9f014,transparent 80%);box-shadow:inset 0 1px 1px #ffffff18,inset 0 -1px 1px #ffffff0a}
#inline-form-mount{position:relative;z-index:1;transition:opacity .22s ease,filter .22s ease}.glass-panel .form-heading{display:block;margin-bottom:25px}.glass-panel .form-heading h2{font:550 32px/1.13 var(--form-font);letter-spacing:-.038em;margin:0;color:#f1f4eb}.form-subtext{font:400 13px/1.5 var(--form-font);color:#c4d0c8;letter-spacing:-.008em;margin:9px 0 0}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.glass-panel .form-field{margin-bottom:21px;min-width:0}.form-field label,.attendance-field legend{display:block;font:400 12px/1.5 var(--form-font);letter-spacing:.005em;color:#e4eae4;margin-bottom:8px}.form-field input,.form-field textarea{display:block;width:100%;min-width:0;border:1px solid #f0f8ef3a;border-radius:11px;padding:12px 13px;font:400 16px/1.35 var(--form-font);letter-spacing:-.015em;min-height:46px;background:linear-gradient(#f2f7f116,#f0f8ef0c);box-shadow:inset 0 1px 1px #ffffff0a;color:#f2f6ef;outline:none;transition:background .15s,border-color .15s,box-shadow .15s}.form-field input:hover,.form-field textarea:hover{border-color:#f0f8ef65;background-color:#ffffff04}.form-field input:focus,.form-field textarea:focus{background-color:#ecf4e908;border-color:#d6e6b5;box-shadow:0 0 0 3px #d6e6b51b}.form-field input[aria-invalid=true]{border-color:#efb6a5}.form-field textarea{resize:vertical;max-height:120px;min-height:74px}.field-optional{font-size:11px;color:#b7c6bd;margin-left:3px}.glass-panel .field-error{color:#ffd0bf;font:400 11px/1.4 var(--form-font);margin:7px 0 0}.glass-panel .attendance-field{border:0;padding:0;margin:0 0 23px;min-width:0}.attendance-field legend{padding:0;margin-bottom:10px}.glass-panel .attendance-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance-segment{position:relative;display:flex;align-items:center;justify-content:center;min-height:43px;border:1px solid #e7f1e740;border-radius:24px;color:#e1e9e0;background:#ffffff03;cursor:pointer;font:400 14px/1 var(--form-font);transition:background .15s,border-color .15s,color .15s}.attendance-segment:hover{background:#ffffff0c;border-color:#e7f1e775}.attendance-segment input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.attendance-segment span{pointer-events:none}.attendance-segment:has(input:checked){background:#d6e6b5;color:#12221c;border-color:#d6e6b5}.attendance-segment:has(input:focus-visible){outline:2px solid #e3edcf;outline-offset:4px}.attendance-segment:has(input:disabled){cursor:default}.form-submit{display:block;min-height:46px;width:100%;border-radius:25px;font:500 14px/1 var(--form-font);letter-spacing:-.01em;background:var(--sage);color:#11271f;box-shadow:inset 0 1px 0 #ffffff50;transition:background .15s,transform .15s}.form-submit:hover{background:#e3eecb}.form-submit:active{transform:scale(.985)}.glass-panel .form-footnote{text-align:center;font:400 10px/1.5 var(--form-font);color:#beccc2;margin:14px 0 0}.glass-panel .form-status{font:400 11px/1.4 var(--form-font);margin:8px 0 0;min-height:0;color:#ffd0bf}.glass-panel .form-status:empty{display:none}
.rsvp-thanks{position:absolute;inset:0;padding:35px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;z-index:2;opacity:0;visibility:hidden;transition:opacity .25s ease}.rsvp-thanks h2{font:300 54px/1.15 PalmaFizzy,var(--form-font);letter-spacing:-.045em;margin:0;color:#e2edce}.rsvp-thanks p{font:400 12px/1.5 var(--form-font);max-width:220px;margin:16px 0 0;color:#c4d0c8}.rsvp-thanks h2:focus{outline:none}
.atmosphere[data-stage=ready] .glass-panel,.atmosphere[data-stage=thankyou] .glass-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}.atmosphere[data-stage=thankyou] #inline-form-mount{opacity:0;filter:blur(3px);pointer-events:none}.atmosphere[data-stage=thankyou] .rsvp-thanks{opacity:1;visibility:visible;transition-delay:.13s}.atmosphere[data-stage=departing] .glass-panel{opacity:0;visibility:visible;transform:translateX(calc(100% + 16vw));transition:transform .65s cubic-bezier(.55,0,.85,.35),opacity .35s .23s}.atmosphere[data-stage=departing] .rsvp-thanks{opacity:1;visibility:visible}.atmosphere[data-stage=departing] #inline-form-mount{opacity:0}.atmosphere:is([data-stage=departing],[data-stage=celebrating],[data-stage=complete]) .event-intro{opacity:0;transform:translateY(-9px);pointer-events:none}.atmosphere:is([data-stage=celebrating],[data-stage=complete]) .event-layout{position:absolute;inset:0;visibility:hidden;pointer-events:none}.atmosphere:is([data-stage=celebrating],[data-stage=complete]){min-height:100svh;height:100svh}
.atmosphere-footer{position:absolute;bottom:26px;left:5%;right:5%;height:44px;display:flex;align-items:center;z-index:4;color:#b4c1ba}.surmount-mark{width:120px;height:auto;filter:brightness(0) invert(85%) sepia(10%) saturate(240%) hue-rotate(73deg)}.return-home{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;min-height:44px;padding:10px 12px;border-radius:20px;background:none;color:#bac6bd;font:400 11px/1.4 var(--form-font);opacity:.65;white-space:nowrap;transition:opacity .15s,background .15s}.return-home svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.return-home:hover{opacity:1;background:#ffffff08}.return-home:active{background:#ffffff10}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.focus-only{position:fixed;top:12px;right:12px;z-index:50;padding:12px 16px;color:#102320;background:#e5ecdb;border-radius:22px;transform:translateY(-200%)}.focus-only:focus-visible{transform:none}.no-script{position:absolute;top:70%;left:8%;font-size:13px}body:has(#motion-toggle[aria-pressed=false]) .ambient-light{animation-play-state:paused}
@keyframes ambient-breathe{to{transform:translate(-2%,1%) scale(1.06);opacity:.75}}
@media(min-width:1700px){.event-layout{grid-template-columns:minmax(0,1fr) 445px;column-gap:11vw;padding-top:22vh}.event-intro{padding-top:26px}.event-information{font-size:17px;margin-top:65px}.calendar-pill{font-size:18px;margin-top:34px;padding-right:18px;min-height:42px}.calendar-pill img{width:34px;height:34px}.glass-panel{padding:36px}}
@media(min-width:951px) and (max-height:800px){.atmosphere{min-height:max(720px,var(--form-required-height,0px))}.event-layout{padding-top:138px}.event-intro{padding-top:34px}.event-information{margin-top:40px}.glass-panel{padding:26px 28px}.glass-panel .form-heading{margin-bottom:22px}.glass-panel .form-field{margin-bottom:18px}.glass-panel .attendance-field{margin-bottom:21px}}
@media(max-width:1150px) and (min-width:951px){.event-layout{column-gap:55px;margin:0 6%;grid-template-columns:minmax(0,1fr) 360px}.glass-panel{padding:26px}.event-information{font-size:14px}}
@media(max-width:950px){.atmosphere{height:auto;min-height:100svh}.atmosphere-header{top:25px;left:7%;right:7%}.atmosphere-header img{width:220px}.event-layout{display:block;margin:0 auto;width:min(520px,84%);padding-top:145px;padding-bottom:125px}.event-intro{padding:0}.event-wordmark{width:92%}.event-information{margin-top:30px;font-size:15px}.calendar-pill{margin-top:23px}.glass-panel{margin-top:48px;padding:29px}.ambient-light,.ambient-grain,#particle-range{position:fixed;height:100svh}.ambient-light{inset:0;transform:none;background:radial-gradient(ellipse 75% 30% at 68% 72%,#78a78055,transparent 85%),radial-gradient(ellipse 70% 28% at 10% 90%,#74877c33,transparent 85%)}.atmosphere-footer{left:8%;right:8%;bottom:18px}.atmosphere:is([data-stage=celebrating],[data-stage=complete]) .atmosphere-footer{position:fixed}.surmount-mark{width:105px}.return-home{left:50%;right:auto;transform:translateX(-50%);font-size:10px}.glass-panel .form-heading h2{font-size:30px}.atmosphere[data-stage=departing] .glass-panel{transform:translateX(120vw)}}
@media(max-width:430px){.atmosphere-header{top:22px}.atmosphere-header img{width:201px}.event-layout{width:86%;padding-top:130px;padding-bottom:105px}.event-information{font-size:14px;margin-top:28px}.glass-panel{margin-top:42px;padding:25px 22px;border-radius:25px}.name-fields{gap:12px}.glass-panel .form-heading h2{font-size:29px}.form-subtext{font-size:12px}.form-field input{padding:11px 10px}.calendar-pill{font-size:15px;min-height:36px}.calendar-pill img{width:28px;height:28px}}
@media(max-width:350px){.glass-panel{padding:24px 18px}.name-fields{gap:9px}.form-field label{font-size:11px}.form-field input{padding:10px 8px}.glass-panel .form-heading h2{font-size:24px}.event-information{font-size:13px}.atmosphere-header img{width:183px}}
@media(prefers-reduced-transparency:reduce){.glass-panel{background:#283832}.glass-material{backdrop-filter:none!important;-webkit-backdrop-filter:none}.calendar-pill{background:#37463f}}
@media(prefers-reduced-motion:reduce){.glass-panel{transform:none}.atmosphere[data-stage=departing] .glass-panel{transform:none}.event-intro{transform:none!important}}

/* Hide mobile corner marks before collapsing the long form layout, then return them softly. */
@media(max-width:950px){.atmosphere-header,.atmosphere-footer{transition:opacity .65s ease}.atmosphere:is([data-stage=thankyou],[data-stage=departing],[data-stage=celebrating]) :is(.atmosphere-header,.atmosphere-footer){opacity:0;pointer-events:none}.atmosphere[data-stage=complete] :is(.atmosphere-header,.atmosphere-footer){opacity:1}}

/* The same gentle corner transition applies when a desktop form grows taller than its viewport. */
.atmosphere[data-tall=true] :is(.atmosphere-header,.atmosphere-footer){transition:opacity .65s ease}
.atmosphere[data-tall=true]:is([data-stage=thankyou],[data-stage=departing],[data-stage=celebrating]) :is(.atmosphere-header,.atmosphere-footer){opacity:0;pointer-events:none}
.atmosphere[data-tall=true][data-stage=complete] :is(.atmosphere-header,.atmosphere-footer){opacity:1}

.atmosphere:is([data-stage=celebrating],[data-stage=complete]) .glass-panel{visibility:hidden}

/* Meeting refinements: clear arrival details and a restrained lift in the sage. */
.event-information .venue-address{color:#b8c8bd;font-size:.8em;font-weight:300;margin-top:4px}
.event-information .program-note{color:#b7c7b5;font-size:.76em;font-weight:300;margin-top:15px;letter-spacing:.005em}
.event-wordmark{filter:saturate(1.2)}
.form-submit{background-color:#cfe7a8}
@media(max-width:600px){
  .event-information .venue-address{font-size:10.5px;line-height:1.45;max-width:200px}
  .event-information .program-note{font-size:10px;margin-top:9px}
}

@media(max-width:430px){.atmosphere[data-stage=complete] .surmount-mark{width:78px}.return-home{gap:4px;padding:10px 6px}}

/* Fit the phone form within the scene; retain overflow only for keyboard or error recovery. */
@media(max-width:600px){
  html{scrollbar-gutter:auto}
  .atmosphere{height:100svh;height:100dvh;min-height:0}
  .atmosphere-header{top:max(12px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right))}
  .atmosphere-header img{width:185px}
  .event-layout{box-sizing:border-box;display:flex;flex-direction:column;gap:12px;width:auto;height:100%;margin:0 max(22px,env(safe-area-inset-right)) 0 max(22px,env(safe-area-inset-left));padding:calc(64px + env(safe-area-inset-top)) 0 calc(66px + env(safe-area-inset-bottom));min-height:0}
  .event-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;flex:none}
  .event-intro h1{grid-column:1/-1;line-height:0}
  .event-wordmark{width:min(76%,260px)}
  .event-information{margin:0;font-size:12px;line-height:1.5;letter-spacing:-.02em}
  .calendar-pill{margin:0;gap:5px;padding:3px 9px 3px 5px;min-height:44px;font-size:12px;white-space:nowrap}
  .calendar-pill img{width:24px;height:24px}
  .glass-panel{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;margin:0;padding:15px 17px;overflow:hidden;border-radius:24px}
  #inline-form-mount{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#afc1b43d transparent;scroll-padding-block:12px;padding:3px;margin:-3px}
  .glass-panel .form-heading{margin-bottom:10px}
  .glass-panel .form-heading h2{font-size:24px}
  .form-subtext{display:none}
  .glass-panel .form-field{margin-bottom:8px}
  .form-field label,.attendance-field legend{margin-bottom:4px;font-size:11px}
  .name-fields{gap:12px}
  .form-field input{height:44px;min-height:44px;padding:9px 10px;font-size:16px}
  .form-field textarea{font-size:16px;height:44px;min-height:44px;max-height:44px;padding:9px 10px;resize:none}
  .glass-panel .attendance-field{margin-bottom:10px}
  .attendance-field legend{margin-bottom:4px}
  .attendance-segment{min-height:44px}
  .form-submit{min-height:44px}
  .atmosphere-footer{position:absolute;left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));bottom:max(17px,env(safe-area-inset-bottom))}
  .surmount-mark{width:90px}
  .atmosphere:is([data-stage=celebrating],[data-stage=complete]){height:100svh;height:100dvh;min-height:0}
}
@media(max-width:600px) and (max-height:740px){
  .event-layout{gap:10px;padding-top:calc(57px + env(safe-area-inset-top));padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .event-intro{gap:8px}
  .event-wordmark{width:64%;max-width:225px}
  .event-information{font-size:11px;line-height:1.4}
  .event-information .program-note{margin-top:6px}
  .event-information .venue-address{font-size:10px}
  .calendar-pill{font-size:11px}
  .glass-panel{padding:13px 15px}
  .glass-panel .form-heading{margin-bottom:4px}
  .glass-panel .form-heading h2{font-size:23px}
  #inline-rsvp-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:10px}
  #inline-rsvp-form>*{grid-column:1/-1}
  #inline-rsvp-form>.email-field{grid-column:1}
  #inline-rsvp-form>.phone-field{grid-column:2}
}
@media(max-width:600px) and (max-height:620px){
  .atmosphere-header{top:5px}
  .atmosphere-header img{width:156px}
  .event-layout{padding-top:48px;padding-bottom:58px;gap:8px}
  .event-intro{gap:6px}
  .event-wordmark{width:55%;max-width:195px}
  .event-information{font-size:10px}
  .event-information .venue-address{font-size:9px;margin-top:2px}
  .event-information .program-note{font-size:9px;margin-top:4px}
  .calendar-pill{font-size:10px;gap:3px;padding-right:7px}
  .calendar-pill img{width:21px;height:21px}
  .glass-panel{padding:11px 13px}
  .glass-panel .form-heading h2{font-size:21px}
  .glass-panel .form-field{margin-bottom:6px}
  .glass-panel .attendance-field{margin-bottom:8px}
  #inline-rsvp-form:has(#inline-attending-no:checked)>.attendance-field{grid-column:1}
  #inline-rsvp-form:has(#inline-attending-no:checked)>.reason-field{grid-column:2;align-self:end}
  .attendance-field legend{font-size:10px;letter-spacing:-.02em;white-space:nowrap}
  .glass-panel .attendance-options{gap:6px}
}
/* A phone turned sideways keeps the desktop's two-column relationship. */
@media(max-width:950px) and (max-height:500px) and (orientation:landscape){
  html{scrollbar-gutter:auto}
  .atmosphere{height:100svh;height:100dvh;min-height:0}
  .atmosphere-header{top:max(8px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right))}
  .atmosphere-header img{width:175px}
  .event-layout{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,1fr);gap:30px;align-items:center;width:auto;height:100%;min-height:0;margin:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));padding:calc(60px + env(safe-area-inset-top)) 0 calc(84px + env(safe-area-inset-bottom))}
  .event-intro{padding:0;display:block}
  .event-wordmark{width:94%;max-width:310px}
  .event-information{margin-top:16px;font-size:12px;line-height:1.45}
  .calendar-pill{margin-top:12px;min-height:44px;font-size:12px;padding-right:11px}
  .calendar-pill img{width:24px;height:24px}
  .glass-panel{display:flex;flex-direction:column;max-height:100%;min-height:0;overflow:hidden;margin:0;padding:16px 18px;border-radius:23px}
  #inline-form-mount{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#afc1b43d transparent;scroll-padding-block:12px;padding:3px;margin:-3px}
  .glass-panel .form-heading{margin-bottom:14px}
  .glass-panel .form-heading h2{font-size:25px}
  .form-subtext{display:none}
  .glass-panel .form-field{margin-bottom:12px}
  .form-field input,.form-field textarea{font-size:16px}
  .attendance-segment{min-height:44px}
  .atmosphere-footer{left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));bottom:max(9px,env(safe-area-inset-bottom))}
  .surmount-mark{width:90px}
  .atmosphere:is([data-stage=celebrating],[data-stage=complete]){height:100svh;height:100dvh;min-height:0}
}
