/* ===== Cinco — Private Wine Tastings, Sitges ===== */

:root{
  --ink: #130f0d;
  --ink-2: #1d1713;
  --ink-3: #27201a;
  --cream: #f5ecd9;
  --cream-dim: #e3d6b8;
  --cream-faint: rgba(245,236,217,0.6);
  --garnet: #7c1831;
  --garnet-bright: #a8243f;
  --gold: #cda45e;
  --gold-dim: #8a713f;
  --olive: #7c8a5e;

  --serif: "Instrument Serif", Georgia, serif;
  --sans: "Bricolage Grotesque", -apple-system, BlinkMacSystemFont, sans-serif;

  --container: 1240px;
  --pad: clamp(1.25rem, 4vw, 3.5rem);

  --ease: cubic-bezier(.19,1,.22,1);
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--ink);
  color: var(--cream);
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration: none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3{ font-family: var(--serif); font-weight:400; margin:0; letter-spacing:-0.01em; }
p{ margin:0; }
::selection{ background: var(--garnet-bright); color: var(--cream); }

.progress-bar{
  position: fixed; top:0; left:0; height:2px; width:0%;
  background: linear-gradient(90deg, var(--gold), var(--garnet-bright));
  z-index: 9998;
}

.grain{
  position: fixed; inset:0; z-index:5; pointer-events:none; opacity:.05; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== Header ===== */
.site-header{
  position: fixed; top:0; left:0; right:0; z-index: 100;
  padding: 1.1rem 0;
  transition: background .4s, padding .4s, border-color .4s;
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled{
  background: rgba(19,15,13,0.82);
  backdrop-filter: blur(10px);
  padding: .7rem 0;
  border-color: rgba(245,236,217,0.08);
}
.header-inner{
  max-width: var(--container); margin: 0 auto; padding: 0 var(--pad);
  display:flex; align-items:center; justify-content:space-between;
}
.brand{ display:flex; align-items:center; gap:.6rem; }
.brand-mark{
  width: 34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  font-family: var(--serif); font-size: 1.1rem; color: var(--gold);
}
.brand-mark.small{ width:28px; height:28px; font-size:.95rem; }
.brand-mark svg{ width: 24px; height: 28px; display:block; }
.brand-mark.small svg{ width: 20px; height: 24px; }
.brand-name{
  font-family: var(--serif); font-size: clamp(1rem, 2.6vw, 1.35rem); letter-spacing: .02em; color: var(--cream);
  white-space: nowrap;
}
.brand-name em{ font-style: italic; color: var(--gold); }
.main-nav{ display:flex; align-items:center; gap: 2.1rem; }
.main-nav a{
  font-size: .86rem; letter-spacing: .03em; color: var(--cream-dim);
  position: relative; padding: .2rem 0; transition: color .25s;
  display:inline-flex; align-items:center;
}
.main-nav a:not(.nav-whatsapp)::after{
  content:""; position:absolute; left:0; bottom:-2px; width:0; height:1px; background: var(--gold);
  transition: width .3s var(--ease);
}
.main-nav a:not(.nav-whatsapp):hover{ color: var(--cream); }
.main-nav a:not(.nav-whatsapp):hover::after{ width:100%; }
.main-nav a.is-active{ color: var(--cream); }

.nav-grape-icon{
  width:13px; height:15px; margin-right:0; fill: var(--garnet-bright);
  opacity:0; transform: scale(.4); transform-origin:center;
  transition: opacity .3s var(--ease), transform .3s var(--ease), margin-right .3s var(--ease);
}
.main-nav a.is-active .nav-grape-icon{ opacity:1; transform: scale(1); margin-right:.4rem; }

.nav-whatsapp{
  display:flex; align-items:center; justify-content:center;
  width: 34px; height: 34px; border-radius:50%;
  background: #25D366; color: #fff !important;
  transition: background .25s, transform .25s;
}
.nav-whatsapp svg{ width:17px; height:17px; }
.nav-whatsapp:hover{ background: #1ebd5a; transform: scale(1.08); }

/* ===== Mobile tabbar ===== */
.mobile-tabbar{ display:none; }

/* ===== Back to top ===== */
.back-to-top{
  position: fixed; right: 1.4rem; bottom: 1.4rem; z-index: 90;
  width:44px; height:44px; border-radius:50%;
  background: var(--garnet-bright); color: var(--cream);
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 24px -8px rgba(0,0,0,.5);
  opacity:0; transform: translateY(12px); pointer-events:none;
  transition: opacity .3s, transform .3s, background .25s;
}
.back-to-top:hover{ background: var(--garnet); }
.back-to-top.is-visible{ opacity:1; transform:translateY(0); pointer-events:auto; }
.back-to-top svg{ width:18px; height:18px; }

/* ===== Hero ===== */
.hero{
  position:relative; height:100svh; min-height:560px; overflow:hidden;
  display:flex; align-items:flex-end;
}
.hero-media{ position:absolute; inset:-5% -5% -5% -5%; }
.hero-media img{ width:100%; height:100%; object-fit:cover; filter: brightness(1.25) saturate(1.05); }
.hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(19,15,13,.32) 0%, rgba(19,15,13,.1) 32%, rgba(19,15,13,.38) 68%, rgba(19,15,13,.9) 100%);
}
.hero-glints span{
  position:absolute; width:2px; height:2px; background: var(--gold); border-radius:50%;
  opacity:.7; box-shadow: 0 0 8px 2px var(--gold);
  animation: glint 3.6s ease-in-out infinite;
}
.hero-glints span:nth-child(1){ top:18%; left:12%; animation-delay:0s; }
.hero-glints span:nth-child(2){ top:30%; left:78%; animation-delay:.6s; }
.hero-glints span:nth-child(3){ top:58%; left:22%; animation-delay:1.3s; }
.hero-glints span:nth-child(4){ top:68%; left:85%; animation-delay:2s; }
.hero-glints span:nth-child(5){ top:12%; left:50%; animation-delay:2.6s; }
@keyframes glint{ 0%,100%{ opacity:0; transform:scale(.4);} 50%{ opacity:.85; transform:scale(1);} }

.hero-content{
  position:relative; z-index:2; max-width: var(--container); margin: 0 auto; padding: 0 var(--pad) 6.5rem;
  width:100%;
}
.hero-title{
  font-size: clamp(2.6rem, 7vw, 6.2rem); line-height: .98; color: var(--cream);
}
.hero-title em{ font-style: italic; color: var(--gold); }
.hero-sub{
  max-width: 540px; margin-top: 1.6rem; font-size: 1.1rem; color: var(--cream-dim); line-height:1.6;
}
.hero-actions{ display:flex; gap:1rem; margin-top: 2.4rem; flex-wrap:wrap; }

.split-lines span{ display:block; overflow:hidden; }

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: .95rem 1.9rem; border-radius: 999px; font-size: .9rem; letter-spacing:.02em;
  transition: transform .3s var(--ease), background .3s, color .3s, border-color .3s;
}
.btn-primary{ background: var(--garnet-bright); color: var(--cream); border: 1px solid var(--garnet-bright); }
.btn-primary:hover{ background: var(--garnet); transform: translateY(-2px); }
.btn-ghost{ border: 1px solid var(--cream-faint); color: var(--cream); }
.btn-ghost:hover{ border-color: var(--gold); color: var(--gold); transform: translateY(-2px); }
.btn-large{ padding: 1.15rem 2.6rem; font-size: 1rem; margin-top: 2.2rem; }

