:root {
  --bg:#fafaf8; --bg-dark:#111111; --bg-mid:#f3f3f0; --bg-card:#ffffff;
  --green:#25d366; --green-dim:rgba(37,211,102,0.10); --green-bdr:rgba(37,211,102,0.25);
  --text-1:#111111; --text-2:rgba(0,0,0,0.52); --text-3:rgba(0,0,0,0.28);
  --bdr:rgba(0,0,0,0.08); --r:4px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;font-weight:400;background:var(--bg);color:var(--text-1);overflow-x:hidden;}

nav{position:fixed;top:0;left:0;right:0;z-index:200;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 4rem;background:rgba(250,250,248,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--bdr);}
.nav-logo{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:400;color:var(--text-1);text-decoration:none;letter-spacing:-0.01em;}
.nav-logo span{color:var(--green);}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-size:0.83rem;font-weight:500;color:var(--text-2);text-decoration:none;transition:color 0.15s;}
.nav-links a:hover{color:var(--text-1);}
.nav-cta{background:var(--green);color:var(--text-1);font-size:0.83rem;font-weight:600;padding:0.52rem 1.2rem;border-radius:var(--r);text-decoration:none;transition:opacity 0.15s;}
.nav-cta:hover{opacity:0.85;}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--text-1);border-radius:1px;}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--bg);z-index:300;flex-direction:column;align-items:center;justify-content:center;gap:2rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-family:'Fraunces',serif;font-size:2.2rem;font-weight:400;color:var(--text-1);text-decoration:none;letter-spacing:-0.02em;}
.mobile-menu a.mm-cta{color:var(--green);font-style:italic;}
.mm-close{position:absolute;top:1.5rem;right:1.5rem;font-size:1.4rem;background:none;border:none;cursor:pointer;color:var(--text-2);}

