@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700;800&display=swap";
:root{--bg:#05070c;--bg-2:#08131a;--bg-3:#101014;--panel:#0c1219c7;--panel-strong:#090e14f0;--text:#f8efe7;--muted:#bdaea7;--soft:#8ba4a0;--teal:#57e7df;--teal-dim:#57e7df29;--rose:#d98d96;--champagne:#ffd4a3;--gold:#f3a85c;--success:#76e3a2;--error:#ff8b8b;--border:#ffd4a33d;--shadow:0 26px 80px #00000075;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--serif:"Cormorant Garamond", Georgia, serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);scroll-behavior:smooth}body{min-width:320px;font-family:var(--sans);background:radial-gradient(circle at 22% 18%,#57e7df21,#0000 28rem),radial-gradient(circle at 78% 35%,#f2a85d1a,#0000 24rem),linear-gradient(#05070c 0%,#071018 47%,#05070c 100%);margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.hero{isolation:isolate;min-height:100svh;position:relative;overflow:hidden}.heroBackground{z-index:-3;background-image:url(/images/hero-ocho-rios-beach-nicolee-straight-rounded.png);background-position:56%;background-size:cover;position:absolute;inset:0;transform:scale(1.02)}.hero:before{z-index:-2;content:"";background:linear-gradient(90deg,#020408e0 0%,#02040894 39%,#02040814 72%),linear-gradient(#02040838 0%,#0204080d 54%,#05070c 100%);position:absolute;inset:0}.heroGlow{z-index:-1;background:linear-gradient(#0000 0%,#05070cf0 100%);height:34%;position:absolute;inset:auto 0 0}.particleLayer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.codeParticle{color:#57e7df52;font-family:var(--mono);white-space:nowrap;text-shadow:0 0 18px #57e7df7a;font-size:clamp(.58rem,.5rem + .25vw,.82rem);animation:linear infinite codeFall;position:absolute;top:-4rem}.siteHeader{z-index:3;color:#f8efe7db;justify-content:space-between;align-items:center;gap:2rem;width:min(1180px,100% - 2rem);margin:0 auto;padding:1.35rem 0;display:flex;position:relative}.brandMark{color:var(--champagne);font-family:var(--mono);align-items:center;gap:.42rem;font-size:1.2rem;display:inline-flex}.brandMark svg{fill:#ffd4a32e}.navLinks{font-family:var(--mono);letter-spacing:0;flex-wrap:wrap;justify-content:flex-end;gap:clamp(.85rem,2vw,2rem);font-size:.78rem;display:flex}.navLinks a{color:#f8efe7d1;transition:color .18s,transform .18s}.navLinks a span{color:#57e7dfbd}.navLinks a:hover{color:var(--champagne);transform:translateY(-1px)}.heroInner{align-content:center;width:min(1180px,100% - 2rem);min-height:calc(100svh - 5.2rem);margin:0 auto;padding:4rem 0 7.5rem;display:grid}.terminalBlock{width:min(31rem,100%);font-family:var(--mono);margin-bottom:clamp(2.2rem,5vh,4.5rem)}.terminalTitle{color:#8bffcb;align-items:center;gap:.58rem;margin-bottom:1rem;font-weight:600;display:flex}.terminalLines{color:#daebe0b3;min-height:8.5rem;font-size:.86rem;line-height:1.75}.terminalLines p{margin:0}.terminalLines span{color:#9bf2d2eb}.cursorLine i{background:#f8efe7cc;width:.58rem;height:1rem;animation:.9s steps(2,start) infinite blink;display:inline-block;transform:translateY(.18rem)}.heroCopy{max-width:min(58rem,54vw)}.guestGreeting{background:#05070c94;border:1px solid #57e7df47;border-radius:8px;gap:.35rem;max-width:33rem;margin-bottom:1.1rem;padding:.9rem 1rem;display:inline-grid;box-shadow:0 0 32px #57e7df1f}.guestGreeting span{color:var(--teal);font-family:var(--mono);font-size:.72rem}.guestGreeting strong{color:var(--champagne);font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem);line-height:1}.guestGreeting p{color:#f8efe7c7;margin:0;font-size:.92rem;line-height:1.55}.heroCopy h1,.sectionHeader h2,.manifestLead h2,.travelGrid h2,.rsvpIntro h2{font-family:var(--serif);letter-spacing:0;margin:0;font-weight:600}.heroCopy h1{color:#ffd4b6;text-shadow:0 0 28px #e59a7547;font-size:clamp(4.4rem,8.5vw,7.5rem);line-height:.9}.heroHeadline{color:#a9e4c5;font-family:var(--mono);margin:1.2rem 0 0;font-size:clamp(1.5rem,4vw,2.65rem);line-height:1.1}.heroSubline{color:var(--champagne);font-family:var(--mono);margin:1.65rem 0 0;font-size:clamp(1rem,2vw,1.45rem)}.heroActions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.primaryButton,.audioButton,.submitButton,.adminControls button,.adminUpdateForm button,.adminGhostButton,.adminRowActions button{color:var(--text);background:linear-gradient(#ffd4a321,#ffd4a308);border:1px solid #ffd4a385;border-radius:8px;transition:transform .18s,border-color .18s,box-shadow .18s;box-shadow:0 0 26px #ffb2712e,inset 0 0 18px #ffd4a314}.primaryButton{min-width:14rem;min-height:4rem;font-family:var(--mono);justify-content:center;align-items:center;padding:.95rem 1.5rem;font-size:1.35rem;display:inline-flex}.audioButton{min-height:4rem;font-family:var(--mono);align-items:center;gap:.75rem;padding:.95rem 1.1rem;font-size:1rem;display:inline-flex}.roundIcon{background:#05070c66;border:1px solid #ffd4a39e;border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;display:inline-grid}.primaryButton:hover,.audioButton:hover,.submitButton:hover,.adminControls button:hover,.adminUpdateForm button:hover,.adminGhostButton:hover,.adminRowActions button:hover{border-color:#57e7dfbf;transform:translateY(-2px);box-shadow:0 0 34px #57e7df33,inset 0 0 18px #ffd4a31a}.scrollCue{width:3rem;height:3rem;color:var(--champagne);place-items:center;animation:1.8s ease-in-out infinite floatCue;display:grid;position:absolute;bottom:2.3rem;left:50%;transform:translate(-50%)}.section{padding:clamp(5rem,9vw,8rem) 1rem;position:relative}.section:before{pointer-events:none;content:"";background-image:linear-gradient(#ffd4a314 1px,#0000 1px),linear-gradient(90deg,#57e7df0d 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 28% 72%,#0000);mask-image:linear-gradient(#0000,#000 28% 72%,#0000)}.sectionHeader,.manifestPanel,.releasePipeline,.travelGrid,.rsvpSection{width:min(1120px,100%);margin:0 auto}.sectionHeader{text-align:center;margin-bottom:3rem}.sectionHeader.alignLeft{text-align:left}.sectionHeader h2,.manifestLead h2,.travelGrid h2,.rsvpIntro h2{color:#ffcfaa;font-size:clamp(2.6rem,7vw,5.4rem);line-height:.95}.sectionHeader p,.manifestLead p,.travelGrid p,.rsvpIntro p{max-width:42rem;color:var(--muted);font-size:1.05rem;line-height:1.75}.sectionHeader p{margin:1rem auto 0}.alignLeft p{margin-left:0}.manifestLead code,.detailCard span,.pipelineStep time,.formHeader span{font-family:var(--mono);letter-spacing:0}.detailCard h3,.pipelineStep h3,.rsvpForm h3,.adminHeader h1{color:var(--text);margin:0;font-size:1.22rem}.detailCard p,.pipelineStep p{color:var(--muted);margin:.45rem 0 0;line-height:1.65}.detailsSection{background:radial-gradient(circle at 20% 10%,#f2a85d21,#0000 26rem),linear-gradient(#080e13 0%,#09090e 100%)}.manifestPanel{border:1px solid var(--border);box-shadow:var(--shadow);background:#05070cb8;border-radius:8px;position:relative;overflow:hidden}.panelChrome{background:#ffffff08;border-bottom:1px solid #ffd4a329;align-items:center;gap:.55rem;min-height:2.75rem;padding:0 1rem;display:flex}.panelChrome span{background:var(--rose);border-radius:50%;width:.7rem;height:.7rem}.panelChrome span:nth-child(2){background:var(--gold)}.panelChrome span:nth-child(3){background:var(--teal)}.panelChrome p{color:#f8efe794;font-family:var(--mono);margin:0 0 0 .45rem;font-size:.82rem}.manifestGrid{grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.2rem,4vw,3rem);display:grid}.manifestLead svg,.travelGrid svg,.rsvpIntro svg{color:var(--teal);filter:drop-shadow(0 0 18px #57e7df52)}.manifestLead dl{gap:.8rem;margin:2rem 0 0;display:grid}.manifestLead dl div{border-top:1px solid #ffd4a324;grid-template-columns:5.5rem 1fr;gap:1rem;padding:.8rem 0;display:grid}.manifestLead dt{color:var(--teal);font-family:var(--mono);font-size:.82rem}.manifestLead dd{color:var(--text);margin:0}.detailCards{gap:1rem;display:grid}.detailCard{background:linear-gradient(135deg,#57e7df1f,#0000 42%),#ffffff09;border:1px solid #57e7df2e;border-radius:8px;padding:1.35rem}.detailCard span{color:var(--champagne);font-size:.8rem}.detailCard h3{margin-top:.55rem}.timelineSection{background:linear-gradient(#09090e 0%,#071119 100%)}.releasePipeline{gap:1rem;display:grid;position:relative}.releasePipeline:before{content:"";background:linear-gradient(180deg, var(--teal), var(--champagne), var(--rose));width:1px;position:absolute;top:1.2rem;bottom:1.2rem;left:7.4rem;box-shadow:0 0 22px #57e7df61}.pipelineStep{grid-template-columns:6rem 1fr;align-items:start;gap:2.8rem;padding:1.15rem 1.25rem;display:grid;position:relative}.pipelineStep:before{border:2px solid var(--champagne);content:"";background:#071119;border-radius:50%;width:.95rem;height:.95rem;position:absolute;top:1.45rem;left:6.95rem;box-shadow:0 0 20px #ffd4a380}.pipelineStep time{color:var(--teal);font-size:.92rem}.travelSection{background:radial-gradient(circle at 80% 0,#57e7df24,#0000 24rem),radial-gradient(circle at 10% 80%,#f2a85d1a,#0000 24rem),#071119}.travelGrid{grid-template-columns:.75fr 1.25fr;align-items:start;gap:clamp(1.5rem,5vw,4rem);display:grid}.faqStack{gap:.8rem;display:grid}.faqStack details{background:#ffffff09;border:1px solid #ffd4a32e;border-radius:8px}.faqStack summary{cursor:pointer;color:var(--text);padding:1.1rem 1.2rem;font-weight:700}.faqStack p{color:var(--muted);margin:0;padding:0 1.2rem 1.2rem;line-height:1.65}.faqStack a{color:var(--champagne);text-underline-offset:.18em;font-weight:700;text-decoration:underline}.rsvpSection{grid-template-columns:minmax(0,.9fr) minmax(22rem,1.1fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);padding-bottom:clamp(5rem,9vw,8rem);display:grid}.rsvpIntro{gap:1.5rem;display:grid}.rsvpImageWrap{box-shadow:var(--shadow);background:#05070c;border:1px solid #ffd4a333;border-radius:8px;overflow:hidden}.rsvpImageWrap img{aspect-ratio:16/10;object-fit:cover;width:100%}.rsvpNotes{color:var(--muted);gap:.75rem;margin:1.6rem 0 0;padding:0;list-style:none;display:grid}.rsvpNotes li{align-items:center;gap:.65rem;display:flex}.rsvpNotes svg{color:var(--champagne)}.rsvpForm{border:1px solid var(--border);box-shadow:var(--shadow);background:radial-gradient(circle at 100% 0,#57e7df29,#0000 18rem),#090e14e6;border-radius:8px;gap:1rem;padding:clamp(1.2rem,3vw,2rem);display:grid}.formHeader{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.2rem;display:flex}.formHeader span{color:var(--teal);font-size:.78rem}.rsvpForm label,.segmentedField legend{color:#f8efe7e6;gap:.45rem;font-size:.88rem;font-weight:700;display:grid}.rsvpForm input,.rsvpForm select,.rsvpForm textarea,.adminControls input{width:100%;color:var(--text);background:#0204088c;border:1px solid #ffd4a33d;border-radius:8px;outline:none;transition:border-color .18s,box-shadow .18s}.rsvpForm input,.rsvpForm select,.adminUpdateForm input,.adminUpdateForm select,.adminControls input{min-height:3.05rem;padding:0 .9rem}.rsvpForm textarea,.adminUpdateForm textarea{resize:vertical;padding:.8rem .9rem}.rsvpForm input:focus,.rsvpForm select:focus,.rsvpForm textarea:focus,.adminUpdateForm input:focus,.adminUpdateForm select:focus,.adminUpdateForm textarea:focus,.adminControls input:focus{border-color:#57e7dfb8;box-shadow:0 0 0 3px #57e7df1f}.segmentedField{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem .55rem;margin:0;padding:0;display:grid}.segmentedField legend{grid-column:1/-1;padding-bottom:.15rem}.segmentedField button{min-height:3rem;color:var(--muted);background:#ffffff09;border:1px solid #ffd4a338;border-radius:8px}.segmentedField button.selected{color:var(--text);background:#57e7df29;border-color:#57e7dfb3}.formRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.inputIcon{display:block;position:relative}.inputIcon svg{color:var(--champagne);position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.inputIcon input{padding-left:2.3rem}.submitButton{justify-content:center;align-items:center;gap:.62rem;min-height:3.45rem;margin-top:.3rem;font-weight:800;display:inline-flex}.submitButton:disabled{cursor:wait;opacity:.7}.formStatus{border-radius:8px;gap:.2rem;padding:.9rem 1rem;display:grid}.formStatus strong{font-size:.95rem}.formStatus span{color:#f8efe7bf;font-family:var(--mono);font-size:.78rem}.formStatus.success{background:#76e3a21f;border:1px solid #76e3a26b}.formStatus.error{background:#ff8b8b1f;border:1px solid #ff8b8b6b}.adminShell{background:radial-gradient(circle at 0 0,#57e7df24,#0000 26rem),#05070c;min-height:100svh;padding:clamp(1rem,5vw,4rem)}.adminPanel{border:1px solid var(--border);width:min(1180px,100%);box-shadow:var(--shadow);background:#090e14eb;border-radius:8px;margin:0 auto;padding:clamp(1rem,3vw,2rem)}.adminHeader,.adminControls{align-items:center;gap:1rem;display:flex}.adminHeader{justify-content:space-between;margin-bottom:1.5rem}.adminHeaderTitle{align-items:center;gap:1rem;display:flex}.adminHeader p{color:var(--muted);margin:.35rem 0 0}.adminControls{align-items:stretch}.adminControls button{white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;min-width:10.5rem;padding:0 1rem;display:inline-flex}.adminError{color:var(--error)}.summaryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.5rem 0;display:grid}.adminSummaryWide{grid-template-columns:repeat(6,minmax(0,1fr))}.adminTwoColumn{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.adminSectionHeader{justify-content:space-between;align-items:flex-end;gap:1rem;margin:1.8rem 0 .9rem;display:flex}.adminSectionHeader h2{color:var(--champagne);font-family:var(--serif);margin:0;font-size:clamp(1.8rem,4vw,2.8rem)}.adminSectionHeader p{color:var(--muted);margin:.25rem 0 0}.adminButtonRow{flex-wrap:wrap;justify-content:flex-end;gap:.7rem;display:flex}.adminGhostButton{white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;min-height:2.8rem;padding:0 .9rem;font-weight:800;display:inline-flex}.adminGhostButton:disabled,.adminRowActions button:disabled{cursor:not-allowed;opacity:.48;transform:none}.adminUpdateForm{background:#ffffff06;border:1px solid #ffd4a324;border-radius:8px;gap:1rem;margin:0 0 1.5rem;padding:1rem;display:grid}.adminCsvImport{margin-top:.2rem}.adminCsvHeader{margin:0}.adminUpdateForm h2{font-family:var(--serif);margin:0;font-size:clamp(1.7rem,4vw,2.4rem)}.adminUpdateForm p{color:var(--muted);margin:.35rem 0 0}.adminUpdateForm label{color:var(--muted);gap:.45rem;display:grid}.adminUpdateForm input,.adminUpdateForm select,.adminUpdateForm textarea{width:100%;color:var(--text);background:#0204088c;border:1px solid #ffd4a33d;border-radius:8px;outline:none}.adminUpdateForm button{white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;min-height:3rem;padding:0 1rem;display:inline-flex}.adminCheckbox{align-items:center;gap:.7rem!important;display:flex!important}.adminCheckbox input{width:1.05rem;height:1.05rem;accent-color:var(--teal)}.adminFileInput{cursor:pointer;white-space:nowrap;background:linear-gradient(#ffd4a321,#ffd4a308);border:1px solid #ffd4a385;border-radius:8px;justify-content:center;align-items:center;min-height:2.8rem;padding:0 .9rem;font-weight:800;box-shadow:0 0 26px #ffb2712e,inset 0 0 18px #ffd4a314;color:var(--text)!important;gap:.5rem!important;display:inline-flex!important}.adminFileInput input{display:none}.adminCsvMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.45rem .75rem;display:flex}.adminCsvMeta strong{color:var(--champagne)}.adminCsvPreview table{min-width:760px}.adminCompactCheckbox{width:auto;color:#f8efe7d1!important;display:inline-flex!important}.adminNotice{margin:0}.adminNotice.success{color:var(--success)}.adminNotice.error{color:var(--error)}.statBox{background:#ffffff09;border:1px solid #57e7df2e;border-radius:8px;padding:1rem}.statBox span{color:var(--muted);font-size:.8rem}.statBox strong{color:var(--champagne);margin-top:.35rem;font-size:1.8rem;display:block}.adminTableWrap{overflow-x:auto}.adminTableWrap table{border-collapse:collapse;width:100%;min-width:980px}.adminTableWrap th,.adminTableWrap td{text-align:left;vertical-align:top;border-bottom:1px solid #ffd4a31f;padding:.9rem}.adminTableWrap th{color:var(--teal);font-family:var(--mono);font-size:.78rem}.adminTableWrap td{color:#f8efe7d1;font-size:.9rem}.adminTableWrap td span{color:var(--muted);margin-top:.2rem;font-size:.78rem;display:block}.adminRowActions{flex-wrap:wrap;gap:.45rem;display:flex}.adminRowActions button{white-space:nowrap;align-items:center;gap:.35rem;min-height:2.25rem;padding:0 .65rem;font-size:.78rem;font-weight:800;display:inline-flex}@keyframes codeFall{0%{opacity:0;transform:translateY(-3rem)}12%,70%{opacity:1}to{opacity:0;transform:translate(-2rem,112vh)}}@keyframes blink{50%{opacity:0}}@keyframes floatCue{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,.5rem)}}@media (max-width:920px){.siteHeader{align-items:flex-start}.navLinks{max-width:26rem}.manifestGrid,.travelGrid,.rsvpSection{grid-template-columns:1fr}.rsvpSection{padding-left:1rem;padding-right:1rem}}@media (max-width:680px){.hero{min-height:100svh}.heroBackground{background-position:78%;transform:scale(1.01)}.hero:before{background:linear-gradient(90deg,#020408e0 0%,#02040880 58%,#0204082e 100%),linear-gradient(#02040829 0%,#02040857 48%,#05070cf5 100%)}.siteHeader{gap:.95rem;width:min(100% - 2rem,24rem);padding-top:1.05rem;display:grid}.navLinks{justify-content:flex-start;gap:.62rem .9rem;max-width:20rem;font-size:.72rem;line-height:1.4}.heroInner{width:min(100% - 2rem,24rem);min-height:calc(100svh - 6.5rem);padding:1.35rem 0 calc(1.45rem + env(safe-area-inset-bottom));align-content:end}.terminalBlock{display:none}.heroCopy h1{max-width:21rem;font-size:clamp(2.85rem,14vw,3.85rem);line-height:.94}.heroCopy{max-width:100%}.heroHeadline{max-width:21rem;margin-top:.85rem;font-size:clamp(1.18rem,5.6vw,1.45rem);line-height:1.14}.heroSubline{margin-top:.95rem;font-size:.95rem}.heroActions{gap:.75rem;margin-top:1.35rem}.primaryButton,.audioButton{width:100%;min-width:0;min-height:3.35rem;padding:.75rem 1rem}.primaryButton{font-size:1.05rem}.audioButton{gap:.65rem;font-size:.92rem}.roundIcon{width:2rem;height:2rem}.particleLayer,.scrollCue{display:none}.pipelineStep{grid-template-columns:1fr;gap:.75rem}.releasePipeline:before,.pipelineStep:before{display:none}.manifestLead dl div,.formRow,.segmentedField{grid-template-columns:1fr}.summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.adminSummaryWide,.adminTwoColumn{grid-template-columns:1fr}.adminSectionHeader{flex-direction:column;align-items:stretch}.adminButtonRow{justify-content:stretch}.adminButtonRow .adminGhostButton{flex:12rem}.adminFileInput{width:100%}.adminControls{display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
