/* ==========================================
   VARIABLES
   ========================================== */
:root {
  --bg: #FAFAF8;
  --bg-soft: #F2F0ED;
  --white: #FFFFFF;
  --text: #2B2B2B;
  --text-light: #777777;
  --rose: #D4687C;
  --rose-light: #FFF0F3;
  --rose-glow: rgba(212,104,124,.12);
  --gold: #C9A96E;
  --lavender: #A9A0C8;

  --font-body: 'Outfit', sans-serif;
  --font-serif: 'Playfair Display', serif;

  --radius: 16px;
  --radius-lg: 24px;
  --shadow: 0 4px 20px rgba(0,0,0,.06);
  --shadow-hover: 0 16px 40px rgba(0,0,0,.10);
  --nav-h: 80px;
  --ease: cubic-bezier(.25,1,.5,1);
}

/* ==========================================
   RESET
   ========================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color .3s}
ul{list-style:none}

/* ==========================================
   LAYOUT
   ========================================== */
.container{width:90%;max-width:1200px;margin:0 auto}
.section{padding:100px 0}
.section--alt{background:var(--bg-soft)}
.text-center{text-align:center}

.grid{display:grid;gap:28px}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* ==========================================
   TYPOGRAPHY
   ========================================== */
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.15;color:var(--text)}
h1{font-size:clamp(2.8rem,5vw,4.5rem);letter-spacing:-.02em}
h2{font-size:clamp(2rem,3.5vw,3rem);margin-bottom:1rem}
h3{font-size:1.4rem;margin-bottom:.5rem}
p{color:var(--text-light);margin-bottom:1.2rem;font-size:1.05rem}
p.lead{font-size:1.2rem;color:var(--text);font-weight:300}

/* ==========================================
   BUTTONS
   ========================================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.9rem 2.2rem;border-radius:50px;font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .4s var(--ease);border:none}
.btn--primary{background:var(--rose);color:#fff}
.btn--primary:hover{background:#c05a6e;transform:translateY(-3px);box-shadow:0 10px 30px var(--rose-glow)}
.btn--outline{background:transparent;border:1.5px solid var(--text);color:var(--text)}
.btn--outline:hover{background:var(--text);color:#fff;transform:translateY(-3px)}
.btn--sm{padding:.7rem 1.6rem;font-size:.8rem}
.btn--white{background:#fff;color:var(--text);border:none}
.btn--white:hover{background:var(--bg-soft);transform:translateY(-3px)}
.btn--wa-outline{background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff}
.btn--wa-outline:hover{background:rgba(255,255,255,.15);border-color:#fff}
.btn--glass{background:rgba(255,255,255,.15);backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.2)}

/* ==========================================
   NAV
   ========================================== */
