@font-face{
  font-family:'BellMore';
  src:url('../fonts/BellMore-Free.otf') format('opentype');
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}
:root{
  /* Verónica Sánchez — official brand palette */
  --wine: #681412;
  --wine-dark: #4b0e0d;
  --wine-soft: rgba(104,20,18,0.38);
  --near-black: #000000;
  --cream: #fbf0dd;
  --cream-2: #f2e8d5;
  --cream-soft: rgba(251,240,221,0.78);
  --ink: #000000;
  --ink-soft: rgba(0,0,0,0.62);
  --white: #ffffff;
  --max: 1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Jost', sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,.serif{
  font-family:'BellMore', serif;
  font-weight:500;
  margin:0;
  color:var(--wine-dark);
}
.script{ font-family:'Yellowtail', cursive; font-weight:400; line-height:1; }
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px; position:relative;}
.wrap.narrow{max-width:860px;}
.eyebrow{
  font-family:'Jost',sans-serif; font-size:12.5px; letter-spacing:0.32em;
  text-transform:uppercase; color:var(--wine); font-weight:500;
}
.divider{ width:46px;height:1px;background:var(--wine); margin:18px 0; }
.divider.center{margin-left:auto;margin-right:auto;}

.reveal{opacity:0; transform:translateY(28px); transition:opacity 0.9s ease, transform 0.9s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal.d1{transition-delay:0.12s;}
.reveal.d2{transition-delay:0.24s;}
.reveal.d3{transition-delay:0.36s;}

/* ---------- FLOURISH (decorative line-art, used on dark bands) ---------- */
.flourish{position:absolute; opacity:0.1; pointer-events:none; z-index:0; color:var(--cream-soft);}
.flourish svg{width:100%; height:100%; display:block;}
.flourish.br{right:-30px; bottom:-40px; width:220px; height:220px;}
.flourish.tl{left:-30px; top:-30px; width:180px; height:180px; transform:rotate(180deg);}

/* ---------- BRAND / MONOGRAM (real logo assets) ---------- */
.brand{display:inline-flex; align-items:center; gap:11px;}
.brand .mark{width:30px; height:30px; flex-shrink:0; object-fit:contain; display:block;}
.brand .word-mark{height:20px; width:auto; flex-shrink:0; object-fit:contain; display:block;}
footer .brand .mark{filter:brightness(0) invert(1);}
.brand.wordmark-brand .mark{width:auto; height:38px;}
footer .brand.wordmark-brand .mark{filter:brightness(0) invert(1);}

/* ---------- NAV ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:22px 0; transition:padding 0.4s ease, background 0.4s ease, box-shadow 0.4s ease;
}
header.scrolled{
  padding:13px 0; background:rgba(250,245,236,0.94); backdrop-filter:blur(10px);
  box-shadow:0 4px 24px rgba(75,14,13,0.06);
}
/* Home page loads on top of the dark hero — nav needs light text until the header scrolls to its cream background */
body.home-hero header:not(.scrolled) .brand .word-mark{filter:brightness(0) invert(1);}
body.home-hero header:not(.scrolled) .brand .mark{filter:brightness(0) invert(1);}
body.home-hero header:not(.scrolled) nav.links a{color:rgba(255,255,255,0.88);}
body.home-hero header:not(.scrolled) nav.links a.active{color:#fff;}
body.home-hero header:not(.scrolled) nav.links a::after{background:var(--cream-soft);}
body.home-hero header:not(.scrolled) .burger{color:#fff;}
.brand .word-mark, .brand .mark{transition:filter 0.35s ease;}
nav.links a, .burger{transition:color 0.35s ease;}
header .wrap{display:flex; align-items:center; justify-content:space-between;}
nav.links{display:flex; gap:30px; align-items:center;}
nav.links a{
  font-size:13px; letter-spacing:0.07em; text-transform:uppercase; color:var(--ink);
  position:relative; padding-bottom:4px; white-space:nowrap;
}
nav.links a::after{
  content:''; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--wine);
  transition:right 0.35s ease;
}
nav.links a:hover::after, nav.links a.active::after{right:0;}
nav.links a.active{color:var(--wine-dark);}
nav.links a.btn{color:var(--white);}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--wine); color:var(--white);
  padding:11px 22px; border-radius:2px;
  font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
  transition:background 0.35s ease, transform 0.35s ease, box-shadow .35s ease;
  border:1px solid var(--wine); cursor:pointer;
}
.btn:hover{background:var(--wine-dark); transform:translateY(-2px); box-shadow:0 10px 24px rgba(75,14,13,0.25);}
.btn.ghost{background:transparent; color:var(--wine-dark); border:1px solid var(--wine-soft);}
.btn.ghost:hover{background:var(--wine); border-color:var(--wine); color:#fff;}
.btn.block{width:100%; justify-content:center;}
.nav-cta{display:none;}
@media(min-width:900px){.nav-cta{display:inline-flex;}}
.burger{display:none; font-size:24px; color:var(--wine-dark); cursor:pointer; background:none; border:none;}
@media(max-width:899px){ nav.links{display:none;} .burger{display:block;} }
.mobile-panel{
  display:flex; flex-direction:column; gap:2px; max-height:0; overflow:hidden;
  background:var(--cream); transition:max-height 0.45s ease, box-shadow .45s ease;
}
.mobile-panel.open{max-height:520px; box-shadow:0 18px 30px -14px rgba(75,14,13,0.15);}
.mobile-panel a{
  padding:16px 32px; font-size:14.5px; letter-spacing:0.05em; text-transform:uppercase;
  border-top:1px solid var(--cream-2); color:var(--ink);
}
.mobile-panel a.active{color:var(--wine); font-weight:500;}
.mobile-panel a.btn{ margin:16px 32px 20px; text-align:center; border-top:none; justify-content:center; color:var(--white); }

/* ---------- PAGE HERO (interior pages) ---------- */
.page-hero{
  position:relative; padding:168px 0 70px; text-align:center; overflow:hidden;
}
.page-hero::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 620px 620px at 88% -6%, rgba(104,20,18,0.09), transparent 60%),
             radial-gradient(ellipse 500px 500px at 6% 96%, rgba(104,20,18,0.12), transparent 60%);
  z-index:0;
}
.page-hero .wrap{position:relative; z-index:1;}
.page-hero h1{font-size:clamp(38px,5.4vw,58px); line-height:1.1;}
.page-hero p.lead{
  max-width:600px; margin:20px auto 0; font-size:16px; line-height:1.85; color:var(--ink-soft); font-weight:300;
}
.crumb{font-size:12px; color:var(--ink-soft); margin-bottom:14px; letter-spacing:0.04em;}
.crumb a{color:var(--wine); border-bottom:1px solid var(--wine-soft);}

