@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@300;400;500;600&display=swap";:root{--navy:#071426;--navy-soft:#0e2139;--ivory:#f5f0e6;--paper:#ebe5da;--gold:#d5b16c;--gold-soft:#9d8150;--ink:#172234}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ivory);background:var(--navy);margin:0;font-family:Manrope,sans-serif;font-weight:300}a{color:inherit}img{max-width:100%;display:block}.hero{align-items:end;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero__image{object-fit:cover;object-position:52% center;filter:saturate(.72)contrast(1.08);width:100%;height:100%;position:absolute;inset:0}.hero__veil{background:linear-gradient(#030c196b 0%,#0410212e 35%,#040e1cdb 100%),linear-gradient(90deg,#040d1a40,#0000 60%);position:absolute;inset:0}.topbar{z-index:3;border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:center;padding:28px clamp(20px,5vw,72px);display:flex;position:absolute;top:0;left:0;right:0}.wordmark{text-transform:uppercase;letter-spacing:.18em;font-family:Cormorant Garamond,serif;font-size:clamp(.72rem,1.1vw,1rem);text-decoration:none}.wordmark span,footer span{color:var(--gold);padding:0 .45em}.topbar__cta{text-transform:uppercase;letter-spacing:.14em;border:1px solid #ffffff8c;padding:11px 16px;font-size:.68rem;text-decoration:none;transition:all .25s}:is(.topbar__cta:hover,.topbar__cta:focus-visible){background:var(--ivory);color:var(--navy)}.hero__content{z-index:2;width:min(1120px,100%);margin:0 auto;padding:150px clamp(22px,6vw,84px) 7vh;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--gold);margin:0 0 20px;font-size:.72rem;font-weight:500}.hero h1{letter-spacing:-.045em;text-transform:uppercase;max-width:800px;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(5rem,14vw,10.5rem);font-weight:400;line-height:.72}.gold-line{background:var(--gold);width:76px;height:1px;margin:36px 0 26px}.hero__date{letter-spacing:.03em;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.5rem,3vw,2.25rem)}.hero__place{text-transform:uppercase;letter-spacing:.22em;color:#ffffffc2;margin:8px 0 42px;font-size:.76rem}.scroll-cue{text-transform:uppercase;letter-spacing:.2em;align-items:center;gap:14px;font-size:.65rem;text-decoration:none;display:inline-flex}.scroll-cue span{color:var(--gold);font-size:1rem}.section{padding:clamp(80px,12vw,160px) clamp(22px,7vw,96px)}.intro{text-align:center;max-width:1120px;margin:auto}.intro h2,.details h2,.code h2,.manifesto h2,.booking h2{letter-spacing:-.02em;font-family:Cormorant Garamond,serif;font-weight:400}.intro h2{max-width:850px;margin:0 auto 34px;font-size:clamp(2.8rem,7vw,5.4rem);line-height:.98}.lead{color:#fffc;max-width:690px;margin:auto;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.9}.whisper{max-width:600px;color:var(--gold);margin:48px auto 0;font-family:Cormorant Garamond,serif;font-size:1.45rem;font-style:italic}.brands{color:var(--ink);text-align:center;background:#f8f5ee;padding:clamp(54px,8vw,94px) clamp(22px,7vw,96px)}.brands__label{text-transform:uppercase;letter-spacing:.28em;color:var(--gold-soft);margin:0 0 32px;font-size:.66rem;font-weight:600}.brands__logos{grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(24px,5vw,60px);width:min(860px,100%);margin:auto;display:grid}.brand{place-items:center;min-width:0;margin:0;display:grid}.brand img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:118px}.brand--roederer img{max-width:330px}.brand--xabier img{max-width:310px}.brands__cross{color:var(--gold-soft);font-family:Cormorant Garamond,serif;font-size:2rem}.scene{min-height:72svh;position:relative;overflow:hidden}.scene img{object-fit:cover;filter:brightness(.48)saturate(.65);width:100%;height:100%;position:absolute;inset:0}.scene:after{content:"";background:linear-gradient(#0000 30%,#050f1dbf);position:absolute;inset:0}.scene__caption{z-index:2;gap:10px;display:grid;position:absolute;bottom:clamp(36px,7vw,90px);left:clamp(22px,7vw,96px)}.scene__caption span{text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font-size:.72rem}.scene__caption strong{font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,6vw,4.8rem);font-weight:400}.scene--reception{min-height:86svh}.scene--reception img{object-position:center 58%;filter:brightness(.62)saturate(.78)}.scene--celebration{min-height:88svh}.scene--celebration img{object-position:center 48%;filter:brightness(.64)saturate(.82)}.scene__caption--right{text-align:right;max-width:680px;left:auto;right:clamp(22px,7vw,96px)}.scene__caption--right strong{line-height:.95}.details{grid-template-columns:.8fr 1.2fr;gap:8vw;max-width:1280px;margin:auto;display:grid}.details h2{margin:0;font-size:clamp(2.8rem,5vw,4.6rem);line-height:1}.details__list article{border-top:1px solid #ffffff2e;grid-template-columns:52px 1fr;column-gap:20px;padding:30px 0;display:grid;position:relative}.details__list article:last-child{border-bottom:1px solid #ffffff2e}.details__list span{color:var(--gold);grid-row:1/3;font-family:Cormorant Garamond,serif;font-size:1.2rem}.details__list h3{margin:0 0 9px;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:500}.details__list p{color:#ffffffa6;margin:0;line-height:1.7}.code{background:var(--paper);color:var(--ink)}.code__card{text-align:center;border:1px solid #17223447;width:min(900px,100%);margin:auto;padding:clamp(44px,8vw,90px)}.code h2{color:var(--navy);margin:0 0 28px;font-size:clamp(3rem,7vw,5.6rem)}.code__card>p:not(.eyebrow){max-width:620px;margin:auto;font-size:1.08rem;line-height:1.85}.rule{background:var(--gold-soft);width:72px;height:1px;margin:44px auto}.code .glass{font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.55rem!important}.manifesto{text-align:center;background:var(--navy-soft)}.manifesto p{text-transform:uppercase;letter-spacing:.25em;color:var(--gold);margin:0 0 8px;font-size:.75rem}.manifesto h2{margin:0;font-size:clamp(3.2rem,8vw,6.5rem);line-height:.95}.booking{background:var(--paper);color:var(--ink);grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(50px,8vw,120px);display:grid}.booking__intro{position:sticky;top:40px}.booking h2{margin:0 0 32px;font-size:clamp(3.2rem,6vw,5.4rem);line-height:.88}.price{align-items:baseline;gap:12px;margin:38px 0 24px;display:flex}.price strong{color:var(--navy);font-family:Cormorant Garamond,serif;font-size:4rem;font-weight:500}.price span{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}.small{color:#172234b8;max-width:440px;font-size:.9rem;line-height:1.7}.booking__form{background:#f6f2e9;grid-template-columns:1fr 1fr;gap:24px;padding:clamp(26px,5vw,60px);display:grid;box-shadow:0 28px 90px #111b2a1f}.field{gap:9px;display:grid}.field--full,.pay-button,.form-note,.form-status{grid-column:1/-1}label{text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;font-weight:600}input,select,textarea{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-bottom:1px solid #17223457;border-radius:0;outline:none;padding:12px 2px;font-size:1rem}input:focus,select:focus,textarea:focus{border-color:var(--gold-soft)}.field-help{color:#1722349e;font-size:.76rem;line-height:1.55}.check{text-transform:none;letter-spacing:0;align-items:flex-start;gap:12px;font-size:.82rem;font-weight:400;line-height:1.5;display:flex}.check input{width:18px;height:18px;accent-color:var(--navy);flex:none}.pay-button{background:var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;border:0;place-items:center;gap:4px;min-height:72px;padding:16px 22px;font-family:inherit;transition:background .2s,transform .2s;display:grid}:is(.pay-button:hover,.pay-button:focus-visible){background:var(--navy-soft)}.pay-button:active{transform:translateY(1px)}.pay-button small{text-transform:none;letter-spacing:0;color:#ffffffa6}.form-note{text-align:center;color:#17223499;margin:0;font-size:.75rem}.form-status{text-align:center;color:var(--navy);background:#d5b16c1f;border:1px solid #9d815073;margin:0;padding:15px 18px;font-size:.82rem;line-height:1.6;display:none}.form-status.is-visible{display:block}.form-status.is-success{color:#5a461f}.form-status.is-error{color:#8f2323;background:#8f232314;border-color:#8f232359}.pay-button:disabled{cursor:wait;opacity:.7}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.admin-shell{color:#102033;background:#f3f5f7;min-height:100vh;padding:38px;font-family:Manrope,sans-serif}.admin-header{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1500px;margin:0 auto 28px;display:flex}.admin-header h1{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(42px,6vw,72px);line-height:.9}.admin-header p{color:#617083;margin:10px 0 0}.admin-kicker{letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:600;color:#9a7538!important}.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.admin-actions a{color:#102033;background:#fff;border:1px solid #ccd3db;border-radius:8px;padding:11px 15px;font-size:14px;font-weight:600;text-decoration:none}.admin-actions a:first-child{color:#fff;background:#071426;border-color:#071426}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1500px;margin:0 auto 20px;display:grid}.admin-stats article{background:#fff;border:1px solid #dde2e7;border-radius:12px;padding:18px 20px}.admin-stats span{color:#6b7786;font-size:13px;display:block}.admin-stats strong{margin-top:4px;font-family:Cormorant Garamond,serif;font-size:38px;display:block}.admin-table-wrap{background:#fff;border:1px solid #dde2e7;border-radius:12px;max-width:1500px;margin:0 auto;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{color:#435164;text-align:left;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#e8ecf0;padding:13px 12px;font-size:12px}.admin-table td{vertical-align:top;border-top:1px solid #e7eaee;padding:13px 12px}.admin-table td strong,.admin-table td small,.admin-table td a{display:block}.admin-table td small{color:#9b542f;max-width:230px;margin-top:5px}.admin-table td a{color:#234f83;margin-bottom:4px}.admin-table select,.admin-table textarea{color:#102033;width:100%;min-width:145px;font:inherit;background:#fff;border:1px solid #cbd2d9;border-radius:7px;padding:8px}.admin-table textarea{resize:vertical;min-width:180px;min-height:58px}.admin-empty{color:#687587;text-align:center;padding:50px!important}.admin-error{color:#991b1b;background:#fee2e2;border-radius:8px;max-width:1500px;margin:0 auto 14px;padding:12px 15px}@media (max-width:760px){.admin-shell{padding:22px 14px}.admin-header{flex-direction:column}.admin-actions{justify-content:flex-start}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}footer{text-transform:uppercase;letter-spacing:.15em;color:#ffffffa6;border-top:1px solid #ffffff24;justify-content:space-between;gap:20px;padding:32px clamp(22px,7vw,96px);font-size:.65rem;display:flex}@media (max-width:760px){.topbar{padding:20px}.topbar__cta{display:none}.wordmark{text-align:center;width:100%;font-size:.66rem}.hero__content{padding-bottom:6vh}.hero h1{font-size:clamp(4.5rem,23vw,7rem)}.details,.booking{grid-template-columns:1fr}.brands__logos{grid-template-columns:1fr;gap:18px}.brand img{height:92px}.brands__cross{font-size:1.5rem;line-height:.7}.scene--reception,.scene--celebration{min-height:78svh}.scene--reception img{object-position:center center}.scene--celebration img{object-position:53% center}.scene__caption--right{text-align:left;left:22px;right:22px}.details{gap:54px}.booking__intro{position:static}.booking__form{grid-template-columns:1fr}.field{grid-column:1/-1}footer{text-align:center;flex-direction:column}}@media (prefers-reduced-motion:no-preference){.hero__image{animation:14s ease-out both settle}@keyframes settle{0%{transform:scale(1.05)}to{transform:scale(1)}}}