.nav{position:fixed;top:0;left:0;width:100%;height:var(--nav-h);z-index:1000;transition:all .4s var(--ease);background:rgba(250,250,248,.85);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.04)}
.nav.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.06)}
.nav__inner{display:flex;justify-content:space-between;align-items:center;height:100%;width:90%;max-width:1400px;margin:0 auto}
.nav__brand{display:flex;flex-direction:column;line-height:1}
.nav__brand-name{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;letter-spacing:.1em;color:var(--rose)}
.nav__brand-tag{font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:2px}
.nav__links{display:flex;gap:2.5rem}
.nav__links a{font-size:.82rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);position:relative}
.nav__links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--rose);transition:width .3s var(--ease)}
.nav__links a:hover::after,.nav__links a.active::after{width:100%}
.nav__links a:hover,.nav__links a.active{color:var(--rose)}
.nav__cta{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.55rem 1.3rem;background:var(--rose);color:#fff;border-radius:50px;transition:all .3s}
.nav__cta:hover{background:#c05a6e;box-shadow:0 6px 20px var(--rose-glow)}

/* Burger */
.nav__burger{display:none;background:none;border:none;cursor:pointer;width:28px;height:20px;position:relative;z-index:1001}
.nav__burger span{display:block;position:absolute;height:2px;width:100%;background:var(--text);transition:.35s var(--ease)}
.nav__burger span:nth-child(1){top:0}
.nav__burger span:nth-child(2){top:9px}
.nav__burger span:nth-child(3){top:18px}
.nav__burger.open span:nth-child(1){top:9px;transform:rotate(45deg)}
.nav__burger.open span:nth-child(2){opacity:0}
.nav__burger.open span:nth-child(3){top:9px;transform:rotate(-45deg)}

/* Mobile */
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:998;opacity:0;pointer-events:none;transition:.4s}
.mobile-overlay.open{opacity:1;pointer-events:all}
.mobile-menu{position:fixed;inset:0;background:var(--white);z-index:999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.8rem;opacity:0;pointer-events:none;transition:.5s var(--ease)}
.mobile-menu.open{opacity:1;pointer-events:all}
.mobile-menu a{font-family:var(--font-serif);font-size:2rem;color:var(--text);transform:translateY(15px);opacity:0;transition:.4s var(--ease)}
.mobile-menu.open a{transform:translateY(0);opacity:1}
.mobile-menu.open a:nth-child(1){transition-delay:.05s}
.mobile-menu.open a:nth-child(2){transition-delay:.1s}
.mobile-menu.open a:nth-child(3){transition-delay:.15s}
.mobile-menu.open a:nth-child(4){transition-delay:.2s}
.mobile-menu.open a:nth-child(5){transition-delay:.25s}
.mobile-menu.open a:nth-child(6){transition-delay:.3s}
.mobile-menu__cta{background:var(--rose)!important;color:#fff!important;padding:.8rem 2rem;border-radius:50px;font-size:1rem!important;font-family:var(--font-body)!important}

/* ==========================================
   HERO
   ========================================== */
.hero{min-height:100vh;display:flex;align-items:center;padding-top:var(--nav-h);overflow:hidden}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.hero__badge{display:inline-block;padding:.45rem 1.2rem;border-radius:50px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:var(--rose-light);color:var(--rose);margin-bottom:1.8rem}
.hero__claim{font-family:var(--font-serif);font-size:1.4rem;color:var(--text-light);font-style:italic;margin-bottom:1.5rem}
.hero__desc{font-size:1.05rem;color:var(--text-light);line-height:1.7;margin-bottom:0}

.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero__grid-img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:transform .6s var(--ease),box-shadow .5s}
.hero__grid-img:nth-child(2){transform:translateY(30px)}
.hero__grid-img:nth-child(3){transform:translateY(-20px)}
.hero__grid-img:nth-child(4){transform:translateY(10px)}
.hero__grid-img:hover{transform:scale(1.03)!important;box-shadow:var(--shadow-hover);z-index:2;position:relative}

.hero__actions{display:flex;gap:1.2rem;align-items:center;margin-top:2.5rem;flex-wrap:wrap}
.hero__trust{display:flex;gap:1.5rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.06);flex-wrap:wrap}
.hero__trust-item{font-size:.82rem;color:var(--text-light);display:flex;align-items:center;gap:6px}
.hero__trust-icon{color:var(--gold);font-size:1.1rem}

.hero__name{display:block;color:var(--rose);font-family:var(--font-serif);font-size:clamp(3rem,6vw,5rem);font-weight:700;letter-spacing:.05em}
.hero__sub{display:block;font-family:var(--font-body);font-size:clamp(.9rem,1.5vw,1.2rem);letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-top:4px;font-weight:300}

/* ==========================================
   SECTION HEAD
   ========================================== */
.section__head{text-align:center;max-width:600px;margin:0 auto 3.5rem}
.section__head h2{margin-bottom:.8rem}
.section__head p{color:var(--text-light)}