/* ---------- HERO DARK (home) ---------- */
.hero-dark{
  position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(150deg, var(--near-black) 0%, var(--wine-dark) 62%, #260706 100%);
  display:flex; flex-direction:column; justify-content:space-between;
  min-height:clamp(640px,88vh,860px);
}
/* one continuous full-bleed photo across the whole hero, with a dark scrim so the text stays legible */
.hero-dark .hero-art{position:absolute; inset:0; width:100%; height:100%; z-index:0; overflow:hidden;}
.hero-dark .hero-art .frame{position:relative; height:100%; width:100%; overflow:hidden;}
.hero-dark .hero-art img{width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block;}
.hero-dark .hero-art::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(100deg, var(--near-black) 0%, rgba(0,0,0,0.93) 20%, rgba(0,0,0,0.76) 36%, rgba(0,0,0,0.48) 52%, rgba(0,0,0,0.2) 66%, rgba(0,0,0,0.02) 80%, rgba(0,0,0,0) 90%);
}
.hero-dark .hero-art::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 18%, rgba(0,0,0,0) 62%, rgba(0,0,0,0.7) 90%, var(--near-black) 100%);
}
.hero-dark .wrap{position:relative; z-index:2;}
.hero-dark .hero-top{padding-top:150px;}
.hero-dark .hero-copy{max-width:560px; padding-bottom:44px;}
@media(max-width:900px){
  .hero-dark{min-height:0; justify-content:flex-start;}
  .hero-dark .hero-top{order:1; padding-top:110px;}
  .hero-dark .hero-art{position:relative; width:100%; height:auto; inset:auto; min-height:380px; order:2;}
  .hero-dark .hero-art img{object-position:62% 8%;}
  .hero-dark .hero-art::before{display:none;}
  .hero-dark .hero-art::after{background:linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.8) 100%);}
  .hero-dark > .wrap:last-of-type{order:3;}
}
.hero-dark .eyebrow{color:var(--cream-soft); display:flex; align-items:center; gap:10px;}
.hero-dark .eyebrow .ln{width:26px; height:1px; background:var(--cream-soft); display:inline-block;}
.hero-dark h1{
  color:#fff; font-size:clamp(44px,6.2vw,76px); line-height:1.03; margin-top:18px; letter-spacing:0.01em;
}
.hero-dark h1 em{font-style:italic; font-family:'Yellowtail',cursive; font-weight:400; color:var(--cream-soft);}
.hero-dark p.lead{color:rgba(255,255,255,0.72); font-size:16px; line-height:1.85; max-width:460px; margin:22px 0 32px; font-weight:300;}
.hero-dark .ctas{display:flex; gap:14px; flex-wrap:wrap;}
.hero-dark .ctas .btn.ghost{color:#fff; border-color:rgba(255,255,255,0.35);}
.hero-dark .ctas .btn.ghost:hover{background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.6);}

