*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --white:#FFFFFF;--off-white:#F8F4EF;--cream:#F0E9DF;
  --black:#0D0D0D;--charcoal:#2C2C2C;--gray:#888888;--light-gray:#E0DAD4;
  --gold:#C9A96E;--gold-pale:#EAD9BE;--gold-deep:#A07840;
  --nav-h:80px;--ease:cubic-bezier(.25,.46,.45,.94);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;cursor:none;overflow-x:hidden}
body{font-family:'Raleway',sans-serif;background:var(--white);color:var(--black);overflow-x:hidden;cursor:none;position:relative;width:100%}

/* ── PAGE LOADER ── */
#loader{position:fixed;inset:0;z-index:9999;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .7s ease,visibility .7s ease}
#loader.gone{opacity:0;visibility:hidden;pointer-events:none}
.loader-logo{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--white);opacity:0;animation:fadeIn .6s ease .2s forwards}
.loader-logo .dot{color:var(--gold)}
.loader-bar-wrap{width:120px;height:1px;background:rgba(255,255,255,.15)}
.loader-bar{height:100%;background:var(--gold);width:0;transition:width 1.4s var(--ease)}
.loader-sub{font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.35);opacity:0;animation:fadeIn .6s ease .4s forwards}

/* ── SCROLL PROGRESS ── */
#progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:9998;width:0%;transition:width .1s linear}

/* ── CUSTOM CURSOR ── */
#cursor{position:fixed;top:0;left:0;z-index:10000;pointer-events:none;mix-blend-mode:difference}
.cur-ring{width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;position:absolute;transform:translate(-50%,-50%);transition:transform .12s var(--ease),width .3s var(--ease),height .3s var(--ease),opacity .3s ease;opacity:0}
.cur-dot{width:5px;height:5px;background:var(--gold);border-radius:50%;position:absolute;transform:translate(-50%,-50%);transition:transform .06s linear}
body.cursor-ready .cur-ring{opacity:1}
body.cursor-hover .cur-ring{width:56px;height:56px;border-color:rgba(201,169,110,.6)}
body.cursor-click .cur-ring{width:22px;height:22px}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);padding:0 64px;display:flex;align-items:center;justify-content:space-between;transition:background .55s var(--ease),box-shadow .55s var(--ease)}
nav.scrolled{background:rgba(255,255,255,.96);box-shadow:0 1px 0 rgba(0,0,0,.07);backdrop-filter:blur(14px)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--black);text-decoration:none;opacity:0;animation:fadeIn .6s ease 1.8s forwards}
.nav-logo .dot{color:var(--gold)}
.nav-links{display:flex;gap:36px;list-style:none;opacity:0;animation:fadeIn .6s ease 1.9s forwards}
.nav-links li{position:relative}
.nav-links a{font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--charcoal);text-decoration:none;transition:color .3s;position:relative;padding-bottom:4px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .35s var(--ease)}
.nav-links a:hover{color:var(--gold)}
.nav-links a:hover::after{width:100%}
.nav-book{background:var(--black)!important;color:var(--white)!important;padding:10px 26px;transition:background .3s!important;letter-spacing:.2em}
.nav-book::after{display:none!important}
.nav-book:hover{background:var(--gold)!important;color:var(--white)!important}
.hamburger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:none;cursor:none;padding:4px;min-width:44px;min-height:44px}
.hamburger span{display:block;width:22px;height:1px;background:var(--black);transition:.3s}

/* ── HERO ── */
#hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--black)}
.hero-bg{position:absolute;inset:0;background-image:url('dress3-4.jpg');background-size:cover;background-position:center 30%;will-change:transform}
.hero-overlay{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 78% 62% at 50% 46%,rgba(0,0,0,.55) 0%,rgba(0,0,0,.30) 48%,rgba(0,0,0,0) 78%)}
.hero-content{position:relative;z-index:1;text-align:center;padding:0 40px;max-width:880px;margin:0 auto}
.hero-eyebrow{font-size:.65rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:block;opacity:0;animation:fadeUp .8s ease 2s forwards;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.hero-rule{width:0px;height:1px;background:var(--gold);margin:22px auto;transition:width 1s var(--ease);opacity:0;animation:ruleExpand 1s ease 2.2s forwards}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3.8rem,8.5vw,7.6rem);font-weight:300;line-height:.92;letter-spacing:-.02em;color:var(--white);margin-bottom:14px;text-shadow:0 2px 28px rgba(0,0,0,.55)}
.hero-h1 .word{display:inline-block;overflow:hidden;vertical-align:top}
.hero-h1 .word-inner{display:inline-block;transform:translateY(110%);opacity:0}
.hero-h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(1.1rem,2.2vw,1.65rem);font-weight:300;font-style:italic;color:var(--off-white);margin-bottom:48px;opacity:0;animation:fadeUp 1s ease 2.8s forwards;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.hero-ctas{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1s ease 3s forwards}
.hero-scroll{display:none}
.hero-scroll-lbl{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gray)}
.scroll-bar{width:1px;height:46px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s ease-in-out infinite}