.pill{display:inline-block;padding:.35rem 1rem;border-radius:50px;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:var(--rose-light);color:var(--rose);margin-bottom:1rem}
.pill--white{background:rgba(255,255,255,.2);color:#fff}

/* ==========================================
   CARDS
   ========================================== */
.card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:all .5s var(--ease)}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}
.card__img{display:block;position:relative;overflow:hidden;aspect-ratio:4/3}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .card__img img{transform:scale(1.06)}
.card__badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:4px 14px;border-radius:50px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--rose)}
.card__body{padding:1.8rem}
.card__body h3{font-size:1.3rem}
.card__price{display:block;font-family:var(--font-serif);font-size:1.2rem;color:var(--rose);font-style:italic;margin-bottom:.8rem}
.card__link{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--rose)}
.card__link:hover{color:var(--text)}

/* ==========================================
   SPLIT
   ========================================== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split__img-stack{position:relative}
.split__img-main{width:90%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.split__img-float{position:absolute;bottom:-30px;right:0;width:50%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:8px solid var(--bg);box-shadow:var(--shadow-hover)}

.stats{display:flex;gap:2.5rem;margin:2rem 0}
.stats__item{text-align:center}
.stats__num{font-family:var(--font-serif);font-size:3rem;line-height:1;color:var(--text);font-weight:700}
.stats__plus{font-family:var(--font-serif);font-size:1.8rem;color:var(--rose)}
.stats__label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-light);margin-top:6px}

/* ==========================================
   QUOTE
   ========================================== */
