/* Boston Flowers — Wedding Page Styles
   Requires: main.css loaded before this file
   Contains: hero, marquee, inquiry, gallery, investment, process, why, availability, faq, cta
   Do NOT add nav/footer/button base styles here — they are in main.css */

/* === WEDDING-ONLY OVERRIDES (not in main.css) === */
html, body { min-height: 100vh; min-height: 100svh; overflow-x: hidden; margin: 0; padding: 0; background-color: var(--ink); }
@keyframes marqueeL{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes marqueeR{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
.rc{opacity:0;clip-path:inset(0 0 100% 0);transition:opacity .01s,clip-path .9s cubic-bezier(.16,1,.3,1);}
.rc.on{opacity:1;clip-path:inset(0 0 0% 0);}
.btn-wine-solid{background:var(--wine);color:var(--ivory);}
.btn-wine-solid:hover{background:#8B2640;box-shadow:0 6px 24px rgba(110,31,50,.2);}
a[href^="tel:"]{color:inherit;}

/* === WEDDING PAGE SECTIONS === */
/* HERO (FIX: Restored animation, structure, logic) */
#hero{min-height:100vh;min-height:100svh;display:flex;position:relative;overflow:hidden;width:100%;align-items:stretch;}
.hero-left{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav-h) + 80px) max(64px, env(safe-area-inset-right)) 80px max(48px, env(safe-area-inset-left));flex:1.2;background:linear-gradient(135deg,#0d1f16 0%,#111315 40%,#0a1a10 70%,#111315 100%);background-size:400% 400%;animation:gradDrift 18s ease infinite;}
.hero-left::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 85%,rgba(17,19,21,.6) 100%);pointer-events:none;}
.hero-bf{position:absolute;right:0;top:50%;transform:translate(25%, -50%);font-family:'Cormorant Garamond',serif;font-size:clamp(160px,28vw,420px);font-weight:300;line-height:1;letter-spacing:-.04em;color:var(--t1);opacity:.04;filter:blur(1px);pointer-events:none;user-select:none;z-index:1;white-space:nowrap;}
.hero-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:28px;opacity:0;animation:fadeUp 1.1s ease 0s forwards;position:relative;z-index:2;}
.hero-line{width:40px;height:1px;background:var(--rose);}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(52px,5.5vw,84px);font-weight:300;line-height:1.02;letter-spacing:-.02em;color:var(--t1);margin-bottom:28px;opacity:0;animation:fadeUp 1.1s ease .2s forwards;position:relative;z-index:2;}
.hero-h1 em{font-style:italic;color:var(--rose);}
.hero-sub{font-size:15px;font-weight:300;color:var(--t2);max-width:400px;line-height:1.8;margin-bottom:16px;opacity:0;animation:fadeUp 1.1s ease .4s forwards;position:relative;z-index:2;}
.hero-micro{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin-bottom:48px;opacity:0;animation:fadeUp 1.1s ease .6s forwards;position:relative;z-index:2;}
.hero-btns{display:flex;gap:20px;align-items:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1.1s ease .8s forwards;position:relative;z-index:2;}

.hero-right{position:relative;flex:0.8;overflow:hidden;display:flex;flex-direction:column;height:auto;min-height:100%;}
.hero-right-inner{position:absolute;inset:0;width:100%;height:100%;}
.hero-photo{position:absolute;inset:0;background:linear-gradient(160deg,#0d1a10 0%,#111315 45%,#150d0a 100%);background-size:200% 200%;animation:gradDrift 26s ease infinite;}
.hero-photo-img{position:absolute;inset:0;background-image:url('/assets/images/wedding-hero.jpg');background-size:cover;background-position:center;opacity:.75;}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to left,transparent 60%,rgba(17,19,21,.5) 100%);pointer-events:none;}
.hero-ph-lbl{position:absolute;bottom:32px;left:32px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.18);z-index:2;}

/* MARQUEE TRUST (FIX: Animation restored unconditionally) */
#trust-marquee{background:var(--olive-dim);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:0;overflow:hidden;}
.marquee-track{display:flex;overflow:hidden;padding:12px 0;}
.marquee-inner{display:flex;white-space:nowrap;animation:marqueeL 55s linear infinite;}
.marquee-inner.rev{animation:marqueeR 50s linear infinite;}
.marquee-item{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--t2);padding:4px 32px;border-right:1px solid var(--bd);flex-shrink:0;}
.marquee-item span{color:var(--rose);margin-right:10px;}