.stat-bar{
  position:relative; z-index:1; border-top:1px solid rgba(255,255,255,0.14);
  padding:30px 0; display:flex; gap:44px; flex-wrap:wrap;
}
.stat-bar .stat b{display:block; font-family:'BellMore',serif; font-size:24px; color:#fff; font-weight:600; line-height:1.1;}
.stat-bar .stat span{font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--cream-soft);}

/* ---------- SECTION generic ---------- */
section{padding:120px 0;}
@media(max-width:900px){section{padding:80px 0;}}
.section-head{max-width:640px; margin-bottom:60px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(32px,4vw,46px); line-height:1.15;}

/* ---------- ABOUT / TEXT+IMG BLOCKS ---------- */
.about{background:var(--white);}
.about .wrap{display:grid; grid-template-columns:0.85fr 1.15fr; gap:80px; align-items:center;}
.about.rev .wrap{grid-template-columns:1.15fr 0.85fr;}
.about.rev .about-art{order:2;} .about.rev .about-copy{order:1;}
@media(max-width:900px){
  .about .wrap, .about.rev .wrap{grid-template-columns:1fr; gap:40px;}
  .about .about-art, .about.rev .about-art{order:2;}
  .about .about-copy, .about.rev .about-copy{order:1;}
}
.about-art{position:relative;}
.about-art img{width:100%; border-radius:2px; box-shadow:0 30px 60px -28px rgba(45,15,20,0.3);}
.about-art .frame-border{ position:absolute; inset:20px -20px -20px 20px; border:1px solid var(--wine-soft); z-index:-1; }
.about.rev .about-art .frame-border{ inset:20px 20px -20px -20px; }
.about-credential{
  display:inline-flex; align-items:center; gap:10px; margin-top:28px; font-size:12.5px;
  letter-spacing:0.06em; color:var(--wine-dark); border-top:1px solid var(--cream-2); padding-top:18px;
}
.quote-line{
  font-family:'BellMore',serif; font-style:italic; font-weight:500;
  font-size:clamp(21px,2.4vw,26px); color:var(--wine-dark); line-height:1.5; margin:26px 0;
}
.about p.body{font-size:16px; line-height:1.9; color:var(--ink-soft); font-weight:300;}
.press-chip{
  display:flex; align-items:center; gap:14px; margin-top:34px; padding:14px 18px;
  background:var(--cream); border-left:2px solid var(--wine);
}
.press-chip img{width:44px; height:56px; object-fit:cover; border-radius:1px;}
.press-chip .t{font-size:12px; letter-spacing:0.04em; color:var(--ink-soft); line-height:1.6;}
.press-chip .t b{color:var(--wine-dark); font-weight:500;}
.press-chip a b{border-bottom:1px solid var(--wine); }