.quote{position:relative;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.quote__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.quote__overlay{display:none}
.quote__content{position:relative;z-index:2;text-align:center;max-width:700px;padding:3rem 1.5rem}
.quote blockquote{font-family:var(--font-serif);font-size:clamp(1.8rem,3.5vw,2.8rem);font-style:italic;color:#fff;line-height:1.3;margin-bottom:1rem}
.quote cite{font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-style:normal}

/* ==========================================
   FEATURES
   ========================================== */
.feature{padding:2rem;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:all .4s var(--ease);border:1px solid transparent}
.feature:hover{transform:translateY(-6px);border-color:var(--rose-light);box-shadow:var(--shadow-hover)}
.feature__icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
.feature__icon--pink{background:var(--rose-light);color:var(--rose)}
.feature__icon--lavender{background:#EEEAF5;color:var(--lavender)}
.feature h3{font-size:1.2rem}

/* ==========================================
   REVIEWS
   ========================================== */
.review{padding:2.2rem;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.review__stars{color:var(--gold);font-size:1.1rem;margin-bottom:1rem}
.review__text{font-family:var(--font-serif);font-size:1.15rem;font-style:italic;line-height:1.5;color:var(--text);margin-bottom:1.5rem}
.review__author{display:flex;align-items:center;gap:12px}
.review__avatar{width:42px;height:42px;border-radius:50%;background:var(--rose-light);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--rose);font-size:1rem}
.review__avatar--lav{background:#EEEAF5;color:var(--lavender)}

/* ==========================================
   GALLERY
   ========================================== */
.gallery-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery-preview__item,.gallery-full__item{display:block;overflow:hidden;border-radius:var(--radius);aspect-ratio:1}
.gallery-preview__item img,.gallery-full__item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gallery-preview__item:hover img,.gallery-full__item:hover img{transform:scale(1.08)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}
.gallery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:2.5rem}
.gallery-filters .pill{cursor:pointer;transition:.3s;border:1px solid var(--rose)}
.gallery-filters .pill.active,.gallery-filters .pill:hover{background:var(--rose);color:#fff}

/* ==========================================
   CTA
   ========================================== */
.cta{padding:100px 0;background:linear-gradient(135deg,var(--rose) 0%,#b85a7a 100%);color:#fff}
.cta h2{color:#fff}
.cta p{color:rgba(255,255,255,.85);max-width:550px;margin:0 auto 2.5rem}
.cta__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ==========================================
   FOOTER
   ========================================== */
.footer{background:#2B2B2B;padding:70px 0 0;color:rgba(255,255,255,.7)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px}
.footer h4{font-family:var(--font-body);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.2rem;color:var(--gold);font-weight:600}
.footer ul li{margin-bottom:.6rem}
.footer ul a{color:rgba(255,255,255,.6);font-size:.9rem;transition:.2s}
.footer ul a:hover{color:var(--rose)}
.footer p{color:rgba(255,255,255,.5);font-size:.88rem}
.footer strong{color:rgba(255,255,255,.8)}
.footer .nav__brand-name{color:var(--rose)}
.footer .nav__brand-tag{color:var(--gold)}
.footer__social{display:flex;gap:8px;margin-top:1.2rem}
.footer__social-link{display:inline-flex;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:.3s}
.footer__social-link:hover{background:var(--rose);color:#fff;transform:translateY(-2px)}
.footer__hours{margin-top:1rem;font-size:.85rem}
.footer__hours-row{display:flex;justify-content:space-between;padding:4px 0;color:rgba(255,255,255,.5)}
.footer__bottom{padding:20px 0;margin-top:10px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;font-size:.78rem;color:rgba(255,255,255,.35);flex-wrap:wrap;gap:8px}
.footer__bottom a{color:rgba(255,255,255,.4)!important;transition:.2s}
.footer__bottom a:hover{color:var(--rose)!important}

/* ==========================================
   INNER PAGES
   ========================================== */
.page-hero{padding:calc(var(--nav-h) + 60px) 0 60px;text-align:center;background:var(--bg-soft)}
.page-hero--img{position:relative;color:#fff;background:none}
.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:brightness(.6)}
.page-hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.3),rgba(0,0,0,.7));z-index:-1}
.breadcrumb{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;justify-content:center;gap:8px}
.page-hero h1{margin-bottom:.8rem;color:inherit}
.page-hero p{max-width:550px;margin:0 auto;color:inherit;opacity:.9}

.price-category{margin-bottom:3rem}
.price-category h3{font-size:2rem;color:var(--rose);border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:.8rem;margin-bottom:1.5rem}
.price-item{display:flex;justify-content:space-between;align-items:baseline;padding:1.2rem 0;border-bottom:1px dotted rgba(0,0,0,.08)}
.price-item:hover{background:rgba(212,104,124,.03)}
.price-name{font-family:var(--font-serif);font-size:1.15rem}
.price-val{font-family:var(--font-serif);font-size:1.3rem;color:var(--rose);white-space:nowrap}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact-info{background:var(--white);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.contact-row{display:flex;gap:12px;margin-bottom:1.2rem}
.contact-row svg{color:var(--rose);flex-shrink:0}
.map-container{position:relative;border-radius:var(--radius-lg);overflow:hidden;padding-bottom:65%}
.map-container iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.form-group{margin-bottom:1.2rem}
.form-label{display:block;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;color:var(--text)}
.form-control{width:100%;padding:1rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius);background:var(--white);font-family:var(--font-body);font-size:1rem;transition:.3s;outline:none}
.form-control:focus{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-glow)}
textarea.form-control{min-height:140px;resize:vertical}

/* ==========================================
   FAB WhatsApp
   ========================================== */
.fab{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(37,211,102,.35);z-index:900;transition:all .3s}
.fab:hover{transform:scale(1.1) translateY(-4px);box-shadow:0 10px 30px rgba(37,211,102,.45)}

/* ==========================================
   REVEALS (JS)
   ========================================== */
.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:0;transition:all .9s var(--ease)}
.reveal{transform:translateY(30px)}
.reveal-left{transform:translateX(-30px)}
.reveal-right{transform:translateX(30px)}
.reveal-scale{transform:scale(.92)}
.reveal.is-visible,.reveal-left.is-visible,.reveal-right.is-visible,.reveal-scale.is-visible,.card.is-visible,.feature.is-visible,.review.is-visible{opacity:1;transform:none}

/* ==========================================
   EXTRA VARIABLES
   ========================================== */
:root {
  --mint: #5CB8A5;
  --mint-light: #E8F6F3;
  --lavender-light: #EEEAF5;
  --gold-light: #FDF5E6;
  --muted: #999999;
}

/* ==========================================
   PRICE GROUPS (Listino)
   ========================================== */
.price-group{background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);transition:all .4s var(--ease)}
.price-group:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.price-group__title{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--bg-soft)}
.price-group__title h3{font-size:1.3rem;margin-bottom:0;color:var(--text)}
.price-group__icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.price-group__icon--pink{background:var(--rose-light);color:var(--rose)}
.price-group__icon--lavender{background:var(--lavender-light);color:var(--lavender)}
.price-group__icon--mint{background:var(--mint-light);color:var(--mint)}
.price-group__icon--gold{background:var(--gold-light);color:var(--gold)}
.price-list{display:flex;flex-direction:column}
.price-row{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;border-bottom:1px dotted rgba(0,0,0,.08)}
.price-row:last-child{border-bottom:none}
.price-row__name{font-family:var(--font-serif);font-size:1.05rem;color:var(--text)}
.price-row__desc{font-size:.82rem;color:var(--text-light);margin-top:2px}
.price-row__value{font-family:var(--font-serif);font-size:1.15rem;color:var(--rose);white-space:nowrap;font-weight:600}

/* ==========================================
   CONTACT CARDS
   ========================================== */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.contact-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);text-align:center;transition:all .4s var(--ease)}
