/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid}}}@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-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--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)}.block{display:block}.table{display:table}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--navy:#15283b;--dark:#0d1c2a;--berry:#8e2945;--berry-dark:#742039;--cream:#f4e9d8;--paper:#fbf4e8;--gold:#c69a4b;--pine:#315348;--ink:#202529;--muted:#6e655d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-barlow), Arial, sans-serif;margin:0}a{color:inherit;text-decoration:none}::selection{background:var(--berry);color:var(--paper)}.header{background:radial-gradient(circle at 20% 10%, #8e29450a 0 1px, transparent 2px), var(--paper);z-index:10;border-bottom:1px solid #15283b24;justify-content:space-between;align-items:center;height:86px;padding:0 4vw;display:flex;position:relative}.mark{font:2.8rem/1 var(--font-serif), Georgia, serif;align-items:center;display:flex}.mark b{color:var(--berry);font:500 1.3rem var(--font-barlow);margin:0 .18rem}.mark i{background:var(--gold);width:1px;height:42px;margin:0 18px}.mark small{color:var(--berry);font:700 1rem var(--font-condensed);letter-spacing:.15em}.header nav{gap:clamp(24px,4vw,58px);display:flex}.header nav a{font:700 1.08rem var(--font-condensed);letter-spacing:.02em;position:relative}.header nav a:after{background:var(--berry);content:"";width:calc(100% + 10px);height:2px;transition:transform .18s;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)scaleX(0)}.header nav a:hover:after,.header nav a:focus-visible:after{transform:translate(-50%)scaleX(1)}.hero{background:radial-gradient(circle at 22% 33%, #f4e9d812 0 1px, transparent 2px), var(--navy);background-size:27px 27px,auto;grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);gap:clamp(28px,3vw,56px);min-height:calc(100svh - 86px);padding:clamp(56px,7vw,108px) 4vw;display:grid;position:relative;overflow:hidden}.cables i{transform-origin:0;border-top:1px solid #c69a4b94;width:58vw;position:absolute;top:100px;left:-3vw;transform:rotate(-9deg)}.cables i+i{top:150px;left:5vw}.ticket{background:radial-gradient(circle at 20% 30%, #2025290d 0 1px, transparent 2px), var(--paper);z-index:2;grid-template-columns:58px 1fr;align-self:center;min-height:590px;animation:.65s ease-out both rise;display:grid;position:relative;transform:rotate(-1.2deg);box-shadow:0 22px 55px #040e1757}.ticket:before,.ticket:after{background:var(--navy);content:"";border-radius:50%;width:28px;height:28px;position:absolute;right:-14px}.ticket:before{top:-14px}.ticket:after{bottom:-14px}.ticket>aside{color:var(--navy);border-right:2px dashed #8e294573;flex-direction:column;justify-content:space-between;align-items:center;padding:28px 0;display:flex}.ticket>aside span{font:700 .76rem var(--font-condensed);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;transform:rotate(-90deg)}.ticket-body{flex-direction:column;justify-content:center;padding:clamp(42px,5vw,72px);display:flex}.ticket-top{color:var(--navy);font:700 .96rem var(--font-condensed);letter-spacing:.18em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.stamp{color:var(--berry);border:2px solid #8e2945a6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:80px;height:80px;font-size:.6rem;line-height:1.2;display:flex;transform:rotate(7deg)}.stamp b{color:var(--gold);font-size:1rem}.ticket h1{color:var(--navy);font:800 clamp(4rem, 7vw, 7rem)/.82 var(--font-condensed);letter-spacing:-.045em;text-transform:uppercase;max-width:720px;margin:24px 0 18px}.hero-deck{color:var(--muted);font:italic clamp(1.25rem, 1.8vw, 1.65rem)/1.28 var(--font-serif), Georgia, serif;max-width:570px;margin:0}.rule{color:var(--gold);align-items:center;gap:14px;margin:26px 0 20px;display:flex}.rule:before,.rule:after{content:"";border-top:2px dotted #c69a4bb3;flex:1}.date{font:600 clamp(1.55rem, 2vw, 2rem) var(--font-serif), Georgia, serif;margin:0 0 6px}.venue{color:var(--navy);font:italic 600 clamp(1.35rem, 1.8vw, 1.7rem) var(--font-serif), Georgia, serif;margin:0}.place{color:var(--pine);font:700 .9rem var(--font-condensed);letter-spacing:.24em;text-transform:uppercase;margin:8px 0 0}.actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:34px;display:flex}.button{font:700 .96rem var(--font-condensed);letter-spacing:.14em;text-transform:uppercase;justify-content:center;align-items:center;min-height:58px;padding:16px 30px;transition:all .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px)}.primary{background:var(--berry);box-shadow:5px 5px 0 var(--gold);color:var(--paper)}.primary:hover,.primary:focus-visible{background:var(--berry-dark);box-shadow:7px 7px 0 var(--gold)}.outline{color:var(--berry);border:1px solid}.underlink{border-bottom:1px solid var(--berry);color:var(--navy);font:700 1rem var(--font-condensed);letter-spacing:.06em;text-transform:uppercase;padding:8px 0 4px}.hero-photo{background:var(--paper);z-index:1;min-height:650px;margin:0;padding:14px 14px 58px;animation:.7s ease-out .1s both rise;position:relative;transform:rotate(.7deg);box-shadow:0 22px 55px #040e176b}.hero-photo img{object-fit:cover;object-position:52% 48%;padding:14px 14px 58px}.hero-photo figcaption,.polaroid figcaption{color:var(--navy);font:700 .84rem var(--font-condensed);letter-spacing:.16em;text-transform:uppercase;position:absolute;bottom:18px;left:28px}.section{padding:clamp(88px,11vw,160px) max(5vw,50vw - 640px)}.heading{max-width:770px}.eyebrow{color:var(--berry);font:700 .85rem var(--font-condensed);letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px}.heading h2,.rsvp h2{color:var(--navy);font:600 clamp(3.4rem, 7vw, 6.4rem)/.9 var(--font-serif), Georgia, serif;letter-spacing:-.05em;margin:0}.heading>p:last-child,.rsvp article>p{color:var(--muted);font:clamp(1.25rem, 2vw, 1.65rem)/1.55 var(--font-serif), Georgia, serif;margin:30px 0 0}.story{background:linear-gradient(90deg, transparent 49.8%, #8e294512 50%, transparent 50.2%), var(--cream)}.story-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(48px,8vw,120px);margin-top:clamp(64px,9vw,120px);display:grid}.polaroid{background:var(--paper);min-height:620px;margin:0;padding:12px 12px 52px;position:relative;transform:rotate(-1.2deg);box-shadow:0 18px 40px #15283b24}.polaroid img{object-fit:cover;padding:12px 12px 52px}.story-copy{max-width:620px}.story-copy h3,.timeline h3,.venue-card h3,.hotel-ticket h3{color:var(--navy);font:600 clamp(2.4rem, 4.6vw, 4.6rem)/.95 var(--font-serif), Georgia, serif;letter-spacing:-.045em;margin:0}.story-copy>p:not(.eyebrow){color:var(--muted);margin:26px 0 36px;font-size:1.12rem;line-height:1.8}.gondola{aspect-ratio:16/10;border:10px solid var(--paper);margin:0;position:relative;transform:rotate(1.5deg);box-shadow:0 16px 34px #15283b29}.gondola img{object-fit:cover}.day{background:radial-gradient(circle at 70% 30%, #f4e9d80f 0 1px, transparent 2px), var(--navy);color:var(--paper);background-size:29px 29px,auto}.inverse h2,.inverse>p:last-child{color:var(--paper)}.inverse .eyebrow{color:var(--gold)}.day-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);gap:clamp(50px,8vw,130px);margin-top:74px;display:grid}.timeline{border-top:1px solid #f4e9d842}.timeline article{border-bottom:1px solid #f4e9d842;grid-template-columns:110px 1fr;gap:28px;padding:34px 0;display:grid}.timeline time{color:var(--gold);font:700 1.08rem var(--font-condensed);letter-spacing:.08em;text-transform:uppercase}.timeline small{color:#f4e9d89e;font:700 .8rem var(--font-condensed);letter-spacing:.18em;text-transform:uppercase}.timeline h3{color:var(--paper);margin-top:8px;font-size:clamp(2rem,3vw,3rem)}.timeline p{color:#f4e9d8b8;margin:12px 0 0;line-height:1.7}.venue-card{background:var(--paper);box-shadow:10px 10px 0 var(--gold);color:var(--navy);align-self:start;padding:clamp(36px,5vw,64px);position:relative;transform:rotate(1deg)}.venue-card:before{content:"";pointer-events:none;border:2px dashed #8e294559;position:absolute;inset:12px}.venue-card h3{margin:28px 0 22px;font-size:clamp(2.7rem,4vw,4rem)}.venue-card address{color:var(--muted);margin-bottom:30px;font-style:normal;line-height:1.7}.venue-card .button{position:relative}.note{color:var(--muted);font:italic 1rem var(--font-serif);margin:28px 0 0}.hotel-ticket{background:var(--paper);grid-template-columns:1fr 180px;max-width:1040px;margin-top:68px;display:grid;box-shadow:0 22px 52px #15283b21}.hotel-ticket>div{padding:clamp(40px,7vw,84px)}.hotel-ticket h3{max-width:670px;font-size:clamp(2.8rem,5vw,5rem)}.hotel-ticket dl{flex-wrap:wrap;gap:32px 74px;margin:40px 0;display:flex}.hotel-ticket dl div{min-width:180px}.hotel-ticket dt{color:var(--berry);font:700 .78rem var(--font-condensed);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}.hotel-ticket dd{color:var(--navy);font:600 1.35rem var(--font-serif);margin:0}.hotel-ticket>aside{background:var(--berry);border-left:3px dashed var(--paper);color:var(--paper);font-family:var(--font-condensed);letter-spacing:.12em;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:430px;display:flex}.hotel-ticket>aside span{border:1px solid #f4e9d894;border-radius:50%;padding:16px}.hotel-ticket>aside b{margin:30px 0 4px;font-size:2.6rem}.gallery{background:var(--dark);grid-template-columns:2fr 1fr 1fr;gap:4px;padding:4px;display:grid}.gallery figure{aspect-ratio:1;min-height:380px;margin:0;position:relative;overflow:hidden}.gallery .wide{aspect-ratio:2}.gallery img{filter:saturate(.82)contrast(1.03);object-fit:cover;transition:all .5s}.gallery figure:hover img{filter:saturate();transform:scale(1.025)}.rsvp{background:linear-gradient(135deg, #c69a4b1a, transparent 40%), var(--cream)}.rsvp article{background:radial-gradient(circle at 20% 30%, #2025290a 0 1px, transparent 2px), var(--paper);box-shadow:12px 12px 0 var(--navy);border:1px solid #15283b24;max-width:960px;margin:0 auto;padding:clamp(50px,8vw,100px);position:relative}.rsvp article:after{content:"";pointer-events:none;border:2px dashed #8e29454d;position:absolute;inset:14px}.rsvp .button,.rsvp .underlink{z-index:1;position:relative}footer{background:var(--navy);color:#f4e9d8ad;text-align:center;padding:58px 5vw}footer strong{color:var(--paper);font:600 2.2rem var(--font-serif);margin-bottom:12px;display:block}footer p{margin:7px 0}footer em{color:var(--gold);font-family:var(--font-serif);margin-top:7px;display:block}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}@keyframes rise{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0}}@media (width<=900px){.hero{grid-template-columns:1fr;padding-top:84px}.hero-photo{min-height:min(760px,104vw)}.story-grid,.day-grid{grid-template-columns:1fr}.polaroid{min-height:min(760px,118vw)}.venue-card{max-width:580px}.gallery{grid-template-columns:1fr 1fr}.gallery .wide{grid-column:1/-1}}@media (width<=600px){.header{height:74px;padding:0 20px}.mark{font-size:2.2rem}.mark i,.mark small{display:none}.header nav{gap:14px}.header nav a{font-size:.84rem}.header nav a:first-child,.header nav a:nth-child(3){display:none}.hero{padding:68px 4vw 58px}.ticket{grid-template-columns:32px 1fr;min-height:540px}.ticket-body{padding:38px 24px 38px 22px}.ticket>aside span{font-size:.6rem}.ticket-top{flex-direction:column;align-items:flex-start;gap:18px}.stamp{width:64px;height:64px;position:absolute;top:28px;right:22px}.ticket h1{margin-top:72px;font-size:clamp(3.35rem,17vw,4.5rem)}.actions{flex-direction:column;align-items:flex-start}.section{padding-inline:24px}.timeline article,.hotel-ticket{grid-template-columns:1fr}.hotel-ticket>aside{border-left:0;border-top:3px dashed var(--paper);flex-direction:row;gap:20px;min-height:120px}.hotel-ticket>aside b{margin:0}.gallery figure{min-height:240px}.rsvp article{box-shadow:7px 7px 0 var(--navy)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