/* INQUIRY FORM */
#inquiry{background:radial-gradient(circle at 80% 20%,rgba(200,155,147,.06),transparent 50%),var(--ivory);padding:120px 0 96px;position:relative;}
#inquiry::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(ellipse at 80% 40%,rgba(200,155,147,.09) 0%,transparent 65%);pointer-events:none;}
.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start;}
.inquiry-left h2{font-family:'Cormorant Garamond',serif;font-size:clamp(52px,5.5vw,88px);font-weight:300;line-height:1.0;color:var(--ink);margin-top:14px;margin-bottom:20px;}
.inquiry-left h2 em{font-style:italic;color:var(--wine);}
.inquiry-left p{font-size:14px;font-weight:300;color:#3a3530;line-height:1.8;max-width:380px;margin-bottom:28px;}
.inquiry-note{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#6a6460;border-left:2px solid rgba(110,31,50,.35);padding-left:16px;line-height:2.0;}
.inquiry-form{display:flex;flex-direction:column;gap:0;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
.form-field{display:flex;flex-direction:column;background:transparent;border:none;border-bottom:1px solid rgba(17,19,21,.12);padding:16px 0;transition:border-color .25s;position:relative;}
.form-field.full-w{grid-column:1/-1;}
.form-field:focus-within{border-color:rgba(110,31,50,.5);}
.form-field label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#8a8480;margin-bottom:8px;}
.form-field input,.form-field textarea{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:300;color:#2a2520;background:transparent;border:none;outline:none;width:100%;}
.form-field textarea{resize:none;height:110px;line-height:1.7;}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--stone);opacity:.5;}
.form-submit-row{padding:32px 0 0; display:flex; justify-content:center;}
.form-legal{font-size:12px;color:var(--stone);margin-top:16px;text-align:center;}
.form-success{display:none;color:var(--wine);font-size:14px;text-align:center;padding:40px;border:1px solid rgba(110,31,50,.15);margin-top:20px;font-weight:500;}
.form-success.active{display:block;}

/* WHAT WE DESIGN */
#what{background:var(--ink);padding:96px 0;border-top:1px solid var(--bd);}
.what-hd{margin-bottom:56px;}
.what-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.08;margin-top:14px;}
.what-title em{font-style:italic;color:var(--rose);}
.what-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--bd);align-items:stretch;}
.what-item{padding:36px 28px;border-right:1px solid var(--bd);position:relative;overflow:hidden;transition:background .4s;display:flex;flex-direction:column;}
.what-item:last-child{border-right:none;}
.what-item::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--rose),transparent);opacity:0;transition:opacity .4s;}
.what-item:hover{background:rgba(200,155,147,.04);}
.what-item:hover::before{opacity:.6;}
.what-num{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:300;color:var(--rose);opacity:.15;line-height:1;margin-bottom:20px;}
.what-name{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2vw,24px);font-weight:300;color:var(--t1);margin-bottom:10px;}
.what-desc{font-size:14px;color:var(--t2);line-height:1.7;flex:1;}
.what-ph{margin-top:24px;height:180px;background:linear-gradient(155deg,#0d1a10,#111315);position:relative;overflow:hidden;}
.what-ph-txt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.06);text-align:center;padding:10px;}

/* GALLERY SLIDER */
#gallery{background:var(--olive-dim);padding:96px 0 0;border-top:1px solid var(--bd);overflow:hidden;}
.gallery-hd{padding:0 48px;margin-bottom:40px;}
.gallery-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.08;margin-top:14px;}
.gallery-title em{font-style:italic;color:var(--rose);}
.gallery-sub{font-size:13px;color:var(--stone);margin-top:10px;}
.gallery-scroll{display:flex;gap:16px;padding:0 48px 56px;overflow-x:auto;scroll-snap-type:x mandatory;cursor:grab;-webkit-overflow-scrolling:touch;}
.gallery-scroll::-webkit-scrollbar{height:2px;}
.gallery-scroll::-webkit-scrollbar-track{background:rgba(200,155,147,.08);}
.gallery-scroll::-webkit-scrollbar-thumb{background:var(--rose);opacity:.5;}
.gallery-scroll.grabbing{cursor:grabbing;}
.gallery-item{flex-shrink:0;scroll-snap-align:start;position:relative;overflow:hidden;background:linear-gradient(155deg,#0d1a10,#111315);}
.gallery-item:nth-child(1){width:420px;height:560px;}
.gallery-item:nth-child(2){width:320px;height:560px;}
.gallery-item:nth-child(3){width:560px;height:560px;}
.gallery-item:nth-child(4){width:360px;height:560px;}
.gallery-item:nth-child(5){width:440px;height:560px;}
.gallery-item:nth-child(6){width:300px;height:560px;}
.gallery-item-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.8;transition:transform .6s ease,opacity .3s;}
.gallery-item:hover .gallery-item-img{transform:scale(1.04);opacity:.9;}
.gallery-item-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.07);text-align:center;padding:16px;}
.gallery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(17,19,21,.7) 0%,transparent 50%);pointer-events:none;}
.gallery-counter{padding:0 48px 32px;display:flex;align-items:center;gap:16px;}
.gallery-counter-lbl{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);}
.gallery-dots{display:flex;gap:6px;}
.gallery-dot{width:24px;height:1px;background:var(--bd);transition:background .3s,width .3s;}
.gallery-dot.active{background:var(--rose);width:40px;}