/* ── BUTTONS ── */
.btn-blk{background:var(--black);color:var(--white);padding:15px 40px;font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:background .35s,transform .25s var(--ease),box-shadow .35s;position:relative;overflow:hidden}
.btn-blk::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .4s var(--ease)}
.btn-blk:hover::before{transform:none}
.btn-blk span,.btn-blk{z-index:1}
.btn-blk:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.btn-ghost{border:1px solid var(--charcoal);color:var(--charcoal);padding:15px 40px;font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:all .35s}
.btn-ghost:hover{background:var(--charcoal);color:var(--white);transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--white);padding:15px 40px;font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:background .35s,transform .25s;text-align:center;white-space:nowrap;position:relative;overflow:hidden}
.btn-gold::before{content:'';position:absolute;inset:0;background:var(--white);transform:translateX(-101%);transition:transform .4s var(--ease)}
.btn-gold:hover::before{transform:none}
.btn-gold:hover{color:var(--black);transform:translateY(-2px)}
.btn-woutline{border:1px solid rgba(255,255,255,.22);color:var(--white);padding:15px 40px;font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:all .35s;text-align:center;white-space:nowrap}
.btn-woutline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

/* ── SHARED ── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.22s}.reveal.d3{transition-delay:.34s}.reveal.d4{transition-delay:.46s}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .9s ease,transform .9s ease}
.reveal-left.in{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .9s ease,transform .9s ease}
.reveal-right.in{opacity:1;transform:none}
.lbl{font-size:.63rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:14px}
.gold-line{width:0;height:1px;background:var(--gold);margin-bottom:28px;transition:width .9s var(--ease)}
.gold-line.drawn{width:48px}
.sec-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,3.8vw,3.6rem);font-weight:300;line-height:1.1;color:var(--black);margin-bottom:20px}
.sec-h em{font-style:italic}
.sec-p{font-size:.87rem;font-weight:300;line-height:1.95;color:var(--gray)}
section{padding:120px 80px}

/* ── MANIFESTO ── */
#manifesto{background:var(--black);padding:100px 80px;text-align:center;position:relative;overflow:hidden}
#manifesto::before{content:'';position:absolute;inset:-50%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(201,169,110,.04) 60deg,transparent 120deg);animation:rotateBg 20s linear infinite}
.manifesto-q{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3.2vw,2.8rem);font-weight:300;font-style:italic;color:var(--white);line-height:1.6;max-width:780px;margin:0 auto;position:relative}
.manifesto-q .gold{color:var(--gold)}
.manifesto-attr{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-top:30px;display:block;position:relative}

/* ── SERVICES ── */
#services{background:var(--white)}
.services-header{max-width:540px;margin-bottom:64px}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.svc{background:var(--cream);padding:48px 34px;position:relative;overflow:hidden;transition:background .4s,transform .4s var(--ease)}
.svc::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.svc-shine{position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);transform:skewX(-20deg);transition:left .65s ease;pointer-events:none}
.svc:hover .svc-shine{left:130%}
.svc:hover{background:var(--off-white);transform:translateY(-4px)}
.svc:hover::after{transform:scaleX(1)}
.svc-n{font-family:'Cormorant Garamond',serif;font-size:3.8rem;font-weight:300;color:var(--gold-pale);line-height:1;margin-bottom:22px;transition:color .3s}
.svc:hover .svc-n{color:var(--gold)}
.svc-title{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:400;color:var(--black);margin-bottom:12px}
.svc-desc{font-size:.8rem;font-weight:300;line-height:1.95;color:var(--gray)}

/* ── COLLECTIONS ── */
#collections{background:var(--off-white);padding:120px 0}
.col-header{padding:0 80px;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px}
.col-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:340px 340px;grid-auto-rows:340px;gap:10px;padding:0 80px}
.dress-card{position:relative;overflow:hidden;cursor:none}
.dress-card:nth-child(1){grid-row:1/3}
.dress-card:nth-child(4){grid-column:2/4}
.dress-ph{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;transition:transform .95s cubic-bezier(.19,1,.22,1)}
.dress-card:hover .dress-ph{transform:scale(1.06)}
.dress-overlay{position:absolute;bottom:0;left:0;right:0;padding:28px 22px 20px;background:linear-gradient(to top,rgba(0,0,0,.76) 0%,transparent 100%);transform:translateY(100%);transition:transform .5s var(--ease)}
.dress-card:hover .dress-overlay{transform:none}
.d-name{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:var(--white);margin-bottom:3px}
.d-type{font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-pale)}
.dress-card-tag{position:absolute;top:16px;right:16px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);color:var(--gold-pale);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;opacity:0;transform:translateY(-8px);transition:all .4s ease}
.dress-card:hover .dress-card-tag{opacity:1;transform:none}

/* ── PROCESS ── */
#process{background:var(--white)}
.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:64px;align-items:start}
.process-steps{display:flex;flex-direction:column}
.step{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:32px 0;border-bottom:1px solid var(--light-gray);position:relative}
.step:first-child{padding-top:0}
.step-progress{position:absolute;left:-2px;top:0;width:2px;height:0;background:var(--gold);transition:height .6s var(--ease)}
.step.in .step-progress{height:100%}
.step-n{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--gold);line-height:1;padding-top:2px;transition:transform .4s var(--ease)}
.step:hover .step-n{transform:scale(1.12)}
.step-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:400;color:var(--black);margin-bottom:8px}
.step-desc{font-size:.8rem;font-weight:300;line-height:1.95;color:var(--gray)}
.process-visual{position:relative}
.proc-img{width:100%;height:580px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}
.proc-img-inner{transition:transform .9s var(--ease);width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.process-visual:hover .proc-img-inner{transform:scale(1.04)}
.proc-badge{position:absolute;bottom:-16px;right:-16px;background:var(--gold);color:var(--white);padding:28px 24px;font-family:'Cormorant Garamond',serif;font-size:.95rem;font-style:italic;text-align:center;line-height:1.65;max-width:148px;animation:floatBadge 4s ease-in-out infinite}

/* ── SIZING ── */
#sizing{background:var(--black);padding:80px;display:flex;align-items:center;justify-content:space-between;gap:48px;position:relative;overflow:hidden}
#sizing::after{content:'';position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:400px;height:400px;border:1px solid rgba(201,169,110,.08);border-radius:50%;animation:expandRing 4s ease-in-out infinite}
#sizing::before{content:'';position:absolute;right:-40px;top:50%;transform:translateY(-50%);width:240px;height:240px;border:1px solid rgba(201,169,110,.12);border-radius:50%;animation:expandRing 4s ease-in-out 1s infinite}
.sizing-lbl{color:var(--gold)!important}
.sizing-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.2vw,2.9rem);font-weight:300;color:var(--white);line-height:1.18;margin-bottom:18px}
.sizing-h em{font-style:italic;color:var(--gold)}
.sizing-p{font-size:.85rem;font-weight:300;line-height:1.95;color:rgba(255,255,255,.52);max-width:420px}
.sizing-btns{display:flex;flex-direction:column;gap:14px;flex-shrink:0;position:relative;z-index:1}

