/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#26322c;--olive-950:#263027;--olive-900:#344034;--olive-800:#44513f;--olive-700:#586650;--olive-500:#849077;--sage:#aab39a;--cream:#f4f0e6;--ivory:#fbf8f1;--paper:#f8f4ea;--gold:#b08a59;--clay:#9c725a;--line:#32403429;--shadow:0 30px 80px #242d2526}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);font-family:var(--font-sans), "Segoe UI", sans-serif;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.invitation{background:radial-gradient(circle at 20% 10%, #aea07d14, transparent 28%), var(--ivory);min-height:100vh;overflow:clip}.invitation:not(.is-open){height:100vh}.invitation:has(:target){height:auto}.invitation:has(:target) .gate{display:none}.eyebrow{color:var(--olive-700);letter-spacing:.23em;text-transform:uppercase;font-size:.7rem;font-weight:700;line-height:1.5;display:block}.button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.65rem;text-decoration:none;transition:transform .18s,background-color .18s,color .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible,.text-link:focus-visible,.music-control:focus-visible,.mini-nav a:focus-visible{outline-offset:4px;outline:3px solid #b08a5980}.button:disabled{cursor:wait;opacity:.65;transform:none}.button--dark{background:var(--olive-950);color:#fff;box-shadow:0 12px 28px #2630272e}.button--olive{background:var(--olive-800);color:#fff}.button--outline{border:1px solid var(--olive-700);color:var(--olive-800);background:0 0}.button--cream{background:var(--cream);color:var(--olive-950)}.gate{cursor:pointer;opacity:1;visibility:visible;z-index:100;background:#d9ddcf;justify-content:center;align-items:center;transition:opacity .9s .65s,visibility 0s linear 1.6s;display:flex;position:fixed;inset:0;overflow:hidden}.gate--opened{opacity:0;pointer-events:none;visibility:hidden}.gate__photo{filter:saturate(.66)contrast(.92);background-image:url(/assets/hero-couple.png);background-position:50% 43%;background-size:cover;transition:transform 2s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scale(1.02)}.gate--opened .gate__photo{transform:scale(1.08)}.gate__wash{background:linear-gradient(90deg,#efecdff0 0%,#efecdfb8 42%,#2b362b2e 100%),linear-gradient(#0000 52%,#202b224d);position:absolute;inset:0}.gate__wash:after{content:"";mix-blend-mode:multiply;background-image:linear-gradient(90deg,#3f4c3e07 50%,#0000 50%),linear-gradient(#3f4c3e07 50%,#0000 50%);background-size:4px 4px;position:absolute;inset:0}.gate__botanical{opacity:.75;border:1px solid #f4eedb61;border-radius:50%;width:560px;height:560px;position:relative}.gate__botanical:before,.gate__botanical:after{content:"";filter:blur(.2px);background:radial-gradient(#89997759 0 37%,#0000 39%) 0 0/72px 42px,radial-gradient(#f6efd773 0 34%,#0000 36%) 34px 22px/72px 42px;border-radius:50%;position:absolute;inset:18%;transform:rotate(34deg)}.gate__botanical:after{opacity:.6;inset:31%;transform:rotate(-28deg)}.gate__botanical--one{position:absolute;top:-230px;right:-230px}.gate__botanical--two{position:absolute;bottom:-330px;left:-220px}.gate__card{-webkit-backdrop-filter:blur(9px)saturate(.8);backdrop-filter:blur(9px)saturate(.8);text-align:center;z-index:3;background:radial-gradient(circle at 18% 12%,#ffffff94,#0000 30%),#f9f6ed80;border:1px solid #ffffff7a;border-radius:44px 128px;flex-direction:column;justify-content:center;align-items:center;width:min(46vw,540px);max-width:540px;min-height:0;margin-right:min(36vw,470px);padding:clamp(3rem,5vw,4.8rem) clamp(2rem,4.5vw,4.4rem);transition:opacity .62s,transform .9s cubic-bezier(.22,1,.36,1);display:flex;position:relative;box-shadow:0 28px 80px #202a2224,inset 0 0 0 1px #3e4d3c0d}.gate--opened .gate__card{opacity:0;transform:translateY(-28px)scale(.97)}.gate__card:before,.gate__card:after{display:none}.gate__card:after{border-color:#b08a5933;inset:21px}.gate__kicker{color:var(--olive-700);letter-spacing:.24em;text-transform:uppercase;font-size:.68rem;font-weight:700;line-height:1.6}.gate__monogram{color:var(--olive-700);font-family:var(--font-editorial), Georgia, serif;letter-spacing:.14em;border:1px solid #52624c52;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:1.35rem 0 .85rem;font-size:.72rem;display:flex}.gate__card h1{color:var(--olive-800);font-family:var(--font-script), cursive;z-index:2;margin:.9rem 0 1.2rem;font-size:clamp(4rem,6.8vw,7.8rem);font-weight:400;line-height:.7;position:relative}.gate__card h1 span{display:block}.gate__card h1 i{color:var(--gold);font-family:var(--font-editorial), Georgia, serif;margin:.15em 0;font-size:.26em;font-style:italic;line-height:1.3;display:block}.gate__date{color:var(--olive-700);font-family:var(--font-editorial), Georgia, serif;letter-spacing:.12em;text-transform:uppercase;justify-content:center;align-items:center;gap:1rem;display:flex}.gate__date span{font-size:1.6rem}.gate__date b{letter-spacing:.2em;border-left:1px solid #55664f47;border-right:1px solid #55664f47;padding:.3rem 1rem;font-size:.7rem}.gate__card>p{color:#304034c7;font-family:var(--font-editorial), Georgia, serif;max-width:370px;margin:.8rem 0 1.6rem;font-size:1.1rem;font-style:italic;line-height:1.55}.gate__open{color:var(--olive-900);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;z-index:5;background:#41503f17;border:1px solid #41503f57;border-radius:999px;justify-content:center;align-items:center;gap:1.3rem;min-height:54px;padding:.8rem 1.55rem;font-size:.76rem;font-weight:700;transition:background .18s,transform .18s;display:inline-flex;position:relative}.gate__open:hover{background:#41503f29;transform:translateY(-2px)}.gate__open b{font-size:1.15rem;font-weight:400}.gate__card small{color:#43514294;letter-spacing:.07em;margin-top:.9rem;font-size:.64rem}.music-control{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--olive-900);cursor:pointer;letter-spacing:.05em;z-index:30;background:#f8f4eae0;border:1px solid #4250412e;border-radius:999px;align-items:center;gap:.65rem;padding:.65rem .9rem;font-size:.72rem;font-weight:700;display:flex;position:fixed;top:1.15rem;right:1.15rem;box-shadow:0 14px 30px #26302721}.music-bars{justify-content:center;align-items:center;gap:2px;width:20px;height:20px;display:flex}.music-bars i{background:var(--olive-700);border-radius:3px;width:2px;height:5px;animation:.8s ease-in-out infinite alternate music-bar}.music-bars i:nth-child(2){height:10px;animation-delay:.16s}.music-bars i:nth-child(3){height:7px;animation-delay:.32s}.music-bars:not(.is-playing) i{animation-play-state:paused}@keyframes music-bar{to{height:18px}}.mini-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:#f7f2e7e0;border:1px solid #3a46391f;border-radius:999px;gap:.35rem;padding:.35rem;display:flex;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 16px 35px #28332921}.mini-nav a{color:var(--olive-900);border-radius:999px;padding:.65rem .95rem;font-size:.68rem;font-weight:700;text-decoration:none}.mini-nav a:hover{background:var(--olive-800);color:#fff}.hero{background:var(--olive-950);height:100svh;min-height:700px;position:relative;overflow:hidden}.hero__image{object-fit:cover;object-position:center;width:100%;height:100%;animation:18s ease-in-out infinite alternate hero-breathe;position:absolute}@keyframes hero-breathe{to{transform:scale(1.055)}}.hero__shade{background:linear-gradient(90deg,#151c169e,#0000 54%),linear-gradient(#0000 54%,#161d175c);position:absolute;inset:0}.hero__paper{box-shadow:var(--shadow);background:linear-gradient(140deg,#ffffff3d,#0000 45%),#f7f2e7ed;width:min(44vw,560px);max-width:560px;padding:clamp(2rem,5vw,4.8rem);position:absolute;top:50%;left:clamp(2rem,9vw,9rem);transform:translateY(-46%)}.hero__paper:before,.hero__paper:after{content:"";pointer-events:none;border:1px solid #4b574638;position:absolute;inset:14px}.hero__paper:after{opacity:.45;border-style:dashed;inset:23px}.hero h1{color:var(--olive-800);font-family:var(--font-script), cursive;letter-spacing:-.025em;margin:1.4rem 0 1.8rem;font-size:clamp(3.5rem,7.1vw,7rem);font-weight:400;line-height:.78}.hero h1 small{font-family:var(--font-editorial), Georgia, serif;margin:.38em 0 .2em 19%;font-size:.25em;font-style:italic;display:block}.hero__rule{color:var(--olive-800);font-family:var(--font-editorial), Georgia, serif;letter-spacing:.16em;align-items:center;gap:.75rem;font-size:.95rem;display:flex}.hero__rule span{background:var(--gold);width:42px;height:1px}.hero__paper p{color:#5d655b;font-family:var(--font-editorial), Georgia, serif;margin:1.5rem 0;font-size:1.15rem;line-height:1.65}.text-link{color:var(--olive-900);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700;text-decoration:none}.text-link span{margin-left:.35rem;transition:transform .18s;display:inline-block}.text-link:hover span{transform:translateY(4px)}.paper-section{background:radial-gradient(circle at 4% 16%, #79846714, transparent 18%), radial-gradient(circle at 89% 74%, #ad8d6514, transparent 20%), var(--paper);position:relative}.blessing{min-height:800px;padding:9rem 1.5rem}.section-copy{text-align:center;z-index:2;max-width:920px;margin:0 auto;position:relative}.section-copy h2,.section-heading h2,.story-content h2,.countdown-card h2,.rsvp-copy h2{color:var(--olive-900);font-family:var(--font-editorial), Georgia, serif;letter-spacing:-.04em;margin:.8rem auto 1.4rem;font-size:clamp(2.6rem,5vw,5.2rem);font-weight:500;line-height:.98}.lead{color:#646b61;font-family:var(--font-editorial), Georgia, serif;max-width:720px;margin:0 auto;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.7}blockquote{color:var(--olive-700);font-family:var(--font-editorial), Georgia, serif;max-width:690px;margin:3.4rem auto;font-size:clamp(1.25rem,2.4vw,1.75rem);font-style:italic;line-height:1.5}blockquote cite{font-family:var(--font-sans), sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-top:.8rem;font-size:.62rem;font-style:normal;font-weight:700;display:block}.family-grid{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;margin-top:3rem;padding-top:2.6rem;display:grid}.family-grid>div:not(.monogram){flex-direction:column;gap:.25rem;display:flex}.family-grid span{color:var(--olive-700);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.45rem;font-size:.62rem;font-weight:700}.family-grid strong{font-family:var(--font-editorial), Georgia, serif;font-size:1.3rem;font-weight:500}.monogram{border:1px solid var(--gold);color:var(--gold);font-family:var(--font-editorial), Georgia, serif;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.olive-sprig{border:1px solid #4553412b;border-radius:70% 0;width:120px;height:340px;position:absolute;top:8%;transform:rotate(32deg)}.olive-sprig:before,.olive-sprig:after{content:"";border:1px solid #4553411f;border-radius:70% 0;width:100%;height:100%;position:absolute}.olive-sprig:before{top:70px;left:30px;transform:rotate(22deg)}.olive-sprig:after{top:130px;left:-28px;transform:rotate(-18deg)}.olive-sprig--left{left:-30px}.olive-sprig--right{top:auto;bottom:5%;right:-40px;transform:scaleX(-1)rotate(32deg)}.story-section{background:radial-gradient(circle at 12% 18%,#b08a591f,#0000 27%),radial-gradient(circle at 88% 72%,#7a8e7129,#0000 31%),linear-gradient(135deg,#f0eee5,#dfe3d8);padding:7rem 4vw}.story-card{background:var(--ivory);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);max-width:1240px;min-height:580px;margin:0 auto;display:grid}.story-visual{background:var(--olive-900);min-height:560px;position:relative;overflow:hidden}.story-asset{object-fit:cover;width:100%;height:100%;animation:.9s both story-arrive;position:absolute;inset:0}.story-asset--1,.story-asset--2{background:var(--paper);object-fit:contain;padding:2rem}@keyframes story-arrive{0%{filter:blur(8px);opacity:0;transform:scale(1.04)}to{filter:blur();opacity:1;transform:scale(1)}}.story-visual.is-playing .story-asset{animation:.9s both story-arrive,3.6s ease-out both story-zoom}@keyframes story-zoom{to{transform:scale(1.035)}}.story-visual:after{content:"";background:linear-gradient(#0000 45%,#131b15ad);position:absolute;inset:0}.story-caption{color:#fff;z-index:2;max-width:540px;position:absolute;bottom:2.5rem;left:2.8rem;right:2.8rem}.story-caption span{letter-spacing:.17em;text-transform:uppercase;font-size:.62rem;font-weight:700}.story-caption p{font-family:var(--font-editorial), Georgia, serif;margin:.5rem 0 0;font-size:clamp(1.4rem,2.5vw,2.2rem);line-height:1.25}.story-content{align-self:center;padding:clamp(2.5rem,5vw,5rem)}.story-content h2{font-size:clamp(2.5rem,4.6vw,4.5rem)}.story-content p{color:#687066;font-family:var(--font-editorial), Georgia, serif;margin:0 0 2rem;font-size:1.15rem;line-height:1.65}.locations{padding:8rem 4vw}.section-heading{text-align:center;max-width:760px;margin:0 auto 4rem}.section-heading h2{font-size:clamp(2.7rem,5vw,5rem)}.section-heading>p{color:#6b7167;font-family:var(--font-editorial), Georgia, serif;font-size:1.2rem}.location-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;max-width:1280px;margin:0 auto;display:grid}.location-card{border:1px solid var(--line);background:#fffdf7b3;overflow:hidden;box-shadow:0 25px 60px #35413514}.location-card>img{aspect-ratio:16/9;mix-blend-mode:multiply;object-fit:cover;width:100%}.location-card__content{text-align:center;flex-direction:column;align-items:center;padding:.7rem 2rem 2.6rem;display:flex}.location-card__content>span{color:var(--gold);font-family:var(--font-editorial), Georgia, serif;letter-spacing:.14em;font-size:1.4rem}.location-card h3,.detail-card h3,.timeline h3{color:var(--olive-900);font-family:var(--font-editorial), Georgia, serif;margin:.4rem 0;font-size:2rem;font-weight:500}.location-card p{color:#596258;font-family:var(--font-editorial), Georgia, serif;margin:0 0 .35rem;font-size:1.2rem}.location-card small{color:#7a7f76;margin-bottom:1.5rem}.date-section{background:radial-gradient(circle at 12% 18%, #b08a591a, transparent 27%), radial-gradient(circle at 88% 76%, #778b6f21, transparent 30%), var(--ivory);padding:8rem 1.5rem}.date-card{text-align:center;border-top:1px solid #4d5b4833;border-bottom:1px solid #4d5b4833;max-width:1040px;margin:0 auto;padding:4.5rem 2rem;position:relative}.date-card:before,.date-card:after{color:#b08a5973;content:"✦";font-size:.75rem;position:absolute;left:50%;transform:translate(-50%)}.date-card:before{top:-.52rem}.date-card:after{bottom:-.52rem}.date-composition{grid-template-columns:1fr auto 1fr;align-items:center;max-width:760px;margin:2rem auto 1.4rem;display:grid}.date-weekday,.date-month{color:var(--olive-700);font-family:var(--font-editorial), Georgia, serif;font-size:clamp(1.5rem,3vw,2.5rem);font-style:italic}.date-weekday{border-right:1px solid var(--line);text-align:right;padding-right:2rem}.date-number{color:var(--olive-800);font-family:var(--font-editorial), Georgia, serif;padding:0 2.5rem;font-size:clamp(7rem,16vw,12rem);font-weight:400;line-height:.78}.date-month{border-left:1px solid var(--line);text-align:left;flex-direction:column;padding-left:2rem;display:flex}.date-month b{color:var(--gold);font-family:var(--font-sans), "Segoe UI", sans-serif;letter-spacing:.2em;margin-top:.35rem;font-size:.72rem;font-style:normal}.date-card h2{color:var(--olive-900);font-family:var(--font-editorial), Georgia, serif;margin:1.2rem 0 2.4rem;font-size:clamp(2.2rem,4vw,4rem);font-weight:400}.date-times{justify-content:center;align-items:center;gap:2.2rem;display:flex}.date-times>div{min-width:190px}.date-times span,.date-times strong{display:block}.date-times span{color:var(--olive-700);letter-spacing:.15em;text-transform:uppercase;font-size:.62rem;font-weight:700}.date-times strong{color:var(--olive-900);font-family:var(--font-editorial), Georgia, serif;margin-top:.35rem;font-size:1.8rem;font-weight:500}.date-times i{color:var(--gold);font-style:normal}.schedule-section{color:var(--cream);text-align:center;background:linear-gradient(#2b3a2ec2,#2b3a2ed6),url(/assets/hero-couple.png) 50% 45%/cover;padding:8rem 4vw}.section-heading--light h2,.section-heading--light .eyebrow{color:var(--cream)}.section-heading--light>p{color:#ffffffb3}.timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:1180px;margin:0 auto 3.5rem;display:grid;position:relative}.timeline:before{content:"";background:#f4f0e661;height:1px;position:absolute;top:43px;left:10%;right:10%}.timeline__item{padding:0 1.25rem;position:relative}.timeline__number{background:var(--olive-900);font-family:var(--font-editorial), Georgia, serif;z-index:2;border:1px solid #f4f0e6a6;border-radius:50%;justify-content:center;align-items:center;width:86px;height:86px;margin:0 auto 1.5rem;display:flex;position:relative}.timeline time{color:#d7c49b;letter-spacing:.18em;font-size:.68rem;font-weight:700}.timeline h3{color:var(--cream);font-size:1.7rem}.timeline p{color:#ffffffad;font-family:var(--font-editorial), Georgia, serif;margin:0;line-height:1.4}.countdown-section{background:linear-gradient(#f8f4eac2,#f8f4eac2),url(/assets/church-illustration.png) 50%/cover;padding:8rem 1.5rem}.countdown-card{box-shadow:var(--shadow);text-align:center;background:#fbf8f1e6;border:1px solid #4955442e;max-width:1000px;margin:0 auto;padding:clamp(3rem,7vw,6rem)}.countdown-card h2{font-size:clamp(2.4rem,4.6vw,4.7rem)}.countdown{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem;display:grid}.countdown>div{border-left:1px solid var(--line);padding:.6rem}.countdown>div:first-child{border-left:0}.countdown strong{color:var(--olive-800);font-family:var(--font-editorial), Georgia, serif;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:400;line-height:1;display:block}.countdown span{color:var(--olive-700);letter-spacing:.16em;text-transform:uppercase;margin-top:.7rem;font-size:.6rem;font-weight:700;display:block}.details-section{background:radial-gradient(circle at 20% 15%,#ffffff8c,#0000 26%),radial-gradient(circle at 85% 75%,#b08a5917,#0000 30%),linear-gradient(120deg,#edf0e8,#d9dfd3);grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;padding:7rem 4vw;display:grid}.detail-card{background:var(--ivory);min-height:460px;padding:clamp(2rem,4vw,3.7rem);position:relative}.detail-card__icon{color:var(--gold);font-family:var(--font-editorial), Georgia, serif;margin-bottom:2rem;font-size:2.4rem;display:block}.detail-card h3{margin:.6rem 0 1rem;font-size:2.5rem}.detail-card>p{color:#687066;font-family:var(--font-editorial), Georgia, serif;font-size:1.1rem;line-height:1.55}.swatches{gap:.65rem;margin-top:2rem;display:flex}.swatches i{border:5px solid #fff;border-radius:50%;width:42px;height:42px;box-shadow:0 4px 12px #232b231f}.song-list{flex-direction:column;gap:.55rem;margin-top:1.6rem;display:flex}.song-list button{border:0;border-bottom:1px solid var(--line);color:var(--olive-900);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:.8rem 0;display:flex}.song-list b{color:var(--gold);font-size:.74rem}.upload-button{background:var(--olive-800);color:#fff;cursor:pointer;border-radius:999px;margin-top:1rem;padding:.8rem 1.2rem;font-size:.72rem;font-weight:700;display:inline-flex}.upload-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.upload-previews{gap:.5rem;margin-top:1rem;display:flex;overflow-x:auto}.upload-previews figure{flex:0 0 72px;margin:0}.upload-previews img{aspect-ratio:1;object-fit:cover;width:72px}.upload-previews figcaption{text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;overflow:hidden}.demo-note{color:#7c8177;margin-top:1rem;font-size:.58rem;line-height:1.4;display:block}.gallery-section{background:var(--ivory);padding:8rem 4vw}.editorial-gallery{grid-template-rows:360px 300px;grid-template-columns:1.3fr .7fr .8fr;gap:1rem;max-width:1240px;margin:0 auto;display:grid}.gallery-image{margin:0;overflow:hidden}.gallery-image img{object-fit:cover;width:100%;height:100%;transition:transform .7s}.gallery-image:hover img{transform:scale(1.035)}.gallery-image--wide{grid-row:1/3}.gallery-image--wide img{object-position:62% center}.gallery-image--portrait img{object-position:80% 28%;transform:scale(1.6)}.gallery-image--portrait:hover img{transform:scale(1.64)}.gallery-image--detail{grid-column:2/4}.gallery-image--detail img{object-position:center 44%}.gallery-quote{background:var(--olive-800);color:var(--cream);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.gallery-quote span{color:#d8c494;font-family:var(--font-editorial), Georgia, serif;letter-spacing:.18em;font-size:1rem}.gallery-quote p{font-family:var(--font-editorial), Georgia, serif;font-size:1.45rem;line-height:1.35}.rsvp-section{color:var(--cream);background:linear-gradient(#334034f2,#334034f2),url(/assets/hacienda-illustration.png) 50%/cover;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,7vw,8rem);padding:8rem max(4vw,50vw - 620px);display:grid}.rsvp-copy{align-self:center}.rsvp-copy .eyebrow,.rsvp-copy h2{color:var(--cream)}.rsvp-copy p{color:#ffffffb8;font-family:var(--font-editorial), Georgia, serif;font-size:1.2rem;line-height:1.6}.rsvp-ornament{color:#d8c49499;font-family:var(--font-script), cursive;margin-top:2rem;font-size:5rem}.rsvp-form{background:var(--ivory);color:var(--olive-950);padding:clamp(2rem,5vw,4rem);box-shadow:0 30px 70px #12181347}.rsvp-form label{color:var(--olive-700);letter-spacing:.13em;text-transform:uppercase;flex-direction:column;gap:.55rem;margin-bottom:1.2rem;font-size:.62rem;font-weight:700;display:flex}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{color:var(--olive-950);font-family:var(--font-editorial), Georgia, serif;text-transform:none;background:0 0;border:0;border-bottom:1px solid #404d3e4d;border-radius:0;outline:none;padding:.75rem 0;font-size:1.1rem}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-bottom-color:var(--gold)}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-success{color:var(--olive-700);margin:1rem 0 0;font-size:.8rem}.faq-section{background:var(--paper);padding:8rem 1.5rem 10rem}.faq-list{border-top:1px solid var(--line);max-width:860px;margin:0 auto}.faq-list details{border-bottom:1px solid var(--line);padding:1.3rem 0}.faq-list summary{color:var(--olive-900);cursor:pointer;font-family:var(--font-editorial), Georgia, serif;padding-right:2rem;font-size:1.35rem;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-family:var(--font-sans), sans-serif;font-size:1.2rem;position:absolute;right:0}.faq-list details[open] summary:after{content:"–"}.faq-list p{color:#687066;font-family:var(--font-editorial), Georgia, serif;max-width:680px;font-size:1.05rem;line-height:1.6}.site-footer{color:#fff;background:linear-gradient(#1f2820b3,#1f2820d1),url(/assets/hero-couple.png) 50% 35%/cover;justify-content:space-between;align-items:flex-end;min-height:560px;padding:6rem 6vw 5rem;display:flex}.footer-script{color:#d6c99f;font-family:var(--font-script), cursive;font-size:clamp(2.4rem,5vw,5rem);line-height:1.1;display:block}.site-footer strong{font-family:var(--font-editorial), Georgia, serif;margin-top:1.5rem;font-size:clamp(2rem,4vw,4rem);font-weight:400;display:block}.site-footer small{color:#ffffffa6;letter-spacing:.1em;margin-top:.65rem;display:block}.site-footer>p{letter-spacing:.06em;font-size:.68rem}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (width<=980px){.hero__paper{width:min(54vw,520px);left:2rem}.story-card{grid-template-columns:1fr}.story-visual{min-height:520px}.details-section{grid-template-columns:1fr}.detail-card{min-height:auto}.rsvp-section{grid-template-columns:1fr}}@media (width<=720px){.gate{align-items:flex-end;padding:.9rem}.gate__photo{background-position:62%}.gate__wash{background:linear-gradient(#232f2514 0%,#efecdfcc 46%,#efecdffa 100%),linear-gradient(90deg,#efecdf2e,#0000)}.gate__botanical{width:340px;height:340px}.gate__botanical--one{top:-150px;right:-210px}.gate__botanical--two{bottom:-220px;left:-170px}.gate__card{border-radius:30px 92px;width:100%;max-width:none;min-height:0;margin:0 0 2.5vh;padding:2.4rem 1.5rem 2rem}.gate__card h1{margin:.8rem 0 1.2rem;font-size:clamp(4rem,19vw,6rem);line-height:.72}.gate__kicker{letter-spacing:.18em;font-size:.58rem}.gate__monogram{width:42px;height:42px;margin:.9rem 0 .55rem}.gate__card>p{max-width:300px;margin:.75rem 0 1.15rem;font-size:1rem}.gate__open{width:min(100%,290px);min-height:50px}.music-control{top:.7rem;right:.7rem}.mini-nav{bottom:.7rem}.mini-nav a{padding:.6rem .8rem}.hero{min-height:780px}.hero__image{object-position:66% center}.hero__shade{background:linear-gradient(0deg,#161e17c7 0,#161e171f 70%)}.hero__paper{width:auto;max-width:none;padding:2.25rem 1.8rem;inset:auto 1rem 1.5rem;transform:none}.hero h1{margin-top:1rem;font-size:clamp(3.25rem,17vw,5.4rem)}.hero__paper p{margin:1rem 0;font-size:1rem}.blessing,.locations,.schedule-section,.gallery-section,.faq-section{padding:6rem 1.1rem}.family-grid{grid-template-columns:1fr}.monogram{margin:0 auto}.story-section{padding:3rem 0}.story-card{box-shadow:none}.story-visual{min-height:450px}.story-content{padding:2.6rem 1.4rem 3.3rem}.story-caption{bottom:1.5rem;left:1.4rem;right:1.4rem}.location-grid{grid-template-columns:1fr}.timeline{text-align:left;grid-template-columns:1fr;gap:2rem}.timeline:before{width:1px;height:auto;inset:0 auto 0 35px}.timeline__item{min-height:88px;padding-left:104px}.timeline__number{width:70px;height:70px;margin:0;position:absolute;top:0;left:0}.countdown-section{padding:4rem 1rem}.countdown-card{padding:3rem 1rem}.countdown{gap:.25rem}.countdown strong{font-size:clamp(2rem,12vw,3.6rem)}.countdown span{letter-spacing:.08em;font-size:.48rem}.details-section{padding:1rem}.detail-card{padding:2.5rem 1.5rem}.editorial-gallery{flex-direction:column;display:flex}.gallery-image{height:390px}.gallery-image--portrait img{transform:scale(1.2)}.gallery-image--portrait:hover img{transform:scale(1.24)}.gallery-quote{min-height:260px}.rsvp-section{padding:6rem 1rem}.form-row{grid-template-columns:1fr}.site-footer{flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:700px;padding:5rem 1.4rem 6rem}.site-footer>p{margin-top:2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.feature-link{margin-top:1.4rem}.gallery-upload-link{margin-top:1rem;margin-bottom:2.5rem}.rsvp-section{text-align:center;justify-content:center;min-height:650px;display:flex}.rsvp-copy--center{max-width:760px;margin:auto}.rsvp-copy--center h2{font-size:clamp(3.2rem,6vw,6.4rem)}.rsvp-copy--center p{max-width:620px;margin-left:auto;margin-right:auto}.rsvp-button{margin-top:.5rem}.companion-page{background:linear-gradient(#eeeee3db,#dbe1d5e6),url(/assets/hacienda-illustration.png) 50%/cover fixed;align-items:center;min-height:100vh;padding:7rem 1.5rem 4rem;display:flex;position:relative}.companion-page--playlist{background:linear-gradient(#ecece0e0,#d7ded2eb),url(/assets/hero-couple.png) 50%/cover fixed}.companion-page--gallery{background:linear-gradient(#f4f0e6db,#dae1d6eb),url(/assets/church-illustration.png) 50%/cover fixed}.companion-back{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--olive-900);letter-spacing:.05em;background:#fbf8f1cc;border:1px solid #43524129;border-radius:999px;padding:.8rem 1.15rem;font-size:.72rem;font-weight:700;text-decoration:none;position:absolute;top:1.5rem;left:1.5rem}.companion-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(circle at 10% 0,#ffffffa6,#0000 30%),#fbf8f1e0;border:1px solid #ffffffb3;width:100%;max-width:980px;margin:0 auto;padding:clamp(2.2rem,6vw,6rem);box-shadow:0 35px 100px #27332929}.companion-shell--split{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:2.5rem;max-width:1120px;display:grid}.companion-shell--split .companion-heading{grid-column:1/-1}.companion-heading{text-align:center;max-width:720px;margin:0 auto 3rem}.companion-symbol{color:var(--gold);font-family:var(--font-editorial), Georgia, serif;border:1px solid #5c6a544d;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;margin:1.5rem auto;display:flex}.companion-heading h1{color:var(--olive-900);font-family:var(--font-editorial), Georgia, serif;margin:0;font-size:clamp(3rem,6vw,6.2rem);font-weight:400;line-height:.95}.companion-heading>p{color:#687066;font-family:var(--font-editorial), Georgia, serif;max-width:640px;margin:1.5rem auto 0;font-size:1.2rem;line-height:1.6}.companion-form{flex-direction:column;gap:1.35rem;max-width:720px;margin:0 auto;display:flex}.companion-form label{color:var(--olive-700);letter-spacing:.15em;text-transform:uppercase;flex-direction:column;gap:.45rem;font-size:.66rem;font-weight:700;display:flex}.companion-form input,.companion-form select,.companion-form textarea{color:var(--olive-900);font-family:var(--font-editorial), Georgia, serif;resize:vertical;text-transform:none;background:#ffffff47;border:0;border-bottom:1px solid #424f4147;border-radius:0;outline:0;padding:.85rem .35rem;font-size:1.25rem}.companion-form input:focus,.companion-form select:focus,.companion-form textarea:focus{border-color:var(--gold);box-shadow:0 2px #b08a5926}.companion-success{color:var(--olive-700);font-family:var(--font-editorial), Georgia, serif;margin:0;font-size:1rem}.recommendations{border-left:1px solid var(--line);padding-left:2.5rem}.recommendations article{border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:1rem 0;display:flex}.recommendations article>span{color:var(--gold);font-family:var(--font-editorial), Georgia, serif;font-size:1.3rem}.recommendations strong,.recommendations small{display:block}.recommendations strong{color:var(--olive-900);font-family:var(--font-editorial), Georgia, serif;font-size:1.2rem;font-weight:500}.recommendations small{color:#747a71;margin-top:.2rem;font-size:.7rem}.memory-uploader{flex-direction:column;align-items:center;gap:2rem;display:flex}.memory-dropzone{color:var(--olive-900);cursor:pointer;text-align:center;background:#e0e5d973;border:1px dashed #41524061;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:230px;padding:2rem;display:flex}.memory-dropzone>span{color:var(--gold);font-family:var(--font-editorial), Georgia, serif;font-size:3rem}.memory-dropzone strong{font-family:var(--font-editorial), Georgia, serif;font-size:1.4rem;font-weight:500}.memory-dropzone small{color:#71786f;margin-top:.5rem;font-size:.7rem}.memory-dropzone input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;width:100%;display:grid}.memory-grid figure{min-width:0;margin:0}.memory-grid img,.memory-grid video{aspect-ratio:1;object-fit:cover;width:100%;height:auto}.memory-grid figcaption{color:#71786f;text-overflow:ellipsis;white-space:nowrap;padding-top:.35rem;font-size:.58rem;overflow:hidden}.companion-brand{color:var(--olive-700);letter-spacing:.12em;text-transform:uppercase;font-size:.6rem;position:absolute;bottom:1.2rem;right:1.5rem}@media (width<=720px){.date-section{padding:5.5rem 1rem}.date-card{padding:3.5rem .5rem}.date-composition{grid-template-columns:.8fr auto .8fr}.date-weekday,.date-month{font-size:1.2rem}.date-weekday{padding-right:.8rem}.date-number{padding:0 1rem;font-size:clamp(6.4rem,32vw,9rem)}.date-month{padding-left:.8rem}.date-times{gap:1rem}.date-times>div{width:46%;min-width:0}.date-times strong{font-size:1.45rem}.gate__card{background:radial-gradient(circle at 18% 12%,#ffffff8c,#0000 30%),#f9f6ed70}.rsvp-section{min-height:600px}.rsvp-copy--center h2{font-size:clamp(3.3rem,15vw,5.5rem)}.companion-page{align-items:flex-start;padding:5.5rem .8rem 4rem}.companion-back{top:.8rem;left:.8rem}.companion-shell{padding:2.5rem 1.25rem}.companion-shell--split{display:block}.companion-heading{margin-bottom:2.3rem}.companion-heading h1{font-size:clamp(3rem,14vw,4.7rem)}.companion-heading>p{font-size:1.05rem}.companion-shell--split .companion-form{margin-bottom:3rem}.recommendations{border-left:0;border-top:1px solid var(--line);padding-top:2rem;padding-left:0}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