/* arched hero photo (sobre mí) */
.arch-photo{border-radius:220px 220px 4px 4px; overflow:hidden; box-shadow:0 40px 80px -30px rgba(45,15,20,0.35);}
.arch-photo img{width:100%; height:560px; object-fit:cover; object-position:top center;}
@media(max-width:900px){.arch-photo img{height:420px;}}

/* value pills */
.values{display:flex; gap:14px; flex-wrap:wrap; margin-top:30px;}
.value-pill{
  border:1px solid var(--wine-soft); padding:10px 18px; font-size:12.5px; letter-spacing:0.04em;
  color:var(--wine-dark); border-radius:20px;
}

/* ---------- PROCESS STEPS ---------- */
.process-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:34px; margin-top:14px;}
.about .process-grid{grid-column:1/-1;}
@media(max-width:860px){.process-grid{grid-template-columns:repeat(2,1fr); gap:38px;}}
@media(max-width:520px){.process-grid{grid-template-columns:1fr;}}
.process-step .num{font-family:'BellMore',serif; font-size:32px; color:var(--wine); font-weight:600; line-height:1;}
.process-step h4{margin-top:12px; font-size:16.5px; color:var(--wine-dark); font-family:'Jost',sans-serif; font-weight:500;}
.process-step p{margin-top:8px; font-size:13.5px; color:var(--ink-soft); line-height:1.75;}

/* ---------- FORMACIÓN grid (sobre mí) ---------- */
.info-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:34px; margin-top:10px; border-top:1px solid var(--cream-2); padding-top:40px;}
@media(max-width:860px){.info-grid{grid-template-columns:repeat(2,1fr); gap:36px;}}
@media(max-width:520px){.info-grid{grid-template-columns:1fr;}}
.info-item h4{font-size:15.5px; color:var(--wine-dark); font-family:'Jost',sans-serif; font-weight:500;}
.info-item p{margin-top:8px; font-size:13px; color:var(--ink-soft); line-height:1.7;}

/* ---------- LA CABINA grid ---------- */
.cabina-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.cabina-grid img{width:100%; height:280px; object-fit:cover; border-radius:2px; box-shadow:0 24px 50px -26px rgba(45,15,20,0.28);}
@media(max-width:700px){.cabina-grid{grid-template-columns:1fr;} .cabina-grid img{height:240px;}}

/* ---------- SERVICIOS DESTACADOS (home) ---------- */
.svc-feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
@media(max-width:860px){.svc-feature-grid{grid-template-columns:1fr; max-width:420px; margin:0 auto;}}
.svc-feature{display:block;}
.svc-feature .ph{aspect-ratio:1/1; overflow:hidden; border-radius:2px; box-shadow:0 24px 50px -26px rgba(45,15,20,0.3);}
.svc-feature .ph img{width:100%; height:100%; object-fit:cover; transition:transform .9s ease;}
.svc-feature:hover .ph img{transform:scale(1.06);}
.svc-feature .cat{font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--wine); margin-top:18px;}
.svc-feature h3{font-size:21px; margin-top:6px;}
.svc-feature p{font-size:14px; color:var(--ink-soft); margin-top:8px; line-height:1.7;}
.svc-feature .cta-link{margin-top:10px; display:inline-flex;}

.cta-link{
  align-items:center; gap:8px; font-size:12.5px;
  letter-spacing:0.06em; text-transform:uppercase; color:var(--wine-dark); border-bottom:1px solid var(--wine);
  padding-bottom:3px;
}