/* ── REAL BRIDES ── */
#brides{background:var(--off-white);padding:120px 80px}
.brides-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px}
.brides-masonry{columns:4;column-gap:12px}
.bride-item{break-inside:avoid;margin-bottom:12px;position:relative;overflow:hidden;cursor:none}
.bride-ph{display:block;width:100%;transition:transform .75s cubic-bezier(.19,1,.22,1)}
.bride-item:hover .bride-ph{transform:scale(1.06)}
.bride-tag{position:absolute;bottom:0;left:0;right:0;padding:18px 14px 14px;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);opacity:0;transform:translateY(8px);transition:opacity .38s,transform .38s var(--ease);font-family:'Cormorant Garamond',serif;font-size:.95rem;font-style:italic;color:var(--white)}
.bride-item:hover .bride-tag{opacity:1;transform:none}

/* ── TESTIMONIALS ── */
#testimonials{background:var(--white);padding:120px 80px;text-align:center}
.testi-wrap{max-width:680px;margin:60px auto 0;position:relative;min-height:220px}
.testi-slide{position:absolute;inset:0;opacity:0;transform:translateX(30px);transition:opacity .6s ease,transform .6s var(--ease);pointer-events:none}
.testi-slide.active{opacity:1;transform:none;pointer-events:auto;position:relative}
.stars{color:var(--gold);font-size:.95rem;letter-spacing:5px;margin-bottom:26px}
.testi-q{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,1.9vw,1.65rem);font-weight:300;font-style:italic;line-height:1.75;color:var(--charcoal);margin-bottom:30px}
.testi-by{font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.testi-dots{display:flex;gap:10px;justify-content:center;margin-top:44px}
.tdot{width:5px;height:5px;background:var(--light-gray);border-radius:50%;cursor:none;transition:background .3s,transform .3s,width .3s}
.tdot.on{background:var(--gold);transform:scale(1.4);width:22px;border-radius:3px}

/* ── FAQ ── */
#faq{background:var(--cream);padding:120px 80px}
.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start}
.faq-intro .sec-p{margin-top:22px}
.faq-cta{margin-top:36px;display:inline-block}
.faq-list{list-style:none}
.faq-item{border-bottom:1px solid var(--light-gray)}
.faq-item:first-child{border-top:1px solid var(--light-gray)}
.faq-q{width:100%;background:none;border:none;padding:22px 0;display:flex;align-items:center;justify-content:space-between;cursor:none;text-align:left;gap:18px;font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:400;color:var(--black);transition:color .3s}
.faq-q:hover{color:var(--gold)}
.faq-ico{width:18px;height:18px;flex-shrink:0;position:relative}
.faq-ico::before,.faq-ico::after{content:'';position:absolute;background:var(--gold);transition:transform .32s ease}
.faq-ico::before{width:12px;height:1px;top:50%;left:50%;transform:translate(-50%,-50%)}
.faq-ico::after{width:1px;height:12px;top:50%;left:50%;transform:translate(-50%,-50%)}
.faq-item.open .faq-ico::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.faq-item.open .faq-ans{max-height:280px}
.faq-ans-p{font-size:.84rem;font-weight:300;line-height:1.95;color:var(--gray);padding-bottom:22px}

/* ── BOOKING ── */
#book{background:var(--off-white);padding:140px 80px;text-align:center;position:relative;overflow:hidden}
.book-bg{position:absolute;font-family:'Cormorant Garamond',serif;font-size:20vw;font-weight:300;color:rgba(0,0,0,.032);white-space:nowrap;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;user-select:none;line-height:1;animation:floatText 8s ease-in-out infinite}
.book-inner{position:relative;z-index:1;max-width:660px;margin:0 auto}
.book-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,4.8vw,4.6rem);font-weight:300;line-height:1.1;margin-bottom:22px}
.book-h em{font-style:italic}
.book-p{font-size:.88rem;font-weight:300;line-height:1.95;color:var(--gray);margin-bottom:46px}
.book-ctas{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.book-ring{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.book-ring::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:600px;height:600px;border:1px solid rgba(201,169,110,.08);border-radius:50%;animation:expandRing 6s ease-in-out infinite}
.book-ring::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:900px;height:900px;border:1px solid rgba(201,169,110,.05);border-radius:50%;animation:expandRing 6s ease-in-out 2s infinite}

