/* Boston Flowers — Events Page
   Requires: main.css, header-footer.css
   Contains ONLY events-specific styles */

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)}}
.r{will-change:opacity,transform;}
.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;}

/* HERO */
#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:0 0 55%;width:55%;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:12px;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:16px;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:8px;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:28px;opacity:0;animation:fadeUp 1.1s ease .6s forwards;position:relative;z-index:2;}
.hero-bullets{display:flex;flex-direction:column;gap:10px;margin-bottom:36px;opacity:0;animation:fadeUp 1.1s ease .7s forwards;position:relative;z-index:2;}
.hero-bullet{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--t2);}
.hero-bullet::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--rose);flex-shrink:0;}
.hero-btns{display:flex;gap:14px;align-items:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1.1s ease .8s forwards;position:relative;z-index:2;}
.hero-eyebrow,.hero-h1,.hero-sub,.hero-micro,.hero-bullets,.hero-btns{opacity:1;animation:none;}

.hero-right{position:relative;flex:0 0 45%;width:45%;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;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to left,transparent 60%,rgba(17,19,21,.5) 100%),rgba(17,19,21,.2);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;}

/* TRUST STRIP */
#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;}

/* WHAT WE HANDLE (FIXED: Warm Background & Text Contrast) */
#handle{background:var(--ivory);padding:96px 0;border-bottom:1px solid var(--bdl);}
.handle-hd{margin-bottom:52px;}
.handle-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.08;color:var(--ink);margin-top:12px;}
.handle-title em{font-style:italic;color:var(--wine);}
.handle-sub{font-size:14px;font-weight:300;color:var(--stone);line-height:1.8;max-width:480px;margin-top:10px;}
.handle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;border:1px solid var(--bdl);}
.handle-item{padding:32px 24px;background:var(--ivory-dim);border-right:1px solid var(--bdl);transition:background .35s,transform .35s;transform:translateY(0);position:relative;}
.handle-item:hover{transform:translateY(-3px);background:var(--ivory);}
.handle-item:last-child{border-right:none;}
.handle-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--wine);transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.handle-item:hover::after{transform:scaleX(1);}
.handle-num{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:var(--wine);opacity:.3;line-height:1;margin-bottom:16px;}
.handle-name{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2vw,24px);font-weight:300;color:var(--ink);margin-bottom:8px;}
.handle-desc{font-size:13px;color:var(--stone);line-height:1.65;}

/* WHO THIS IS FOR */
#who{background:var(--olive);padding:96px 0;border-bottom:1px solid var(--bd);background-image:linear-gradient(160deg,#151c18 0%,#171D1A 40%,#151a17 70%,#1A211C 100%);background-size:300% 300%;animation:gradDrift 25s ease infinite;}
.who-hd{margin-bottom:52px;}
.who-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.08;color:var(--t1);margin-top:12px;}
.who-title em{font-style:italic;color:var(--rose)}
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;}
.who-item{padding:36px 32px;border:1px solid var(--bd);transition:background .4s,border-color .4s,transform .4s;transform:translateY(0);}
.who-item:hover{transform:translateY(-4px);background:rgba(200,155,147,.04);border-color:rgba(200,155,147,.3);}
.who-seg{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin-bottom:12px;display:block;}
.who-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:var(--t1);margin-bottom:10px;}
.who-pain{font-size:13px;color:var(--t2);line-height:1.65;}