/* ---------- SERVICIOS: tabs + photo grid ---------- */
.cat-tabs{display:flex; gap:10px; flex-wrap:wrap; border-bottom:1px solid var(--cream-2); padding-bottom:26px;}
.cat-tab{
  background:transparent; border:1px solid var(--cream-2); color:var(--ink-soft); cursor:pointer;
  padding:11px 20px; font-size:12px; letter-spacing:0.06em; text-transform:uppercase;
  font-family:'Jost',sans-serif; transition:all .3s ease;
}
.cat-tab:hover{border-color:var(--wine);}
.cat-tab.active{background:var(--wine); border-color:var(--wine); color:#fff;}
.cat-block{padding-top:56px;}
.cat-block:first-of-type{padding-top:46px;}
.cat-block-head{display:flex; align-items:baseline; justify-content:space-between; gap:20px; border-bottom:1px solid var(--cream-2); padding-bottom:18px;}
.cat-block-head h2{font-size:clamp(24px,3vw,30px);}
.cat-block-head .count{font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--wine);}
.svc-photo-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:32px;}
@media(max-width:900px){.svc-photo-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.svc-photo-grid{grid-template-columns:1fr; max-width:340px; margin-left:auto; margin-right:auto;}}
.svc-photo-card{display:block;}
.svc-photo-card .ph{aspect-ratio:4/5; overflow:hidden; border-radius:2px; box-shadow:0 18px 40px -24px rgba(45,15,20,0.28);}
.svc-photo-card .ph img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease;}
.svc-photo-card:hover .ph img{transform:scale(1.07);}
.svc-photo-card h4{margin-top:14px; font-size:15.5px; color:var(--wine-dark); font-family:'Jost',sans-serif; font-weight:500;}
.svc-photo-card p{margin-top:6px; font-size:12.5px; color:var(--ink-soft); line-height:1.65;}
.svc-photo-card .cta-link{margin-top:8px; font-size:11px; display:inline-flex;}
.svc-intro-art{margin-bottom:10px;}
.svc-intro-art img{width:100%; max-height:420px; object-fit:cover; border-radius:2px;}