/* ── FOOTER ── */
footer{background:var(--black);padding:80px 80px 40px}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1.6fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:36px}
.ft-logo{font-family:'Cormorant Garamond',serif;font-size:1.75rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--white)}
.ft-logo .dot{color:var(--gold)}
.ft-brand-p{font-size:.8rem;font-weight:300;line-height:1.95;color:rgba(255,255,255,.42);margin-top:18px;max-width:260px}
.ft-social{display:flex;gap:14px;margin-top:26px}
.soc-a{width:34px;height:34px;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:500;color:rgba(255,255,255,.45);text-decoration:none;transition:all .3s,transform .3s}
.soc-a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
.ft-col h4{font-size:.6rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.ft-col a{font-size:.8rem;font-weight:300;color:rgba(255,255,255,.45);text-decoration:none;transition:color .3s,transform .3s;display:inline-block}
.ft-col a:hover{color:var(--gold);transform:translateX(4px)}
.ft-col .ft-p{font-size:.8rem;font-weight:300;color:rgba(255,255,255,.45);line-height:1.9;margin-bottom:8px}
.ft-bottom{display:flex;justify-content:space-between;align-items:center}
.ft-copy{font-size:.7rem;font-weight:300;color:rgba(255,255,255,.22)}
.ft-credit{font-size:.65rem;font-weight:300;color:rgba(255,255,255,.18);letter-spacing:.08em}
.ft-credit a{color:rgba(201,169,110,.45);text-decoration:none;transition:color .3s}
.ft-credit a:hover{color:var(--gold)}
.ft-bottom-links{display:flex;gap:24px}
.ft-bottom-links a{font-size:.7rem;color:rgba(255,255,255,.22);text-decoration:none;transition:color .3s}
.ft-bottom-links a:hover{color:var(--gold)}

/* ── WHATSAPP ── */
.wa{position:fixed;bottom:30px;right:30px;z-index:999;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(37,211,102,.42);transition:transform .3s var(--ease),box-shadow .3s;text-decoration:none;opacity:0;animation:fadeIn .6s ease 3.8s forwards}
.wa:hover{transform:scale(1.14) rotate(-5deg);box-shadow:0 8px 30px rgba(37,211,102,.6)}
.wa::after{content:'';position:absolute;inset:-4px;border:2px solid rgba(37,211,102,.3);border-radius:50%;animation:waPulse 2.5s ease-in-out infinite}
.wa svg{width:26px;height:26px;fill:#fff;position:relative;z-index:1}

/* ── KEYFRAMES ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes ruleExpand{from{opacity:0;width:0}to{opacity:1;width:56px}}
@keyframes rotateBg{to{transform:rotate(360deg)}}
@keyframes expandRing{0%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.4;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes floatBadge{0%,100%{transform:none}50%{transform:translateY(-6px)}}
@keyframes floatText{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-52%)}}
@keyframes waPulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.35);opacity:0}}
@keyframes particleFade{0%{opacity:0;transform:translateY(0) scale(0)}20%{opacity:.7}80%{opacity:.3}100%{opacity:0;transform:translateY(-120px) scale(.3)}}

/* ── MOBILE NAV DRAWER ── */
.mobile-nav{position:fixed;inset:0;z-index:190;pointer-events:none}
.mobile-nav-backdrop{position:absolute;inset:0;background:rgba(13,13,13,.6);opacity:0;transition:opacity .4s ease;backdrop-filter:blur(4px)}
.mobile-nav-drawer{position:absolute;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--white);transform:translateX(100%);transition:transform .45s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 96px) 40px max(40px,env(safe-area-inset-bottom));gap:0;box-shadow:-8px 0 40px rgba(0,0,0,.12);overflow-y:auto;overscroll-behavior:contain}
.mobile-nav.open{pointer-events:auto}
.mobile-nav.open .mobile-nav-backdrop{opacity:1}
.mobile-nav.open .mobile-nav-drawer{transform:none}
.mobile-nav-links{list-style:none;display:flex;flex-direction:column;gap:0;flex:1}
.mobile-nav-links li{border-bottom:1px solid var(--light-gray);opacity:0;transform:translateX(20px);transition:opacity .35s ease,transform .35s ease}
.mobile-nav.open .mobile-nav-links li:nth-child(1){opacity:1;transform:none;transition-delay:.15s}
.mobile-nav.open .mobile-nav-links li:nth-child(2){opacity:1;transform:none;transition-delay:.2s}
.mobile-nav.open .mobile-nav-links li:nth-child(3){opacity:1;transform:none;transition-delay:.25s}
.mobile-nav.open .mobile-nav-links li:nth-child(4){opacity:1;transform:none;transition-delay:.3s}
.mobile-nav.open .mobile-nav-links li:nth-child(5){opacity:1;transform:none;transition-delay:.35s}
.mobile-nav.open .mobile-nav-links li:nth-child(6){opacity:1;transform:none;transition-delay:.4s}
.mobile-nav-links a{display:block;padding:18px 0;font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--black);text-decoration:none;transition:color .25s,padding-left .25s}
.mobile-nav-links a:hover{color:var(--gold);padding-left:6px}
.mobile-nav-book-wrap{margin-top:36px;opacity:0;transform:translateY(12px);transition:opacity .35s ease .45s,transform .35s ease .45s}
.mobile-nav.open .mobile-nav-book-wrap{opacity:1;transform:none}
.mobile-nav-book{display:block;background:var(--black);color:var(--white);text-align:center;padding:16px 32px;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;transition:background .3s}
.mobile-nav-book:hover{background:var(--gold)}
.mobile-nav-social{display:flex;gap:12px;margin-top:24px;opacity:0;transition:opacity .35s ease .5s}
.mobile-nav.open .mobile-nav-social{opacity:1}
.mobile-nav-social a{width:34px;height:34px;border:1px solid var(--light-gray);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:600;color:var(--gray);text-decoration:none;transition:all .25s}
.mobile-nav-social a:hover{border-color:var(--gold);color:var(--gold)}