/* INVESTMENT */
#investment{background:var(--ivory);padding:96px 0;border-top:1px solid var(--bdl);}
.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.inv-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.08;color:var(--ink);margin-top:14px;margin-bottom:10px;}
.inv-title em{font-style:italic;color:var(--wine);}
.inv-sub{font-size:14px;font-weight:300;color:#5a554f;line-height:1.8;max-width:340px;}
.inv-tiers{display:flex;flex-direction:column;gap:1px;}
.inv-tier{display:flex;align-items:baseline;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--bdl);position:relative;transition:padding-left .3s;}
.inv-tier:first-child{border-top:1px solid var(--bdl);}
.inv-tier::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--wine);opacity:0;transition:opacity .25s;}
.inv-tier:hover{padding-left:10px;}
.inv-tier:hover::before{opacity:1;}
.inv-tier-name{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2vw,24px);font-weight:300;color:var(--ink);}
.inv-tier-desc{font-size:14px;color:#5a554f;margin-top:3px;}
.inv-tier-price{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:var(--wine);white-space:nowrap;}
.inv-note{margin-top:28px;font-size:14px;color:#5a554f;line-height:1.7;border-left:2px solid var(--bdl);padding-left:16px;}

/* PROCESS (FIX: Flexbox Wrap Logic) */
#process{background:var(--ink);padding:96px 0;border-top:1px solid var(--bd);}
.process-hd{margin-bottom:56px;}
.process-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.08;margin-top:14px;}
.process-title em{font-style:italic;color:var(--rose);}
.process-steps{display:flex;flex-wrap:wrap;gap:24px;justify-content:flex-start;}
.process-step{flex:1 1 calc(20% - 24px);min-width:180px;padding:0 10px 0 0;position:relative;}
.process-step.accent{border-left:2px solid rgba(200,155,147,.4);padding-left:16px;}
.step-num{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:300;color:var(--rose);opacity:.18;line-height:1;margin-bottom:20px;}
.step-name{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2vw,24px);font-weight:300;color:var(--t1);margin-bottom:8px;}
.step-note{font-size:14px;color:var(--t2);line-height:1.65;}

/* WHY */
#why{background:var(--ivory);padding:96px 0;border-top:1px solid var(--bdl);}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.why-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.08;color:var(--ink);margin-top:14px;margin-bottom:32px;}
.why-title em{font-style:italic;color:var(--wine);}
.why-points{display:flex;flex-direction:column;gap:0;}
.why-point{display:flex;align-items:flex-start;gap:18px;padding:20px 0;border-bottom:1px solid var(--bdl);transition:padding-left .3s;}
.why-point:first-child{border-top:1px solid var(--bdl);}
.why-point:hover{padding-left:8px;}
.why-point-num{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--stone);opacity:.5;flex-shrink:0;margin-top:2px;}
.why-point-text{font-size:14px;font-weight:300;color:var(--ink);line-height:1.65;}
.why-point-text strong{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.5vw,26px);font-weight:300;display:block;margin-bottom:6px;color:var(--ink);letter-spacing:-.01em;line-height:1.2;}
.why-photo{position:relative;overflow:hidden;height:520px;background:linear-gradient(155deg,#0d1a10,#111315);}
.why-photo-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.07);text-align:center;padding:20px;}

