:root{--ink:#271d22;--paper:#fffaf4;--cream:#f5ede3;--coral:#ed503e;--sun:#ffd45c;--plum:#633f64;--green:#173e34;--line:rgba(39,29,34,.13);--serif:"Fraunces",serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:88px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;z-index:50;width:100%}.brand img{width:185px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.nav-cta{border:1px solid currentColor;border-radius:999px;padding:12px 20px}.menu-button{display:none;border:0;background:none;font-size:24px}.hero{min-height:100vh;overflow:hidden;position:relative;display:flex;align-items:center;padding:130px clamp(24px,8vw,130px) 80px;background:linear-gradient(125deg,#fff9ef 0% 49%,#ffd85e 49.1% 100%)}.hero-copy{width:50%;position:relative;z-index:4}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--coral)}h1,h2,h3{font-family:var(--serif);margin:0;line-height:.96;letter-spacing:-.045em}.hero h1{font-size:clamp(58px,7.3vw,116px);margin:24px 0 30px}.hero h1 em{color:var(--coral);font-weight:600}.hero-copy>p{font-size:18px;color:#705f62;margin:0 0 36px}.button{min-height:54px;padding:0 24px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:36px;font-weight:700;cursor:pointer}.button-dark{background:var(--ink);color:#fff}.button-light{background:#fff;color:var(--ink)}.hero-collage{position:absolute;right:2%;width:50%;height:72%;top:17%}.photo{margin:0;position:absolute;border:8px solid white;box-shadow:0 24px 55px #3a241b2e;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.photo-a{width:44%;height:67%;left:3%;top:4%;transform:rotate(-6deg);border-radius:42% 42% 18px 18px}.photo-b{width:45%;height:61%;right:3%;bottom:1%;transform:rotate(7deg);border-radius:18px}.photo-c{width:32%;aspect-ratio:1;left:29%;bottom:0;z-index:3;transform:rotate(-2deg);border-radius:50%}.spark{position:absolute;color:var(--coral);font-size:50px;z-index:4}.spark-a{right:10%;top:-2%}.spark-b{left:0;bottom:4%;font-size:32px}.hero-orbit{position:absolute;border:1px solid rgba(237,80,62,.25);border-radius:50%}.orbit-one{width:420px;height:420px;right:-210px;top:-180px}.orbit-two{width:170px;height:170px;left:-80px;bottom:5%}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translate(-50%);font-size:10px;text-transform:uppercase;letter-spacing:.15em;display:flex;align-items:center;gap:12px}.scroll-cue span{width:36px;height:1px;background:var(--ink)}.year-intro{min-height:70vh;padding:150px clamp(24px,8vw,130px) 100px;display:flex;align-items:end;justify-content:space-between;background:var(--ink);color:#fff}.year-intro h2{font-size:clamp(54px,7vw,104px);margin-top:24px}.year-switcher{display:flex;gap:8px}.year-switcher a{padding:13px 19px;border-radius:99px;border:1px solid rgba(255,255,255,.3)}.year-switcher a.active{background:#fff;color:var(--ink)}.calendar-story{background:var(--cream);position:relative}.month-rail{position:sticky;top:0;height:100vh;width:9vw;min-width:86px;float:left;z-index:10;display:flex;flex-direction:column;justify-content:center;padding:100px 18px}.month-rail a{display:flex;align-items:center;gap:8px;padding:8px 0;color:#a2938b;transition:.3s}.month-rail b,.month-rail span{font-size:10px}.month-rail span{text-transform:uppercase;letter-spacing:.12em}.month-rail a.active{color:var(--coral);transform:translate(5px)}.month-panel{height:100vh;min-height:720px;margin-left:9vw;padding:8vh 7vw;display:grid;grid-template-columns:1.05fr .85fr;align-items:center;gap:7vw;position:relative;border-bottom:1px solid var(--line);overflow:hidden}.month-number{font-family:var(--serif);font-size:36vw;line-height:.75;position:absolute;left:4%;bottom:-5%;color:#ffffff94;z-index:0}.month-visual{height:73vh;position:relative;z-index:2;overflow:hidden;border-radius:220px 220px 22px 22px}.month-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}.status{position:absolute;top:24px;left:24px;border-radius:99px;padding:10px 14px;background:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.is-past .month-visual img{filter:grayscale(.6) sepia(.1);opacity:.78}.is-past .status{background:var(--ink);color:#fff}.month-copy{position:relative;z-index:2}.month-name{font-size:13px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--coral)}.month-copy h3{font-size:clamp(54px,6vw,92px);margin:22px 0 28px}.month-copy p{font-size:16px;line-height:1.8;color:#706164}.month-copy a{display:inline-flex;gap:30px;border-bottom:1px solid;padding:12px 0;margin-top:20px;font-weight:700}.coming-mark{font-size:100px;display:grid;place-items:center;height:100%;background:#eadfd3;color:var(--coral)}.month-panel:nth-child(3n+2){background:#fee8df}.month-panel:nth-child(3n+3){background:#f7e7a9}.host-section{min-height:100vh;background:var(--coral);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}.host-portrait{align-self:stretch;position:relative;display:flex;align-items:end;justify-content:center}.host-portrait img{max-height:90vh;position:relative;z-index:2}.host-shape{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:var(--sun);top:16%}.host-copy{padding:10vw 11vw 10vw 5vw}.host-copy .eyebrow{color:var(--sun)}.host-copy h2{font-size:clamp(54px,6vw,92px);margin:25px 0 45px}.host-copy blockquote{margin:0 0 35px;font-family:var(--serif);font-size:24px;line-height:1.5}.signature{font-family:var(--serif);font-size:25px}.signature span{display:block;font:600 10px var(--sans);text-transform:uppercase;letter-spacing:.15em;margin-top:8px;color:#ffd4ce}.memory-strip{padding:130px 6vw;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,260px);gap:18px}.memory-title{grid-column:1/6;align-self:center}.memory-title h2{font-size:clamp(48px,5vw,78px);margin-top:20px}.memory-strip figure{margin:0;overflow:hidden;border-radius:20px;grid-column:span 2}.memory-strip figure:nth-of-type(1){grid-column:7/10}.memory-strip figure:nth-of-type(2){grid-column:10/13}.memory-strip figure:nth-of-type(3){grid-column:1/4}.memory-strip figure:nth-of-type(4){grid-column:4/7}.memory-strip figure:nth-of-type(5){grid-column:7/9}.memory-strip figure:nth-of-type(6){grid-column:9/11}.memory-strip figure:nth-of-type(7){grid-column:11/13}.memory-strip img{width:100%;height:100%;object-fit:cover;transition:.5s}.memory-strip figure:hover img{transform:scale(1.04)}.closing-cta{min-height:75vh;background:var(--plum);color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px}.closing-cta>span{font-size:45px;color:var(--sun)}.closing-cta h2{font-size:clamp(58px,7vw,110px);margin:22px 0 45px}.closing-cta h2 em{color:var(--sun)}footer{background:var(--ink);color:#fff;min-height:260px;padding:70px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}footer img{width:190px;filter:brightness(0) invert(1)}footer p{text-align:right;font:22px var(--serif)}footer div{display:flex;gap:24px;font-size:13px}footer small{text-align:right;color:#9d9296}.event-hero{height:78vh;min-height:620px;position:relative;color:#fff}.event-hero>img{width:100%;height:100%;object-fit:cover}.event-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#170c0ed1,#170c0e0f 70%)}.event-heading{position:absolute;left:7vw;right:7vw;bottom:8vh}.event-heading>a{position:absolute;bottom:calc(100% + 13vh);font-weight:600}.event-heading>span{display:inline-block;background:var(--sun);color:var(--ink);padding:9px 14px;border-radius:99px;text-transform:uppercase;font-size:10px;letter-spacing:.13em;font-weight:700}.event-heading h1{font-size:clamp(60px,8vw,122px);margin:18px 0}.event-heading p{font-size:17px}.event-intro{padding:120px 8vw;display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}.event-intro h2{font-size:clamp(38px,4.5vw,68px);line-height:1.08;margin-top:20px}.event-intro dl{margin:0}.event-intro dl div{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line)}.event-intro dd{margin:0;font-weight:700}.event-gallery{padding:0 4vw 120px;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:280px;gap:16px}.event-gallery figure{margin:0;border-radius:20px;overflow:hidden;grid-column:span 4}.event-gallery figure:nth-child(1),.event-gallery figure:nth-child(5){grid-column:span 7}.event-gallery figure:nth-child(2),.event-gallery figure:nth-child(6){grid-column:span 5}.event-gallery img{width:100%;height:100%;object-fit:cover}.registration{background:#f5eee5;padding:120px max(5vw,24px)}.registration-head{text-align:center;margin-bottom:80px}.registration-head h2{font-size:clamp(52px,6vw,84px);margin-top:20px}.registration-form{max-width:1120px;margin:auto}.step-block{background:var(--paper);border-radius:30px;padding:42px;margin-bottom:22px}.step-title{display:flex;gap:20px;align-items:center;margin-bottom:35px}.step-title b{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:#fff;font-size:12px}.step-title h3{font-size:35px}.attendee-row{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:14px;margin-bottom:12px}.attendee-row>span{padding:12px;text-align:center;border-radius:99px;background:#f8e8e1;color:var(--coral);font-size:12px;font-weight:700;text-transform:uppercase}.attendee-row input{width:100%}.remove-row{border:0;background:none;font-size:22px;color:#8e7f83;cursor:pointer}.attendee-actions{display:flex;gap:10px;margin-top:20px}.choice-button{padding:12px 18px;border-radius:99px;border:1px solid var(--line);background:#fff;font-weight:600;cursor:pointer}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;padding-bottom:18px}.product-card img{width:100%;aspect-ratio:1.15;object-fit:cover}.product-card>div{padding:16px 18px 10px;display:flex;justify-content:space-between;gap:8px}.product-card h4,.product-card p{margin:0}.product-card button{margin-left:18px;border:0;background:var(--ink);color:#fff;border-radius:99px;padding:9px 18px;cursor:pointer}.product-card.selected{outline:2px solid var(--coral)}.product-card.selected button{background:var(--coral)}.product-assignments{margin-top:24px}.assignment{border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.assignment label span,label>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#78696d;font-weight:700;margin-bottom:9px}.assignment select,.assignment input,input,textarea,select{width:100%;border:1px solid #d9cdca;background:#fff;border-radius:12px;padding:14px 15px;outline:none}.assignment input:focus,input:focus,textarea:focus,select:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ed503e1f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .wide{grid-column:1/-1}.payment-tabs,.provider-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.payment-tabs label input,.provider-options input{position:absolute;opacity:0;pointer-events:none}.payment-tabs label>span,.provider-options label>span{display:block;border:1px solid var(--line);border-radius:18px;padding:22px;font-weight:700;cursor:pointer}.payment-tabs small{display:block;font-weight:400;color:#817276;margin-top:5px}.payment-tabs input:checked+span,.provider-options input:checked+span{border-color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral);background:#fff4ef}.payment-panel{margin-top:22px}.bank-card{background:var(--green);color:#fff;border-radius:18px;padding:28px;display:grid;gap:9px}.bank-card small{color:#b5cdc5}.bank-card b{font:34px var(--serif);letter-spacing:.04em}.upload{display:block;margin-top:20px}.upload small{display:block;color:#8a7b7e;margin-top:8px}.check{display:flex!important;align-items:flex-start;gap:10px;margin-top:20px}.check input{width:18px;height:18px;accent-color:var(--coral)}.check span{font-size:13px!important;text-transform:none!important;letter-spacing:0!important;margin:0!important}.check button{border:0;background:none;padding:0;text-decoration:underline;color:inherit}.order-submit{background:var(--ink);color:#fff;border-radius:30px;padding:38px 42px;display:grid;grid-template-columns:1fr 1fr auto;gap:25px;align-items:center}.order-submit>div span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#ab9fa2}.order-submit>div strong{font:38px var(--serif)}.order-submit .check{margin:0}.form-errors{background:#fee2df;color:#8e251b;padding:14px 18px;border-radius:12px;margin-bottom:20px}dialog{border:0;border-radius:26px;max-width:620px;padding:50px;box-shadow:0 30px 80px #00000040}dialog::backdrop{background:#191214b3}dialog>button{position:absolute;right:20px;top:15px;border:0;background:none;font-size:28px}dialog h2{font-size:42px;margin:14px 0 25px}dialog div{line-height:1.7;color:#685b5e}.past-event-note{text-align:center;padding:140px 24px}.past-event-note>span{font-size:45px;color:var(--coral)}.past-event-note h2{font-size:70px;margin:20px}.past-event-note p{color:#76686b;margin-bottom:30px}.confirmation-page{min-height:100vh;background:linear-gradient(135deg,#ffd75e 0 42%,#ef503d 42%);padding:140px 24px 80px;display:grid;place-items:center}.confirmation-card{background:var(--paper);border-radius:30px;padding:55px;width:min(680px,100%);text-align:center;box-shadow:0 30px 80px #3d171738}.success-mark{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:#dff4e7;color:#18623c;font-size:24px;margin:0 auto 22px}.confirmation-card h1{font-size:62px;margin:14px}.reference{font-weight:700;letter-spacing:.14em}.status-pill{display:inline-flex;border-radius:99px;padding:7px 11px;background:#eee8e2;color:#655b5d;text-transform:uppercase;font-size:9px;letter-spacing:.1em;font-weight:800}.status-paid,.status-completed{background:#daf2e3;color:#216d43}.status-rejected{background:#fde0dd;color:#972c22}.receipt{margin:32px 0;display:grid;grid-template-columns:1fr 1fr;text-align:left;border:1px solid var(--line);border-radius:18px}.receipt div{padding:20px;border-bottom:1px solid var(--line)}.receipt div:nth-child(odd){border-right:1px solid var(--line)}.receipt div:nth-last-child(-n+2){border-bottom:0}.receipt span{display:block;color:#897b7e;font-size:11px;text-transform:uppercase;margin-bottom:7px}.confirmation-note{color:#76696c}.whatsapp-button{background:#1f9c58;color:#fff;margin:14px}.text-link{display:block;margin-top:12px;text-decoration:underline}.simple-page{padding:160px 24px 100px;min-height:100vh}.simple-page>section{max-width:900px;margin:auto}.simple-page h1{font-size:clamp(58px,8vw,100px);margin:20px 0 40px}.simple-page>section>p{font-size:20px;line-height:1.8;max-width:780px;color:#6f6164}.simple-page h2{font-size:42px;margin:70px 0 30px}.privacy-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.privacy-form .wide,.privacy-form button{grid-column:1/-1}.privacy-form button{justify-self:start}.admin-login{min-height:100vh;background:linear-gradient(120deg,var(--sun),#f5c353 50%,var(--coral) 50%);display:grid;place-items:center;padding:24px}.admin-login main{width:min(480px,100%)}.admin-login main>a img{width:190px;margin:0 auto 25px}.admin-login form{background:var(--paper);padding:48px;border-radius:28px;box-shadow:0 25px 60px #3e1d1533}.admin-login h1{font-size:50px;margin:12px 0 30px}.admin-login label{display:block;margin-bottom:18px}.admin-login .button{width:100%;margin-top:8px}.admin-page{background:#f3f0ec;min-height:100vh}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:230px;padding:32px 24px;background:var(--ink);color:#fff;display:flex;flex-direction:column}.admin-sidebar>img{filter:brightness(0) invert(1);width:170px;margin-bottom:55px}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar button{border:0;background:none;color:#aaa0a3;text-align:left;padding:13px 15px;border-radius:10px;cursor:pointer}.admin-sidebar nav button.active{background:#403338;color:#fff}.admin-sidebar>form{margin-top:auto}.admin-main{margin-left:230px;padding:50px max(4vw,35px);max-width:1600px}.admin-main header{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.admin-main header h1{font-size:55px;margin-top:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-grid article,.admin-card{background:#fff;border-radius:18px;padding:25px;border:1px solid #e6dfd9}.stat-grid span{font-size:12px;color:#7f7476}.stat-grid strong{display:block;font:38px var(--serif);margin-top:16px}.admin-card{margin-bottom:20px}.admin-card h2{font-size:26px;margin-bottom:24px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#827679;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid var(--line)}td small{display:block;color:#8d8083;margin-top:4px}td select{padding:8px;width:auto}.admin-event-list article{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.admin-event-list article img{width:64px;height:55px;object-fit:cover;border-radius:10px}.admin-event-list article span{display:block;color:#86797c;font-size:12px;margin-top:4px}.settings-form>.button{margin:10px 0 50px}.mini-button{padding:8px 11px;border:0;border-radius:8px;background:var(--ink);color:#fff}.toast{position:fixed;top:20px;right:20px;z-index:100;background:var(--green);color:#fff;padding:14px 20px;border-radius:12px;box-shadow:0 10px 30px #0003}@media(max-width:900px){.site-header{height:75px}.site-header nav{display:none}.menu-button{display:block}.brand img{width:155px}.hero{padding-top:110px;align-items:flex-start;min-height:900px;background:linear-gradient(160deg,#fff9ef 0 58%,#ffd85e 58.1%)}.hero-copy{width:100%}.hero h1{font-size:62px}.hero-collage{width:94%;height:380px;top:auto;bottom:55px}.year-intro{padding:110px 24px 70px;min-height:60vh;display:block}.year-switcher{margin-top:45px}.month-rail{display:none}.month-panel{margin-left:0;padding:60px 24px;grid-template-columns:1fr;height:auto;min-height:100vh;gap:40px}.month-visual{height:52vh}.month-number{font-size:70vw}.month-copy h3{font-size:55px}.host-section{grid-template-columns:1fr}.host-portrait{min-height:600px}.host-copy{padding:70px 28px 100px}.memory-strip{padding:90px 24px;grid-template-columns:1fr 1fr;grid-template-rows:auto repeat(4,220px)}.memory-title,.memory-strip figure:nth-of-type(n){grid-column:auto;grid-row:auto}.memory-title{grid-column:1/-1}.memory-strip figure:nth-of-type(1){grid-column:1/-1}footer{grid-template-columns:1fr}footer p,footer small{text-align:left}.event-intro{grid-template-columns:1fr;padding:80px 24px}.event-gallery{grid-template-columns:1fr;grid-auto-rows:280px;padding:0 24px 80px}.event-gallery figure:nth-child(n){grid-column:auto}.step-block{padding:28px 20px}.products-grid{grid-template-columns:1fr}.assignment{grid-template-columns:1fr 1fr}.form-grid,.payment-tabs,.provider-options,.order-submit,.privacy-form{grid-template-columns:1fr}.privacy-form .wide,.privacy-form button{grid-column:auto}.admin-sidebar{position:static;width:auto;display:block}.admin-sidebar nav{display:flex;overflow:auto;margin:25px 0}.admin-sidebar>form{display:none}.admin-main{margin-left:0;padding:30px 18px}.stat-grid{grid-template-columns:1fr 1fr}.admin-main header h1{font-size:42px}}@media(max-width:560px){.hero h1{font-size:50px}.photo-a{width:54%}.photo-b{width:50%}.photo-c{width:38%}.attendee-row{grid-template-columns:74px 1fr auto}.assignment{grid-template-columns:1fr}.step-title h3{font-size:29px}.confirmation-card{padding:38px 22px}.confirmation-card h1{font-size:47px}.receipt{grid-template-columns:1fr}.receipt div:nth-child(n){border-right:0;border-bottom:1px solid var(--line)}.receipt div:last-child{border-bottom:0}.stat-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}html,body{overflow-x:hidden}input,select,textarea{min-width:0;max-width:100%}.payment-tabs label input,.provider-options label input{width:1px;height:1px}