/* ── HAMBURGER ANIMATED ── */
.hamburger span{display:block;width:22px;height:1.5px;background:var(--black);transition:transform .35s ease,opacity .3s ease,width .3s ease}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;width:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  nav{padding:0 36px}
  section{padding:90px 40px}
  .col-header{padding:0 40px}
  .col-grid{padding:0 40px;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .col-grid .dress-card:nth-child(1){grid-row:auto}
  .col-grid .dress-card:nth-child(4){grid-column:auto}
  .dress-ph{height:280px!important}
  .services-grid{grid-template-columns:1fr 1fr}
  .process-layout{grid-template-columns:1fr}
  .proc-img{height:440px}
  .faq-grid{grid-template-columns:1fr}
  #sizing{flex-direction:column;text-align:center;padding:70px 40px}
  .sizing-p{max-width:100%}
  .ft-top{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:768px){
  html,body{cursor:auto}
  #cursor{display:none}
  :root{--nav-h:64px}
  nav{padding:0 20px;height:var(--nav-h)}
  .nav-logo{font-size:1.3rem}
  .nav-links{display:none}
  .hamburger{display:flex;cursor:pointer;padding:8px;margin-right:-8px;gap:5px}
  section{padding:64px 20px}
  #hero{min-height:100svh}
  .hero-content{padding:0 20px}
  .hero-ctas{flex-direction:column;align-items:center;gap:12px}
  .hero-ctas .btn-blk,.hero-ctas .btn-ghost{width:100%;max-width:280px;text-align:center}
  .hero-scroll{display:none}
  #manifesto{padding:60px 20px}
  .services-grid{grid-template-columns:1fr}
  .svc{padding:36px 24px}
  .col-header{padding:0 20px;flex-direction:column;align-items:flex-start;gap:16px}
  .col-grid{padding:0 20px;grid-template-columns:1fr;grid-template-rows:auto;gap:8px}
  .col-grid .dress-card:nth-child(4){grid-column:auto}
  .dress-ph{height:280px!important}
  .brides-masonry{columns:2;column-gap:8px}
  .brides-masonry .bride-item{margin-bottom:8px}
  .brides-header{flex-direction:column;align-items:flex-start;gap:16px}
  #sizing{padding:56px 20px;flex-direction:column;text-align:center}
  .sizing-btns{width:100%}
  .btn-gold,.btn-woutline{width:100%;max-width:300px;display:block}
  .process-layout{gap:40px}
  .proc-img{height:300px}
  .proc-badge{right:0;bottom:-12px;padding:20px 16px;font-size:.85rem;max-width:130px}
  .faq-grid{grid-template-columns:1fr;gap:40px}
  #book{padding:80px 20px}
  .book-ctas{flex-direction:column;align-items:center;gap:12px}
  .book-ctas .btn-blk,.book-ctas .btn-ghost{width:100%;max-width:280px;text-align:center}
  footer{padding:56px 20px 32px}
  .ft-top{grid-template-columns:1fr;gap:32px}
  .ft-bottom{flex-direction:column;gap:10px;text-align:center}
  .ft-bottom-links{gap:16px;flex-wrap:wrap;justify-content:center}
  .ft-credit{order:-1}
  .book-ring::before,.book-ring::after{display:none}
  .testi-wrap{min-height:260px}
  .testi-q{font-size:1.1rem}
  .hero-eyebrow{font-size:.58rem;letter-spacing:.22em}
  .col-header .btn-ghost{width:100%}
}
@media(max-width:400px){
  .brides-masonry{columns:1}
  .hero-h1{font-size:3rem}
}

/* ── SUB-PAGE SUPPORT (Collections / Booking) ── */
body.subpage .nav-logo,
body.subpage .nav-links,
body.subpage .hamburger,
body.subpage .wa{animation:none;opacity:1}
body.subpage nav{background:rgba(255,255,255,.96);box-shadow:0 1px 0 rgba(0,0,0,.07);backdrop-filter:blur(14px)}

.page-hero{padding:calc(var(--nav-h) + 78px) 80px 64px;text-align:center;background:var(--off-white);border-bottom:1px solid var(--light-gray)}
.page-hero .lbl{margin-bottom:16px}
.page-hero .gold-line{margin:0 auto 26px;width:54px}
.page-hero-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,5.4vw,4.4rem);font-weight:300;line-height:1.04;color:var(--black);margin-bottom:22px}
.page-hero-h em{font-style:italic}
.page-hero-p{font-family:'Raleway',sans-serif;font-weight:300;font-size:.92rem;line-height:1.95;color:var(--gray);max-width:600px;margin:0 auto}

/* CTA band reused on sub-pages */
.cta-band{background:var(--black);padding:96px 80px;text-align:center}
.cta-band .lbl{margin-bottom:14px}
.cta-band .gold-line{margin:0 auto 28px;width:54px}
.cta-band-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:300;line-height:1.12;color:var(--white);margin-bottom:20px}
.cta-band-h em{font-style:italic;color:var(--gold)}
.cta-band-p{font-size:.88rem;font-weight:300;line-height:1.9;color:rgba(255,255,255,.55);max-width:520px;margin:0 auto 34px}
.cta-band-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