/* AVAILABILITY */
#availability{background:var(--olive) !important;padding:80px 0;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);}
.avail-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.avail-eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin-bottom:12px;}
.avail-title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.5vw,44px);font-weight:300;color:var(--t1);line-height:1.1;}
.avail-title em{font-style:italic;color:var(--rose);}
.avail-dates{margin-top:20px;display:flex;flex-direction:column;gap:8px;}
.avail-date-row{display:flex;align-items:center;gap:14px;}
.avail-dot{width:6px;height:6px;border-radius:50%;background:#2ecc71;flex-shrink:0;}
.avail-dot.amber{background:#f39c12;}
.avail-date-txt{font-size:13px;color:var(--t2);}
.avail-date-txt strong{color:var(--t1);font-weight:400;}
.avail-note{margin-top:14px;font-size:12px;color:var(--stone);letter-spacing:.04em;}

/* FAQ */
#faq{background:var(--ivory);padding:96px 0;border-top:1px solid var(--bdl);}
.faq-grid{display:grid;grid-template-columns:2fr 3fr;gap:80px;align-items:start;}
.faq-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.08;margin-top:14px;margin-bottom:18px;color:var(--ink);}
.faq-title em{font-style:italic;color:var(--wine);}
.faq-intro{font-size:14px;font-weight:300;color:#5a554f;line-height:1.8;max-width:300px;margin-bottom:28px;}
.faq-list{display:flex;flex-direction:column;}
.faq-item{border-bottom:1px solid var(--bdl);transition:padding-left .3s;}
.faq-item.open{border-left:2px solid var(--wine);padding-left:16px;margin-left:-18px;}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:18px 0;cursor:pointer;gap:16px;font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2vw,24px);font-weight:300;color:var(--ink);transition:color .25s;user-select:none;}
.faq-q:hover,.faq-item.open .faq-q{color:var(--wine);}
.faq-icon{width:20px;height:20px;border:1px solid var(--bdl);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .35s,border-color .3s;font-size:13px;color:var(--wine);line-height:1;}
.faq-item.open .faq-icon{transform:rotate(45deg);border-color:var(--wine);}
.faq-a{max-height:0;overflow:hidden;font-size:14px;color:#5a554f;line-height:1.75;transition:max-height .4s ease,padding .4s ease;}
.faq-item.open .faq-a{max-height:200px;padding-bottom:18px;}
.statement-line{width:120px;height:1px;background:var(--wine);margin-bottom:24px;transform-origin:left;transform:scaleX(0);transition:transform 1s cubic-bezier(.16,1,.3,1);}
.statement-line.on{transform:scaleX(1);}

/* FINAL CTA */
#cta{background:#3D0F1C;padding:120px 0;text-align:center;position:relative;overflow:hidden;}
#cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(110,31,50,.65) 0%,transparent 55%),radial-gradient(ellipse at 80% 30%,rgba(80,15,30,.5) 0%,transparent 50%),linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,.4) 100%);}
#cta::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(200,155,147,.05) 50%,transparent 100%);background-size:200% 200%;animation:gradDrift 22s ease infinite;pointer-events:none;}
.cta-inner{position:relative;z-index:1;}
.cta-eye{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,238,231,.4);margin-bottom:16px;}
.cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5.5vw,68px);font-weight:300;font-style:italic;color:var(--ivory);margin-bottom:16px;line-height:1.06;}
.cta-sub{font-size:14px;color:rgba(243,238,231,.55);margin-bottom:40px;line-height:1.7;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-note{font-size:12px;color:rgba(243,238,231,.25);margin-top:20px;letter-spacing:.04em;}

/* RESPONSIVE & TABLET LANDSCAPE (FIX: Dark bars & layout) */
@media(max-width:1100px){
  .nav-menu{display:none}.burger{display:flex}
  nav{padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right));}
  .container{padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right));}
  #hero{display:flex; flex-direction:column; min-height:100vh; min-height:100svh;}
  .hero-left{width:100%; flex:1; padding-left:max(32px, env(safe-area-inset-left)); padding-right:max(32px, env(safe-area-inset-right));}
  .hero-right{display:none}
  .what-grid{grid-template-columns:repeat(2,1fr)}
  .faq-grid{grid-template-columns:1fr;gap:40px}
  .inquiry-grid,.inv-grid,.why-grid{grid-template-columns:1fr;gap:40px}
  .why-photo{height:360px}
  .ft-grid{grid-template-columns:1fr 1fr;gap:40px}
  .gallery-hd{padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right));}
  .gallery-scroll{padding:0 max(32px, env(safe-area-inset-right)) 48px max(32px, env(safe-area-inset-left));}
  .gallery-counter{padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right));}
}