/* GALLERY */
#gallery{background:var(--ink);padding:96px 0 0;border-bottom:1px solid var(--bd);overflow:hidden;}
.gallery-hd{padding:0 48px;margin-bottom:40px;}
.gallery-hd-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.08;color:var(--t1);margin-top:14px;}
.gallery-hd-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);}
.gallery-scroll.grabbing{cursor:grabbing;}
.gallery-item{flex-shrink:0;scroll-snap-align:start;position:relative;overflow:hidden;background-size:200% 200%;}
.gallery-item:nth-child(1){width:420px;height:540px;background:linear-gradient(160deg,#0d1a10,#111315);animation:gradDrift 22s ease infinite;}
.gallery-item:nth-child(2){width:320px;height:540px;background:linear-gradient(160deg,#150d0a,#1a0e12);animation:gradDrift 26s ease 3s infinite;}
.gallery-item:nth-child(3){width:540px;height:540px;background:linear-gradient(160deg,#0d1510,#111315);animation:gradDrift 19s ease 1s infinite;}
.gallery-item:nth-child(4){width:360px;height:540px;background:linear-gradient(160deg,#0e100d,#111315);animation:gradDrift 24s ease 2s infinite;}
.gallery-item:nth-child(5){width:440px;height:540px;background:linear-gradient(160deg,#150e0d,#111315);animation:gradDrift 21s ease 4s infinite;}
.gallery-item:nth-child(6){width:300px;height:540px;background:linear-gradient(160deg,#0d1a0e,#111315);animation:gradDrift 28s ease 1.5s infinite;}
.gallery-item-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.8;transition:transform .6s ease,opacity .3s;}
.gallery-item-img img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
.gallery-item-img.gallery-overlay-soft::after{content:'';position:absolute;inset:0;background:rgba(17,19,21,.2);pointer-events:none;}
.gallery-item:hover .gallery-item-img{transform:scale(1.04);opacity:.9;}
.gallery-item-ph{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:flex-start;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);text-align:left;padding:0 24px 26px;line-height:1.8;z-index:3;text-shadow:0 2px 14px rgba(0,0,0,.45);}
.gallery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(17,19,21,.65) 0%,transparent 50%);pointer-events:none;z-index:2;}
.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;}

/* WAYS TO WORK */
#ways{background:var(--ivory);padding:96px 0;border-bottom:1px solid var(--bdl);}
.ways-hd{margin-bottom:52px;}
.ways-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.08;color:var(--ink);margin-top:12px;}
.ways-title em{font-style:italic;color:var(--wine);}
.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;} 
.ways-item{padding:40px 32px;background:var(--ivory-dim);border:1px solid var(--bdl);transition:background .35s,border-color .35s,transform .35s;transform:translateY(0);}
.ways-item:hover{transform:translateY(-4px);border-color:rgba(110,31,50,.3);background:var(--ivory);}
.ways-tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--wine);margin-bottom:14px;display:block;}
.ways-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:var(--ink);margin-bottom:10px;}
.ways-desc{font-size:13px;color:var(--stone);line-height:1.7;margin-bottom:20px;}
.ways-detail{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);opacity:.8;}

/* INVESTMENT */
#investment{background:linear-gradient(135deg,#0d1f16 0%,#111315 40%,#0a1a10 70%,#111315 100%);background-size:400% 400%;animation:gradDrift 18s ease infinite;padding:96px 0;border-bottom:1px solid var(--bd);}
.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.inv-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.08;color:var(--t1);margin-top:12px;}
.inv-title em{font-style:italic;color:var(--rose)}
.inv-sub{font-size:14px;font-weight:300;color:var(--t2);line-height:1.8;max-width:360px;margin-top:12px;}
.inv-tiers{display:flex;flex-direction:column;}
.inv-tier{display:flex;align-items:baseline;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--bd);gap:20px;transition:padding-left .25s;position:relative;}
.inv-tier:first-child{border-top:1px solid var(--bd);}
.inv-tier::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--rose);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(--t1);transition:color .25s;}
.inv-tier:hover .inv-tier-name{color:var(--rose);}
.inv-tier-desc{font-size:13px;color:var(--t2);margin-top:3px;}
.inv-tier-price{font-size:13px;color:var(--stone);white-space:nowrap;flex-shrink:0;letter-spacing:.04em;}
.inv-note{margin-top:24px;font-size:12px;color:var(--t2);line-height:1.7;border-left:2px solid var(--bd);padding-left:16px;}
.inv-limit{margin-top:28px;padding:20px 22px;border:1px solid rgba(200,155,147,.1);background:rgba(200,155,147,.03);}
.inv-limit-label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin-bottom:10px;display:block;}
.inv-limit-text{font-size:13px;color:var(--t2);line-height:1.65;}