@media(max-width:768px){
  .page-hero{padding:calc(var(--nav-h) + 48px) 24px 48px}
  .cta-band{padding:64px 24px}
  .cta-band-btns .btn-blk,.cta-band-btns .btn-ghost,.cta-band-btns .btn-gold{width:100%;max-width:280px;text-align:center}
}
.nav-links a.active,.mobile-nav-links a.active{color:var(--gold)}
.nav-links a.active::after{width:100%}

/* ── LOCATION / MAP (booking page) ── */
.location{display:flex;align-items:stretch;background:var(--white);min-height:460px}
.loc-info{flex:1 1 50%;padding:90px 80px;display:flex;flex-direction:column;justify-content:center}
.loc-info .lbl{margin-bottom:16px}
.loc-info .gold-line{width:54px;margin-bottom:26px}
.loc-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.4vw,3rem);font-weight:300;line-height:1.1;color:var(--black);margin-bottom:32px}
.loc-h em{font-style:italic}
.loc-line{font-size:.86rem;font-weight:300;line-height:1.75;color:var(--charcoal);margin-bottom:18px;display:flex;gap:16px;align-items:flex-start}
.loc-k{flex:0 0 64px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.58rem;color:var(--gold);padding-top:4px}
.loc-line a{color:var(--charcoal);text-decoration:none;border-bottom:1px solid var(--gold);transition:color .3s}
.loc-line a:hover{color:var(--gold)}
.loc-info .btn-blk{margin-top:16px;align-self:flex-start}
.loc-map{flex:1 1 50%;min-height:460px}
.loc-map iframe{width:100%;height:100%;min-height:460px;border:0;display:block;filter:grayscale(.25) contrast(1.05)}
@media(max-width:900px){
  .location{flex-direction:column}
  .loc-info{padding:64px 24px}
  .loc-map,.loc-map iframe{min-height:340px}
}


/* ── VISIT STRIP (home) ── */
.visit-strip{background:var(--cream);padding:64px 80px;border-top:1px solid var(--light-gray)}
.vs-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:36px;flex-wrap:wrap;justify-content:space-between}
.vs-pin{flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(0,0,0,.06)}
.vs-pin svg{width:24px;height:24px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vs-text{flex:1 1 auto;min-width:240px}
.vs-text .lbl{margin-bottom:8px}
.vs-addr{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--black);line-height:1.4}
.vs-phone{margin-top:6px;font-size:.85rem;font-weight:300;color:var(--charcoal)}
.vs-phone a{color:var(--charcoal);text-decoration:none;border-bottom:1px solid var(--gold);transition:color .3s}
.vs-phone a:hover{color:var(--gold)}
.vs-cta{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.vs-link{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-decoration:none;transition:color .3s}
.vs-link:hover{color:var(--gold-deep)}
@media(max-width:768px){
  .visit-strip{padding:48px 24px}
  .vs-inner{flex-direction:column;text-align:center;gap:24px}
  .vs-cta{align-items:center}
  .vs-text{min-width:0}
}


/* ════════════════════════════════════════════════════════
   RESPONSIVE & MOBILE REFINEMENTS
   ════════════════════════════════════════════════════════ */

/* Media never forces horizontal scroll */
img,svg,video,iframe,canvas{max-width:100%}
.vs-text,.loc-info,.ft-col,.mobile-nav-drawer{min-width:0}
.ft-p a,.loc-line a,.mobile-nav-social a,.book-ctas a{overflow-wrap:anywhere}

/* Fixed-nav offset so anchor jumps (#visit, #process…) aren't hidden under the bar */
html{scroll-padding-top:96px}

/* Touch devices: restore the real cursor (custom cursor is hidden) regardless of width */
@media (hover:none),(pointer:coarse){
  html,body,*{cursor:auto}
  #cursor{display:none}
}
a,button,.faq-q,.hamburger{-webkit-tap-highlight-color:transparent}

/* Collapse top nav into the drawer earlier (small tablets / large phones) */
@media(max-width:880px){
  .nav-links{display:none}
  .hamburger{display:flex;cursor:pointer;padding:8px;margin-right:-8px}
}

/* Small tablets / large phones */
@media(max-width:600px){
  html{scroll-padding-top:76px}
  .sec-h{font-size:clamp(1.9rem,7vw,2.4rem)}
  .page-hero-h{font-size:clamp(2.2rem,9vw,3rem)}
  .cta-band-h{font-size:clamp(1.7rem,7vw,2.3rem)}
  .book-h{font-size:clamp(1.9rem,8vw,2.6rem)}
  .loc-h{font-size:clamp(1.8rem,7.5vw,2.4rem)}
  .manifesto-q{font-size:clamp(1.4rem,6vw,1.9rem)}
  .vs-addr{font-size:1.2rem}
  .loc-map,.loc-map iframe{min-height:300px}
}

/* Phones */
@media(max-width:430px){
  section{padding:56px 16px}
  #manifesto{padding:52px 16px}
  #sizing{padding:48px 16px}
  #book{padding:64px 16px}
  #brides,#testimonials,#faq{padding:56px 16px}
  .page-hero{padding:calc(var(--nav-h) + 36px) 16px 40px}
  .cta-band{padding:56px 16px}
  .visit-strip{padding:40px 16px}
  .loc-info{padding:52px 18px}
  .col-header,.col-grid{padding:0 16px}
  footer{padding:48px 16px 28px}
  .hero-h1{font-size:clamp(2.6rem,12vw,3.2rem)}
  .hero-sub{font-size:.82rem}
  .nav-logo{font-size:1.18rem}
  .btn-blk,.btn-ghost,.btn-gold,.btn-woutline{padding:14px 26px;font-size:.62rem;letter-spacing:.16em}
  .loc-line{flex-direction:column;gap:3px}
  .loc-k{padding-top:0}
}

/* Respect notch / home-indicator safe areas for the floating WhatsApp button */
.wa{bottom:max(24px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right))}


