/* Wedding / cinematic editorial; authored independently from other campaigns */
.page-wedding{--page:#f3efe8;--ink:#211d1a;background:var(--page)}
.page-wedding .site-nav{color:#fff}
.page-wedding .nav-action{background:#ffffff14;backdrop-filter:blur(15px);border-color:#fff9}
.page-wedding .nav-action:hover{background:#fff;color:#261e1a}
.w-hero{position:relative;isolation:isolate;min-height:740px;height:min(900px,100svh);display:flex;align-items:center;background:#31302d;color:#fff;overflow:hidden}
.w-hero-media{position:absolute;inset:-25px;z-index:-3}
.w-hero-media img{height:100%;width:100%;object-fit:cover;object-position:center 48%;filter:saturate(.82) brightness(.72)}
.w-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#100e0cb0 0%,#10100f6e 44%,#08080821 85%),linear-gradient(0deg,#0505059b,transparent 35%)}
.w-hero .noise{z-index:-1;opacity:.24}
.w-hero-copy{padding:130px clamp(22px,8.2vw,138px) 105px;position:relative;max-width:1100px}
.w-hero-eyebrow{display:flex;align-items:center;gap:22px;margin-bottom:27px}
.w-hero-eyebrow::before{content:"";width:58px;height:1px;background:#fff}
.w-hero h1{font:400 clamp(70px,10.5vw,176px)/.91 var(--serif);letter-spacing:-.085em;margin:0 0 25px;text-wrap:balance}
.w-hero h1 em{display:block;font-weight:400;color:#f1ddc4;letter-spacing:-.075em}
.w-hero p{max-width:485px;font-size:17px;line-height:1.75;color:#f2f0e8d9}
.w-hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:32px}
.w-hero-actions small{font-size:11px;letter-spacing:.08em;color:#f2f2f2bb}
.w-hero-scroll{position:absolute;right:6vw;bottom:43px;display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.w-hero-scroll::after{content:"↓";font-size:26px;font-weight:300}
.w-statement{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.58fr);gap:9vw;align-items:end;max-width:1440px;margin:auto}
.w-statement h2{font:400 clamp(44px,6.8vw,108px)/1.07 var(--serif);letter-spacing:-.063em;margin:25px 0 0}
.w-statement h2 em{color:#a47d6e;font-weight:400}
.w-statement p{max-width:340px;font-size:17px;line-height:1.85;color:#514c46;margin:0 0 7px}
.w-gallery{padding:0 clamp(22px,6vw,96px) clamp(92px,10vw,160px)}
.w-gallery-inner{max-width:1400px;display:grid;grid-template-columns:1fr .73fr .75fr;align-items:end;gap:clamp(12px,2.2vw,34px);margin:auto}
.w-gallery .img-frame:first-child{aspect-ratio:5/6}
.w-gallery .img-frame:nth-child(2){aspect-ratio:3/4;transform:translateY(-36px)}
.w-gallery .img-frame:nth-child(3){aspect-ratio:4/5;transform:translateY(42px)}
.w-gallery .img-frame{filter:saturate(.84)}
.w-gallery-label{max-width:1400px;margin:45px auto 0;padding-top:17px;border-top:1px solid #9a9488aa;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#77706a;text-transform:uppercase;letter-spacing:.12em}
.w-chapters{background:#201f1c;color:#eeede8;padding-top:110px;padding-bottom:120px;overflow:hidden}
.w-chapter-head{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:52px}
.w-chapter-head h2{font:400 clamp(46px,6.7vw,108px)/.99 var(--serif);letter-spacing:-.066em;margin:17px 0 0;max-width:780px}
.w-chapter-head h2 em{color:#c7a890}
.w-chapter-head>p{max-width:320px;font-size:16px;line-height:1.7;color:#c2bdb6}
.w-storyrail{display:flex;gap:20px;margin-left:max(0px,calc((100vw - 1400px)/2 - 6vw));width:calc(100% + 6vw);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a19384 #201f1c;padding:0 5vw 28px 0}
.w-story-card{flex:0 0 clamp(270px,28vw,430px);scroll-snap-align:start;position:relative}
.w-story-card .img-frame{aspect-ratio:4/3;filter:saturate(.65);transition:filter .5s}
.w-story-card:hover .img-frame{filter:saturate(1)}
.w-story-card:nth-child(even){padding-top:50px}
.w-story-card .number{display:block;margin:19px 0 7px;color:#a99c91;font-size:11px;letter-spacing:.17em}
.w-story-card h3{margin:0;font:400 clamp(23px,2.3vw,36px)/1.15 var(--serif);letter-spacing:-.025em}
.w-story-card p{font-size:13px;line-height:1.6;color:#bbb3ac;max-width:335px}
.w-details{padding-top:150px;padding-bottom:155px}
.w-details-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:center}
.w-details-img{aspect-ratio:4/5}
.w-details-copy h2{font:400 clamp(48px,5.9vw,96px)/1.02 var(--serif);letter-spacing:-.065em;margin:27px 0 26px}
.w-details-copy h2 em{font-weight:400;color:#a47d6e}
.w-details-copy p{font-size:17px;line-height:1.8;color:#58514b;max-width:470px}
.w-details-copy .pill{margin-top:23px}
.w-prices{padding-top:118px;padding-bottom:140px;background:#e9e0d5}
.w-prices-intro{display:flex;gap:50px;justify-content:space-between;align-items:end;margin-bottom:60px}
.w-prices-intro h2{font:400 clamp(47px,6.2vw,92px)/1.02 var(--serif);letter-spacing:-.06em;margin:14px 0 0}
.w-prices-intro p{max-width:360px;line-height:1.8;color:#60574e;font-size:16px}
.w-rate-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:15px;border-top:1px solid #947f70;padding:28px 0}
.w-rate-row:last-of-type{border-bottom:1px solid #947f70}
.w-rate-row h3{font-size:clamp(19px,2.4vw,31px);font-weight:500;letter-spacing:-.04em;margin:0}
.w-rate-row .duration{font-size:15px;color:#746759}
.w-rate-row .price{font:400 clamp(25px,3vw,45px)/1 var(--serif);letter-spacing:-.045em;white-space:nowrap}
.w-rate-row a{border:1px solid #6d5c4f;border-radius:50%;width:49px;height:49px;display:grid;place-items:center;font-size:25px;transition:background .2s,color .2s}
.w-rate-row a:hover{background:#211a15;color:white}
.w-ending{isolation:isolate;position:relative;min-height:650px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:white}
.w-ending img{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover}
.w-ending::after{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(#0e100e90,#0e100e98)}
.w-ending h2{font:400 clamp(55px,8.7vw,137px)/.97 var(--serif);letter-spacing:-.065em;margin:12px auto 30px;max-width:1050px}
.w-ending p{font-size:17px;line-height:1.7;max-width:530px;margin:0 auto 30px;color:#eee}
.w-ending .w-final-copy{padding:90px 20px;position:relative}
.page-wedding .footer{background:#241f1b}
@media(max-width:850px){
 .w-statement,.w-details-inner{grid-template-columns:1fr;gap:30px}
 .w-statement p{max-width:600px}
 .w-details-img{max-width:580px}
 .w-prices-intro{align-items:start;flex-direction:column;gap:12px}
 .w-chapter-head{align-items:start;flex-direction:column;gap:6px}
 .w-rate-row{grid-template-columns:1fr 1fr 50px;gap:9px}
 .w-rate-row h3{grid-column:1;grid-row:1}
 .w-rate-row .duration{grid-column:1;grid-row:2}
 .w-rate-row .price{grid-column:2;grid-row:1/3;text-align:right}
 .w-rate-row a{grid-column:3;grid-row:1/3}
}
@media(max-width:760px){
 .w-hero{min-height:680px;height:94svh}
 .w-hero-media img{object-position:60% center;filter:saturate(.8) brightness(.67)}
 .w-hero::after{background:linear-gradient(90deg,#13110dc2,#13110d54),linear-gradient(0deg,#0008,transparent 60%)}
 .w-hero-copy{padding:115px 24px 100px}
 .w-hero h1{font-size:clamp(60px,14vw,100px);max-width:630px}
 .w-hero p{font-size:15px;line-height:1.7}
 .w-hero-scroll{bottom:20px;right:23px}
 .w-statement h2{font-size:clamp(45px,10.2vw,72px)}
 .w-gallery{padding:0 21px 85px}
 .w-gallery-inner{grid-template-columns:1fr 1fr;gap:10px;align-items:start}
 .w-gallery .img-frame:first-child{grid-row:span 2;aspect-ratio:3/5}
 .w-gallery .img-frame:nth-child(2){transform:none;aspect-ratio:3/4}
 .w-gallery .img-frame:nth-child(3){transform:none;aspect-ratio:4/5}
 .w-gallery-label{font-size:9px}
 .w-chapters{padding-top:90px;padding-bottom:80px}
 .w-storyrail{margin-left:0;width:calc(100% + 21px)}
 .w-story-card{flex-basis:79vw}
 .w-story-card:nth-child(even){padding-top:0}
 .w-details{padding-top:95px;padding-bottom:100px}
 .w-prices{padding-top:90px;padding-bottom:100px}
 .w-ending{min-height:600px}
}