/* ---------- FAQ ---------- */
.faq{margin-top:6px; border-top:1px solid var(--cream-2);}
.faq-item{border-bottom:1px solid var(--cream-2);}
.faq-item summary{
  list-style:none; cursor:pointer; padding:24px 4px; display:flex; justify-content:space-between; align-items:center;
  gap:20px; font-family:'BellMore',serif; font-size:19px; color:var(--wine-dark); font-weight:600;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{font-family:'Jost',sans-serif; font-size:22px; color:var(--wine); transition:transform .3s ease; flex-shrink:0;}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item p{margin:0 4px 24px; font-size:14.5px; color:var(--ink-soft); line-height:1.85; max-width:760px;}

/* ---------- BEFORE / AFTER SLIDER ---------- */
.ba-section{background:var(--cream);}
.ba-row{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media(max-width:760px){.ba-row{grid-template-columns:1fr; max-width:380px; margin:0 auto;}}
.ba-card{position:relative;}
.ba-slider{
  position:relative; width:100%; aspect-ratio:7/4;
  border-radius:3px; overflow:hidden; box-shadow:0 40px 80px -32px rgba(45,15,20,0.35);
  cursor:ew-resize; user-select:none; -webkit-user-select:none; touch-action:pan-y;
  background:#000;
}
.ba-slider.sm{aspect-ratio:1/1; box-shadow:0 20px 44px -24px rgba(45,15,20,0.32);}
.ba-slider img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none;
  -webkit-user-drag:none;
}
.ba-after{z-index:1;}
.ba-before-wrap{ position:absolute; inset:0; width:50%; overflow:hidden; z-index:2; }
.ba-before-wrap img{ width:var(--ba-w, 640px); max-width:none; height:100%; }
.ba-divider{
  position:absolute; top:0; bottom:0; left:50%; width:2px; background:rgba(255,255,255,0.85);
  z-index:3; transform:translateX(-50%); box-shadow:0 0 12px rgba(0,0,0,0.35);
}
.ba-handle{
  position:absolute; top:50%; left:50%; width:52px; height:52px; border-radius:50%;
  background:var(--cream); border:2px solid #fff; transform:translate(-50%,-50%);
  z-index:4; display:flex; align-items:center; justify-content:center; gap:3px;
  box-shadow:0 10px 26px rgba(0,0,0,0.35); transition:box-shadow .25s ease;
}
.ba-slider.sm .ba-handle{width:36px; height:36px;}
.ba-handle:hover, .ba-slider:active .ba-handle{box-shadow:0 10px 30px rgba(0,0,0,0.5);}
.ba-handle svg{width:16px; height:16px; fill:var(--wine-dark);}
.ba-slider.sm .ba-handle svg{width:13px; height:13px;}
.ba-label{
  position:absolute; top:16px; z-index:4; font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:#fff; background:rgba(30,10,14,0.45); padding:6px 12px; border-radius:20px; backdrop-filter:blur(3px);
}
.ba-slider.sm .ba-label{top:auto; bottom:12px; font-size:9.5px; padding:4px 10px;}
.ba-label-left{left:16px;} .ba-label-right{right:16px;}
.ba-slider.sm .ba-label-left{left:12px;} .ba-slider.sm .ba-label-right{right:12px;}
.ba-caption{ text-align:center; margin-top:22px; font-size:13px; color:var(--ink-soft); letter-spacing:0.03em; }
.ba-caption b{color:var(--wine-dark);}
.ba-card .ba-caption{margin-top:16px; font-size:12px; letter-spacing:0.08em; text-transform:uppercase;}
.ba-hint{ text-align:center; margin-top:8px; font-size:11.5px; color:var(--wine); letter-spacing:0.1em; text-transform:uppercase; }
.ba-placeholder{
  aspect-ratio:1/1; border:1px dashed var(--wine-soft); border-radius:3px; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; padding:24px; gap:12px; background:var(--cream-2);
}
.ba-placeholder p{font-size:13px; color:var(--ink-soft); line-height:1.7; margin:0;}
.ba-placeholder .cta-link{font-size:11.5px;}

/* ---------- PHILOSOPHY BAND ---------- */
.philosophy{ position:relative; background:var(--wine-dark); color:var(--cream); padding:140px 0; overflow:hidden; text-align:center; }
.philosophy::before{
  content:'VS'; position:absolute; font-family:'BellMore',serif; font-weight:600;
  font-size:min(60vw,760px); color:rgba(255,255,255,0.035); top:50%; left:50%;
  transform:translate(-50%,-52%); line-height:1; white-space:nowrap; pointer-events:none;
}
.philosophy .wrap{position:relative; z-index:1;}
.philosophy .eyebrow{color:var(--cream-soft);}
.philosophy blockquote{
  font-family:'BellMore',serif; font-style:italic; font-weight:500;
  font-size:clamp(28px,4.6vw,52px); line-height:1.35; margin:26px auto 0; max-width:820px; color:#fff;
}
.philosophy .sub{ margin-top:34px; font-family:'Yellowtail',cursive; font-size:30px; color:var(--cream-soft); }
.philosophy .btn{margin-top:36px;}

/* ---------- REVIEWS ---------- */
.reviews{background:var(--white);}
.review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media(max-width:860px){.review-grid{grid-template-columns:1fr;}}
.review-card{
  background:var(--cream); padding:32px 28px; border-radius:2px; position:relative;
  border-top:2px solid var(--wine);
}
.review-card .stars{color:var(--wine); font-size:15px; letter-spacing:2px; margin-bottom:14px;}
.review-card p{font-size:15px; line-height:1.8; color:var(--ink); font-style:italic; font-family:'BellMore',serif; font-size:19px;}
.review-card .who{margin-top:18px; font-size:12.5px; letter-spacing:0.04em; color:var(--ink-soft); display:flex; align-items:center; gap:10px;}
.review-card .who .av{
  width:34px; height:34px; border-radius:50%; background:var(--wine); color:#fff; display:flex;
  align-items:center; justify-content:center; font-family:'BellMore',serif; font-size:15px;
}
.review-card .src{font-size:10.5px; color:var(--wine); text-transform:uppercase; letter-spacing:0.08em; margin-top:2px;}
.review-note{
  max-width:640px; margin:50px auto 0; text-align:center; font-size:13px; color:var(--ink-soft);
  line-height:1.8; padding:18px 24px; border:1px dashed var(--wine-soft);
}

/* ---------- FORM ---------- */
.form-section{background:var(--cream);}
.form-wrap{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start;}
@media(max-width:900px){.form-wrap{grid-template-columns:1fr; gap:44px;}}
.field{margin-bottom:20px;}
.field label{display:block; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--wine-dark); margin-bottom:8px;}
.field input, .field textarea, .field select{
  width:100%; padding:13px 14px; border:1px solid var(--cream-2); background:var(--white);
  font-family:'Jost',sans-serif; font-size:14.5px; color:var(--ink); border-radius:1px;
  transition:border-color .3s ease;
}
.field input:focus, .field textarea:focus, .field select:focus{outline:none; border-color:var(--wine);}
.field textarea{resize:vertical; min-height:110px;}
.form-note{font-size:12px; color:var(--ink-soft); margin-top:14px; line-height:1.7;}
.contact-info-card{background:var(--white); padding:34px; border-left:2px solid var(--wine);}
.contact-info-card .row{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--cream-2);}
.contact-info-card .row:last-child{border-bottom:none;}
.contact-info-card .row .ico{width:22px; text-align:center; color:var(--wine);}
.contact-info-card .row .lab{font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft);}
.contact-info-card .row .val{font-family:'BellMore',serif; font-size:18px; color:var(--wine-dark); font-weight:600;}
.map-embed{margin-top:24px; border-radius:2px; overflow:hidden; border:1px solid var(--cream-2);}
.map-embed iframe{width:100%; height:260px; border:0; display:block;}