/* Tablet Landscape strictly forcing 100% width and preventing black bars */
@media (max-width:1024px) and (orientation:landscape) and (min-width:640px){
  body{min-width:100%;}
  #hero{display:flex; flex-direction:row; width:100vw !important; max-width:100%; min-height:100vh; min-height:100svh; align-items:stretch;}
  .hero-left{flex:0 0 55%; width:55%; max-width:55%; padding:calc(var(--nav-h) + 40px) 4vw 40px max(4vw, env(safe-area-inset-left)); display:flex; flex-direction:column; justify-content:center;}
  .hero-right{display:flex !important; flex:0 0 45%; width:45%; max-width:45%; height:auto; min-height:100%;}
  .hero-right-inner{position:absolute; inset:0; width:100%; height:100%;}
  .what-grid{grid-template-columns:repeat(4,1fr) !important;}
  .inv-grid,.why-grid,.faq-grid{grid-template-columns:1fr 1fr;}
  .inquiry-grid{grid-template-columns:1fr 1fr;}
  .ft-grid{grid-template-columns:1.5fr 1fr 1.35fr 1fr;}
  .hero-bf{display:block;opacity:.04;font-size:clamp(160px,22vw,300px);right:0;transform:translate(15%, -50%);}
  .container{max-width:100%;padding-left:5vw;padding-right:5vw;}
  /* process: 5 шагов в ландшафте - все 5 в ряд */
  .process-steps{flex-wrap:nowrap;}
  .process-step{flex:1 1 0 !important; min-width:0 !important; padding:0 8px 0 0;}
}

/* FIX: Process Grid elegant flex wrap on all devices */
@media (max-width:1024px) {
  .process-step{flex:1 1 calc(33.333% - 24px); min-width: 180px;}
}

/* Final wedding hero repair: match corporate/events tablet behavior */
#hero{display:flex;align-items:stretch;}
.hero-left{animation:gradDrift 18s ease infinite;}
.hero-photo{animation:gradDrift 26s ease infinite;}
.hero-photo-img{opacity:1;}
.hero-eyebrow{opacity:1;animation:fadeUp 1.1s ease 0s;}
.hero-h1{opacity:1;animation:fadeUp 1.1s ease .2s;}
.hero-sub{opacity:1;animation:fadeUp 1.1s ease .4s;}
.hero-micro{opacity:1;animation:fadeUp 1.1s ease .6s;}
.hero-btns{opacity:1;animation:fadeUp 1.1s ease .8s;}

@media (max-width:1024px) and (orientation:portrait){
  #hero{flex-direction:column;min-height:100vh;min-height:100svh;}
  .hero-left{flex:1 1 auto;width:100%;max-width:100%;min-height:100vh;min-height:100svh;}
  .hero-right{display:none !important;flex:0 0 0 !important;width:0 !important;max-width:0 !important;min-height:0 !important;height:0 !important;}
}

@media (min-width:641px) and (max-width:1024px) and (orientation:landscape){
  #hero{flex-direction:row !important;width:100vw !important;max-width:100% !important;min-height:100vh;min-height:100svh;align-items:stretch !important;}
  .hero-left{flex:0 0 55%;width:55%;max-width:55%;min-height:100vh;min-height:100svh;padding:calc(var(--nav-h) + 56px) 4vw 60px max(4vw, env(safe-area-inset-left));}
  .hero-right{display:flex !important;flex:0 0 45%;width:45%;max-width:45%;height:auto;min-height:100vh;min-height:100svh;}
  .hero-right-inner{position:absolute;inset:0;width:100%;height:100%;}
}

@media (min-width:641px) and (max-width:1024px) and (orientation:landscape) and (max-height:520px){
  #hero{min-height:100svh !important;}
  .hero-left{padding-top:calc(var(--nav-h) + 18px) !important;padding-bottom:28px !important;}
  .hero-eyebrow{margin-bottom:8px;}
  .hero-h1{font-size:clamp(34px,4.4vw,46px);line-height:1;margin-bottom:10px;}
  .hero-sub{max-width:340px;margin-bottom:8px;font-size:13px;line-height:1.55;}
  .hero-micro{margin-bottom:12px;font-size:11px;}
  .hero-btns{gap:10px;}
  .hero-photo-img{object-position:center center;}
  .hero-ph-lbl{bottom:18px;left:20px;font-size:10px;}
}