.scroll-cue{
  position:absolute; bottom: 2rem; left:50%; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  font-size: .72rem; letter-spacing:.18em; text-transform:uppercase; color: var(--cream-faint);
}
.scroll-cue span{
  width:1px; height:34px; background: linear-gradient(180deg, var(--gold), transparent);
  animation: cue 1.8s ease-in-out infinite;
}
@keyframes cue{ 0%{ transform:scaleY(0); transform-origin:top;} 50%{ transform:scaleY(1); transform-origin:top;} 50.01%{ transform-origin:bottom;} 100%{ transform:scaleY(0); transform-origin:bottom;} }

/* ===== Marquee ===== */
.marquee{
  border-top:1px solid rgba(245,236,217,.1); border-bottom:1px solid rgba(245,236,217,.1);
  overflow:hidden; white-space:nowrap; padding: 1rem 0; background: var(--ink-2);
}
.marquee-track{ display:inline-flex; gap: .9rem; animation: scroll-left 26s linear infinite; }
.marquee-track span{ font-family: var(--serif); font-style: italic; font-size: 1.3rem; color: var(--cream-dim); }
@keyframes scroll-left{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }

/* ===== Sections shared ===== */
section{ position:relative; }
.section-number{
  display:inline-block; font-family: var(--serif); font-style: italic; font-size: 1rem; color: var(--gold);
  border: 1px solid var(--gold-dim); border-radius: 999px; padding: .25rem .9rem; margin-bottom: 1.4rem;
}
.section-number--light{ color: var(--garnet-bright); border-color: var(--garnet); }
.section-head{ max-width: var(--container); margin: 0 auto; padding: 0 var(--pad); }
.section-head h2{ font-size: clamp(2rem, 4vw, 3.2rem); margin-bottom: .9rem; }
.section-head p{ max-width: 560px; color: var(--cream-dim); font-size: 1.05rem; }
.section-head--light h2, .section-head--light p{ color: var(--ink); }
.section-head--light p{ color: #4a3f33; }

/* ===== Intro ===== */
.intro{ padding: 7.5rem 0 6rem; }
.intro-inner{ max-width: 800px; margin: 0 auto; padding: 0 var(--pad); }
.intro-lead{ font-family: var(--serif); font-size: clamp(1.6rem, 3vw, 2.3rem); line-height:1.35; color: var(--cream); }
.intro-body{ margin-top: 1.6rem; font-size: 1.08rem; color: var(--cream-dim); line-height:1.75; }
.intro-facts{ display:flex; gap: 3rem; margin-top: 3.2rem; flex-wrap:wrap; }
.fact{ display:flex; flex-direction:column; gap:.3rem; }
.fact-num{ font-family: var(--serif); font-size: 2.6rem; color: var(--gold); line-height:1; }
.fact-label{ font-size: .82rem; color: var(--cream-faint); letter-spacing:.02em; }
.intro-inner .exp-copy{ margin-top: 3.2rem; }
.exp-copy h2{ font-size: clamp(1.9rem, 3.4vw, 2.7rem); margin: 0 0 1.6rem; }
.included-list li{
  padding: 1rem 0; border-top: 1px solid rgba(245,236,217,.12); font-size: 1.03rem; color: var(--cream-dim);
}
.included-list li:last-child{ border-bottom: 1px solid rgba(245,236,217,.12); }
.included-list li span{ color: var(--gold); font-family: var(--serif); font-style:italic; margin-right:.4rem; }
.exp-note{ margin-top: 1.8rem; color: var(--cream-faint); line-height:1.7; font-size: .98rem; }

/* ===== Veronica (light panel) ===== */
.veronica{ background: var(--cream); color: var(--ink); padding: 7.5rem 0; }
.veronica-inner{
  max-width: var(--container); margin:0 auto; padding: 0 var(--pad);
  display:grid; grid-template-columns: .85fr 1.15fr; gap: 4.5rem; align-items:center;
}
.veronica-media{ position:relative; }
.veronica-media img{ border-radius: 20px; width:100%; aspect-ratio: 3/3.6; object-fit:cover; }
.veronica-badge{
  position:absolute; bottom:-1.2rem; right:-1.2rem; background: var(--garnet-bright); color: var(--cream);
  border-radius:50%; width:108px; height:108px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  box-shadow: 0 20px 40px -14px rgba(124,24,49,.6);
}
.veronica-badge span{ font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.veronica-badge strong{ font-family: var(--serif); font-size:1.3rem; margin-top:.1rem; }
.veronica-copy h2{ font-size: clamp(1.9rem, 3.4vw, 2.8rem); color: var(--ink); margin-bottom: 1.3rem; }
.veronica-copy p{ color:#4a3f33; line-height:1.75; margin-bottom: 1.1rem; font-size:1.02rem; }

/* ===== Groups ===== */
.groups{ padding: 7.5rem 0 6.5rem; background: var(--cream); color: var(--ink); }
.groups-grid{
  max-width: var(--container); margin: 3.5rem auto 0; padding: 0 var(--pad);
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 1.8rem;
}
.group-card{ perspective: 800px; }
.group-media{ border-radius:18px; overflow:hidden; aspect-ratio: 4/3.3; }
.group-media img{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.group-card:hover .group-media img{ transform: scale(1.07); }
.group-card h3{ font-size: 1.35rem; margin: 1.2rem 0 .5rem; color: var(--ink); }
.group-card p{ color: #4a3f33; font-size: .96rem; line-height:1.6; }

/* ===== Pricing ===== */
.pricing{ padding: 7.5rem 0 6.5rem; }
.pricing-grid{
  max-width: var(--container); margin: 3.5rem auto 0; padding: 0 var(--pad);
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 1.8rem;
}
.price-card{
  perspective: 800px; position:relative;
  background: var(--ink-2); border: 1px solid rgba(245,236,217,.1);
  border-radius: 22px; padding: 2.4rem 2.2rem;
  display:flex; flex-direction:column;
}
.price-card--featured{
  background: linear-gradient(165deg, var(--ink-3), var(--ink-2));
  border-color: var(--gold-dim);
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.5);
}
.price-badge{
  position:absolute; top:-.75rem; right: 2.2rem;
  background: var(--garnet-bright); color: var(--cream);
  font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.4rem .9rem; border-radius: 999px;
}
.price-card h3{ font-size: 1.5rem; color: var(--cream); margin-bottom: .7rem; }
.price-tagline{ color: var(--cream-dim); font-size: .96rem; line-height:1.6; min-height: 3.2em; }
.price-figure{ display:flex; align-items:baseline; gap: .6rem; margin-top: 1.6rem; }
.price-amount{ font-family: var(--serif); font-size: clamp(2.2rem, 3.6vw, 2.8rem); color: var(--gold); }
.price-period{ font-size: .82rem; color: var(--cream-faint); letter-spacing:.02em; }
.price-extra{ margin-top: .3rem; font-size: .88rem; color: var(--cream-faint); }
.pricing-note{ margin-top: .9rem; font-size: .84rem; color: var(--cream-faint); letter-spacing:.02em; }
.price-includes{ margin-top: 1.6rem; margin-bottom: 2rem; }
.price-includes li{
  padding: .65rem 0; border-top: 1px solid rgba(245,236,217,.1);
  font-size: .94rem; color: var(--cream-dim); line-height:1.5;
}
.price-includes li:last-child{ border-bottom: 1px solid rgba(245,236,217,.1); }
.price-card .btn{ margin-top:auto; align-self:flex-start; }
.faq-item p a{ color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }

/* ===== Reviews ===== */
.reviews{ padding: 7.5rem 0 6.5rem; background: var(--cream); color: var(--ink); }
.reviews-grid{
  max-width: var(--container); margin: 3.5rem auto 0; padding: 0 var(--pad);
  display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem;
}
.review-card{
  perspective: 800px;
  background: var(--ink); color: var(--cream);
  border-radius: 20px; padding: 1.9rem 1.6rem;
  display:flex; flex-direction:column; gap: 1.1rem;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.4);
}
.review-stars{ color: var(--gold); font-size: .95rem; letter-spacing: .15em; }
.review-title{ font-family: var(--serif); font-size: 1.1rem; color: var(--cream); margin:0; }
.review-text{ font-size: .94rem; line-height:1.6; color: var(--cream-dim); }
.review-text.is-collapsible{
  max-height: 6.4em; overflow:hidden; position:relative; flex:none;
  transition: max-height .4s var(--ease);
}
.review-text.is-collapsible::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2.4em;
  background: linear-gradient(to bottom, transparent, var(--ink));
  transition: opacity .3s;
}
.review-text.is-collapsible.is-expanded{ max-height: 40em; }
.review-text.is-collapsible.is-expanded::after{ opacity:0; }
.review-toggle{
  align-self:flex-start; background:none; border:0; padding:0; cursor:pointer;
  font-size:.82rem; color: var(--gold); letter-spacing:.03em;
  text-decoration:underline; text-underline-offset:3px; transition: color .25s;
}
.review-toggle:hover{ color: var(--cream); }
.reviews-source-label{
  display:block; text-align:center; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase;
  color: var(--gold-dim); margin: 0 0 1.4rem;
}
.reviews-source-label--second{ margin-top: 3.5rem; }
.review-author{
  display:flex; align-items:baseline; justify-content:space-between; gap:.6rem;
  padding-top: 1rem; border-top: 1px solid rgba(245,236,217,.12);
  margin-top: auto;
}
.review-name{ font-family: var(--serif); font-size: 1.02rem; color: var(--cream); }
.review-meta{ font-size: .72rem; color: var(--cream-faint); white-space:nowrap; }
.reviews-google-link{
  display:flex; align-items:center; justify-content:center; gap:.6rem;
  width: fit-content; margin: 3rem auto 0;
  font-size:.92rem; color:#4a3f33; transition: color .25s;
}
.reviews-google-link svg{ width:20px; height:20px; flex-shrink:0; }
.reviews-google-link:hover{ color: var(--garnet-bright); }

/* ===== FAQ ===== */
.faq{ background: var(--ink); padding: 7.5rem 0 6.5rem; }
.faq-list{ max-width: 760px; margin: 3rem auto 0; padding: 0 var(--pad); }
.faq-item{ border-top: 1px solid rgba(245,236,217,.12); padding: 1.4rem 0; }
.faq-list .faq-item:last-child{ border-bottom: 1px solid rgba(245,236,217,.12); }
.faq-item summary{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-family: var(--serif); font-size: 1.15rem; color: var(--cream);
  cursor:pointer; list-style:none;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+"; font-family: var(--sans); font-size:1.5rem; line-height:1; color: var(--gold);
  flex-shrink:0; transition: transform .3s var(--ease);
}
.faq-item[open] summary::after{ transform: rotate(45deg); }
.faq-item p{ margin-top: 1rem; color: var(--cream-dim); line-height:1.7; font-size:.98rem; max-width:620px; }

/* ===== CTA ===== */
.cta{ padding: 8rem 0 7rem; text-align:center; background: var(--ink-2); }
.cta-inner{ max-width: 640px; margin:0 auto; padding: 0 var(--pad); }
.cta h2{ font-size: clamp(2.2rem, 5vw, 3.6rem); margin-bottom: 1.1rem; }
.cta p{ color: var(--cream-dim); font-size:1.08rem; line-height:1.7; }
.cta-links{ display:flex; justify-content:center; gap: 2.4rem; flex-wrap:wrap; margin-top: 3rem; }
.cta-link{ display:flex; flex-direction:column; gap:.3rem; }
.cta-link-label{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color: var(--gold); }
.cta-link-value{ font-size:1.02rem; color: var(--cream); border-bottom: 1px solid transparent; transition: border-color .25s; }
.cta-link:hover .cta-link-value{ border-color: var(--gold); }

.enquiry-form{
  margin: 3rem auto 0; max-width: 560px; text-align:left;
  display:flex; flex-direction:column; gap: 1.5rem;
}
.form-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.enquiry-form label{
  display:flex; flex-direction:column; gap:.5rem;
  font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color: var(--cream-faint);
}
.enquiry-form input, .enquiry-form select, .enquiry-form textarea{
  font-family: var(--sans); font-size: 1rem; color: var(--cream); background: transparent;
  border:0; border-bottom: 1px solid rgba(245,236,217,.25); border-radius:0; padding: .6rem .1rem;
  transition: border-color .25s; width:100%;
}
.enquiry-form select{ cursor:pointer; }
.enquiry-form select option{ color:#201810; }
.enquiry-form textarea{ resize:vertical; min-height:88px; line-height:1.5; }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus{
  outline:none; border-color: var(--gold);
}
.enquiry-form .btn{ align-self:flex-start; margin-top:.3rem; }
.form-status{ font-size:.95rem; color: var(--cream-dim); margin:0; display:none; }
.form-status:not(:empty){ display:block; }
.form-status.is-success{ color: var(--gold); font-family: var(--serif); font-size:1.3rem; }
.form-status.is-error{ color: var(--garnet-bright); }
.cta-links-intro{ margin-top: 3.5rem; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color: var(--cream-faint); }
.cta-links{ margin-top: 1rem; }

/* ===== Footer ===== */
.site-footer{ padding: 3rem 0; border-top: 1px solid rgba(245,236,217,.1); }
.footer-inner{ max-width: var(--container); margin:0 auto; padding: 0 var(--pad); display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.footer-inner p{ font-size:.85rem; color: var(--cream-faint); }
.footer-fine{ margin-left:auto; }

/* ===== Reveal animation base ===== */
.reveal, .reveal-up{ opacity:0; transform: translateY(26px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in-view, .reveal-up.in-view{ opacity:1; transform: translateY(0); }

/* ===== Responsive ===== */
@media (max-width: 920px){
  .main-nav{ display:none; }
  .mobile-tabbar{
    display:flex; align-items:center; justify-content:space-between; gap:.6rem;
    position:fixed; left:0; right:0; bottom:0; z-index:100;
    background: rgba(19,15,13,.92); backdrop-filter: blur(10px);
    border-top: 1px solid rgba(245,236,217,.1);
    padding: .5rem var(--pad) calc(.5rem + env(safe-area-inset-bottom));
  }
  .tabbar-links{ display:flex; flex:1; justify-content:space-around; gap:.2rem; }
  .tabbar-links a{
    display:flex; flex-direction:column; align-items:center; gap:.25rem;
    font-size:.68rem; letter-spacing:.02em; color: var(--cream-dim); padding:.3rem .2rem;
  }
  .tabbar-links a.is-active{ color: var(--gold); }
  .tabbar-icon{ width:14px; height:16px; fill: var(--garnet-bright); opacity:0; transition: opacity .25s; }
  .tabbar-links a.is-active .tabbar-icon{ opacity:1; }
  .tabbar-whatsapp{
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    width:38px; height:38px; border-radius:50%;
    background:#25D366; color:#fff; margin-left:.4rem;
  }
  .tabbar-whatsapp svg{ width:19px; height:19px; }
  .back-to-top{ bottom: 86px; }
  body{ padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .veronica-inner{ grid-template-columns: 1fr; gap: 2.5rem; }
  .veronica-media{ max-width: 380px; margin: 0 auto; }
  .groups-grid{ grid-template-columns: 1fr; }
  .pricing-grid{ grid-template-columns: 1fr 1fr; }
  .reviews-grid{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 560px){
  .brand-name{ font-size: .8rem; }
  .intro-facts{ gap: 1.8rem; }
  .cta-links{ gap:1.6rem; }
  .pricing-grid{ grid-template-columns: 1fr; }
  .reviews-grid{ grid-template-columns: 1fr; }
  .form-row{ grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  html{ scroll-behavior:auto; }
}
