:root{
  --ink:#2d261f; --brown:#5a4435; --deep:#17120e; --deep2:#241b15; --paper:#f8f3ea;
  --paper2:#efe5d7; --champ:#d4b37d; --gold:#b98a47; --gold2:#e5c993; --line:rgba(92,66,40,.18);
  --serif:"Cormorant Garamond", Georgia, serif; --sans:"Manrope", Arial, sans-serif; --script:"Marck Script", cursive;
  --ease:cubic-bezier(.2,.75,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--deep)}
body{margin:0;color:var(--ink);font-family:var(--sans);font-weight:300;background:var(--paper);overflow-x:hidden}
body.locked{overflow:hidden}
button,input,textarea,select{font:inherit}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
main[aria-hidden="true"]{visibility:hidden;height:100vh;overflow:hidden}
main{visibility:visible}
.section-inner{width:min(1120px,calc(100% - 40px));margin:0 auto;position:relative;z-index:2}
.section-inner.narrow{width:min(820px,calc(100% - 40px))}
.tiny-label{text-transform:uppercase;letter-spacing:.27em;font-size:11px;font-weight:600;color:#9b7544;margin-bottom:18px}
.tiny-label.light{color:#d7bd91}
.section-title{font:500 clamp(44px,6vw,72px)/.95 var(--serif);margin:0;color:#34291f;letter-spacing:-.03em}
.section-title.light{color:#f8f0e5}
.script-title{font:400 clamp(42px,5vw,66px)/1.03 var(--script);color:#795d3e;margin:0 0 20px}
.ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px auto 28px;color:#bd955c;width:min(280px,80%)}
.ornament span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#c9a36d)}
.ornament span:last-child{background:linear-gradient(90deg,#c9a36d,transparent)}
.ornament i{font-style:normal;font-size:10px}
.section-dark{color:white;background:var(--deep)}

/* INTRO ENVELOPE */
.intro{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 50% 22%,#332619 0,#19120d 48%,#0d0a08 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;color:#f8efe2;perspective:1200px;transition:opacity 1s var(--ease),visibility 1s}
.intro::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,226,180,.05) 45%,transparent 70%);transform:translateX(-120%);animation:sheen 6s ease-in-out infinite;pointer-events:none}
.intro-noise{position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}
.intro-stars{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.intro-stars::before,.intro-stars::after{content:"";position:absolute;width:2px;height:2px;border-radius:50%;background:#d6b87d;left:14%;top:24%;box-shadow:11vw 31vh #d6b87d,44vw 7vh #d6b87d,68vw 36vh #d6b87d,78vw 6vh #d6b87d,32vw 64vh #d6b87d,6vw 72vh #d6b87d,58vw 73vh #d6b87d;animation:twinkle 3s ease-in-out infinite}
.intro-stars::after{left:26%;top:10%;opacity:.55;transform:scale(.7);animation-delay:1.2s}
.intro-copy{text-align:center;z-index:2;margin-bottom:18px;padding:0 20px;transition:transform .8s var(--ease),opacity .6s}
.eyebrow{font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:#c9ad7c;margin-bottom:12px}
.intro-title{font:500 clamp(40px,7vw,72px)/1 var(--serif);letter-spacing:.02em}
.intro-title span{font-style:italic;color:#caa56d;margin:0 .12em}
.intro-copy p{margin:12px 0 0;font:300 11px/1.7 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:#bcae9e}
.envelope-stage{width:min(520px,90vw);height:300px;position:relative;z-index:4;display:grid;place-items:center;filter:drop-shadow(0 30px 30px rgba(0,0,0,.42))}
.envelope{width:min(420px,84vw);aspect-ratio:1.55/1;position:relative;transform-style:preserve-3d;transition:transform .9s var(--ease)}
.env-back,.env-front,.env-side,.env-flap{position:absolute;inset:0;border-radius:3px}
.env-back{background:linear-gradient(135deg,#e9dcc7,#cbb696);border:1px solid rgba(255,255,255,.35)}
.env-front{clip-path:polygon(0 34%,50% 76%,100% 34%,100% 100%,0 100%);background:linear-gradient(155deg,#decdb2,#c8ae88);z-index:5;box-shadow:inset 0 1px rgba(255,255,255,.35)}
.env-side{z-index:4;background:#d6c0a0}
.env-left{clip-path:polygon(0 0,50% 58%,0 100%)}
.env-right{clip-path:polygon(100% 0,50% 58%,100% 100%);background:#cdb691}
.env-flap{z-index:7;clip-path:polygon(0 0,100% 0,50% 62%);background:linear-gradient(#eadcc6,#ccb28b);transform-origin:50% 0%;backface-visibility:hidden;transition:transform .9s var(--ease),z-index 0s .45s}
.letter{position:absolute;left:7%;right:7%;top:8%;bottom:7%;z-index:3;background:linear-gradient(180deg,#fffaf1,#f6ead8);border:1px solid rgba(173,133,78,.28);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#5f4933;box-shadow:0 4px 12px rgba(55,35,16,.14);transition:transform 1.1s .25s var(--ease);overflow:hidden}
.letter::before{content:"";position:absolute;inset:12px;border:1px solid rgba(176,137,81,.25)}
.letter-kicker{text-transform:uppercase;letter-spacing:.32em;font-size:8px;color:#a47f50}
.letter-names{font:500 35px/.86 var(--serif);margin:12px 0}.letter-names span{font-style:italic;color:#b1854d}.letter-date{font:500 11px var(--sans);letter-spacing:.26em}
.wax{position:absolute;z-index:9;left:50%;top:51%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;border:0;color:#e9d5ae;background:radial-gradient(circle at 35% 30%,#ad7d48,#815228 55%,#4e2f18 100%);box-shadow:0 5px 16px rgba(60,30,10,.4),inset 0 2px 6px rgba(255,230,190,.25);cursor:pointer;transition:transform .4s var(--ease),opacity .35s}
.wax::before{content:"";position:absolute;inset:7px;border:1px solid rgba(245,219,172,.6);border-radius:50%}
.wax span{position:relative;font:italic 19px var(--serif);letter-spacing:.03em}.wax:hover{transform:translate(-50%,-50%) scale(1.07) rotate(-4deg)}
.open-btn{z-index:5;margin-top:14px;border:1px solid rgba(215,187,139,.35);color:#eadcc7;background:rgba(255,255,255,.03);backdrop-filter:blur(8px);padding:13px 20px 13px 24px;border-radius:99px;display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.14em;font-size:9px;cursor:pointer;transition:.35s var(--ease)}
.open-btn i{font-style:normal;font-size:15px;color:#cbaa79}.open-btn:hover{background:rgba(209,176,123,.1);border-color:rgba(215,187,139,.6);transform:translateY(-2px)}
.intro-hint{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#76695c;margin-top:12px;z-index:5}
.intro.opening .env-flap{transform:rotateX(180deg);z-index:2;transition:transform .9s var(--ease),z-index 0s .45s}
.intro.opening .letter{transform:translateY(-45%) scale(1.03)}
.intro.opening .wax{opacity:0;transform:translate(-50%,-50%) scale(.6)}
.intro.opening .intro-copy{transform:translateY(-20px);opacity:.35}
.intro.leaving{opacity:0;visibility:hidden;pointer-events:none}
@keyframes sheen{0%,55%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.4)}}

.sound-toggle{position:fixed;right:18px;top:18px;z-index:90;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(25,19,14,.55);backdrop-filter:blur(12px);color:white;cursor:pointer}.sound-bars{display:flex;justify-content:center;align-items:center;gap:2px;height:16px}.sound-bars i{width:2px;background:#e0c08a;height:5px;animation:bar 1s ease-in-out infinite}.sound-bars i:nth-child(2){height:12px;animation-delay:.15s}.sound-bars i:nth-child(3){height:8px;animation-delay:.3s}.sound-toggle.muted .sound-bars i{animation:none;height:2px}@keyframes bar{50%{height:14px}}

/* HERO */
.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:90px 0 72px}
.hero-bg{position:absolute;inset:-3%;background-image:url('assets/couple-hero-blur.webp');background-size:cover;background-position:center;transform:scale(1.04)}
.hero-bg::after{content:"";position:absolute;inset:0;background:url('assets/couple-hero.webp') center 34%/cover no-repeat;filter:saturate(.85) contrast(1.03)}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,7,5,.86) 0%,rgba(10,7,5,.52) 42%,rgba(10,7,5,.08) 74%),linear-gradient(0deg,rgba(10,7,5,.82) 0%,transparent 48%,rgba(10,7,5,.18) 100%)}
.hero-frame{position:absolute;inset:22px;border:1px solid rgba(230,203,158,.28);pointer-events:none}
.hero-frame::before,.hero-frame::after{content:"";position:absolute;width:55px;height:55px;border-color:#c8a974;opacity:.55}.hero-frame::before{left:-1px;top:-1px;border-left:2px solid;border-top:2px solid}.hero-frame::after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}
.gold-dust{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#dfc18f 0 1px,transparent 1.4px);background-size:97px 113px;opacity:.14;animation:dust 15s linear infinite}@keyframes dust{to{background-position:30px -80px}}
.hero-content{position:relative;z-index:3;width:min(1100px,calc(100% - 58px));margin:0 auto;color:white;padding-right:50%}
.hero-date{font-size:11px;letter-spacing:.4em;color:#e0c697;text-transform:uppercase;margin-bottom:18px}
.hero-title{font:500 clamp(64px,9vw,118px)/.77 var(--serif);margin:0;letter-spacing:-.04em;text-shadow:0 8px 35px rgba(0,0,0,.3)}
.hero-title em{font-weight:400;color:#cfaa70}.hero-sub{font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:#d6c9b9;margin:28px 0 34px}
.countdown{display:grid;grid-template-columns:repeat(4,minmax(78px,1fr));width:min(540px,100%);border:1px solid rgba(226,198,151,.32);background:rgba(19,14,10,.32);backdrop-filter:blur(14px);border-radius:18px;overflow:hidden}
.count-box{text-align:center;padding:18px 8px 14px;position:relative}.count-box:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:rgba(225,197,153,.18)}
.count-box strong{display:block;font:500 34px/1 var(--serif);color:#efd6a6}.count-box span{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:#aaa096}
.scroll-down{display:inline-flex;align-items:center;gap:14px;margin-top:30px;color:#cdbfae;text-transform:uppercase;letter-spacing:.2em;font-size:8px}.scroll-down b{font:300 24px var(--sans);animation:bob 1.7s ease-in-out infinite}@keyframes bob{50%{transform:translateY(5px)}}

/* PAPER SECTIONS */
.paper-section{background:radial-gradient(circle at 50% 10%,#fffaf2 0,var(--paper) 60%,#f0e7da 100%);position:relative;overflow:hidden}
.welcome{padding:110px 0 100px;text-align:center}.welcome p{font:400 clamp(19px,2.5vw,25px)/1.55 var(--serif);max-width:730px;margin:18px auto;color:#4c4035}.welcome .lead{font-size:clamp(22px,3vw,29px)}
.botanical{position:absolute;width:280px;height:380px;opacity:.18;pointer-events:none}.botanical::before,.botanical::after{content:"";position:absolute;border:1px solid #a87f49;border-radius:50% 0 50% 0;transform:rotate(25deg)}.botanical::before{width:150px;height:54px;left:0;top:70px;box-shadow:65px 54px 0 -1px transparent}.botanical::after{width:110px;height:40px;left:80px;top:160px}.botanical-left{left:-80px;top:0;transform:rotate(-18deg)}.botanical-right{right:-100px;bottom:-20px;transform:rotate(160deg)}
.date-section{padding:0 0 110px}.date-card{position:relative;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:42px;padding:40px 48px;border:1px solid rgba(150,111,67,.18);border-radius:26px;background:rgba(255,252,247,.66);box-shadow:0 24px 70px rgba(96,67,38,.12),inset 0 1px white;backdrop-filter:blur(8px)}
.calendar-sheet{width:150px;height:170px;background:linear-gradient(#fffaf1,#eee0cb);border:1px solid #d9c5a8;box-shadow:0 12px 18px rgba(80,54,31,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transform:rotate(-1.5deg)}.calendar-sheet .rings{position:absolute;top:-9px;display:flex;gap:38px}.calendar-sheet .rings span{width:10px;height:30px;border:2px solid #a48050;border-radius:8px}.calendar-sheet strong{font:500 74px/.9 var(--serif);color:#725638}.calendar-sheet small{font:400 18px var(--serif);color:#8c7155}.date-copy span{text-transform:uppercase;letter-spacing:.28em;font-size:10px;color:#9c784c}.date-copy h2{font:500 clamp(52px,6vw,86px)/.85 var(--serif);margin:8px 0;color:#4b3928;letter-spacing:-.04em}.date-copy p{max-width:520px;margin:14px 0 0;color:#7a6c5f;line-height:1.6}.line-heart{font:400 62px var(--serif);color:#c9a26a;padding-right:10px}

/* VENUE */
.venue{position:relative;padding:90px 0;overflow:hidden}.venue-bg{position:absolute;inset:0;background:radial-gradient(circle at 70% 45%,rgba(157,106,53,.22),transparent 32%),linear-gradient(120deg,#241a13,#0f0c0a)}.venue-bg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(231,199,143,.15) 0 1px,transparent 1.6px);background-size:80px 80px;opacity:.45}
.venue-card{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:34px;padding:34px 40px;border:1px solid rgba(223,190,137,.28);border-radius:28px;background:linear-gradient(115deg,rgba(255,255,255,.055),rgba(255,255,255,.02));backdrop-filter:blur(10px);box-shadow:0 25px 80px rgba(0,0,0,.24)}.venue-icon svg{width:120px;stroke:#d4b379;fill:none;stroke-width:1.3}.venue-copy h2{font:500 clamp(42px,5vw,68px)/1 var(--serif);margin:0;color:#f4e9d8}.venue-copy p{color:#ad9f8d;max-width:520px}.map-btn{white-space:nowrap;background:linear-gradient(135deg,#efe0c5,#cfa86d);color:#3c2c1d;padding:16px 22px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;box-shadow:0 10px 30px rgba(166,116,52,.18);transition:.35s var(--ease)}.map-btn:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(166,116,52,.28)}

/* TIMELINE */
.timeline-section{padding:110px 0;text-align:center}.timeline{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;margin-top:56px}.time-card{text-align:left;display:grid;grid-template-columns:88px 1fr;gap:24px;padding:34px;border:1px solid rgba(145,104,61,.18);background:rgba(255,255,255,.47);border-radius:24px;box-shadow:0 18px 50px rgba(81,55,29,.08)}.time-card strong{display:block;font:500 52px/1 var(--serif);color:#5f4832}.time-card span{display:block;font:500 21px var(--serif);margin:4px 0 7px;color:#765a3e}.time-card p{font-size:12px;line-height:1.65;color:#88796b;margin:0}.time-icon{width:76px;height:76px;border:1px solid #d6bc91;border-radius:50%;display:grid;place-items:center;color:#b58950}.rings-icon{position:relative}.rings-icon i{position:absolute;width:32px;height:32px;border:2px solid #b58950;border-radius:50%;left:16px}.rings-icon i:last-child{left:29px;top:22px}.glass-icon{font:400 48px var(--serif);transform:rotate(45deg)}.timeline-line{height:1px;background:#c7a977;position:relative;margin:0 14px}.timeline-line i{position:absolute;left:50%;top:50%;width:8px;height:8px;background:#c7a977;transform:translate(-50%,-50%) rotate(45deg)}

/* DRESS CODE */
.dress-section{position:relative;overflow:hidden;background:linear-gradient(145deg,#1c1510,#2a1e16 55%,#17120e);padding:120px 0 105px;color:#f7efe4;text-align:center}.dress-section::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}.dress-halo{position:absolute;border-radius:50%;filter:blur(90px);opacity:.14}.halo-one{width:500px;height:500px;background:#c28c55;left:-180px;top:50px}.halo-two{width:460px;height:460px;background:#d3a96d;right:-220px;bottom:-80px}.dress-intro{width:min(650px,100%);margin:22px auto 50px;color:#bcb0a2;line-height:1.7}
.wardrobe{width:min(820px,100%);margin:0 auto;padding:26px;border:1px solid rgba(219,186,133,.2);border-radius:28px;background:rgba(255,255,255,.035);backdrop-filter:blur(12px)}.wardrobe-head{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.wardrobe-tab{border:1px solid rgba(222,193,146,.18);background:transparent;color:#9e9184;border-radius:99px;padding:10px 18px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;transition:.3s}.wardrobe-tab.active{background:#d8ba8a;color:#2d2118;border-color:#d8ba8a}.outfit-deck{display:none;grid-template-columns:repeat(3,1fr);gap:12px;perspective:1000px}.outfit-deck.active{display:grid}.outfit-card{height:330px;border-radius:18px;background:linear-gradient(180deg,#f1e7da,#d4c2ab);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:14px;box-shadow:0 18px 38px rgba(0,0,0,.19);transform:translateY(20px) rotate(var(--r,-2deg));animation:floatcard 5s ease-in-out infinite}.outfit-card.o2{--r:1.4deg;animation-delay:.6s}.outfit-card.o3{--r:-.8deg;animation-delay:1.2s}.outfit-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.7),transparent 38%),linear-gradient(165deg,transparent 30%,rgba(255,255,255,.15));}.outfit-card b{position:relative;z-index:5;color:#5a4b3d;font:500 13px var(--serif);letter-spacing:.08em}.fashion-figure{position:absolute;left:50%;top:36px;transform:translateX(-50%);width:100px;height:245px}.fashion-figure .head{position:absolute;width:30px;height:38px;left:35px;top:0;border-radius:48% 48% 44% 44%;background:#d4a17f;box-shadow:0 -8px 0 #3b2a22}.fashion-figure.woman .dress{position:absolute;left:13px;top:38px;width:74px;height:180px;background:var(--tone);clip-path:polygon(34% 0,66% 0,78% 19%,96% 100%,4% 100%,22% 19%);filter:drop-shadow(0 10px 9px rgba(72,49,29,.15))}.fashion-figure.woman.alt .dress{clip-path:polygon(30% 0,70% 0,88% 33%,70% 100%,30% 100%,12% 33%)}.fashion-figure.woman.slim .dress{clip-path:polygon(30% 0,70% 0,82% 30%,70% 100%,30% 100%,18% 30%)}.fashion-figure.man .jacket{position:absolute;left:14px;top:38px;width:72px;height:112px;background:var(--tone);clip-path:polygon(28% 0,72% 0,100% 18%,89% 100%,11% 100%,0 18%);box-shadow:inset 50px 0 rgba(255,255,255,.06)}.fashion-figure.man .jacket::after{content:"";position:absolute;left:48%;top:0;width:2px;height:100%;background:rgba(255,255,255,.24)}.fashion-figure.man .legs{position:absolute;left:25px;top:142px;width:50px;height:95px;background:linear-gradient(90deg,var(--tone) 0 47%,transparent 47% 53%,var(--tone) 53%)}
@keyframes floatcard{0%,100%{transform:translateY(10px) rotate(var(--r,-2deg))}50%{transform:translateY(-5px) rotate(calc(var(--r,-2deg) * -1))}}
.palette{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;width:min(720px,100%);margin:36px auto 0}.palette div{display:flex;flex-direction:column;align-items:center;gap:9px}.palette i{width:42px;height:42px;border-radius:50%;background:var(--c);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 18px rgba(0,0,0,.2)}.palette span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#a99c8e}

/* STORY */
.story-section{padding:120px 0}.story-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:center}.story-copy .script-title{font-size:clamp(38px,4.8vw,61px)}.story-text p{font:400 19px/1.55 var(--serif);color:#51453a}.story-text .accent-line{font-size:24px;color:#754f30;border-left:2px solid #c5a069;padding-left:18px}.signature{margin-top:30px}.signature strong{font:400 28px var(--script);color:#795d3e}.story-photo-wrap{position:relative}.story-photo{position:relative;border-radius:220px 220px 28px 28px;overflow:hidden;box-shadow:0 30px 70px rgba(70,45,22,.17);border:1px solid rgba(152,110,67,.28);aspect-ratio:.72}.story-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;filter:saturate(.88)}.story-photo::after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,239,210,.55);border-radius:210px 210px 20px 20px;pointer-events:none}.photo-script{position:absolute;right:-30px;bottom:22px;font:400 75px var(--script);color:#b98e56;transform:rotate(-10deg)}

/* RSVP */
.rsvp-section{position:relative;overflow:hidden;background:linear-gradient(145deg,#1a130e,#271b13);padding:120px 0 105px;color:#f8f0e5;text-align:center}.rsvp-glow{position:absolute;width:900px;height:900px;border-radius:50%;left:50%;top:-560px;transform:translateX(-50%);background:#d8aa67;filter:blur(130px);opacity:.12}.rsvp-intro{color:#b6aa9d;max-width:560px;margin:22px auto 42px;line-height:1.7}.rsvp-form{text-align:left;background:rgba(255,255,255,.045);border:1px solid rgba(222,190,139,.22);border-radius:26px;padding:30px;backdrop-filter:blur(14px);box-shadow:0 25px 80px rgba(0,0,0,.22)}.field{display:block;margin-bottom:18px}.field>span,fieldset legend{display:block;color:#d6c7b3;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:9px}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(222,193,146,.18);background:rgba(255,255,255,.045);color:#f8f0e5;border-radius:13px;padding:15px 16px;outline:none;transition:.25s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#cba76e;background:rgba(255,255,255,.065);box-shadow:0 0 0 3px rgba(203,167,110,.08)}.field input::placeholder,.field textarea::placeholder{color:#756c63}.field select option{color:#222}.attendance{border:0;padding:0;margin:0 0 18px}.attendance legend{margin-bottom:10px}.attendance{display:grid;grid-template-columns:1fr 1fr;gap:10px}.attendance legend{grid-column:1/-1}.choice input{position:absolute;opacity:0}.choice span{display:flex;align-items:center;gap:10px;padding:14px 15px;border:1px solid rgba(222,193,146,.16);border-radius:13px;color:#b9ada0;cursor:pointer;transition:.25s}.choice b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid currentColor;font-weight:400}.choice.selected span{background:#d8b579;color:#332419;border-color:#d8b579}.submit-btn{width:100%;margin-top:7px;border:0;border-radius:13px;padding:17px 20px;background:linear-gradient(135deg,#d8b579,#a7753c);color:#251a12;display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;cursor:pointer;box-shadow:0 12px 30px rgba(174,122,59,.2);transition:.3s}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(174,122,59,.28)}.submit-btn:disabled{opacity:.6;cursor:wait;transform:none}.submit-arrow{font-size:22px}.form-note{text-align:center;font-size:9px;color:#82776c;margin:12px 0 0}.form-status{text-align:center;min-height:22px;margin-top:10px;font-size:12px;color:#e2c18e}.form-status.error{color:#ef9f97}.form-status.success{color:#b9d7ae}
footer{background:#0e0b09;color:#928478;text-align:center;padding:54px 20px}.footer-monogram{font:500 42px var(--serif);color:#d1b27f}.footer-monogram span{font-style:italic;color:#8f6d47}footer p{font-size:9px;text-transform:uppercase;letter-spacing:.16em}footer a{display:inline-block;margin-top:10px;font-size:9px;color:#bda988;text-transform:uppercase;letter-spacing:.13em}

/* REVEALS */
.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:0;transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal{transform:translateY(26px)}.reveal-left{transform:translateX(-38px)}.reveal-right{transform:translateX(38px)}.reveal-scale{transform:scale(.95) translateY(18px)}.is-visible{opacity:1!important;transform:none!important}.hero .reveal.is-visible[data-delay="1"]{transition-delay:.12s}.hero .reveal.is-visible[data-delay="2"]{transition-delay:.24s}.hero .reveal.is-visible[data-delay="3"]{transition-delay:.36s}.hero .reveal.is-visible[data-delay="4"]{transition-delay:.52s}

.noscript{position:fixed;z-index:10000;inset:0;background:#111;color:white;display:grid;place-items:center;text-align:center;padding:30px}

@media (max-width:900px){
  .hero{align-items:flex-end;padding-bottom:58px}.hero-content{padding-right:30%;}.hero-vignette{background:linear-gradient(0deg,rgba(10,7,5,.92) 0%,rgba(10,7,5,.16) 62%),linear-gradient(90deg,rgba(10,7,5,.35),transparent 70%)}
  .date-card{grid-template-columns:130px 1fr;gap:28px;padding:32px}.calendar-sheet{width:120px;height:142px}.line-heart{display:none}
  .venue-card{grid-template-columns:100px 1fr}.venue-icon svg{width:92px}.map-btn{grid-column:2;justify-self:start}
  .timeline{grid-template-columns:1fr;gap:14px}.timeline-line{width:1px;height:38px;margin:0 auto}
  .story-grid{grid-template-columns:1fr;gap:55px}.story-photo-wrap{width:min(520px,90%);margin:0 auto}.story-copy{text-align:center}.story-text{text-align:left}
}
@media (max-width:640px){
  .section-inner,.section-inner.narrow{width:min(100% - 28px,1120px)}
  .intro-copy{margin-bottom:4px}.intro-title{font-size:46px}.intro-copy p{font-size:8px}.envelope-stage{height:270px}.envelope{width:88vw}.open-btn{margin-top:4px}.intro-hint{display:none}
  .hero{min-height:100svh;padding:0 0 46px;align-items:flex-end}.hero-bg::after{background-position:52% 28%;}.hero-vignette{background:linear-gradient(0deg,rgba(10,7,5,.96) 0%,rgba(10,7,5,.38) 40%,rgba(10,7,5,.06) 72%,rgba(10,7,5,.25) 100%)}.hero-frame{inset:12px}.hero-content{padding-right:0;width:calc(100% - 46px)}.hero-date{font-size:8px}.hero-title{font-size:62px;line-height:.82;max-width:330px}.hero-sub{font-size:8px;margin:18px 0 24px}.countdown{border-radius:14px}.count-box{padding:13px 3px 11px}.count-box strong{font-size:28px}.count-box span{font-size:7px;letter-spacing:.08em}.scroll-down{margin-top:22px}
  .welcome{padding:82px 0 74px}.script-title{font-size:44px}.welcome p{font-size:20px;line-height:1.48}.welcome .lead{font-size:22px}.botanical{opacity:.1}
  .date-section{padding-bottom:78px}.date-card{grid-template-columns:92px 1fr;gap:18px;padding:24px 18px;border-radius:20px}.calendar-sheet{width:88px;height:108px}.calendar-sheet .rings{gap:24px}.calendar-sheet .rings span{height:23px;width:8px}.calendar-sheet strong{font-size:52px}.calendar-sheet small{font-size:14px}.date-copy h2{font-size:42px}.date-copy p{font-size:11px;line-height:1.45}.date-copy span{font-size:8px}
  .venue{padding:72px 0}.venue-card{grid-template-columns:1fr;text-align:center;padding:28px 22px;gap:16px}.venue-icon svg{margin:0 auto}.map-btn{grid-column:1;justify-self:center}.venue-copy h2{font-size:48px}
  .timeline-section{padding:82px 0}.section-title{font-size:49px}.time-card{grid-template-columns:68px 1fr;padding:24px 18px;gap:16px}.time-icon{width:62px;height:62px}.time-card strong{font-size:44px}.time-card span{font-size:20px}.rings-icon i{width:27px;height:27px;left:12px}.rings-icon i:last-child{left:23px;top:18px}
  .dress-section{padding:88px 0 82px}.dress-intro{font-size:13px}.wardrobe{padding:14px;border-radius:20px}.outfit-deck{gap:7px}.outfit-card{height:250px;border-radius:13px;padding:10px}.fashion-figure{transform:translateX(-50%) scale(.78);transform-origin:top center}.palette{grid-template-columns:repeat(3,1fr);gap:18px}.palette i{width:40px;height:40px}
  .story-section{padding:86px 0}.story-grid{gap:40px}.story-copy .script-title{font-size:42px}.story-text p{font-size:18px}.story-text .accent-line{font-size:22px}.photo-script{font-size:58px;right:-6px}
  .rsvp-section{padding:86px 0 76px}.rsvp-form{padding:20px 16px;border-radius:20px}.attendance{grid-template-columns:1fr}.attendance legend{grid-column:1}.choice span{padding:13px}.field input,.field textarea,.field select{padding:14px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none}}

/* ===== WOW FIXED: layout-safe enhancements ===== */
html,body{max-width:100%;overflow-x:hidden}
.ambient-canvas{position:fixed;inset:0;z-index:40;pointer-events:none;width:100%;height:100%;opacity:.82}
body.locked .ambient-canvas{z-index:998}

/* keep the original envelope geometry, only add light/depth without changing layout */
.envelope{filter:drop-shadow(0 24px 44px rgba(0,0,0,.28))}
.envelope::after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.16),transparent 34%,transparent 68%,rgba(113,74,35,.06));mix-blend-mode:soft-light}
.wax{box-shadow:0 10px 24px rgba(56,29,9,.28),inset 0 1px 1px rgba(255,245,217,.48),inset 0 -7px 12px rgba(93,48,16,.18)}
.wax::after{content:"";position:absolute;inset:9px;border-radius:50%;border:1px solid rgba(255,239,201,.34);pointer-events:none}
.intro.opening .wax{animation:sealPulse .52s ease both}
@keyframes sealPulse{0%{transform:translate(-50%,-50%) scale(1)}45%{transform:translate(-50%,-50%) scale(1.09)}100%{transform:translate(-50%,-50%) scale(.96)}}

/* photo dress-code carousel: one contained card at a time = no overflow/layout drift */
.wardrobe-photo{width:min(760px,100%);padding:24px 24px 20px;overflow:hidden}
.wardrobe-head-photo{margin-bottom:20px}
.photo-carousel{position:relative;width:min(460px,100%);margin:0 auto;aspect-ratio:4/5;isolation:isolate}
.photo-deck{display:none;position:absolute;inset:0}
.photo-deck.active{display:block}
.photo-look{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(7%) scale(.985);transition:opacity .48s ease,transform .58s cubic-bezier(.22,.7,.25,1),visibility .48s;overflow:hidden;border-radius:22px;border:1px solid rgba(231,200,151,.2);background:#17120f;box-shadow:0 24px 58px rgba(0,0,0,.34)}
.photo-look.active{opacity:1;visibility:visible;transform:none;z-index:2}
.photo-look.is-exiting-left{opacity:0;visibility:visible;transform:translateX(-7%) scale(.985)}
.photo-look.is-exiting-right{opacity:0;visibility:visible;transform:translateX(7%) scale(.985)}
.photo-look img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.88) contrast(1.02) brightness(.96);transform:scale(1.01)}
.photo-look::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(10,7,5,.08) 58%,rgba(10,7,5,.86) 100%)}
.photo-look::after{content:"";position:absolute;inset:10px;z-index:1;border:1px solid rgba(237,207,160,.13);border-radius:15px;pointer-events:none}
.photo-look-meta{position:absolute;z-index:3;left:24px;right:24px;bottom:22px;text-align:left;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.photo-look-meta small{display:block;margin-bottom:5px;color:#d8b77e;font:500 8px var(--sans);letter-spacing:.2em;text-transform:uppercase}
.photo-look-meta strong{display:block;font:500 clamp(36px,5vw,52px)/.95 var(--serif);letter-spacing:-.02em}
.photo-look-meta span{display:block;margin-top:7px;color:#c4b7aa;font:500 8px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.carousel-arrow{position:absolute;z-index:8;top:50%;width:46px;height:46px;margin-top:-23px;border-radius:50%;border:1px solid rgba(232,200,151,.3);background:rgba(20,15,11,.72);backdrop-filter:blur(10px);color:#e0c08d;font:300 30px/1 var(--serif);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.24);transition:transform .2s ease,background .2s ease,color .2s ease}
.carousel-arrow:hover{background:#d3b078;color:#241911;transform:scale(1.06)}
.carousel-prev{left:14px}.carousel-next{right:14px}
.carousel-dots{display:flex;justify-content:center;gap:9px;margin:18px 0 0}
.carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(223,193,146,.26);cursor:pointer;transition:.25s}
.carousel-dots button.active{width:28px;border-radius:999px;background:#d7b67e}
.wardrobe-swipe-hint{margin:12px 0 0;color:#776b5f;font:500 7px var(--sans);letter-spacing:.16em;text-transform:uppercase}

/* all key cards remain inside their containers on narrow screens */
.date-card,.venue-card,.time-card,.rsvp-form,.wardrobe{min-width:0}
img,svg{max-width:100%}

@media (max-width:640px){
  .wardrobe-photo{padding:14px 12px 18px}
  .photo-carousel{width:min(100%,360px);aspect-ratio:4/5}
  .photo-look{border-radius:17px}
  .photo-look::after{inset:7px;border-radius:12px}
  .photo-look-meta{left:18px;right:18px;bottom:17px}
  .photo-look-meta strong{font-size:36px}
  .photo-look-meta span{font-size:6px;letter-spacing:.1em}
  .carousel-arrow{width:39px;height:39px;margin-top:-19.5px;font-size:26px}
  .carousel-prev{left:8px}.carousel-next{right:8px}
}

@media (max-width:380px){
  .photo-carousel{width:100%}
  .photo-look-meta strong{font-size:32px}
  .wardrobe-tab{padding:9px 11px;font-size:8px}
}


/* ===== ENVELOPE HOTFIX v2 — overlap-safe on iOS/Safari ===== */
.envelope{overflow:visible;isolation:isolate}
.env-back{z-index:1;background:linear-gradient(145deg,#eadcc5 0%,#d8c3a3 48%,#c9ad86 100%)}
.letter{z-index:2;left:8%;right:8%;top:9%;bottom:9%}
/* The old side triangles created seam gaps on mobile. The front pocket now owns the full geometry. */
.env-side{display:none!important}
.env-front{
  z-index:5;
  clip-path:polygon(0 27%,50% 58%,100% 27%,100% 100%,0 100%);
  background:
    linear-gradient(145deg,rgba(255,255,255,.16),transparent 33%),
    linear-gradient(35deg,#d8c19d 0 49.7%,transparent 50%) left bottom/50% 100% no-repeat,
    linear-gradient(-35deg,#cdb28c 0 49.7%,transparent 50%) right bottom/50% 100% no-repeat,
    linear-gradient(180deg,#d7bf9a,#c8aa80);
  box-shadow:inset 0 1px rgba(255,255,255,.35),inset 0 -16px 28px rgba(105,72,37,.05)
}
.env-flap{
  z-index:7;
  clip-path:polygon(0 0,100% 0,50% 64%);
  background:linear-gradient(180deg,#f0e4cf 0%,#dfc9a9 56%,#cdb087 100%);
  filter:drop-shadow(0 5px 3px rgba(90,58,26,.10));
}
.env-flap::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.20),transparent 32%,rgba(102,65,31,.04) 82%);clip-path:inherit;pointer-events:none}
.envelope::after{z-index:8;border:1px solid rgba(255,255,255,.18);background:linear-gradient(125deg,rgba(255,255,255,.10),transparent 34%,transparent 70%,rgba(97,61,29,.04));mix-blend-mode:soft-light}
.wax{z-index:10;top:53%;width:72px;height:72px}
.intro.opening .env-flap{z-index:1}
.intro.opening .letter{z-index:6;transform:translateY(-49%) scale(1.025)}
/* remove emoji rendering from the CTA; draw a crisp chevron */
.open-btn i{font-size:0;width:18px;height:18px;position:relative;display:block}
.open-btn i::before{content:"";position:absolute;width:7px;height:7px;border-right:1.5px solid #cbaa79;border-bottom:1.5px solid #cbaa79;transform:rotate(45deg);left:5px;top:3px}
@media(max-width:640px){
  .envelope-stage{height:285px}
  .envelope{width:min(88vw,390px)}
  .wax{width:68px;height:68px;top:53%}
  .wax span{font-size:18px}
}


/* ===== ENVELOPE REBUILD v3 — clean geometry + hidden letter + seal burst ===== */
.envelope-stage{overflow:visible}
.envelope{
  overflow:visible;
  width:min(430px,84vw);
  aspect-ratio:1.58/1;
  filter:drop-shadow(0 26px 42px rgba(0,0,0,.34));
}
.env-back,
.env-front,
.env-flap{border-radius:4px}
.env-back{
  z-index:1;
  background:linear-gradient(145deg,#e9dcc8 0%,#dbc4a2 52%,#caa985 100%);
  border:1px solid rgba(255,255,255,.32);
}
.env-side{display:none !important}
.letter{
  position:absolute;
  z-index:2;
  left:10%;
  right:10%;
  top:12%;
  bottom:8%;
  border-radius:3px;
  background:linear-gradient(180deg,#fdfbf7 0%,#f5efe5 100%);
  box-shadow:0 16px 26px rgba(0,0,0,.14), inset 0 0 0 1px rgba(153,119,73,.08);
  padding:18px 14px 14px;
  opacity:0;
  transform:translateY(36%) scale(.96);
  transition:transform .92s var(--ease), opacity .28s ease .12s;
  will-change:transform, opacity;
}
.letter-kicker{font:600 7px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:#b39360;text-align:center;margin-bottom:10px}
.letter-names{font:500 clamp(25px,4vw,36px)/.95 var(--serif);text-align:center;color:#473121}
.letter-names span{color:#b2854b;font-style:italic}
.letter-date{margin-top:10px;font:600 10px/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-align:center;color:#8f775b}
.env-front{
  z-index:5;
  left:0;right:0;bottom:0;top:43%;
  clip-path:none;
  border-radius:0 0 4px 4px;
  background:linear-gradient(180deg,#d9bf99 0%,#ccb089 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.34), inset 0 -14px 24px rgba(98,68,36,.06);
}
.env-front::before,
.env-front::after{
  content:"";
  position:absolute;
  top:-1px;
  width:50.2%;
  height:100.5%;
}
.env-front::before{
  left:0;
  background:linear-gradient(155deg,#decab0 0%,#cfb18b 100%);
  clip-path:polygon(0 0,100% 38%,100% 100%,0 100%);
}
.env-front::after{
  right:0;
  background:linear-gradient(205deg,#d4bb95 0%,#c9a882 100%);
  clip-path:polygon(0 38%,100% 0,100% 100%,0 100%);
}
.env-flap{
  z-index:7;
  inset:0 0 auto 0;
  height:53%;
  clip-path:polygon(0 0,100% 0,50% 100%);
  background:linear-gradient(180deg,#f1e5d1 0%,#e2cfb0 58%,#d1b289 100%);
  transform-origin:50% 0%;
  transform:rotateX(0deg);
  backface-visibility:hidden;
  box-shadow:0 1px 0 rgba(255,255,255,.28), 0 4px 6px rgba(110,73,37,.08);
}
.env-flap::after{
  content:"";
  position:absolute;
  inset:0;
  clip-path:inherit;
  background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 38%,rgba(95,62,30,.04) 80%);
  pointer-events:none;
}
.wax{
  z-index:10;
  left:50%;
  top:53%;
  width:74px;height:74px;
}
.intro.opening .env-flap{
  transform:rotateX(178deg);
  z-index:1;
  transition:transform .9s var(--ease), z-index 0s .4s;
}
.intro.opening .letter{
  opacity:1;
  z-index:6;
  transform:translateY(-42%) scale(1.02);
}
.intro.opening .wax{
  opacity:0;
  transform:translate(-50%,-50%) scale(.6) rotate(-18deg);
  transition:transform .72s var(--ease), opacity .55s ease .08s;
}
.seal-burst{
  position:absolute;
  left:50%;
  top:53%;
  width:0;
  height:0;
  z-index:11;
  pointer-events:none;
}
.seal-burst span,
.seal-burst i{
  position:absolute;
  left:0;
  top:0;
  display:block;
  pointer-events:none;
}
.seal-burst span{
  width:var(--size,7px);
  height:var(--size,7px);
  margin-left:calc(var(--size,7px) / -2);
  margin-top:calc(var(--size,7px) / -2);
  background:var(--color,#d6b277);
  border-radius:42% 58% 50% 50%;
  box-shadow:0 0 0 1px rgba(255,240,208,.12) inset;
  opacity:0;
  animation:sealBurstFly .9s cubic-bezier(.18,.72,.2,1) forwards;
  animation-delay:var(--delay,0s);
}
.seal-burst i{
  width:16px;height:16px;
  margin:-8px 0 0 -8px;
  border-radius:50%;
  border:1px solid rgba(235,208,162,.55);
  opacity:0;
  animation:sealRing .72s ease-out forwards;
  animation-delay:var(--delay,0s);
}
@keyframes sealBurstFly{
  0%{opacity:0;transform:translate(0,0) scale(.25) rotate(0deg)}
  12%{opacity:1}
  100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1) rotate(var(--rot,0deg))}
}
@keyframes sealRing{
  0%{opacity:.6;transform:scale(.2)}
  100%{opacity:0;transform:scale(var(--ring-scale,4.5))}
}
@media (max-width:640px){
  .envelope-stage{height:288px}
  .envelope{width:min(88vw,400px)}
  .letter{left:8%;right:8%;top:11%;bottom:8%}
  .wax{width:68px;height:68px;top:53%}
  .wax span{font-size:18px}
}


/* ===== DRESS CODE LOOKBOOK v4 — high-resolution faceless runway carousel ===== */
.wardrobe-luxe{
  width:min(980px,100%);
  padding:24px 0 22px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
  border-color:rgba(218,184,130,.18);
}
.wardrobe-luxe .wardrobe-head{padding:0 24px;margin-bottom:8px}
.lookbook-carousel{position:relative;width:100%;isolation:isolate}
.lookbook-track{
  --look-w:250px;
  display:none;
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:18px calc((100% - var(--look-w))/2) 16px;
  touch-action:pan-x pan-y;
}
.lookbook-track::-webkit-scrollbar{display:none}
.lookbook-track.active{display:flex}
.lookbook-card{
  flex:0 0 var(--look-w);
  min-width:0;
  scroll-snap-align:center;
  scroll-snap-stop:always;
  position:relative;
  opacity:.40;
  transform:scale(.93);
  transform-origin:center 70%;
  transition:opacity .38s ease,transform .48s cubic-bezier(.22,.7,.25,1),filter .38s ease;
  filter:saturate(.82) brightness(.72);
}
.lookbook-card.is-active{opacity:1;transform:scale(1);filter:none}
.lookbook-figure{
  position:relative;
  width:100%;
  aspect-ratio:2/3;
  overflow:hidden;
  border-radius:22px;
  background:#020202;
  border:1px solid rgba(228,198,150,.14);
  box-shadow:0 24px 55px rgba(0,0,0,.28);
}
.lookbook-figure::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 68%,rgba(5,4,3,.18) 86%,rgba(5,4,3,.54) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.lookbook-card.is-active .lookbook-figure{box-shadow:0 28px 66px rgba(0,0,0,.38),0 0 42px rgba(205,160,95,.06)}
.lookbook-figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.012)}
.lookbook-caption{padding:13px 4px 0;text-align:center}
.lookbook-caption small{display:block;color:#8d7d6b;font:600 7px/1 var(--sans);letter-spacing:.24em;margin-bottom:6px}
.lookbook-caption strong{display:block;color:#f0e4d3;font:500 28px/.95 var(--serif);letter-spacing:.01em}
.lookbook-caption span{display:block;margin-top:7px;color:#8f8174;font:500 7px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.14em}
.lookbook-arrow{
  position:absolute;z-index:6;top:42%;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(229,196,145,.28);background:rgba(18,14,11,.76);backdrop-filter:blur(12px);
  color:#d7b77f;font:300 30px/1 var(--serif);display:grid;place-items:center;cursor:pointer;
  box-shadow:0 10px 28px rgba(0,0,0,.22);transition:.24s ease;
}
.lookbook-arrow:hover{background:#d3b078;color:#251a12;transform:scale(1.05)}
.lookbook-prev{left:18px}.lookbook-next{right:18px}
.lookbook-progress{height:2px;width:min(220px,58%);margin:2px auto 0;background:rgba(220,190,143,.13);border-radius:99px;overflow:hidden}
.lookbook-progress span{display:block;height:100%;width:33.333%;background:linear-gradient(90deg,#9f7444,#ddbd87);border-radius:99px;transform:translateX(0);transition:transform .38s ease,width .38s ease}
.wardrobe-luxe .wardrobe-swipe-hint{margin-top:13px;color:#796d61}

@media (min-width:820px){
  .lookbook-track{--look-w:270px;gap:18px}
  .lookbook-card{opacity:.34;transform:scale(.91)}
  .lookbook-card.is-active{opacity:1;transform:scale(1.02)}
  .lookbook-prev{left:34px}.lookbook-next{right:34px}
}
@media (max-width:640px){
  .wardrobe-luxe{width:100%;padding:18px 0 18px;border-radius:20px}
  .wardrobe-luxe .wardrobe-head{padding:0 14px;margin-bottom:2px}
  .lookbook-track{--look-w:min(68vw,270px);gap:10px;padding-top:14px;padding-bottom:12px}
  .lookbook-figure{border-radius:18px}
  .lookbook-caption{padding-top:10px}
  .lookbook-caption strong{font-size:26px}
  .lookbook-arrow{width:40px;height:40px;top:41%;font-size:27px;background:rgba(15,12,10,.72)}
  .lookbook-prev{left:8px}.lookbook-next{right:8px}
  .lookbook-progress{width:48%;margin-top:0}
}
@media (max-width:380px){
  .lookbook-track{--look-w:min(72vw,250px)}
  .lookbook-arrow{width:37px;height:37px;font-size:25px}
  .lookbook-caption strong{font-size:24px}
}