/* ── HERO VIDEO (covers hero-bg; poster = fallback image) ── */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;background:var(--black)}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}}
.hero-vid-btn{position:relative;z-index:3;margin:36px auto 0;width:54px;height:54px;display:flex;align-items:center;justify-content:center;border:2px solid var(--gold);border-radius:50%;background:rgba(13,13,13,.72);color:var(--gold);cursor:pointer;box-shadow:0 3px 22px rgba(0,0,0,.6),0 0 0 4px rgba(201,169,110,.14);opacity:0;animation:fadeUp 1s ease 3.2s forwards;transition:background .25s,color .25s,transform .25s}
.hero-vid-btn:hover{background:var(--gold);color:var(--black);transform:scale(1.1)}
.hero-vid-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.hero-vid-btn svg{width:23px;height:23px;fill:currentColor}
.hero-vid-btn .icon-play{display:none}
.hero-vid-btn.is-paused .icon-pause{display:none}
.hero-vid-btn.is-paused .icon-play{display:block}
@media (prefers-reduced-motion:reduce){.hero-vid-btn{display:none}}


/* ── CATALOG CARD UPGRADE (WhatsApp-linked, mobile-visible) ── */
a.dress-card{display:block;text-decoration:none;color:inherit}
.d-note{font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:300;line-height:1.45;color:rgba(255,255,255,.82);margin-top:8px}
.d-price{font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-pale);margin-top:8px}
.d-cta{display:inline-block;font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--white);margin-top:12px;padding-bottom:2px;border-bottom:1px solid var(--gold-pale)}
/* touch devices: reveal overlay + tag without hover so phone shoppers see info + CTA */
@media (hover:none){
  .dress-overlay{transform:none;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.2) 70%,transparent 100%)}
  .dress-card-tag{opacity:1;transform:none}
}


/* ── GOWN LIGHTBOX & CATALOG ── */
body.lb-open{overflow:hidden}
.dress-soon{display:flex;align-items:center;justify-content:center;background:#15110d}
.dress-soon .soon-ph{position:absolute;inset:0;background:repeating-linear-gradient(45deg,#1a1510,#1a1510 14px,#171209 14px,#171209 28px);opacity:.5}
.soon-label{position:relative;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.05rem;line-height:1.3;color:var(--gold-pale);text-align:center;letter-spacing:.06em;opacity:.7}
.lb{position:fixed;inset:0;z-index:9999;background:rgba(8,6,4,.96);backdrop-filter:blur(6px);display:none;opacity:0;transition:opacity .35s ease}
.lb.open{display:flex;opacity:1}
@media(min-width:861px){.lb{align-items:center;justify-content:center;gap:36px;padding:40px 72px}}
@media(max-width:860px){.lb{flex-direction:column;padding:0}}
.lb-stage{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;max-width:60%}
@media(max-width:860px){.lb-stage{max-width:100%;width:100%;flex:1 1 60vh;padding:56px 14px 6px}}
.lb-img{max-width:100%;max-height:86vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.55)}
@media(max-width:860px){.lb-img{max-height:60vh}}
.lb-info{flex:0 0 320px;max-width:340px;color:var(--white)}
@media(max-width:860px){.lb-info{flex:none;max-width:none;width:100%;padding:4px 26px 32px;text-align:center}}
.lb-tag{font-size:.6rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-pale);margin-bottom:14px}
.lb-name{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:2rem;line-height:1.1;margin:0 0 6px}
.lb-sub{font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-pale);margin-bottom:18px}
.lb-note{font-family:'Raleway',sans-serif;font-weight:300;font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.8);margin:0 0 18px}
.lb-price{font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--white);margin-bottom:22px}
.lb-count{margin-top:20px;font-size:.62rem;letter-spacing:.2em;color:rgba(255,255,255,.5)}
.lb-close{position:absolute;top:20px;right:26px;width:44px;height:44px;border:none;background:transparent;color:var(--white);font-size:2rem;line-height:1;cursor:pointer;opacity:.75;transition:opacity .25s;z-index:3}
.lb-close:hover{opacity:1}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.25);color:var(--white);font-size:1.6rem;line-height:1;cursor:pointer;border-radius:50%;transition:all .25s;z-index:2}
.lb-nav:hover{border-color:var(--gold-pale);background:rgba(0,0,0,.5)}
.lb-prev{left:22px}.lb-next{right:22px}
@media(max-width:860px){.lb-prev{left:10px}.lb-next{right:10px}.lb-nav{width:44px;height:44px;font-size:1.3rem}}


/* ── SKIP LINK (a11y) ── */
.skip-link{position:absolute;left:-9999px;top:0;z-index:10001;background:var(--black);color:var(--gold-pale);padding:12px 22px;font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.skip-link:focus{left:0}

/* ── LEGAL / POLICY PAGES ── */
.legal-wrap{max-width:760px;margin:0 auto;padding:64px 24px 96px}
.legal-wrap h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.6rem;color:var(--black);margin:44px 0 14px}
.legal-wrap h2:first-child{margin-top:0}
.legal-wrap p,.legal-wrap li{font-family:'Raleway',sans-serif;font-weight:300;font-size:.9rem;line-height:1.95;color:var(--charcoal);margin:0 0 14px}
.legal-wrap ul{padding-left:22px;margin:0 0 14px}
.legal-wrap a{color:var(--gold-deep)}
.legal-updated{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin-bottom:36px}