/* STATEMENT FULL-BLEED PHOTO (FIXED: 100vw stretch without container constraint) */
#statement{background:var(--olive);padding:0 0 96px 0;border-bottom:1px solid var(--bd);}
.stmt-photo{width:100%;height:70vh;min-height:480px;max-height:680px;position:relative;margin-bottom:64px;overflow:hidden;background:linear-gradient(155deg,#0d1a10,#111315);}
.stmt-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 0.6s ease;}
.stmt-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(17,19,21,.34) 0%,rgba(17,19,21,.12) 34%,transparent 58%);pointer-events:none;z-index:1;}
.stmt-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(17,19,21,.12) 0%,transparent 40%,transparent 60%,rgba(17,19,21,.5) 100%);pointer-events:none;z-index:1;}
.stmt-photo:hover .stmt-photo-img{transform:scale(1.02);}
.stmt-ph-txt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35);text-align:center;padding:20px;z-index:2;}
.stmt-photo-caption{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.stmt-text{text-align:center;}
.stmt-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,68px);font-weight:300;line-height:1.08;color:var(--t1);}
.stmt-text h2 em{font-style:italic;color:var(--rose);}
.statement-line{display:block;width:min(168px,42vw);height:1px;margin:38px auto 0;background:linear-gradient(90deg,transparent,var(--rose),transparent);opacity:.78;transform:scaleX(0);transform-origin:center;transition:transform 1.15s cubic-bezier(.22,.61,.36,1) .18s;}
.statement-line.on{transform:scaleX(1);}

/* PROCESS */
#process{background:var(--ivory);padding:96px 0;border-bottom:1px solid var(--bdl);}
.process-hd{margin-bottom:56px;}
.process-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.08;color:var(--ink);margin-top:12px;}
.process-title em{font-style:italic;color:var(--wine);}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.process-step{padding:0 10px 0 0;position:relative;}
.process-step.accent{border-left:2px solid rgba(110,31,50,.3);padding-left:16px;}
.process-step-num{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:300;color:var(--wine);opacity:.3;line-height:1;margin-bottom:16px;}
.process-step-name{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2vw,24px);font-weight:300;color:var(--ink);margin-bottom:8px;}
.process-step-note{font-size:13px;color:var(--stone);line-height:1.65;}
.process-step-tag{display:inline-block;margin-top:14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--wine);opacity:.8;border:1px solid rgba(110,31,50,.2);padding:4px 10px;}

/* WHY THIS STUDIO (FIXED: Two-font typography with strict styles) */
#why{background:var(--ink);padding:96px 0;border-bottom:1px solid var(--bd);background-image:linear-gradient(135deg,#0e1512 0%,#111315 50%,#0c1210 100%);background-size:300% 300%;animation:gradDrift 24s ease infinite;}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.why-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.08;color:var(--t1);margin-top:12px;}
.why-title em{font-style:italic;color:var(--rose);}
.why-sub{font-size:14px;font-weight:300;color:var(--t2);line-height:1.8;max-width:340px;margin-top:12px;}
.why-points{display:flex;flex-direction:column;}
.why-point{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid var(--bd);transition:padding-left .25s;}
.why-point:first-child{border-top:1px solid var(--bd);}
.why-point:hover{padding-left:6px;}
.why-dot{width:4px;height:4px;border-radius:50%;background:var(--rose);flex-shrink:0;margin-top:10px;}
.why-text{font-size:14px;font-weight:300;color:var(--t2);line-height:1.65;}
.why-text strong{display:block;font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:var(--t1);margin-bottom:6px;letter-spacing:-0.01em;}

