:root{--wine:#8c202b;--dark:#202426;--orange:#ce804e;--muted:#687074;--line:#dce0df;--paper:#f4f6f5;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--dark);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,.groom-note h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.12}em{font-weight:400;color:var(--wine)}h2{font-size:clamp(2.5rem,4vw,4rem)}p{color:var(--muted)}.topbar{background:#25282a;color:#d8dcdd;display:flex;justify-content:space-between;padding:8px 6%;font-size:12px;letter-spacing:.025em}.topbar a{display:flex;align-items:center;gap:9px}.header{height:88px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fffffff5;backdrop-filter:blur(18px);position:sticky;top:0;z-index:30;border-bottom:1px solid #ededed}.brand{display:flex;align-items:center;gap:11px}.brand img{width:60px;height:60px;object-fit:contain}.brand span{font-size:26px;font-weight:700;letter-spacing:.08em;line-height:1.1;color:var(--wine)}.brand small{display:block;font-size:10px;letter-spacing:.1em;margin-top:7px;font-weight:500}.nav{display:flex;gap:33px;font-size:14px}.nav a{position:relative;padding:10px 0}.nav a:after{content:'';position:absolute;bottom:2px;left:0;right:100%;height:1px;background:var(--wine);transition:right .25s}.nav a:hover:after{right:0}.btn{background:var(--wine);color:white;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:16px 26px;border-radius:2px;font-weight:600;font-size:14px;transition:background .2s,transform .2s;line-height:1.5}.btn:hover{background:#a52b38;transform:translateY(-2px)}.header-cta{padding:13px 20px}.menu{display:none;background:none}.hero{position:relative;isolation:isolate;min-height:710px;height:calc(100svh - 124px);max-height:1000px;color:white;background:#202022;overflow:hidden;display:flex;align-items:center}.parallax-frame{position:relative;overflow:hidden;isolation:isolate;height:100%;width:100%}.parallax-frame .parallax-layer{position:absolute;top:-30%;left:0;width:100%;height:160%;max-width:none;object-fit:cover;will-change:transform;transform:translate3d(0,0,0)}.hero .hero-visual{position:absolute;inset:0;height:100%;z-index:-3}.hero-visual .parallax-layer{object-position:60% center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#131519e0 0%,#17181d99 33%,#19191e15 66%),linear-gradient(0deg,#141418aa,transparent 23%);z-index:-2}.hero-text{padding:60px 6% 95px;width:65%;position:relative}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--wine);margin-bottom:25px;display:flex;gap:13px;align-items:center}.eyebrow:before{content:'';width:29px;height:1px;background:currentColor}.hero .eyebrow{color:#e9c3a6}.hero h1{font-size:clamp(3.4rem,5.2vw,5.7rem);line-height:1.09;letter-spacing:-.035em;text-shadow:0 2px 35px #1118}.hero h1 em{color:#e5b795;display:inline-block;margin-top:5px}.hero-text>p{font-size:17px;line-height:1.8;color:#d5d5d7;margin:28px 0 34px;max-width:430px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.hero .btn{background:#fff;color:#3c2629}.hero .btn:hover{background:#efdacc}.text-link{font-size:14px;color:var(--wine);border-bottom:1px solid #bb8990;padding:5px 0;background:none;display:inline-block;font-weight:600}.hero .text-link{color:white;border-color:#ffffff6b}.hero-caption{position:absolute;bottom:31px;left:6%;right:6%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.17em;color:#d2cbce;border-top:1px solid #ffffff30;padding-top:20px}.scroll-cue{position:absolute;right:6%;bottom:105px;display:flex;align-items:center;gap:14px;font-size:12px;color:#efefef}.scroll-cue>span{height:45px;width:1px;background:linear-gradient(#ffffff11,#fff)}.service-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fafafa;color:#383d40;border-bottom:1px solid var(--line);padding:28px 6%;font-size:14px}.service-strip span{display:flex;justify-content:center;align-items:center;gap:12px;border-right:1px solid var(--line)}.service-strip span:first-child{justify-content:flex-start}.service-strip span:last-child{border:0;justify-content:flex-end}.service-strip svg{width:21px;stroke-width:1.5;color:var(--wine)}.section{padding:112px 6%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:44px}.section-head>p,.section-head>div:last-child>p{max-width:370px;font-size:16px}.section-head>div:last-child .btn{margin-top:25px}.filters{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:25px;border-bottom:1px solid var(--line)}.filters button{background:none;border-bottom:2px solid transparent;font-size:14px;padding:12px 0;color:var(--muted);margin-bottom:-1px}.filters button.active{border-color:var(--wine);color:var(--wine);font-weight:600}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:42px}.service-card{border-bottom:1px solid var(--line);padding:30px 0 25px;transition:background .25s}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;color:var(--wine)}.card-top>span{font-size:10px;letter-spacing:.12em;color:#899093}.card-top svg{background:#f7eeee;box-sizing:content-box;padding:13px;border-radius:3px}.service-card h3{font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.025em}.service-card p{font-size:15px;line-height:1.8;margin-top:11px;min-height:81px;max-width:335px}.service-card button{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;color:var(--wine);padding:18px 0 0;margin-top:14px;font-size:14px;font-weight:600}.service-card button svg{border:1px solid #d8b5b9;border-radius:50%;width:30px;height:30px;padding:6px;transition:background .2s}.service-card button:hover svg{background:#f1e5e6}.about{display:grid;grid-template-columns:1fr 1fr;background:#eef1f0;min-height:710px}.about-photo{position:relative;overflow:hidden;min-height:680px}.about-photo .parallax-layer{object-position:47% center}.about-photo>.parallax-frame{position:absolute;inset:0}.about-tag{position:absolute;bottom:35px;left:8%;background:#fffffff2;display:flex;align-items:center;gap:18px;padding:23px 27px;font-size:14px;line-height:1.5;border-left:3px solid var(--wine)}.about-tag svg{color:var(--wine)}.about-text{padding:80px 11%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.about-text h2{font-size:clamp(2.6rem,3.3vw,3.5rem)}.about-text>p{margin-top:26px;font-size:16px}.doctor{display:flex;align-items:center;gap:17px;border-top:1px solid #cdd4d1;border-bottom:1px solid #cdd4d1;padding:23px 0;margin-top:29px;width:100%}.doctor-icon{background:white;padding:16px;color:var(--wine)}.doctor h3{font-size:17px;font-weight:600}.doctor p{font-size:13px;margin-top:4px}.checks{list-style:none;padding:0;margin:21px 0;font-size:14px}.checks li{display:flex;align-items:center;gap:10px;margin:11px 0}.checks svg{width:17px;color:var(--wine)}.groom-gallery{display:grid;grid-template-columns:1fr 1.1fr .8fr;gap:24px;align-items:stretch}.groom-gallery figure{margin:0;position:relative;overflow:hidden;min-height:450px}.groom-main>.parallax-frame{position:absolute;inset:0}.groom-main .parallax-layer{object-position:50% 35%}.groom-collage>img{width:100%;height:100%;object-fit:contain;background:#f4f5f4}.groom-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 23px 20px;background:linear-gradient(transparent,#11191bdd);color:white;font-size:12px;letter-spacing:.015em}.groom-note{padding:34px;background:#f2f4f3;display:flex;flex-direction:column;align-items:flex-start}.groom-note>svg{color:var(--wine);margin-bottom:38px}.groom-note h3{font-size:32px}.groom-note p{font-size:14px;margin:23px 0 29px}.groom-note .text-link{margin-top:auto}.booking{background:#23292b;color:white;display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:start;position:relative}.booking .eyebrow{color:#deb491}.booking h2{font-size:clamp(2.8rem,4.1vw,4.1rem)}.booking h2 em{color:#dfb394}.booking-intro{position:sticky;top:130px;padding-top:18px}.booking-intro>p{color:#bec7c8;margin:27px 0;font-size:16px;max-width:375px}.booking-steps{display:grid;gap:22px;font-size:14px;margin:39px 0}.booking-steps>div{display:flex;align-items:center;gap:16px}.booking-steps span{border-bottom:1px solid #8d9a9b;width:31px;padding-bottom:4px;color:#dfb394;font-size:13px}.direct{border-top:1px solid #475154;padding-top:28px;display:flex;align-items:center;gap:17px;color:#bdc8c9;font-size:13px}.direct strong{display:block;color:white;font-size:23px;font-weight:400;margin-top:6px;letter-spacing:.035em}.direct svg{color:#dfb394}.booking-form{background:white;color:var(--dark);border-radius:3px;padding:40px;box-shadow:0 20px 50px #10171940}.form-title{display:flex;gap:18px;align-items:center;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.form-title>svg{color:var(--wine)}.form-title h3{font-family:var(--serif);font-size:29px;font-weight:400}.form-title p{font-size:12px;margin-top:3px}.booking-form label{display:block;font-size:14px;font-weight:500;margin-bottom:21px}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #d7dedd;border-radius:2px;background:#fafbfa;padding:12px;font-size:15px;min-height:48px;color:var(--dark);font-weight:400}.booking-form textarea{resize:vertical}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#858e8e}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-row.three{grid-template-columns:1fr 1.2fr 1fr}.form-row>label{min-width:0}.form-note{font-size:12px;line-height:1.7;margin:0 0 21px}.submit{width:100%;padding-block:18px}.message-status{margin-top:15px;font-size:13px;padding:12px;background:#f3f7f2}.message-status a{text-decoration:underline;color:var(--wine)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;background:#f5f6f5}.contact-details{display:grid;gap:16px;margin-top:30px}.contact-details p,.contact-details a{display:flex;align-items:center;gap:13px;color:var(--dark);font-size:16px}.contact-details svg{width:19px;color:var(--wine)}.contact-note{font-size:14px;max-width:350px;margin:25px 0}.clinic-photo{height:500px;overflow:hidden;position:relative}.clinic-photo .parallax-layer{object-position:50% center}footer{display:flex;justify-content:space-between;align-items:center;padding:38px 6%;gap:30px;border-top:1px solid var(--line)}footer .brand img{width:50px;height:50px}footer .brand span{font-size:22px}footer p{font-size:13px}footer>span{font-size:12px;color:var(--muted)}.floating-wa{position:fixed;right:25px;bottom:24px;z-index:35;background:#176346;color:white;box-shadow:0 5px 20px #0b382530;border:3px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;width:60px;height:60px}.floating-wa span{display:none}.floating-wa:hover{background:#237e5c}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(min-width:1600px){.hero-text{padding-left:10%}.section{padding-inline:10%}.header,.topbar{padding-inline:10%}.hero-caption{left:10%;right:10%}.hero h1{font-size:6rem}.hero{max-height:1100px}.about-text{padding-inline:13%}}
@media(max-width:1100px){.header{padding-inline:4%;gap:17px}.nav{gap:22px}.hero{min-height:670px}.hero-text{width:74%}.hero h1{font-size:4.3rem}.service-grid{column-gap:25px}.service-card p{min-height:108px}.about-text{padding:65px 9%}.groom-gallery{grid-template-columns:1fr 1.1fr}.groom-note{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr;gap:24px;align-items:center}.groom-note>svg{margin:0}.groom-note h3{font-size:28px}.groom-note p{margin:0}.groom-note .text-link{grid-column:3}.booking{gap:42px;grid-template-columns:.8fr 1.2fr}.booking-form{padding:30px}.form-row.three{grid-template-columns:1fr 1.2fr}.form-row.three label:last-child{grid-column:1/-1}.contact{gap:50px}}
@media(max-width:760px){html{scroll-padding-top:76px}.topbar{justify-content:center;font-size:11px;padding:7px 5%}.topbar>span{display:none}.header{height:76px;padding-inline:5%;gap:10px}.brand img{width:48px;height:48px}.brand span{font-size:23px}.brand small{font-size:8px}.header-cta{margin-left:auto;font-size:12px;padding:10px 12px}.header-cta svg{display:none}.menu{display:block;color:var(--wine);padding:7px}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:22px 7%;border-bottom:1px solid var(--line)}.nav.open{display:grid;gap:10px}.hero{height:auto;min-height:780px;align-items:flex-start}.hero-text{padding:52px 6% 380px;width:100%}.hero h1{font-size:clamp(2.7rem,9.5vw,4.2rem)}.hero-text>p{font-size:15px;margin:22px 0 27px}.hero .eyebrow{font-size:10px;margin-bottom:22px}.hero-visual .parallax-layer{object-position:69% center}.hero-shade{background:linear-gradient(180deg,#14161bd9 0%,#16171bbf 32%,#16171b15 65%,#16171b8c 100%),linear-gradient(90deg,#15171b50,transparent 60%)}.hero-actions{gap:22px}.hero .btn{font-size:13px;padding:14px 18px}.hero .text-link{font-size:13px}.hero-caption{left:6%;right:6%;font-size:9px;letter-spacing:.09em;bottom:22px}.hero-caption span:last-child{display:none}.scroll-cue{bottom:86px;right:6%;font-size:11px}.service-strip{grid-template-columns:1fr 1fr;padding:25px 6%;gap:22px 15px;font-size:12px}.service-strip span,.service-strip span:first-child,.service-strip span:last-child{justify-content:flex-start;border:0;gap:9px}.service-strip svg{width:19px}.section{padding:68px 6%}.section-head{display:block;margin-bottom:30px}.section-head>p,.section-head>div:last-child>p{margin-top:23px;max-width:100%;font-size:15px}h2{font-size:2.7rem}.eyebrow{font-size:10px;margin-bottom:21px}.filters{gap:20px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.filters button{white-space:nowrap;font-size:13px;flex-shrink:0}.service-grid{grid-template-columns:1fr 1fr;gap:0 23px}.service-card h3{font-size:24px}.service-card p{font-size:14px;min-height:130px}.card-top>span{font-size:8px;letter-spacing:.05em}.card-top{gap:8px;margin-bottom:18px;align-items:flex-start;flex-direction:column}.card-top svg{width:24px;height:24px;padding:11px}.service-card button{font-size:12px;margin-top:7px}.about{grid-template-columns:1fr}.about-photo{min-height:480px;order:2}.about-text{padding:60px 6%}.about-text h2{font-size:2.7rem}.about-tag{bottom:25px;left:6%;padding:18px 22px;font-size:13px}.groom-gallery{gap:16px}.groom-gallery figure{min-height:330px}.groom-collage>img{object-fit:contain}.groom-note{display:block;padding:28px}.groom-note>svg{margin-bottom:19px}.groom-note h3{font-size:32px}.groom-note p{margin:20px 0 23px;max-width:450px}.groom-gallery figcaption{padding:30px 14px 15px;font-size:11px}.booking{grid-template-columns:1fr;gap:40px}.booking-intro{position:static;padding:0}.booking h2{font-size:2.9rem}.booking-intro>p{max-width:100%}.booking-steps{margin:26px 0;gap:16px}.booking-form{padding:26px 20px}.form-row{gap:13px}.booking-form input,.booking-form select,.booking-form textarea{font-size:16px;padding:10px}.booking-form label{font-size:13px}.form-title h3{font-size:27px}.contact{grid-template-columns:1fr;gap:35px}.clinic-photo{height:430px}footer{flex-wrap:wrap;gap:20px;padding-bottom:95px}footer p{width:100%}.floating-wa{right:16px;bottom:16px;width:55px;height:55px}}
@media(max-width:390px){.service-grid{grid-template-columns:1fr}.service-card p{min-height:0}.card-top{flex-direction:row;align-items:center}.form-row,.form-row.three{grid-template-columns:1fr}.groom-gallery{grid-template-columns:1fr}.groom-note{grid-column:auto}.groom-gallery figure{min-height:420px}.hero-text{padding-bottom:330px}.hero{min-height:780px}.header-cta{font-size:11px;padding:9px}.brand{gap:5px}.brand span{font-size:20px}.hero-actions{gap:17px}.hero h1{font-size:2.65rem}.booking-form{padding-inline:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.parallax-frame .parallax-layer{transform:none!important;will-change:auto}}
/* Keep the portrait fully composed inside its moving layer: faces remain visible. */
.hero-visual{container-type:size;background:#19151a}
.hero-visual .parallax-layer{object-fit:contain;object-position:right center;padding-block:30cqh;background:#19151a}
@media(max-width:760px){.hero .hero-visual{top:310px;bottom:0;height:calc(100% - 310px)}.hero-visual .parallax-layer{padding:0;width:185%;left:-85%;object-fit:contain;object-position:right center}.hero-shade{background:linear-gradient(180deg,#19151a 0%,#19151a 35%,#19151a00 70%,#19151a99 100%)}.hero-text{padding-bottom:365px}}

/* Show the entire patient and storefront on small screens, without zoom or clipping. */
@media (max-width: 760px) {
  .about-photo { min-height: 0; height: auto; overflow: visible; }
  .about-photo > .full-on-mobile { position: relative; inset: auto; height: auto; }
  .clinic-photo { height: auto; overflow: visible; }
  .full-on-mobile { height: auto; overflow: visible; }
  .full-on-mobile .parallax-layer {
    position: static;
    inset: auto;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    transform: none !important;
    will-change: auto;
  }
  .about-photo .about-tag {
    position: static;
    margin: 0;
    padding: 20px 6%;
    background: #fff;
    border-left: 0;
    border-bottom: 1px solid var(--line);
  }
}

.maps-link{display:flex;align-items:center;gap:9px;width:fit-content;margin-top:21px;color:var(--wine);font-size:14px;line-height:1.5}
.maps-link:hover{text-decoration:underline}
.social-contact{border-top:1px solid var(--line);margin-top:28px;padding-top:23px}
.social-contact>p{font-size:14px;color:var(--muted);margin-bottom:13px}
.social-buttons{display:flex;gap:12px;flex-wrap:wrap}
.social-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:46px;padding:11px 20px;border:1px solid #ccd3d2;border-radius:3px;background:#fff;font-size:14px;font-weight:600;transition:background .2s,border-color .2s}
.social-button.facebook{color:#24579a}.social-button.instagram{color:var(--wine)}
.social-button:hover{background:#f4eeee;border-color:#ab7a80}
.contact-details svg,.maps-link svg{flex-shrink:0}
@media(max-width:760px){.social-buttons{display:grid;grid-template-columns:1fr 1fr}.social-button{padding-inline:15px;gap:10px}.maps-link{max-width:100%;font-size:13px}}

.contact-map{margin-top:22px;max-width:560px}.contact-map iframe{display:block;width:100%;height:290px;border:0;border-radius:8px}.contact-map p{font-size:12px;line-height:1.5;color:var(--muted);margin-top:8px}

/* SAVET — actualización visual: fondos cálidos, tarjetas elegantes y responsive real. */
:root {
  --surface-warm: #f8f7f5;
  --surface-warm-alt: #f3f1ee;
  --card-border: #ebe4e2;
  --card-shadow: 0 8px 30px rgba(48, 34, 33, .045);
}
html, body { max-width: 100%; }
body { overflow-x: clip; }
main, main > section, .section-head, .section-head > div,
.service-grid, .service-card, .booking-form, .about-text,
.contact > div, .groom-gallery > *, .form-row > label { min-width: 0; }
h1, h2, h3 { overflow-wrap: break-word; }

/* Marfil tenue en las secciones, blanco en las tarjetas para dar profundidad. */
.services { background: var(--surface-warm); }
.grooming { background: #fff; }
.contact { background: var(--surface-warm-alt); }
.services .section-head { margin-bottom: 37px; }
.services .section-head > p { line-height: 1.8; }

/* Tarjetas con un relieve editorial sobrio, sin movimientos bruscos. */
.service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 20px;
}
.service-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(20px, 2.3vw, 32px);
  background: #fff;
  border: 1px solid var(--card-border);
  border-radius: 12px;
  box-shadow: var(--card-shadow);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
  animation: savet-card-in .5s ease-out both;
}
.service-card:nth-child(2) { animation-delay: .06s; }
.service-card:nth-child(3) { animation-delay: .12s; }
.service-card:nth-child(4) { animation-delay: .18s; }
.service-card:nth-child(5) { animation-delay: .24s; }
.service-card:nth-child(6) { animation-delay: .3s; }
.service-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #922a35, #d9a590);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}
.card-top { margin-bottom: 20px; }
.card-top svg {
  border-radius: 10px;
  background: #fbf1f0;
  color: var(--wine);
  transition: transform .3s ease, background .3s ease;
}
.service-card h3 {
  font-size: clamp(1.45rem, 2.1vw, 1.85rem);
  line-height: 1.2;
}
.service-card p { min-height: 0; max-width: none; margin-bottom: 16px; }
.service-card button {
  margin-top: auto;
  min-height: 44px;
  gap: 12px;
  text-align: left;
}
.service-card button svg { flex-shrink: 0; }
@media (hover: hover) and (pointer: fine) {
  .service-card:hover, .service-card:focus-within {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(54, 35, 35, .11);
    border-color: #dec6c6;
  }
  .service-card:hover::before, .service-card:focus-within::before { transform: scaleX(1); }
  .service-card:hover .card-top svg { transform: translateY(-2px) rotate(-4deg); background: #f8e5e3; }
}
@keyframes savet-card-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Evita que los títulos y las columnas queden cortados en tablets. */
@media (max-width: 1100px) {
  .service-grid { column-gap: 17px; row-gap: 17px; }
  .service-card p { min-height: 0; }
  .section-head { gap: 28px; }
  .booking { gap: 35px; }
}
@media (max-width: 760px) {
  h2, .about-text h2, .booking h2 {
    font-size: clamp(2rem, 7.5vw, 2.8rem);
    line-height: 1.15;
    letter-spacing: -.045em;
  }
  .hero h1 { font-size: clamp(2.25rem, 8.5vw, 4rem); }
  .section-head { margin-bottom: 25px; }
  .section-head > p, .section-head > div:last-child > p { margin-top: 20px; }
  .services .section-head { margin-bottom: 25px; }
  .filters { gap: 22px; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  .service-card { padding: 22px; }
  .service-card h3 { font-size: 1.5rem; }
  .service-card p { min-height: 0; font-size: 14px; }
  .card-top { flex-direction: row; align-items: center; }
  .form-row.three { grid-template-columns: 1fr 1fr; }
  .form-row.three label:last-child { grid-column: 1 / -1; }
  .contact-map iframe { max-width: 100%; height: 270px; }
}
/* Una tarjeta por fila: el texto tiene espacio para leerse y tocar los botones. */
@media (max-width: 600px) {
  .service-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .service-card { padding: 25px; }
  .service-card h3 { font-size: 1.65rem; }
  .service-card p { margin-bottom: 18px; }
  .card-top { flex-direction: row; align-items: center; }
  .form-row, .form-row.three { grid-template-columns: minmax(0, 1fr); }
  .form-row.three label:last-child { grid-column: auto; }
  .groom-gallery { grid-template-columns: minmax(0, 1fr); }
  .groom-note { grid-column: auto; }
  .groom-gallery figure { min-height: 340px; }
  .service-strip { gap: 18px 12px; }
  .hero-actions { align-items: flex-start; }
}
@media (max-width: 390px) {
  .header-cta { display: none; }
  .menu { margin-left: auto; }
  .section { padding: 58px 6%; }
  h2, .about-text h2, .booking h2 { font-size: clamp(1.85rem, 8.5vw, 2.35rem); }
  .hero h1 { font-size: clamp(2rem, 9vw, 2.55rem); }
  .hero-text { padding-top: 44px; }
  .eyebrow { letter-spacing: .12em; }
  .service-card { padding: 21px; }
  .service-card h3 { font-size: 1.55rem; }
  .services .filters { margin-right: -6%; padding-right: 6%; }
  .booking-form { padding: 22px 15px; }
  .social-buttons { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 300px) {
  .service-strip { grid-template-columns: minmax(0, 1fr); }
  .hero h1 { font-size: 1.85rem; }
  h2, .about-text h2, .booking h2 { font-size: 1.75rem; }
  .hero-actions { flex-direction: column; gap: 11px; }
  .hero-text { padding-inline: 5%; }
  .hero-caption { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card { animation: none; transition: none; }
  .service-card::before, .card-top svg { transition: none; }
  .service-card:hover, .service-card:focus-within { transform: none; }
  .service-card:hover .card-top svg { transform: none; }
}


/* Enlaces a redes: visibles en la cabecera también con el menú móvil cerrado. */
.header-social {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
  margin-left: auto;
}
.header-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: 39px;
  border: 1px solid #e6e1e2;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 8px rgba(32, 36, 38, .055);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.header-facebook { color: #1877f2; }
.header-instagram { color: #bc2a8d; }
.header-social-link:hover, .header-social-link:focus-visible {
  transform: translateY(-2px);
  background: #faf3f4;
  box-shadow: 0 5px 13px rgba(32,36,38,.1);
}
.header-social-link:focus-visible { outline: 2px solid var(--wine); outline-offset: 3px; }
@media (min-width: 761px) {
  .header { gap: clamp(10px, 1.7vw, 26px); }
  .nav { gap: clamp(12px, 1.9vw, 30px); }
}
@media (max-width: 1000px) and (min-width: 761px) {
  .brand img { width: 49px; height: 49px; }
  .brand span { font-size: 22px; }
  .brand small { font-size: 8px; }
  .nav { font-size: 13px; }
  .header-cta { font-size: 12px; padding: 12px 11px; }
  .header-social { gap: 5px; }
  .header-social-link { width: 35px; height: 35px; }
}
@media (max-width: 760px) {
  .header-social { margin-left: auto; gap: 6px; }
  .header-social-link { width: 36px; height: 36px; }
  .header-cta { margin-left: 0; }
}
@media (max-width: 540px) {
  .header-cta { display: none; }
  .menu { margin-left: 0; }
}
@media (max-width: 340px) {
  .header { gap: 5px; padding-inline: 4%; }
  .brand img { width: 39px; height: 39px; }
  .brand span { font-size: 17px; }
  .brand small { font-size: 7px; }
  .header-social { gap: 4px; }
  .header-social-link { width: 32px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .header-social-link { transition: none; }
  .header-social-link:hover { transform: none; }
}

/* Static HTML: ensure filtered cards are hidden. */
.service-card[hidden]{display:none!important}