/* ---------- CHANNEL BLOCK (contacto hero) ---------- */
.channel-block{
  position:relative; overflow:hidden; background:var(--wine-dark); color:#fff;
  padding:48px 44px; border-radius:2px;
}
.channel-block .lab{font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--cream-soft); position:relative; z-index:1;}
.channel-block .num{font-family:'BellMore',serif; font-size:clamp(28px,4vw,42px); margin-top:12px; color:#fff; position:relative; z-index:1;}
.channel-block p{color:rgba(255,255,255,0.75); margin-top:14px; font-size:14px; line-height:1.8; max-width:480px; position:relative; z-index:1;}
.channel-block .btn{margin-top:24px; background:var(--cream); border-color:var(--cream); color:var(--wine-dark); position:relative; z-index:1;}
.channel-block .btn:hover{background:#fff; border-color:#fff;}

/* ---------- QUICK CONSULT ---------- */
.quick-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px;}
@media(max-width:760px){.quick-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.quick-grid{grid-template-columns:1fr;}}
.quick-btn{
  display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px;
  background:var(--white); border:1px solid var(--cream-2); font-size:13px; color:var(--ink);
  transition:border-color .3s ease, transform .3s ease;
}
.quick-btn:hover{border-color:var(--wine); transform:translateY(-2px);}
.quick-btn .arrow{color:var(--wine); flex-shrink:0;}

/* ---------- CONTACT CTA (home) ---------- */
.contact{background:var(--cream); text-align:center;}
.contact .wrap{max-width:640px;}
.contact h2{font-size:clamp(32px,4.6vw,50px);}
.contact p.lead{font-size:16.5px; color:var(--ink-soft); line-height:1.85; margin:22px 0 40px;}
.contact .ctas{display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}

/* ---------- FOOTER ---------- */
footer{background:var(--wine-dark); color:var(--cream-soft); padding:64px 0 30px;}
footer .wrap{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:32px;}
footer .f-links{display:flex; gap:26px; flex-wrap:wrap; font-size:12.5px; letter-spacing:0.06em;}
footer .f-links a{opacity:0.85; transition:opacity 0.3s ease;}
footer .f-links a:hover{opacity:1; text-decoration:underline;}
.footer-bottom{
  margin-top:50px; padding-top:26px; border-top:1px solid rgba(255,255,255,0.1);
  font-size:11.5px; color:rgba(251,240,221,0.65); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.wa-fab{
  position:fixed; right:22px; bottom:22px; z-index:90; width:56px; height:56px; border-radius:50%;
  background:var(--wine); display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 30px rgba(75,14,13,0.35); transition:transform 0.3s ease, background 0.3s ease;
}
.wa-fab:hover{transform:translateY(-3px) scale(1.05); background:var(--wine-dark);}
.wa-fab svg{width:26px; height:26px; fill:#fff;}

/* misc */
.mini-cta-band{position:relative; overflow:hidden; background:var(--wine-dark); color:#fff; text-align:center; padding:80px 0;}
.mini-cta-band .wrap{position:relative; z-index:1;}
.mini-cta-band h3{color:#fff; font-size:clamp(26px,3.8vw,38px); font-family:'BellMore',serif;}
.mini-cta-band p{color:var(--cream-soft); margin-top:12px; font-size:15px;}
.mini-cta-band .ctas{display:flex; gap:16px; justify-content:center; margin-top:26px; flex-wrap:wrap;}