/* FAQ */
#faq{background:var(--olive);padding:96px 0;border-bottom:1px solid var(--bd);background-image:linear-gradient(160deg,#1A211C 0%,#171D1A 60%,#1A211C 100%);background-size:300% 300%;animation:gradDrift 32s ease infinite;}
.faq-grid{display:grid;grid-template-columns:2fr 3fr;gap:80px;align-items:start;}
.faq-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.1;margin-bottom:18px;margin-top:14px;color:var(--t1);}
.faq-title em{font-style:italic;color:var(--rose);}
.faq-intro{font-size:14px;font-weight:300;color:var(--t2);line-height:1.8;max-width:280px;margin-bottom:28px;}
.faq-list{display:flex;flex-direction:column;}
.faq-item{border-bottom:1px solid var(--bd);transition:padding-left .3s;}
.faq-item.open{border-left:2px solid var(--rose);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(--t1);transition:color .25s;user-select:none;}
.faq-q:hover,.faq-item.open .faq-q{color:var(--rose);}
.faq-icon{width:20px;height:20px;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .35s,border-color .3s;font-size:13px;color:var(--rose);line-height:1;}
.faq-item.open .faq-icon{transform:rotate(45deg);border-color:var(--rose);}
.faq-a{max-height:0;overflow:hidden;font-size:13px;color:var(--t2);line-height:1.75;transition:max-height .4s ease,padding .4s ease;}
.faq-item.open .faq-a{max-height:200px;padding-bottom:18px;}

/* CONTACT FORM */
#contact{background:var(--ivory);padding:96px 0;border-bottom:1px solid var(--bdl);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.contact-h2{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.06;color:var(--ink);margin-top:12px;margin-bottom:14px;}
.contact-h2 em{font-style:italic;color:var(--wine);}
.contact-p{font-size:14px;font-weight:300;color:var(--stone);line-height:1.8;max-width:340px;margin-bottom:24px;}
.contact-note{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);border-left:2px solid rgba(110,31,50,.35);padding-left:14px;line-height:1.9;}
.c-form{display:flex;flex-direction:column;gap:0;}
.c-field{display:flex;flex-direction:column;border-bottom:1px solid rgba(17,19,21,.12);padding:14px 0;transition:border-color .25s;}
.c-field:focus-within{border-color:rgba(110,31,50,.4);}
.c-field label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin-bottom:7px;}
.c-field input,.c-field select,.c-field textarea{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:300;color:var(--ink);background:transparent;border:none;outline:none;width:100%;-webkit-text-fill-color:var(--ink);}
.c-field select{-webkit-appearance:none;appearance:none;cursor:pointer;}
.c-field select option{color:var(--ink);}
.c-field textarea{resize:none;height:100px;line-height:1.7;}
.c-row{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
.c-submit{padding:32px 0 0; display:flex; justify-content:center;}
.c-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;}

/* 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-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
@media(max-width:640px){.cta-btns{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:360px;margin-left:auto;margin-right:auto;}.cta-btns .btn{width:100%;min-width:0;}}
.cta-note{font-size:12px;color:rgba(243,238,231,.25);margin-top:20px;letter-spacing:.04em;}

.wa-float{position:fixed;bottom:24px;right:24px;z-index:9999;width:56px;height:56px;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;animation:waFloat 3s ease-in-out 1s infinite;}
.wa-float:hover{background:#8B2640;animation:none;}

/* TABLET FIXES (Strict Grid Management) */
@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}
  
  .handle-grid{grid-template-columns:repeat(2,1fr)}
  .handle-item:last-child{grid-column:1 / -1; border-right:none;} /* Span the last item elegantly */
  
  .who-grid{grid-template-columns:repeat(2,1fr)}
  
  .ways-grid{grid-template-columns:repeat(2,1fr)}
  .ways-item:last-child{grid-column:1 / -1;} /* Span the 3rd item elegantly */
  
  .faq-grid{grid-template-columns:1fr;gap:40px}
  .inv-grid,.why-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .process-steps{grid-template-columns:repeat(2,1fr);gap:24px}
  .ft-grid{grid-template-columns:1fr 1fr}
  .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));}
}