/* ── BLOG INDEX ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:70px 80px 90px;max-width:1320px;margin:0 auto}
@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr);padding:50px 24px 70px}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr;padding:40px 16px 60px}}
.blog-card{display:block;background:var(--white);border:1px solid var(--light-gray);text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.blog-card-img{height:230px;background-size:cover;background-position:center 18%}
.blog-card-body{padding:22px 24px 26px}
.blog-card-cat{font-size:.6rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px}
.blog-card-h{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.35rem;line-height:1.25;color:var(--black);margin:0 0 10px}
.blog-card-p{font-family:'Raleway',sans-serif;font-weight:300;font-size:.82rem;line-height:1.75;color:var(--gray);margin:0 0 14px}
.blog-card-meta{font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}

/* ── BLOG POST ── */
.post-hero-img{max-width:880px;height:400px;margin:0 auto;background-size:cover;background-position:center 18%}
@media(max-width:640px){.post-hero-img{height:240px}}
.post-wrap{max-width:720px;margin:0 auto;padding:54px 24px 80px}
.post-wrap h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.7rem;line-height:1.2;color:var(--black);margin:42px 0 14px}
.post-wrap h2:first-child{margin-top:0}
.post-wrap p,.post-wrap li{font-family:'Raleway',sans-serif;font-weight:300;font-size:.92rem;line-height:2;color:var(--charcoal);margin:0 0 16px}
.post-wrap ul{padding-left:22px;margin:0 0 16px}
.post-wrap a{color:var(--gold-deep)}
.post-wrap strong{font-weight:500}
.post-backlink{display:inline-block;margin-top:26px;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);text-decoration:none}


/* ── BOOKING FORM ── */
.bk-form{max-width:640px;margin:0 auto;text-align:left}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}
@media(max-width:640px){.bk-grid{grid-template-columns:1fr}}
.bk-field{display:flex;flex-direction:column;gap:8px}
.bk-field.full{grid-column:1/-1}
.bk-field label{font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--charcoal)}
.bk-field .req{color:var(--gold-deep)}
.bk-field input,.bk-field select,.bk-field textarea{width:100%;background:var(--white);border:1px solid var(--light-gray);padding:13px 14px;font-family:'Raleway',sans-serif;font-weight:300;font-size:.88rem;color:var(--black);outline:none;border-radius:0;transition:border-color .25s}
.bk-field input:focus,.bk-field select:focus,.bk-field textarea:focus{border-color:var(--gold)}
.bk-field textarea{resize:vertical;min-height:96px}
.bk-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.bk-actions .btn-blk,.bk-actions .btn-ghost{border-radius:0;cursor:none;font-family:'Raleway',sans-serif}
.bk-note{margin-top:18px;text-align:center;font-size:.72rem;font-weight:300;line-height:1.7;color:var(--gray)}
@media(max-width:520px){.bk-actions{flex-direction:column;align-items:center}.bk-actions .btn-blk,.bk-actions .btn-ghost{width:100%;max-width:300px;text-align:center}}


/* ── VISIT STRIP MINI MAP ── */
.vs-inner .vs-text{flex:1 1 240px}
.vs-map{position:relative;flex:0 0 280px;height:150px;display:block;overflow:hidden;border:1px solid var(--light-gray);box-shadow:0 10px 28px rgba(0,0,0,.08);transition:transform .3s ease,box-shadow .3s ease}
.vs-map:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.12)}
.vs-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.35) sepia(.1);pointer-events:none}
.vs-map::after{content:'';position:absolute;inset:0}
.vs-map-lbl{position:absolute;left:0;right:0;bottom:0;padding:7px 12px;background:rgba(13,13,13,.72);color:var(--gold-pale);font-size:.56rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-align:center}
@media(max-width:900px){.vs-map{flex:1 1 100%;width:100%;max-width:420px;margin:0 auto;height:150px}}


/* ── HOME: FROM THE COLLECTION ── */
#home-gowns{padding:110px 80px;background:var(--white)}
.home-gowns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:48px auto 0}
.home-gowns-grid .dress-card{height:470px}
@media(max-width:1024px){#home-gowns{padding:80px 32px}.home-gowns-grid{gap:16px}.home-gowns-grid .dress-card{height:400px}}
@media(max-width:700px){#home-gowns{padding:64px 16px}.home-gowns-grid{grid-template-columns:1fr;max-width:420px}.home-gowns-grid .dress-card{height:430px}}


/* ── SOCIAL BRAND ICONS ── */
.soc-a svg,.mobile-nav-social a svg{width:15px;height:15px;fill:currentColor;display:block}


/* ── NAV PHONE ── */
.nav-phone{display:inline-flex;align-items:center;gap:7px;color:var(--gold-deep)!important;font-weight:600;white-space:nowrap}
.nav-phone svg{width:13px;height:13px;fill:currentColor;flex:0 0 auto}
@media(max-width:1200px){.nav-phone-li{display:none}}
.mobile-nav-phone{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:12px;border:1px solid var(--gold);color:var(--gold-deep);padding:14px 32px;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:background .3s,color .3s}
.mobile-nav-phone svg{width:14px;height:14px;fill:currentColor;flex:0 0 auto}
.mobile-nav-phone:hover{background:var(--gold);color:var(--white)}