.btn{display:inline-block;font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:600;padding:0.75rem 1.75rem;border-radius:var(--r);text-decoration:none;border:none;cursor:pointer;transition:opacity 0.15s,transform 0.15s;}
.btn:hover{opacity:0.88;transform:translateY(-1px);}
.btn-green{background:var(--green);color:#111;}
.btn-outline{background:transparent;color:var(--text-2);border:1px solid var(--bdr);}
.btn-outline:hover{border-color:rgba(0,0,0,0.2);color:var(--text-1);transform:none;}

section{padding:6rem 4rem;}
.inner{max-width:1100px;margin:0 auto;}
.tag{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.72rem;font-weight:600;color:var(--green);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:1rem;}
.tag::before{content:'';display:block;width:18px;height:2px;background:var(--green);border-radius:1px;}
h2{font-family:'Fraunces',serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:400;line-height:1.08;letter-spacing:-0.02em;color:var(--text-1);margin-bottom:1rem;}
h2 em{font-style:italic;color:var(--green);}
.body-text{font-size:1rem;line-height:1.8;color:var(--text-2);max-width:560px;}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 0.55s ease,transform 0.55s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* HERO */
.hero{min-height:100vh;padding:8rem 4rem 5rem;display:flex;align-items:center;border-bottom:1px solid var(--bdr);}
.hero-inner{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.hero h1{font-family:'Fraunces',serif;font-size:clamp(2.4rem,4.2vw,3.8rem);font-weight:400;line-height:1.08;letter-spacing:-0.02em;color:var(--text-1);margin-bottom:1.25rem;}
.green-highlight{background:rgba(37,211,102,0.20);border-radius:3px;padding:0 5px;font-style:italic;}
.hero-green{color:var(--green);font-style:italic;}
.hero-green-hl{background:rgba(37,211,102,0.18);border-radius:3px;padding:0 5px;font-style:italic;color:var(--green);}
.hero-bold{color:var(--text-1);font-style:normal;font-weight:700;}
.hero-deck-bold{font-weight:700;color:var(--text-1);}
.hero-deck{font-size:1rem;line-height:1.8;color:var(--text-2);max-width:460px;margin-bottom:0.6rem;}
.hero-deck strong{color:var(--text-1);font-weight:600;}
.hero-actions{display:flex;gap:0.75rem;align-items:center;flex-wrap:wrap;margin-top:1.75rem;}
.hero-right{display:flex;justify-content:center;align-items:center;}
.hero-phone-wrap{position:relative;width:100%;max-width:320px;filter:drop-shadow(0 24px 48px rgba(0,0,0,0.20));}
.hero-phone-wrap img{display:block;width:100%;height:auto;border-radius:40px;}

/* HOW IT WORKS */
.how{background:var(--bg-mid);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);border-radius:8px;overflow:hidden;margin-top:3rem;}
.step{background:var(--bg-card);padding:2.25rem 2rem;}
.step-n{font-family:'Fraunces',serif;font-size:2.8rem;font-weight:400;color:#ebebeb;line-height:1;margin-bottom:1rem;letter-spacing:-0.02em;}
.step-tag{display:inline-block;font-size:0.62rem;font-weight:600;color:var(--green);background:var(--green-dim);border:1px solid var(--green-bdr);border-radius:100px;padding:0.14rem 0.6rem;margin-bottom:0.75rem;text-transform:uppercase;letter-spacing:0.05em;}
.step h3{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:400;color:var(--text-1);margin-bottom:0.5rem;letter-spacing:-0.01em;}
.step p{font-size:0.88rem;line-height:1.75;color:var(--text-2);}

/* PRODUCT */
.product{background:var(--bg);}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-top:3.5rem;}
.product-features{display:flex;flex-direction:column;gap:1.75rem;}
.pf{display:flex;gap:1rem;align-items:flex-start;}
.pf-icon{width:36px;height:36px;border-radius:var(--r);background:var(--green-dim);border:1px solid var(--green-bdr);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.pf h4{font-family:'Fraunces',serif;font-size:0.95rem;font-weight:400;color:var(--text-1);margin-bottom:0.25rem;letter-spacing:-0.01em;}
.pf p{font-size:0.85rem;line-height:1.7;color:var(--text-2);}
.gallery-placeholder{background:var(--bg-mid);border:1px solid var(--bdr);border-radius:8px;overflow:hidden;}
.gallery-placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;}
.gp-tile{aspect-ratio:1;}
.gp-a{background:linear-gradient(135deg,#d4b8a0,#c9a882);}
.gp-b{background:linear-gradient(135deg,#b8c9d4,#a0b8c9);}
.gp-c{background:linear-gradient(135deg,#d4c9a0,#c9b882);}
.gp-d{background:linear-gradient(135deg,#c9a0b8,#b882a0);}
.gp-e{background:linear-gradient(135deg,#a0d4b8,#82c9a0);}
.gp-f{background:linear-gradient(135deg,#d4a0a0,#c98282);display:flex;align-items:center;justify-content:center;}
.gp-more{font-family:'Fraunces',serif;font-size:1rem;font-weight:400;color:rgba(255,255,255,0.7);}
.gallery-placeholder-caption{padding:0.75rem 1rem;font-size:0.72rem;color:var(--text-3);font-style:italic;text-align:center;border-top:1px solid var(--bdr);}

/* GALLERY DARK */
.gallery{background:var(--bg-dark);color:#fff;}
.gallery .tag{color:var(--green);}
.gallery h2{color:#fff;}
.gallery .body-text{color:rgba(255,255,255,0.48);}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-top:3.5rem;}
.gallery-features{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem;}
.gf{display:flex;gap:1rem;align-items:flex-start;}
.gf-icon{width:36px;height:36px;border-radius:var(--r);background:var(--green-dim);border:1px solid var(--green-bdr);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.gf h4{font-family:'Fraunces',serif;font-size:0.95rem;font-weight:400;color:#fff;margin-bottom:0.25rem;letter-spacing:-0.01em;}
.gf p{font-size:0.85rem;line-height:1.7;color:rgba(255,255,255,0.42);}
.g-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border-radius:8px;overflow:hidden;}
.gt{aspect-ratio:1;}
.gt.a{background:linear-gradient(135deg,#1a3020,#2a4830);}
.gt.b{background:linear-gradient(135deg,#1e2818,#283820);}
.gt.c{background:linear-gradient(135deg,#151e10,#223018);}
.gt.d{background:linear-gradient(135deg,#0e1a0c,#1a2814);}
.gt.e{background:linear-gradient(135deg,#182212,#24301c);}
.gt.f{background:#1a1a1a;display:flex;align-items:center;justify-content:center;}
.gt-count{font-family:'Fraunces',serif;font-size:1rem;font-weight:400;color:rgba(255,255,255,0.32);letter-spacing:-0.01em;}
.g-caption{font-size:0.75rem;color:rgba(255,255,255,0.2);text-align:center;margin-top:1rem;font-style:italic;}

/* FILM */
.film{background:var(--bg-mid);}
.film-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.film-visual{background:var(--bg-dark);border-radius:8px;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.film-play{width:52px;height:52px;border-radius:50%;background:rgba(37,211,102,0.15);border:1.5px solid var(--green-bdr);display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.film-label{position:absolute;bottom:1rem;left:1rem;font-size:0.7rem;font-weight:600;color:rgba(255,255,255,0.35);}

/* USE CASES */
.usecases{background:var(--bg);}
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin-top:3rem;}
.case{background:var(--bg-card);border:1px solid var(--bdr);border-radius:8px;padding:1.75rem 1.5rem;transition:border-color 0.15s,transform 0.15s,box-shadow 0.15s;}
.case:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 8px 24px rgba(37,211,102,0.08);}
.case-icon{display:none;}
.case-label{font-family:'Fraunces',serif;font-size:1rem;font-weight:400;color:var(--text-1);margin-bottom:0.3rem;letter-spacing:-0.01em;}
.case-sub{font-size:0.78rem;color:var(--text-3);line-height:1.5;}

/* PRICING */
.pricing{background:var(--bg-mid);}
.pricing-card{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;border-radius:8px;overflow:hidden;border:1px solid var(--bdr);box-shadow:0 4px 32px rgba(0,0,0,0.05);}
.pricing-l{background:var(--bg-dark);padding:3rem;color:#fff;}
.p-eyebrow{font-size:0.7rem;font-weight:600;color:var(--green);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.75rem;}
.p-amount{font-family:'Fraunces',serif;font-size:5rem;font-weight:400;color:#fff;line-height:1;letter-spacing:-0.03em;}
.p-amount span{color:var(--green);font-size:2.5rem;vertical-align:super;}
.p-unit{font-size:0.78rem;color:rgba(255,255,255,0.32);margin-top:0.3rem;margin-bottom:1.25rem;}
.p-desc{font-size:0.92rem;line-height:1.75;color:rgba(255,255,255,0.5);margin-bottom:2rem;}
.pricing-r{background:var(--bg-card);padding:3rem;}
.pricing-r h3{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:400;color:var(--text-1);margin-bottom:1.5rem;letter-spacing:-0.01em;}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:0.85rem;}
.feat-list li{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.88rem;color:var(--text-2);line-height:1.5;}
.feat-list li::before{content:'✓';color:var(--green);font-weight:700;font-size:0.8rem;flex-shrink:0;margin-top:0.1rem;}
.feat-list li strong{color:var(--text-1);font-weight:600;}

/* B2B */
.b2b{background:var(--bg);border-top:1px solid var(--bdr);}
.b2b-pills{display:flex;gap:0.6rem;flex-wrap:wrap;margin:1.75rem 0 2rem;}
.b2b-pill{font-size:0.82rem;font-weight:500;color:var(--text-2);background:var(--bg-mid);border:1px solid var(--bdr);padding:0.38rem 1rem;border-radius:100px;}

/* FAQ */
.faq{background:var(--bg-mid);}
.faq-list{margin-top:3rem;display:flex;flex-direction:column;gap:0;border:1px solid var(--bdr);border-radius:8px;overflow:hidden;}
.faq-item{background:var(--bg-card);border-bottom:1px solid var(--bdr);}
.faq-item:last-child{border-bottom:none;}
.faq-q{width:100%;background:none;border:none;padding:1.25rem 1.75rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;gap:1rem;}
.faq-q span{font-family:'Fraunces',serif;font-size:1rem;font-weight:400;color:var(--text-1);letter-spacing:-0.01em;line-height:1.3;}
.faq-chevron{width:20px;height:20px;flex-shrink:0;border-radius:50%;border:1px solid var(--bdr);display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:var(--text-2);transition:transform 0.25s,background 0.2s;}
.faq-item.open .faq-chevron{transform:rotate(180deg);background:var(--green);border-color:var(--green);color:#111;}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.3s ease;padding:0 1.75rem;}
.faq-item.open .faq-a{max-height:300px;padding:0 1.75rem 1.25rem;}
.faq-a p{font-size:0.9rem;line-height:1.8;color:var(--text-2);border-left:2px solid var(--green-bdr);padding-left:1rem;}

/* CTA BAND */
.cta-band{background:var(--bg-dark);padding:6rem 4rem;text-align:left;}
.cta-band h2{color:#fff;margin:0 0 1rem;max-width:600px;}
.cta-band h2 em{font-style:italic;color:var(--green);}
.cta-deck{font-size:1rem;line-height:1.8;color:rgba(255,255,255,0.45);margin:0 0 2.5rem;max-width:480px;}

/* CONTACT */
.contact{background:var(--bg-dark);color:#fff;text-align:left;}
.contact .tag{color:var(--green);justify-content:flex-start;}
.contact .tag::before{display:block;}
.contact h2{color:#fff;margin:0 0 1rem;}
.contact .body-text{color:rgba(255,255,255,0.45);margin:0 0 2.5rem;text-align:left;}
.contact-email{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:400;color:#fff;text-decoration:none;border-bottom:2px solid var(--green);padding-bottom:0.2rem;display:inline-block;margin-bottom:3rem;letter-spacing:-0.02em;transition:color 0.15s;}
.contact-email:hover{color:var(--green);}
.contact-cards{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap;}
.contact-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:1.75rem 2rem;text-align:left;max-width:280px;transition:border-color 0.15s;}
.contact-card:hover{border-color:var(--green);}
.contact-card-label{font-family:'Fraunces',serif;font-size:0.95rem;font-weight:400;color:#fff;margin-bottom:0.6rem;letter-spacing:-0.01em;}
.contact-card p{font-size:0.85rem;line-height:1.7;color:rgba(255,255,255,0.38);}

/* FOOTER */
footer{background:var(--bg-dark);border-top:1px solid rgba(255,255,255,0.07);padding:1.5rem 4rem;display:flex;align-items:center;justify-content:space-between;}
.f-logo{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:400;color:#fff;}
.f-logo span{color:var(--green);font-style:italic;}
.f-copy{font-size:0.72rem;color:rgba(255,255,255,0.2);}
.f-links{display:flex;gap:1.75rem;list-style:none;}
.f-links a{font-size:0.72rem;color:rgba(255,255,255,0.3);text-decoration:none;transition:color 0.15s;}
.f-links a:hover{color:var(--green);}

/* RESPONSIVE */
@media(max-width:960px){
  nav{padding:0 1.5rem;}
  .nav-links,.nav-cta{display:none;}
  .nav-hamburger{display:flex;}
  section{padding:4.5rem 1.5rem;}
  .cta-band{padding:4.5rem 1.5rem;}
  .hero{padding:7rem 1.5rem 4rem;}
  .hero-inner{grid-template-columns:1fr;gap:3rem;}
  .hero-right{display:none;}
  .steps{grid-template-columns:1fr;}
  .product-grid,.gallery-grid,.film-inner{grid-template-columns:1fr;gap:2.5rem;}
  .cases{grid-template-columns:repeat(2,1fr);}
  .pricing-card{grid-template-columns:1fr;}
  .contact-cards{flex-direction:column;align-items:center;}
  .contact-card{max-width:100%;width:100%;}
  footer{flex-direction:column;gap:1rem;text-align:center;padding:1.5rem;}
  .f-links{justify-content:center;flex-wrap:wrap;}
  .proof-bar{padding:0.85rem 1.5rem;}
}
@media(max-width:540px){
  .cases{grid-template-columns:1fr 1fr;}
  .hero h1{font-size:2.2rem;}
}

/* STORY (combined product section) */
.story-block{border:1px solid var(--bdr);border-radius:8px;background:var(--bg-card);padding:2.5rem;}
.story-num{font-family:'Fraunces',serif;font-size:3rem;font-weight:400;color:#ebebeb;line-height:1;margin-bottom:0.25rem;letter-spacing:-0.02em;}
.story-label{font-size:0.72rem;font-weight:600;color:var(--green);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.75rem;}
.story-headline{font-family:'Fraunces',serif;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:400;color:var(--text-1);letter-spacing:-0.01em;margin-bottom:1.75rem;line-height:1.2;}
.story-features{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
.sf{background:var(--bg-mid);border-radius:6px;padding:1.25rem 1.5rem;}
.sf-title{font-family:'Fraunces',serif;font-size:0.95rem;font-weight:400;color:var(--text-1);margin-bottom:0.3rem;letter-spacing:-0.01em;}
.sf-body{font-size:0.85rem;line-height:1.7;color:var(--text-2);}
.sf-full{grid-column:1/-1;}
.story-desc{font-size:1rem;line-height:1.8;color:var(--text-2);max-width:600px;margin-bottom:2rem;}
.film-contrast{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-radius:8px;overflow:hidden;border:1px solid var(--bdr);max-width:480px;}
.fc-card{background:var(--bg-mid);padding:1.75rem 2rem;}
.fc-card-dark{background:var(--bg-dark);}
.fc-title{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:400;color:var(--text-1);margin-bottom:0.3rem;letter-spacing:-0.01em;}
.fc-card-dark .fc-title{color:#fff;}
.fc-sub{font-size:0.88rem;color:var(--text-2);}
.fc-card-dark .fc-sub{color:rgba(255,255,255,0.45);}
.fc-closer{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:400;font-style:italic;color:var(--green);margin-top:1.25rem;max-width:480px;}
@media(max-width:960px){
  .story-features{grid-template-columns:1fr;}
  .film-contrast{max-width:100%;}
}

/* FAQ category headers */
.faq-category-header{font-family:'Fraunces',serif;font-size:0.78rem;font-weight:400;color:var(--text-3);text-transform:uppercase;letter-spacing:0.1em;padding:1.25rem 1.75rem 0.5rem;background:var(--bg-mid);border-bottom:1px solid var(--bdr);}

.contact-sf-row{display:flex;gap:1.25rem;flex-wrap:wrap;justify-content:flex-start;margin-top:2rem;}
.contact-sf{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:6px;padding:1.25rem 1.5rem;max-width:320px;text-align:left;}
.contact-sf-title{font-family:'Fraunces',serif;font-size:0.95rem;font-weight:400;color:#fff;margin-bottom:0.4rem;letter-spacing:-0.01em;}
.contact-sf p{font-size:0.85rem;line-height:1.7;color:rgba(255,255,255,0.45);}

.b2b-built{margin:1.75rem 0 2rem;}
.b2b-built-label{font-size:0.72rem;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.6rem;}
.b2b-built-items{display:flex;gap:0.6rem;flex-wrap:wrap;}
.b2b-built-items span{font-size:0.82rem;font-weight:500;color:var(--text-2);background:var(--bg-card);border:1px solid var(--bdr);padding:0.38rem 1rem;border-radius:100px;}

/* ── WA PHONE ANIMATION ── */
.wa-phone-outer{
  width:100%;
  max-width:320px;
  border-radius:40px;
  overflow:hidden;
  box-shadow:0 32px 64px rgba(0,0,0,0.22),0 0 0 1px rgba(0,0,0,0.08);
  background:#e5ddd5;
  font-family:'DM Sans',sans-serif;
}
.wa-phone-screen{
  display:flex;
  flex-direction:column;
  height:620px;
  overflow:hidden;
  background:#e5ddd5;
}
.wa-hdr2{
  background:#075e54;
  padding:10px 14px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.wa-back{font-size:1rem;color:#fff;opacity:0.8;letter-spacing:-0.5px;}
.wa-av2{
  width:32px;height:32px;border-radius:50%;
  background:#25d366;display:flex;align-items:center;justify-content:center;
  font-size:0.6rem;font-weight:600;color:#fff;flex-shrink:0;
}
.wa-hdr-text{flex:1;}
.wa-name2{font-size:0.8rem;font-weight:600;color:#fff;line-height:1.2;}
.wa-sub2{font-size:0.62rem;color:rgba(255,255,255,0.7);}
.wa-hdr-icons{font-size:0.9rem;color:rgba(255,255,255,0.8);letter-spacing:4px;}
.wa-body2{
  flex:1;
  overflow-y:auto;
  padding:10px 10px 6px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:6px;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.wa-date-pill{
  align-self:center;
  background:rgba(255,255,255,0.75);
  font-size:0.65rem;
  color:#667781;
  padding:3px 10px;
  border-radius:8px;
  margin-bottom:2px;
}
.wa-msg{
  max-width:80%;
  padding:6px 8px 4px;
  border-radius:8px;
  font-size:0.72rem;
  line-height:1.45;
  position:relative;
  display:none;
  word-break:break-word;
}
.wa-msg.visible{display:flex;flex-direction:column;animation:waFadeIn 0.3s ease forwards;}
@keyframes waFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.wa-sent{
  background:#d9fdd3;
  color:#111;
  align-self:flex-end;
  border-bottom-right-radius:2px;
}
.wa-recv{
  background:#fff;
  color:#111;
  align-self:flex-start;
  border-bottom-left-radius:2px;
}
.wa-msg-text{display:block;padding-right:48px;}
.wa-sender-name{font-size:0.65rem;font-weight:600;color:#25d366;margin-bottom:2px;}
.wa-time{
  font-size:0.58rem;color:#667781;
  position:absolute;bottom:4px;right:7px;
  white-space:nowrap;
}
.wa-tick{color:#53bdeb;}
.wa-img-msg{padding:3px 3px 18px;overflow:visible;}
.wa-img{
  display:block;width:100%;border-radius:6px;height:auto;max-height:none;
}
.wa-time-img{bottom:4px;right:7px;}
.wa-vid-wrap{position:relative;display:inline-block;width:100%;}
.wa-play-btn{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:36px;height:36px;border-radius:50%;
  background:rgba(0,0,0,0.45);
  display:flex;align-items:center;justify-content:center;
  font-size:0.9rem;color:#fff;
}
.wa-duration{
  position:absolute;bottom:6px;left:6px;
  font-size:0.6rem;color:#fff;
  background:rgba(0,0,0,0.4);
  padding:1px 5px;border-radius:4px;
}
.wa-link{color:#027eb5;text-decoration:underline;}
.wa-body2::-webkit-scrollbar{display:none;}
.wa-input2{
  background:#f0f2f5;
  padding:8px 10px;
  display:flex;align-items:center;gap:8px;
  flex-shrink:0;
  border-top:1px solid rgba(0,0,0,0.08);
}
.wa-input-bar2{
  flex:1;background:#fff;border-radius:20px;
  padding:7px 12px;font-size:0.65rem;color:#8696a0;
}
.wa-input-icons2{font-size:1rem;color:#8696a0;}

/* ── CONTACT FORM ─────────────────────────────────────────────────────── */
.cc-form { width: 100%; max-width: 680px; margin: 0 0 2rem; }
.cc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.cc-form-group { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1rem; }
.cc-form-row .cc-form-group { margin-bottom: 0; }
.cc-label { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
.cc-req { color: var(--green); }
.cc-input { background: #1a1a1a; border: 1px solid rgba(255,255,255,0.15); border-radius: 6px; padding: 0.75rem 1rem; font-family: 'DM Sans', sans-serif; font-size: 0.9rem; color: #fff; outline: none; transition: border-color 0.2s, background 0.2s; width: 100%; appearance: none; -webkit-appearance: none; }
.cc-input::placeholder { color: rgba(255,255,255,0.25); }
.cc-input:focus { border-color: var(--green); background: #222222; }
.cc-select { cursor: pointer; background-color: #1a1a1a; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.35)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; color-scheme: dark; }
.cc-select option { background: #1a1a1a; color: #fff; }
.cc-input[type="date"] { color-scheme: dark; background-color: #1a1a1a; }
.cc-textarea { resize: vertical; min-height: 90px; line-height: 1.6; }
.cc-submit { margin-top: 0.5rem; width: 100%; justify-content: center; font-size: 1rem; padding: 0.9rem 2rem; }
.cc-form-note { font-size: 0.85rem; color: rgba(255,255,255,0.35); margin-top: 1.5rem; }
.contact-email-inline { color: rgba(255,255,255,0.7); text-decoration: underline; text-underline-offset: 3px; transition: color 0.15s; }
.contact-email-inline:hover { color: var(--green); }
@media(max-width:600px) { .cc-form-row { grid-template-columns: 1fr; } }

/* GALLERY SPLIT BLOCK */
.gallery-split{display:grid;grid-template-columns:1fr 1fr;min-height:520px;}
.gallery-split-lhs{padding:3rem;display:flex;flex-direction:column;justify-content:center;}
.gallery-split-rhs{overflow:hidden;min-height:400px;}
.gallery-feats{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-top:1.75rem;}
.gfeat{background:var(--bg-mid);border:1px solid var(--bdr);border-radius:8px;padding:1.25rem 1.5rem;transition:border-color 0.15s,box-shadow 0.15s;}
.gfeat:hover{border-color:var(--green);box-shadow:0 4px 16px rgba(37,211,102,0.08);}
.gfeat-title{font-family:'Fraunces',serif;font-size:0.95rem;font-weight:400;color:var(--text-1);margin-bottom:0.25rem;letter-spacing:-0.01em;}
.gfeat-body{font-size:0.85rem;line-height:1.7;color:var(--text-2);}
@media(max-width:960px){
  .gallery-split{grid-template-columns:1fr;}
  .gallery-split-rhs{min-height:300px;max-height:400px;}
  .gallery-feats{grid-template-columns:1fr;}
}

/* PROMO CODE */
.cc-promo-row{display:flex;gap:0.5rem;}
.cc-promo-input{flex:1;}
.cc-promo-btn{padding:0.75rem 1.25rem;white-space:nowrap;flex-shrink:0;font-size:0.875rem;background:transparent;color:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.2);}
.cc-promo-btn:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.4);color:#fff;transform:none;}
.cc-promo-result{font-size:0.85rem;margin-top:0.4rem;min-height:1.1rem;line-height:1.5;}
.cc-promo-result.success{color:var(--green);}
.cc-promo-result.error{color:#f87171;}
.cc-promo-applied{font-size:0.75rem;color:var(--green);margin-top:0.3rem;font-weight:600;}
.cc-pay-price-original{font-size:0.85rem;color:var(--text-3);text-decoration:line-through;text-align:right;}

/* PAYMENT STEP */
.cc-form-step1{transition:opacity 0.25s;}
.cc-form-step1.hidden{display:none;}
.cc-pay-panel{opacity:0;transform:translateY(12px);transition:opacity 0.3s,transform 0.3s;}
.cc-pay-panel.hidden{display:none;}
.cc-pay-panel.active{opacity:1;transform:translateY(0);}
.cc-back-btn{background:none;border:none;color:var(--text-2);font-size:0.85rem;cursor:pointer;padding:0 0 1.5rem;display:block;transition:color 0.15s;font-family:'DM Sans',sans-serif;}
.cc-back-btn:hover{color:var(--text-1);}
.cc-pay-summary{
  background:var(--bg-card);border:1px solid var(--bdr);border-radius:8px;
  padding:1.25rem 1.5rem;margin-bottom:1.5rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
}
.cc-pay-summary-label{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-3);margin-bottom:0.3rem;}
.cc-pay-summary-name{font-size:1rem;font-weight:600;color:var(--text-1);}
.cc-pay-summary-sub{font-size:0.82rem;color:var(--text-2);margin-top:0.15rem;}
.cc-pay-price-amount{font-family:'Fraunces',serif;font-size:1.75rem;font-weight:700;color:var(--text-1);text-align:right;}
.cc-pay-price-sub{font-size:0.72rem;color:var(--text-3);text-align:right;margin-top:0.1rem;}
.cc-pay-element{margin-bottom:1.25rem;}
.cc-pay-error{color:#f87171;font-size:0.85rem;margin-bottom:0.75rem;min-height:1.1rem;}

/* TESTIMONIALS */
.testimonials{background:var(--bg-dark);padding:6rem 0;overflow:hidden;}
.tmt-heading{max-width:1100px;margin:0 auto;padding:0 4rem 3rem;}
.testimonials .tag{color:var(--green);}
.testimonials h2{color:#fff;}
.tmt-outer{overflow:hidden;}
.tmt-track{display:flex;gap:1.25rem;width:max-content;animation:tmt-scroll 42s linear infinite;}
.tmt-track:hover{animation-play-state:paused;}
@keyframes tmt-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.tmt-card{
  width:320px;flex-shrink:0;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;padding:2rem;
  transition:border-color 0.2s;
}
.tmt-card:hover{border-color:var(--green-bdr);}
.tmt-quote{
  font-family:'Fraunces',serif;font-size:0.95rem;line-height:1.8;
  color:rgba(255,255,255,0.82);font-style:italic;margin-bottom:1.5rem;
}
.tmt-attr{display:flex;align-items:center;gap:0.75rem;}
.tmt-avatar{
  width:36px;height:36px;border-radius:50%;
  background:var(--green-dim);border:1px solid var(--green-bdr);
  display:flex;align-items:center;justify-content:center;
  font-size:0.6rem;font-weight:600;color:var(--green);flex-shrink:0;
  font-family:'DM Sans',sans-serif;
}
.tmt-name{font-size:0.85rem;font-weight:600;color:#fff;}
.tmt-role{font-size:0.75rem;color:rgba(255,255,255,0.38);margin-top:0.15rem;}
@media(max-width:960px){
  .tmt-heading{padding:0 1.5rem 2.5rem;}
  .tmt-card{width:280px;}
}