@media (min-width:1025px) and (max-width:1280px) and (orientation:landscape){
  #hero{flex-direction:row !important;width:100vw !important;max-width:100% !important;min-height:100vh;min-height:100svh;align-items:stretch !important;}
  #hero .hero-left{flex:0 0 55% !important;width:55% !important;max-width:55% !important;min-height:100vh;min-height:100svh;padding:calc(var(--nav-h) + 56px) 4vw 60px max(4vw, env(safe-area-inset-left));}
  #hero .hero-right{display:flex !important;flex:0 0 45% !important;width:45% !important;max-width:45% !important;height:auto;min-height:100vh;min-height:100svh;}
  #hero .hero-right-inner{position:absolute;inset:0;width:100%;height:100%;}
}

/* STRICT MOBILE TYPOGRAPHY */
@media(max-width:640px){
  body, p, .hero-sub, .what-desc, .faq-a, .step-note, .inv-tier-desc, .why-point-text, .form-field input, .form-field textarea { font-size: 15px !important; line-height: 1.7 !important; }
  .why-point-text strong { font-size: clamp(20px,5.5vw,26px) !important; line-height: 1.2 !important; }
  .what-name { font-size: clamp(20px,5.5vw,24px) !important; line-height: 1.2 !important; }
  .step-name { font-size: clamp(20px,5.5vw,24px) !important; line-height: 1.2 !important; }
  .inv-tier-name { font-size: clamp(20px,5.5vw,24px) !important; line-height: 1.2 !important; }
  .faq-q { font-size: clamp(17px,4.5vw,20px) !important; line-height: 1.3 !important; }
  .lbl { font-size: 12px !important; letter-spacing: .2em !important; }
  .btn, .btn-text, .nav-cta { font-size: 13px !important; }
  .ft-links a, .ft-copy, .ft-legal a { font-size: 14px !important; line-height: 1.6 !important; }
  
  .process-step{flex:1 1 100%; width:100%;}
  nav{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));}
  .container{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));}
  #navCta{display:none}
  .hero-left{padding:calc(var(--nav-h) + 28px) max(20px, env(safe-area-inset-right)) 44px max(20px, env(safe-area-inset-left));}
  .hero-eyebrow{margin-bottom:18px;}
  .hero-h1{margin-bottom:20px;}
  .hero-sub{margin-bottom:14px;}
  .hero-micro{margin-bottom:34px;}
  .hero-btns{flex-direction:column;align-items:flex-start;gap:10px}
  .hero-btns .btn-ghost{width:100%;text-align:center;display:block}
  .hero-bf{display:none;}
  .what-grid{grid-template-columns:1fr}
  .avail-inner{flex-direction:column;align-items:flex-start}
  .ft-grid{grid-template-columns:1fr;gap:32px}
  .ft-bottom{flex-direction:column;align-items:flex-start;}
  .ft-bottom-r{align-items:flex-start;}
  .lang-switcher{display:none;}
  .form-row{grid-template-columns:1fr}
  .faq-item.open{margin-left:-12px;padding-left:12px}
  .gallery-item{height:420px!important}
  #inquiry .inquiry-grid, #inquiry .inquiry-form { padding: 0 15px; }
  @media(min-width:641px){ #inquiry .inquiry-grid, #inquiry .inquiry-form { padding: 0; } }
}