.contact-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.contact-card__icon{width:56px;height:56px;border-radius:50%;background:var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.contact-card h3{font-size:1.2rem;margin-bottom:.5rem}
.contact-card p{font-size:.9rem;color:var(--text-light);margin-bottom:.8rem}
.contact-card a{font-size:.85rem;color:var(--rose);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.contact-card a:hover{color:var(--text)}

/* ==========================================
   SERVICE SIDEBAR
   ========================================== */
.service-sidebar{background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow)}
.service-sidebar h3{font-size:1.2rem;margin-bottom:.8rem}
.service-sidebar__actions{display:flex;flex-direction:column;gap:.75rem}
.service-sidebar__item{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px dotted rgba(0,0,0,.08)}
.service-sidebar__item:last-child{border-bottom:none}

/* ==========================================
   FORM EXTRAS
   ========================================== */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group label{display:block;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.4rem;color:var(--text);font-weight:500}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.9rem 1rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius);background:var(--white);font-family:var(--font-body);font-size:.95rem;transition:.3s;outline:none;color:var(--text)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-glow)}
.form-group textarea{min-height:120px;resize:vertical}
.form-group select{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23777' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}

/* ==========================================
   BUTTON WHATSAPP
   ========================================== */
.btn--wa{background:#25D366;color:#fff;display:inline-flex;align-items:center;gap:8px;padding:.9rem 2.2rem;border-radius:50px;font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .4s var(--ease);border:none}
.btn--wa:hover{background:#1DA851;transform:translateY(-3px);box-shadow:0 10px 30px rgba(37,211,102,.3)}

/* ==========================================
   GALLERY FULL
   ========================================== */
.gallery-full{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}

/* ==========================================
   SERVICE DETAIL PAGES
   ========================================== */
.srv__intro{max-width:700px;margin:0 auto 3rem;text-align:center}
.srv__intro p{font-size:1.1rem;line-height:1.7}
.srv__highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:3.5rem}
.srv__highlight{background:var(--white);border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow);text-align:center;transition:all .4s var(--ease)}
.srv__highlight:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}
.srv__highlight-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.5rem}
.srv__highlight-icon--pink{background:var(--rose-light);color:var(--rose)}
.srv__highlight-icon--lavender{background:var(--lavender-light);color:var(--lavender)}
.srv__highlight-icon--mint{background:var(--mint-light);color:var(--mint)}
.srv__highlight-icon--gold{background:var(--gold-light);color:var(--gold)}
.srv__highlight h3{font-size:1.1rem;margin-bottom:.4rem}
.srv__highlight p{font-size:.9rem;color:var(--text-light);margin-bottom:0}
.srv__body{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start}
.srv__content h2{font-size:1.6rem;margin-top:2.5rem;margin-bottom:1rem;color:var(--text)}
.srv__content h2:first-child{margin-top:0}
.srv__content ul{margin:1rem 0 1.5rem 1.2rem;list-style:disc}
.srv__content ul li{margin-bottom:.5rem;color:var(--text-light);font-size:1rem}
.srv__sidebar{background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);position:sticky;top:calc(var(--nav-h) + 30px)}
.srv__sidebar-title{font-family:var(--font-body);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.2rem;color:var(--text);padding-bottom:.8rem;border-bottom:2px solid var(--bg-soft)}
.srv__price-row{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;border-bottom:1px dotted rgba(0,0,0,.08)}
.srv__price-row:last-of-type{border-bottom:none;margin-bottom:1.5rem}
.srv__price-name{font-size:.9rem;color:var(--text)}
.srv__price-val{font-family:var(--font-serif);font-size:1.1rem;color:var(--rose);font-weight:600}
.srv__sidebar-cta{display:flex;flex-direction:column;gap:.6rem}
.srv__sidebar-cta .btn{width:100%;justify-content:center;font-size:.78rem;padding:.7rem 1.2rem}
.srv__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:3.5rem}
.srv__gallery-item{overflow:hidden;border-radius:var(--radius);aspect-ratio:4/3}
.srv__gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.srv__gallery-item:hover img{transform:scale(1.08)}