@media (max-width:1024px) and (orientation:landscape) and (min-width:640px){
  #hero{display:flex !important; flex-direction:row !important; width:100vw !important; max-width:100% !important; min-height:0 !important; height:auto !important; padding-bottom:0 !important; align-items:stretch !important;}
  .hero-left{flex:0 0 55%; width:55%; min-height:0; padding:calc(var(--nav-h) + 34px) 4vw 36px 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%; height:auto; min-height:100%;}
  .hero-right-inner{position:absolute; inset:0; width:100%; height:100%;}
  .hero-h1{font-size:clamp(42px,5vw,58px);margin-bottom:12px;}
  .hero-sub{line-height:1.65;margin-bottom:6px;}
  .hero-micro{margin-bottom:20px;}
  .hero-bullets{gap:8px;margin-bottom:26px;}
  .hero-eyebrow,.hero-h1,.hero-sub,.hero-micro,.hero-bullets,.hero-btns{opacity:1;animation:none;}
  .what-grid,.inv-grid,.why-grid,.faq-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%);}
}

/* STRICT MOBILE TYPOGRAPHY & LAYOUT */
@media(max-width:640px){
  body, p, .hero-sub, .handle-desc, .who-pain, .gallery-sub, .ways-desc, .inv-tier-desc, .process-step-note, .why-text, .faq-a, .c-field input, .c-field select, .c-field textarea { font-size: 15px !important; line-height: 1.7 !important; }
  .handle-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; }
  .process-step-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; }
  .ways-name { font-size: clamp(20px,5.5vw,24px) !important; line-height: 1.2 !important; }
  .who-name { font-size: clamp(20px,5.5vw,24px) !important; line-height: 1.2 !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; }
  
  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-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;}
  
  /* Retain 2px gaps to preserve visual separation blocks on mobile */
  .handle-grid {grid-template-columns:1fr; gap: 2px;}
  .who-grid {grid-template-columns:1fr; gap: 2px;}
  .ways-grid {grid-template-columns:1fr; gap: 2px;}
  .process-steps {grid-template-columns:1fr; gap:24px;}
  
  .handle-item:last-child, .ways-item:last-child {grid-column: auto;}
  .faq-item.open{margin-left:-12px;padding-left:12px}
  .gallery-item{height:420px!important}
  .ft-grid{grid-template-columns:1fr;gap:28px}
  .trust-strip-inner{padding:0 20px;flex-direction:column;align-items:flex-start}
  .ft-bottom{flex-direction:column;align-items:flex-start;}
  .ft-bottom-r{align-items:flex-start;}
  .lang-switcher{display:none;}
  #contact .contact-grid, #contact .c-form { padding: 0 15px; }
  .c-row{display:grid; grid-template-columns:1fr; gap:0;}
  .stmt-photo { height:260px; min-height:260px; margin-bottom:40px; }
}

/* FINAL HERO FRONT-PAGE RHYTHM */
#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:28px;opacity:0;animation:fadeUp 1s ease .8s forwards;}
#hero .hero-bullets{margin-bottom:48px;opacity:0;animation:fadeUp 1s ease .9s forwards;}
#hero .hero-btns{gap:20px;opacity:0;animation:fadeUp 1s ease 1s forwards;}
@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:20px;}
  #hero .hero-bullets{margin-bottom:34px;}
  #hero .hero-btns{gap:12px;}
}

/* Tablet portrait hero-bf fix */
@media (min-width:641px) and (max-width:1100px) and (orientation:portrait){
  #hero .hero-bf{
    display:block;
    right:8%;
    transform:translateY(-50%);
    font-size:clamp(180px,28vw,360px);
    opacity:.045;
  }
}