/* WA FLOAT */
.wa-float{position:fixed;bottom:24px;right:20px;z-index:400;width:48px;height:48px;border-radius:50%;background:var(--wine);display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 3px 16px rgba(110,31,50,.35);opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease,background .3s;pointer-events:none;}
.wa-float.visible{opacity:1;transform:translateY(0);pointer-events:all;}
.wa-float:hover{background:#8B2640;}
.wa-float svg{width:22px;height:22px;fill:#fff;}

/* HERO FRONT-PAGE RHYTHM + EAGER IMAGE STABILITY */
#hero .hero-eyebrow{margin-bottom:32px;opacity:0;animation:fadeUp 1s ease .3s forwards;}
#hero .hero-h1{margin-bottom:28px;opacity:0;animation:fadeUp 1s ease .5s forwards;}
#hero .hero-sub{margin-bottom:16px;opacity:0;animation:fadeUp 1s ease .7s forwards;}
#hero .hero-micro{margin-bottom:48px;opacity:0;animation:fadeUp 1s ease .8s forwards;}
#hero .hero-btns{gap:20px;opacity:0;animation:fadeUp 1s ease 1s forwards;}
#hero .hero-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;opacity:1;background-image:none !important;}

@media(max-width:640px){
  #hero .hero-eyebrow{margin-bottom:22px;}
  #hero .hero-h1{margin-bottom:24px;}
  #hero .hero-sub{margin-bottom:14px;}
  #hero .hero-micro{margin-bottom:36px;}
  #hero .hero-btns{gap:12px;}
}

/* Final tablet hero stabilization: keep wedding aligned with corporate. */
@media (min-width:641px) and (max-width:1100px){
  #hero{
    display:flex !important;
    width:100% !important;
    overflow:hidden;
    background:var(--ink);
  }
  #hero .hero-left{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:linear-gradient(135deg,#0d1f16 0%,#111315 40%,#0a1a10 70%,#111315 100%);
    background-size:400% 400%;
  }
  #hero .hero-bf{
    display:block;
    font-family:'Cormorant Garamond',serif;
    position:absolute;
    right:8%;
    top:50%;
    transform:translateY(-50%);
    font-size:clamp(180px,28vw,360px);
    font-weight:300;
    line-height:1;
    letter-spacing:-.04em;
    color:var(--t1);
    opacity:.045;
    filter:blur(1.5px);
    pointer-events:none;
    user-select:none;
    z-index:1;
    white-space:nowrap;
  }
  #hero .hero-eyebrow,
  #hero .hero-h1,
  #hero .hero-sub,
  #hero .hero-micro,
  #hero .hero-btns{
    position:relative;
    z-index:2;
  }
}

@media (min-width:641px) and (max-width:1100px) and (orientation:portrait){
  #hero{
    flex-direction:column !important;
    min-height:100vh !important;
    min-height:100svh !important;
  }
  #hero .hero-left{
    flex:1 1 auto !important;
    width:100% !important;
    max-width:100% !important;
    min-height:100vh !important;
    min-height:100svh !important;
    padding:calc(var(--nav-h) + 56px) max(32px, env(safe-area-inset-right)) 72px max(32px, env(safe-area-inset-left)) !important;
  }
  #hero .hero-right{
    display:none !important;
    flex:0 0 0 !important;
    width:0 !important;
    max-width:0 !important;
    min-height:0 !important;
    height:0 !important;
  }
}

@media (min-width:641px) and (max-width:1100px) and (orientation:landscape){
  #hero{
    flex-direction:row !important;
    min-height:100vh !important;
    min-height:100svh !important;
    align-items:stretch !important;
  }
  #hero .hero-left{
    flex:0 0 55% !important;
    width:55% !important;
    max-width:55% !important;
    min-height:100vh !important;
    min-height:100svh !important;
    padding:calc(var(--nav-h) + 56px) 4vw 60px max(4vw, env(safe-area-inset-left)) !important;
  }
  #hero .hero-right{
    display:flex !important;
    flex:0 0 45% !important;
    width:45% !important;
    max-width:45% !important;
    min-height:100vh !important;
    min-height:100svh !important;
    height:auto !important;
  }
  #hero .hero-right-inner,
  #hero .hero-photo,
  #hero .hero-photo-img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }
  #hero .hero-photo-img{
    object-fit:cover;
    object-position:center center;
    display:block;
    opacity:1;
    background-image:none !important;
  }
  #hero .hero-bf{
    right:0;
    transform:translate(15%, -50%);
    font-size:clamp(160px,22vw,300px);
    opacity:.04;
  }
}

@media (min-width:641px) and (max-width:1100px) and (orientation:landscape) and (max-height:520px){
  #hero .hero-left{
    padding-top:calc(var(--nav-h) + 18px) !important;
    padding-bottom:28px !important;
  }
  #hero .hero-eyebrow{margin-bottom:8px;}
  #hero .hero-h1{font-size:clamp(34px,4.4vw,46px);line-height:1;margin-bottom:10px;}
  #hero .hero-sub{max-width:340px;margin-bottom:8px;font-size:13px;line-height:1.55;}
  #hero .hero-micro{margin-bottom:12px;font-size:11px;}
  #hero .hero-btns{gap:10px;}
  #hero .hero-ph-lbl{bottom:18px;left:20px;font-size:10px;}
}