/* ==========================================
   COOKIE BANNER
   ========================================== */
.cookie-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--white);color:var(--text);z-index:950;padding:.7rem 1rem .7rem 1.2rem;display:none;align-items:center;gap:.8rem;border-radius:50px;box-shadow:0 4px 24px rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.06)}
.cookie-banner.show{display:flex}
.cookie-banner__text{font-size:.78rem;color:var(--text-light);white-space:nowrap}
.cookie-banner__text a{color:var(--rose);font-weight:500}
.cookie-banner__actions{flex-shrink:0}
.cookie-banner__btn{padding:.45rem 1.2rem;border-radius:50px;font-size:.75rem;font-weight:600;cursor:pointer;border:none;font-family:var(--font-body);transition:.2s}
.cookie-banner__btn--accept{background:var(--rose);color:#fff}
.cookie-banner__btn--accept:hover{background:#c05a6e}

/* POLICY PAGES */
.policy-content{max-width:800px;margin:0 auto}
.policy-content h2{font-size:1.5rem;margin-top:2.5rem;margin-bottom:.8rem;color:var(--text)}
.policy-content h3{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem}
.policy-content p,.policy-content li{font-size:.95rem;line-height:1.7;color:var(--text-light)}
.policy-content ul{margin:1rem 0 1rem 1.5rem;list-style:disc}
.policy-content ul li{margin-bottom:.4rem}
.policy-content strong{color:var(--text)}

/* ==========================================
   RESPONSIVE
   ========================================== */
@media(max-width:1024px){
  .hero__inner{grid-template-columns:1fr;gap:40px}
  .hero__content{text-align:center}
  .hero__actions{justify-content:center}
  .hero__trust{justify-content:center}
  .hero__grid{max-width:500px;margin:0 auto}
  .split{grid-template-columns:1fr;gap:40px}
  .footer__grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:block}
  .section{padding:70px 0}
  .grid--3,.grid--4{grid-template-columns:1fr}
  .gallery-preview{grid-template-columns:repeat(2,1fr)}
  .gallery-full{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr;gap:30px}
  .footer__bottom{flex-direction:column;text-align:center}
  .stats{flex-direction:column;gap:1.5rem;align-items:center}
  .cta__actions{flex-direction:column;align-items:center}
  .form-row{grid-template-columns:1fr}
  .srv__body{grid-template-columns:1fr}
  .srv__sidebar{position:static}
  .srv__gallery{grid-template-columns:1fr}
  .srv__highlights{grid-template-columns:1fr}
  h1{font-size:2.5rem}
  .cookie-banner{bottom:12px;padding:.6rem .8rem .6rem 1rem;border-radius:50px}
  .cookie-banner__text{white-space:normal;font-size:.72rem}
  .footer__bottom{flex-direction:column;text-align:center}
}
