:root{
  --midnight:#201625;--charcoal:#17151c;--plum:#38283d;--gold:#d9ad55;--champagne:#f0d79a;
  --lavender:#c6aedc;--ivory:#f8f3e9;--paper:#fffaf1;--ink:#302632;--muted:#655b64;
  --serif:Didot,"Bodoni MT","Baskerville","Times New Roman",serif;
  --sans:"Aptos","Segoe UI",Arial,sans-serif;
  color-scheme:light
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;min-width:320px;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.55;overflow-x:hidden}
button,a{touch-action:manipulation}
button{font:inherit}
a{color:inherit}
img{display:block;max-width:100%}
h1,h2,h3,p{overflow-wrap:break-word}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98}
em{font-style:italic;font-weight:400;color:#9675a7}
::selection{background:#c6aedc;color:#201625}
:focus-visible{outline:3px solid var(--champagne);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-60px;left:12px;z-index:100;background:var(--champagne);color:var(--midnight);padding:10px 16px}
.skip-link:focus{top:12px}
.section-inner{width:min(100% - 40px,1120px);margin-inline:auto}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.29em;text-transform:uppercase;color:#8c612a;margin:0 0 18px}
.eyebrow span{padding-inline:8px;color:#a88b62}
.countdown-banner{position:relative;isolation:isolate;min-height:108px;padding:6px 12px 8px;display:grid;justify-items:center;align-content:center;background:radial-gradient(ellipse at 50% -90%,#6c4c4d 0,transparent 70%),linear-gradient(105deg,#161219,#302034 50%,#171319);border-bottom:1px solid #aa7d41;color:var(--champagne);box-shadow:inset 0 -5px 0 #201625;text-align:center}
.countdown-banner:before,.countdown-banner:after{content:"";position:absolute;top:12px;bottom:12px;width:10px;border:1px solid rgba(240,215,154,.65);z-index:-1}
.countdown-banner:before{left:8px;border-right:0}.countdown-banner:after{right:8px;border-left:0}
.countdown-overline{margin:0 0 3px;font-size:9px;line-height:1.2;text-transform:uppercase;letter-spacing:.29em;font-weight:700;color:#f0d79a}
.little-star{font-size:8px;margin:0 6px;color:var(--gold)}
.countdown{display:flex;align-items:center;justify-content:center;width:min(100%,390px);font-variant-numeric:tabular-nums}
.countdown>div{flex:1 1 0;min-width:0;display:grid;justify-items:center;gap:0;position:relative}
.countdown>div+div:before{content:"✦";position:absolute;left:-4px;top:11px;font-family:var(--serif);font-size:8px;color:#a9804e}
.countdown strong{font-family:var(--serif);font-weight:400;line-height:1;font-size:clamp(25px,8vw,41px);text-shadow:0 0 18px rgba(230,178,82,.26)}
.countdown span{font-size:8px;line-height:1.1;text-transform:uppercase;letter-spacing:.13em;color:#d3bfd6}
.countdown-caption{font-size:9px;letter-spacing:.06em;color:#d6c8d3;margin:3px 0 0;line-height:1.2}
.countdown-caption span{color:var(--gold)}
.site-header{height:60px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#201625;border-bottom:1px solid rgba(217,173,85,.65);color:var(--ivory);position:sticky;top:0;z-index:40;box-shadow:0 5px 18px rgba(18,12,22,.17)}
.monogram{font-family:var(--serif);font-size:27px;line-height:1;text-decoration:none;white-space:nowrap;letter-spacing:-.1em}
.monogram span{font-size:.7em;font-style:italic;color:var(--gold);padding:0 .19em}
.header-nav{display:flex;align-items:center;gap:clamp(7px,2.5vw,24px);height:100%}
.header-nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.075em;font-size:clamp(9px,2.8vw,11px);font-weight:700;white-space:nowrap;min-height:44px;display:flex;align-items:center;color:#f0e5dc}
.header-nav a:hover{color:var(--champagne)}
.header-nav .nav-story{display:none}
.header-share{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid rgba(217,173,85,.75);background:transparent;color:var(--champagne);cursor:pointer}
.header-share span:first-child{font-size:21px;line-height:1}
.share-label{display:none}
.header-share:hover{background:rgba(217,173,85,.15)}
.hero{background:var(--midnight);color:var(--ivory);position:relative}
.hero-stage{height:clamp(610px,calc(100svh - 168px),760px);max-height:760px;position:relative;isolation:isolate;overflow:hidden;background:#211722}
.hero-art{width:100%;height:100%;object-fit:cover;object-position:50% 36%;position:absolute;inset:0;z-index:-3}
.hero-vignette{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(21,13,23,.06) 0%,rgba(23,15,27,.03) 29%,rgba(26,17,30,.42) 50%,rgba(19,12,22,.91) 78%,#170f19 100%),linear-gradient(90deg,rgba(20,13,25,.25),transparent 23%,transparent 77%,rgba(20,13,25,.25))}
.hero-frame{position:absolute;inset:10px;pointer-events:none;border:1px solid rgba(240,215,154,.65);box-shadow:inset 0 0 0 6px rgba(18,12,22,.15),0 0 20px rgba(28,19,31,.3)}
.hero-frame:before,.hero-frame:after{content:"";position:absolute;width:30px;height:30px;border-color:var(--champagne);border-style:solid}
.hero-frame:before{top:7px;left:7px;border-width:2px 0 0 2px}.hero-frame:after{top:7px;right:7px;border-width:2px 2px 0 0}
.hero-kicker{position:absolute;top:29px;left:35px;right:35px;margin:0;text-align:center;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.22em;color:#fff5da;text-shadow:0 2px 10px #1b111d}
.hero-copy{position:absolute;bottom:31px;left:25px;right:25px;text-align:center;text-shadow:0 3px 16px rgba(13,8,16,.8);display:grid;justify-items:center}
.hero-mask{width:93px;height:auto;filter:drop-shadow(0 0 12px rgba(217,173,85,.4));opacity:.94;margin-bottom:4px}
.hero h1{font-size:clamp(53px,14.5vw,92px);letter-spacing:-.075em;margin:0;line-height:.84;color:#fff9ee}
.hero h1 span{display:block}
.hero h1 em{display:block;color:var(--champagne);font-size:.53em;line-height:.9;letter-spacing:0;margin:3px 0 5px;text-shadow:0 0 16px rgba(217,173,85,.42)}
.hero-type{font-family:var(--serif);font-size:clamp(21px,5.7vw,31px);margin:16px 0 0;color:#f4deba;letter-spacing:.015em;line-height:1.1}
.hero-rule{display:flex;align-items:center;gap:11px;color:var(--gold);margin:8px 0}
.hero-rule:before,.hero-rule:after{content:"";width:35px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.hero-rule:after{transform:rotate(180deg)}
.hero-rule span{font-size:10px}
.hero-date{font-size:12px;font-weight:800;letter-spacing:.21em;text-transform:uppercase;color:#fff9ea;margin:0}
.hero-place{font-family:var(--serif);font-size:17px;line-height:1.2;color:#f3e9dc;margin:7px 0 0}
.hero-place span{color:var(--gold);padding-inline:3px}
.hero-continue{height:48px;display:flex;align-items:center;justify-content:center;gap:15px;text-decoration:none;background:#201625;color:var(--champagne);font-size:10px;text-transform:uppercase;letter-spacing:.24em;font-weight:700;border-block:1px solid rgba(217,173,85,.55)}
.hero-continue span{font-size:21px;line-height:1}
/* Chapter I: an illustrated glimpse beyond the gates */
.guest-announcements{background:#fffaf1;border-top:2px solid #d9ad55;border-bottom:1px solid #c9aa76;padding:34px 0 38px;text-align:center}
.guest-announcements[hidden]{display:none}
.guest-announcements h2{font-size:clamp(35px,9vw,54px);margin:0 0 18px}
.guest-announcements h2 em{color:#9570a1}
.guest-announcements article{max-width:680px;margin:14px auto 0;padding:18px 20px;border:1px solid #d9b977;background:#f8f3e9}
.guest-announcements h3{font-family:var(--serif);font-size:clamp(24px,6vw,35px);margin:0 0 8px}
.guest-announcements article p{white-space:pre-wrap;line-height:1.6;margin:0;color:#493d4d}
.venue-section{position:relative;background:#f8f3e9;overflow:hidden;padding:52px 0 59px}
.venue-section:before{content:"";position:absolute;top:-1px;left:50%;width:80px;height:24px;transform:translateX(-50%);background:#201625;clip-path:polygon(0 0,100% 0,50% 100%)}
.venue-layout{display:grid;gap:25px;align-items:center}
.venue-art-group{position:relative;width:min(100%,405px);margin:auto;padding:0 17px 22px}
.venue-arch{height:320px;position:relative;overflow:hidden;border:7px solid #2b1e30;border-radius:48% 48% 3px 3px / 23% 23% 3px 3px;box-shadow:0 22px 38px rgba(41,26,45,.18),0 0 0 2px #c59658}
.venue-arch:after{content:"";position:absolute;inset:9px;border:1px solid rgba(255,231,174,.83);border-radius:48% 48% 2px 2px / 23% 23% 2px 2px;pointer-events:none}
.venue-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 73%;transform:scale(1.36);filter:saturate(.85) contrast(1.07)}
.arch-keystone{position:absolute;top:9px;left:50%;transform:translateX(-50%);font-size:21px;color:#f7d79c;text-shadow:0 1px 8px #201625}
.venue-date-seal{position:absolute;right:-2px;bottom:67px;width:103px;height:103px;display:grid;justify-items:center;align-content:center;border-radius:50%;background:#2a1d2d;color:#fff7e9;border:2px solid #f0d79a;box-shadow:0 0 0 6px #2a1d2d,0 0 0 8px #bd965b,0 9px 17px rgba(26,19,29,.28);transform:rotate(8deg)}
.venue-date-seal span{font-size:9px;font-weight:800;letter-spacing:.17em;color:#f0d79a;line-height:1.2}
.venue-date-seal strong{font-family:var(--serif);font-weight:400;font-size:47px;line-height:.9}
.venue-art-caption{text-align:center;font-family:var(--serif);font-style:italic;font-size:13px;color:#766674;margin:19px 0 0}
.chapter-label{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:800;line-height:1.5;margin:0 0 15px;color:#825e37}
.chapter-label span{color:#4d3b4f;margin-right:11px}
.venue-copy{text-align:center}
.venue-copy h2{font-size:clamp(49px,12vw,90px);letter-spacing:-.065em;margin:0;line-height:.92}
.venue-copy h2 em{display:block;color:#8c6b9b}
.venue-ornament{display:block;color:#bd9153;margin:21px auto 17px;font-size:17px}
.venue-name{font-family:var(--serif);font-size:clamp(32px,9vw,53px);line-height:1;margin:0}
.venue-location{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:700;color:#855f3c;margin:12px 0 22px}
.venue-description{font-size:15px;line-height:1.75;color:#5e505c;max-width:470px;margin:0 auto}
.venue-date-line{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#5b4059;margin:23px 0 0}
.venue-date-line span{color:#bd9153;margin-right:8px}

/* Chapter II: a single vellum event program */
.program-section{position:relative;background:#eee7eb;padding:55px 0 60px;border-top:1px solid #d9c8c5}
.program-section:before{content:"";position:absolute;top:0;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,#8c718b 0 34px,#cfb58c 34px 37px,#eee7eb 37px 43px)}
.program-layout{display:grid;gap:20px}
.program-intro{text-align:center}
.program-intro h2{font-size:clamp(48px,12vw,78px);letter-spacing:-.055em;margin:0 0 13px}
.program-intro p:last-child{font-size:15px;line-height:1.7;color:#645565;max-width:410px;margin:0 auto}
.program-sheet{position:relative;display:grid;grid-template-columns:66px 1fr;background:#fffaf1;box-shadow:0 16px 42px rgba(44,28,45,.13);clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,15px 100%,0 calc(100% - 15px));border:1px solid #c0a171}
.program-stamp{background:#312338;color:#efd79a;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;border-right:2px solid #bf9251}
.program-stamp span{writing-mode:vertical-rl;text-orientation:mixed;text-transform:uppercase;letter-spacing:.23em;font-size:10px;font-weight:700}
.program-stamp strong{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1}
.program-content{padding:17px 16px}
.program-masthead{text-align:center;padding:0 5px 18px;border-bottom:1px solid #c7a675;display:grid;gap:1px}
.program-masthead span{font-family:var(--serif);font-style:italic;font-size:19px;color:#795e79}
.program-masthead strong{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.1}
.program-masthead small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#806146}
.program-entries{margin:0}
.program-entries>div{padding:8px 0;border-bottom:1px solid #e1d2bd}
.program-entries dt{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#453847}
.program-entries dt span{font-family:var(--serif);font-size:18px;font-weight:400;color:#ab7d45;margin-right:7px}
.program-entries dd{font-family:var(--serif);font-style:italic;font-size:16px;color:#756575;margin:1px 0 0 29px}
.program-footnote{text-align:center;font-family:var(--serif);font-size:13px;font-style:italic;color:#856d7e;margin:15px 0 0}

/* Chapter III: the masquerade guide */
.attire-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 15% 18%,#50354d 0,#2b1e31 42%,#1c1622 100%);color:#fff8ed;padding:58px 0 65px}
.attire-section:before{content:"";position:absolute;inset:14px;border:1px solid rgba(217,173,85,.35);pointer-events:none}
.attire-section:after{content:"✦";position:absolute;right:-36px;top:-72px;font-family:var(--serif);font-size:320px;line-height:1;color:rgba(215,173,85,.045);pointer-events:none}
.attire-layout{position:relative;z-index:1;display:grid;gap:20px}
.attire-intro{text-align:center}
.attire-intro .chapter-label{color:#f1d9a0}
.attire-intro .chapter-label span{color:#d7b9dc}
.mask-stage{height:125px;display:grid;place-items:center;position:relative;margin:0 auto 10px;width:230px}
.mask-stage:before{content:"";position:absolute;inset:0 24px;border-radius:50%;border:1px solid rgba(240,215,154,.38);box-shadow:0 0 32px rgba(222,176,102,.14),inset 0 0 30px rgba(222,176,102,.08)}
.mask-stage:after{content:"✦";position:absolute;top:-5px;left:50%;transform:translateX(-50%);font-size:12px;color:#f0d79a}
.mask-stage img{position:relative;width:190px;filter:drop-shadow(0 0 15px rgba(240,215,154,.25))}
.attire-intro h2{font-size:clamp(48px,12vw,78px);margin:0 0 13px;letter-spacing:-.055em}
.attire-intro h2 em{color:#d7b9e4}
.attire-intro>p:last-child{max-width:420px;margin:0 auto;color:#e2d3df;font-size:15px;line-height:1.75}
.attire-panel{background:#fffaf1;color:#2f2730;border:1px solid #d4a85a;box-shadow:0 22px 55px rgba(0,0,0,.27),inset 0 0 0 7px #fffaf1,inset 0 0 0 8px rgba(164,115,52,.33);padding:25px 20px 18px}
.panel-overline{text-align:center;text-transform:uppercase;letter-spacing:.24em;font-size:10px;font-weight:800;color:#8a6337;margin:0 0 16px}
.attire-lead{font-family:var(--serif);font-size:clamp(23px,6.4vw,32px);line-height:1.27;text-align:center;margin:0 0 22px}
.attire-colors{display:grid;gap:8px}
.attire-colors>div{padding:16px 16px 19px}
.attire-guest{background:#2b2230;color:#fff7eb;border:1px solid #b99460}
.attire-party{background:#efe5f1;color:#2d2531;border:1px solid #c6aac9}
.attire-colors .palette-number{text-transform:uppercase;letter-spacing:.17em;font-size:9px;font-weight:800;margin:0 0 5px}
.attire-guest .palette-number{color:#f0d79a}
.attire-party .palette-number{color:#7b587c}
.attire-colors h3{font-family:var(--serif);font-size:27px;margin:0 0 3px}
.attire-colors>div>p:not(.palette-number){font-size:11px;text-transform:uppercase;letter-spacing:.13em;margin:0 0 11px}
.attire-guest>p:not(.palette-number){color:#e4d4e0}
.attire-party>p:not(.palette-number){color:#6d586c}
.palette{list-style:none;display:flex;flex-wrap:wrap;gap:9px 13px;margin:0;padding:0}
.palette li{display:flex;align-items:center;gap:6px;font-size:12px}
.palette li:before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#1d1b21;border:1px solid #baa9af}
.guest-palette li:nth-child(2):before{background:#233047}.guest-palette li:nth-child(3):before{background:#48464c}.guest-palette li:nth-child(4):before{background:#652a40}
.party-palette li:first-child:before{background:#fff;border-color:#bdb1ba}.party-palette li:nth-child(2):before{background:#d9ad55}.party-palette li:nth-child(3):before{background:#c6aedc}

/* Chapter IV: a keepsake waiting for the couple's own photos */
.story-section{position:relative;overflow:hidden;background:#f2ebf1;padding:62px 0 65px}
.story-section:before{content:"";position:absolute;left:-100px;bottom:-180px;width:360px;height:360px;border:1px solid rgba(165,129,167,.25);border-radius:50%;box-shadow:0 0 0 35px rgba(165,129,167,.07),0 0 0 70px rgba(165,129,167,.04)}
.story-layout{position:relative;display:grid;gap:24px;align-items:center}
.story-keepsake{position:relative;width:min(100%,410px);height:310px;margin:auto}
.story-photo-back,.story-photo-front{position:absolute;box-shadow:0 13px 30px rgba(47,34,48,.16)}
.story-photo-back{width:76%;height:83%;top:8px;right:10px;transform:rotate(7deg);background:#c7afc7;border:10px solid #fff9ef;display:flex;align-items:flex-end;justify-content:center;padding-bottom:17px}
.story-photo-back span{font-family:var(--serif);font-style:italic;font-size:17px;color:#634b66}
.story-photo-front{width:82%;height:85%;left:8px;top:27px;transform:rotate(-4deg);background:radial-gradient(circle at 50% 40%,#59405a,#2b2030 70%);border:13px solid #fff9ef;outline:1px solid #c69c62;display:grid;align-content:center;justify-items:center;gap:12px;color:#fff7e9}
.story-photo-front:before{content:"";position:absolute;inset:9px;border:1px solid rgba(240,215,154,.6);pointer-events:none}
.story-photo-mark{font-family:var(--serif);font-size:clamp(65px,18vw,105px);letter-spacing:-.08em;line-height:1}
.story-photo-mark i{font-size:.6em;color:#f0d79a}
.story-photo-front small{font-family:var(--serif);font-style:italic;font-size:15px;color:#e9d9e8;text-align:center}
.story-wax{position:absolute;bottom:14px;right:1px;width:70px;height:70px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#bc9256;border:4px double #f4db9c;color:#352036;font-family:var(--serif);font-size:22px;box-shadow:0 4px 12px rgba(42,27,46,.2);transform:rotate(8deg)}
.story-wax span{font-style:italic;font-size:.7em}
.story-letter{position:relative;padding:4px 0 0 22px;border-left:2px solid #b99768}
.story-letter .chapter-label{margin-bottom:14px}
.story-letter h2{font-size:clamp(55px,13vw,93px);letter-spacing:-.06em;margin:0 0 18px}
.story-letter>p:not(.chapter-label):not(.story-signoff){max-width:450px;color:#5e505d;font-size:16px;line-height:1.8;margin:0}
.letter-rule{display:block;width:85px;height:1px;background:#b98b52;margin:23px 0 16px}
.story-signoff{font-family:var(--serif);font-style:italic;font-size:23px;margin:0;color:#624769}
.story-signoff i{color:#a67b48}

/* Chapter V: planned experiences presented as an illuminated constellation */
.coming-section{position:relative;background:radial-gradient(ellipse at 50% 0,#493650 0,#241b2b 55%,#19151f 100%);color:#fff8ed;padding:60px 0 66px;overflow:hidden;border-top:2px solid #c59b5b}
.coming-section:before{content:"";position:absolute;top:22px;bottom:22px;left:18px;right:18px;border:1px solid rgba(217,173,85,.24);pointer-events:none}
.coming-heading{text-align:center;position:relative;z-index:1}
.coming-heading .chapter-label{color:#f0d79a}
.coming-heading .chapter-label span{color:#d7bddf}
.coming-heading h2{font-size:clamp(47px,11.5vw,82px);letter-spacing:-.055em;max-width:720px;margin:0 auto 15px}
.coming-heading h2 em{color:#dac0e6}
.coming-heading>p:last-child{font-size:15px;color:#e1d2df;line-height:1.7;max-width:445px;margin:0 auto}
.experience-board{position:relative;max-width:950px;margin:24px auto 0}
.experience-board:before{content:"";position:absolute;top:43px;bottom:10px;left:50%;width:1px;background:linear-gradient(#c29452,transparent);opacity:.55;pointer-events:none}
.experience-seal{width:90px;height:90px;border:2px solid #d9ad55;border-radius:50%;box-shadow:0 0 0 5px #261d2d,0 0 0 6px rgba(217,173,85,.43),0 0 30px rgba(217,173,85,.18);margin:0 auto 19px;display:grid;align-content:center;justify-items:center;background:#32243a;position:relative;z-index:1}
.experience-seal span{font-family:var(--serif);font-size:31px;letter-spacing:-.08em}
.experience-seal i{color:#f0d79a;font-size:.7em}
.experience-seal small{font-size:8px;letter-spacing:.17em;color:#e5c58d}
.future-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:0;margin:0;position:relative;z-index:1}
.future-list li{min-height:118px;border-top:1px solid rgba(217,173,85,.56);padding:14px 6px 15px;display:grid;align-content:start;justify-items:start;gap:6px}
.future-list svg{width:31px;height:31px;color:#f0d79a;fill:none}
.future-list li span{font-family:var(--serif);font-size:clamp(16px,5vw,23px);line-height:1.1}
.future-list li small{text-transform:uppercase;letter-spacing:.15em;font-size:9px;font-weight:800;color:#baa3bf}

.site-footer{background:#201625;color:#f4e8d9;text-align:center;padding:65px 22px 72px;border-top:3px solid #c89c59}
.footer-ornament{color:var(--gold);font-size:15px}
.footer-names{font-family:var(--serif);font-size:clamp(36px,10vw,62px);line-height:1;margin:16px 0 8px}
.footer-names i{color:var(--champagne)}
.site-footer p:not(.footer-names){font-family:var(--serif);font-size:18px;color:#d7beda;margin:0 0 22px}
.site-footer small{display:block;font-size:10px;letter-spacing:.09em;line-height:1.7;color:#decbd1}
.site-footer small span{color:var(--gold)}

@media(max-width:359px){.site-header{padding-inline:10px;gap:5px}.header-nav{gap:7px}.header-nav a{font-size:9px;letter-spacing:0}.hero h1{font-size:51px}.hero-place{font-size:15px}.countdown-caption{font-size:8px}.venue-arch{height:333px}.venue-date-seal{width:91px;height:91px}.program-sheet{grid-template-columns:55px 1fr}.program-content{padding-inline:11px}.program-stamp strong{font-size:33px}.attire-panel{padding-inline:15px}.story-keepsake{height:335px}}
@media(max-width:599px) and (max-height:720px){.hero-stage{height:545px}.hero-copy{bottom:20px}.hero-mask{width:77px}.hero h1{font-size:clamp(49px,13.5vw,67px)}.hero-type{font-size:21px;margin-top:9px}.hero-rule{margin:3px 0}.hero-place{font-size:15px}}
@media(min-width:600px){
  .site-header{padding-inline:28px}.header-nav .nav-story{display:flex}.header-share{width:auto;padding:0 16px;gap:8px;display:flex}.share-label{display:inline;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.16em}
  .hero-kicker{font-size:11px}.hero-stage{height:740px}.hero-copy{bottom:45px}
  .venue-layout{grid-template-columns:44% 1fr;gap:42px}.venue-copy{text-align:left}.venue-ornament{margin-left:0}.venue-description{margin-left:0}.venue-art-group{width:100%}
  .program-sheet{grid-template-columns:80px 1fr}.program-content{padding:29px 36px}.program-entries>div{display:grid;grid-template-columns:1fr 1fr;align-items:center}.program-entries dd{margin:0;text-align:right}
  .attire-colors{grid-template-columns:1fr 1fr}.story-layout{grid-template-columns:1fr 1fr;gap:55px}
  .future-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}.future-list li{min-height:145px}
}
@media(min-width:900px){
  .countdown-banner{min-height:99px;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;padding:10px 38px}.countdown-overline{text-align:right;margin:0}.countdown{width:390px}.countdown-caption{text-align:left;max-width:180px;font-size:10px;margin:0}
  .site-header{height:70px;padding-inline:max(30px,calc((100vw - 1240px)/2))}.header-nav{gap:34px}.header-nav a{font-size:11px;letter-spacing:.17em}
  .hero-stage{height:740px;max-width:1600px;margin-inline:auto}.hero-art{width:55%;right:auto;object-position:50% 42%}.hero-vignette{background:linear-gradient(90deg,transparent 0%,rgba(28,18,31,.02) 37%,#211625 57%,#211625 100%),linear-gradient(0deg,rgba(25,16,27,.32),transparent 35%)}.hero-frame{inset:18px}.hero-kicker{top:46px;left:auto;right:7%;width:36%}.hero-copy{left:auto;right:4%;width:42%;bottom:50%;transform:translateY(50%)}.hero-mask{width:150px}.hero h1{font-size:clamp(70px,7vw,112px)}.hero-type{font-size:32px}.hero-date{font-size:14px}.hero-place{font-size:20px}.hero-continue{height:55px}
  .venue-section{padding:102px 0 110px}.venue-layout{gap:110px}.venue-art-group{max-width:500px}.venue-arch{height:510px}.venue-copy h2{font-size:clamp(70px,7.5vw,108px)}.venue-name{font-size:55px}
  .program-section{padding:95px 0 105px}.program-layout{grid-template-columns:36% 1fr;gap:70px;align-items:center}.program-intro{text-align:left}.program-intro p:last-child{margin-left:0}.program-sheet{grid-template-columns:93px 1fr}.program-content{padding:32px 45px}.program-entries>div{padding:15px 0}
  .attire-section{padding:112px 0 122px}.attire-layout{grid-template-columns:38% 1fr;gap:60px;align-items:center}.attire-intro{text-align:left}.mask-stage{margin-left:0}.attire-intro>p:last-child{margin-left:0}.attire-panel{padding:40px 32px 28px}
  .story-section{padding:104px 0 112px}.story-layout{gap:100px}.story-keepsake{height:430px;max-width:480px}.story-letter{padding-left:42px}
  .coming-section{padding:96px 0 110px}.experience-board{margin-top:45px}.future-list li{padding:19px 22px;min-height:150px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
