/*
Theme Name: Glamour Canino Spa
Theme URI: https://glamourcaninospa.es
Author: Glamour Canino Spa
Description: Tema one-page personalizado para Glamour Canino Spa — peluquería canina boutique en Bormujos, Sevilla. Logo oficial integrado, paleta verde oliva/forest, navbar compacta con menú legible.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: glamour-canino-spa
*/

:root{
      /* Brand palette inspired by the actual shop: olive walls, deep forest cabinets, jungle wallpaper, warm wood + cream */
      --color-primary:#5B7B2C;          /* Olive green — wall color, main brand */
      --color-primary-deep:#46601F;
      --color-secondary:#2D4A38;        /* Deep forest — cabinets, accents */
      --color-secondary-deep:#1F3527;
      --color-accent:#C8D14A;           /* Lime chartreuse — vibrant pop */
      --color-warm:#D4865A;             /* Subtle terracotta accent (Sevilla warmth + wood) */
      --color-gold:#E0B856;             /* Warm gold for stars / premium */
      --color-bath:#7BB3D4;             /* Pale blue — echoes the mosaic lamps */
      --color-dark:#1F2A1F;             /* Near-black with green tint */
      --color-darker:#141A14;
      --color-light:#FDF6EE;            /* Warm cream */
      --color-mid:#F0E4D4;              /* Soft beige */
      --color-leaf:#446B3F;             /* Wallpaper leaf green */
      --color-white:#FFFFFF;
      --color-line:rgba(31,42,31,.10);
      --color-muted:#6B7264;

      --font-display:"Montserrat", system-ui, sans-serif;
      --font-script:"Caveat", "Brush Script MT", cursive;
      --font-sub:"Montserrat", system-ui, sans-serif;
      --font-body:"Montserrat", system-ui, sans-serif;

      --radius-s:8px;
      --radius-m:16px;
      --radius-l:28px;

      --shadow-s:0 2px 12px rgba(31,42,31,.06);
      --shadow-m:0 12px 32px -12px rgba(31,42,31,.20);
      --shadow-l:0 28px 60px -20px rgba(31,42,31,.30);

      --container:1240px;

      /* faint paw pattern */
      --paw-pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><g fill='%231F2A1F' fill-opacity='0.04'><ellipse cx='40' cy='52' rx='7' ry='9'/><ellipse cx='28' cy='38' rx='4' ry='5.5'/><ellipse cx='52' cy='38' rx='4' ry='5.5'/><ellipse cx='22' cy='56' rx='3.5' ry='4.5'/><ellipse cx='58' cy='56' rx='3.5' ry='4.5'/><ellipse cx='120' cy='122' rx='7' ry='9'/><ellipse cx='108' cy='108' rx='4' ry='5.5'/><ellipse cx='132' cy='108' rx='4' ry='5.5'/><ellipse cx='102' cy='126' rx='3.5' ry='4.5'/><ellipse cx='138' cy='126' rx='3.5' ry='4.5'/></g></svg>");

      /* tropical leaf pattern — echoes the shop wallpaper, very subtle */
      --leaf-pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><g fill='%23446B3F' fill-opacity='0.07'><path d='M40 80 Q60 40 100 60 Q80 100 60 110 Q50 100 40 80z'/><path d='M170 30 Q200 50 195 90 Q160 80 155 55 Q160 40 170 30z'/><path d='M30 180 Q50 170 75 195 Q60 215 40 205 Q30 195 30 180z'/><path d='M180 170 Q220 175 215 215 Q190 220 175 200 Q170 185 180 170z'/></g></svg>");
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:var(--font-body);
      color:var(--color-dark);
      background:var(--color-light);
      line-height:1.55;
      -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
    }
    img{max-width:100%;display:block}
    a{color:inherit;text-decoration:none}
    button{font-family:inherit;cursor:pointer;border:none;background:none}

    .container{max-width:var(--container);margin:0 auto;padding:0 28px}

    /* ============ TYPE ============ */
    .h-display{font-family:var(--font-display);font-weight:900;line-height:1.0;letter-spacing:-.01em;color:var(--color-dark);text-transform:uppercase}
    .h-sub{font-family:var(--font-sub);font-weight:800;letter-spacing:.02em;text-transform:uppercase;font-size:13px;color:var(--color-primary)}
    .script{font-family:var(--font-script);font-weight:600;font-style:normal;color:var(--color-primary);transform:rotate(-3deg);display:inline-block}
    .eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sub);font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary)}
    .eyebrow::before{content:"";width:28px;height:1px;background:var(--color-primary);animation:eyebrowPulse 2.4s ease-in-out infinite}
    @keyframes eyebrowPulse{0%,100%{width:28px;opacity:1}50%{width:14px;opacity:.5}}

    /* ============ GLOBAL KEYFRAMES ============ */
    @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
    @keyframes wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
    @keyframes spin-slow{to{transform:rotate(360deg)}}
    @keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.18) rotate(-6deg)}100%{transform:scale(1)}}
    @keyframes waggle{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
    @keyframes float-paw{0%{transform:translate(0,0) rotate(0);opacity:0}10%{opacity:.18}90%{opacity:.18}100%{transform:translate(40vw,-20vh) rotate(15deg);opacity:0}}
    @keyframes shine{0%{background-position:-200% 0}100%{background-position:200% 0}}
    @keyframes drawLine{from{stroke-dashoffset:300}to{stroke-dashoffset:0}}
    @keyframes bgShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
    @keyframes letterIn{from{opacity:0;transform:translateY(40%) rotate(-8deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
    @keyframes blink{0%,90%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
    @keyframes walkPaw{0%{opacity:0;transform:translateX(-100px) translateY(0) rotate(-12deg)}10%{opacity:.55}45%{transform:translateX(50vw) translateY(-14px) rotate(-3deg);opacity:.55}90%{opacity:.55}100%{opacity:0;transform:translateX(110vw) translateY(0) rotate(8deg)}}
    @keyframes tilt-in{from{opacity:0;transform:rotate(-6deg) translateY(20px)}to{opacity:1;transform:rotate(-3deg) translateY(0)}}
    @keyframes squiggle{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

    /* ============ BUTTONS ============ */
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      padding:16px 28px;border-radius:999px;
      font-family:var(--font-sub);font-weight:800;font-size:15px;letter-spacing:.02em;
      transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease, background .35s ease, color .35s ease, padding .35s ease;
      white-space:nowrap;position:relative;overflow:hidden;
    }
    .btn::before{
      content:"";position:absolute;inset:0;
      background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
      transform:translateX(-150%);transition:transform .7s ease;
    }
    .btn:hover::before{transform:translateX(150%)}
    .btn:active{transform:scale(.95)}
    .btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 10px 24px -10px rgba(91,123,44,.7)}
    .btn-primary:hover{background:var(--color-primary-deep);transform:translateY(-3px) scale(1.04) rotate(-1deg);box-shadow:0 20px 36px -12px rgba(91,123,44,.85)}
    .btn-secondary{background:var(--color-warm);color:#fff;box-shadow:0 10px 24px -10px rgba(212,134,90,.6)}
    .btn-secondary:hover{background:#b96a40;transform:translateY(-3px) scale(1.04) rotate(1deg);box-shadow:0 20px 36px -12px rgba(212,134,90,.75)}
    .btn-wa{background:#25D366;color:#fff;box-shadow:0 10px 24px -10px rgba(37,211,102,.6)}
    .btn-wa:hover{background:#1ebe5a;transform:translateY(-3px) scale(1.04) rotate(1deg);box-shadow:0 20px 36px -12px rgba(37,211,102,.75)}
    .btn-ghost{background:transparent;color:var(--color-dark);border:2px solid var(--color-dark)}
    .btn-ghost:hover{background:var(--color-dark);color:var(--color-light);transform:translateY(-2px)}
    .btn-outline-light{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4)}
    .btn-outline-light:hover{background:#fff;color:var(--color-dark);transform:translateY(-2px)}

    /* ============ NAVBAR ============ */
    .nav{
      position:fixed;top:0;left:0;right:0;z-index:100;
      padding:14px 0;
      background:rgba(253,246,238,.92);
      backdrop-filter:blur(14px);
      box-shadow:0 2px 16px rgba(31,42,31,.08);
      transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
      border-bottom:1px solid rgba(31,42,31,.06);
    }
    .nav.scrolled{background:rgba(253,246,238,.98);box-shadow:0 6px 28px -8px rgba(31,42,31,.18);padding:10px 0}
    .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
    .logo{display:flex;align-items:center;gap:10px;color:var(--color-dark);flex:none}
    .logo svg{flex:none}
    .logo-text{display:flex;flex-direction:column;line-height:1}
    .logo-text .lt-1{font-family:"Times New Roman", Times, serif;font-weight:700;font-size:17px;letter-spacing:.01em;text-transform:uppercase;line-height:1;white-space:nowrap}

    .nav-links{display:flex;gap:2px;align-items:center;flex-wrap:nowrap}
    .nav-links a{
      font-family:var(--font-sub);font-weight:700;font-size:12px;color:var(--color-dark);
      position:relative;transition:color .25s ease, background .25s ease;
      padding:7px 11px;border-radius:999px;
      text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;
    }
    .nav-links a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--color-primary);transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1);border-radius:2px}
    .nav-links a:hover{color:var(--color-primary);background:rgba(91,123,44,.10)}
    .nav-links a:hover::after{transform:scaleX(1)}

    .nav-cta{display:flex;gap:10px;align-items:center}
    .nav-cta .btn{padding:11px 20px;font-size:13px}
    .nav-burger{display:none;width:44px;height:44px;border-radius:50%;background:var(--color-dark);color:#fff;align-items:center;justify-content:center}

    @media (max-width:1180px){
      .nav-links{display:none}
      .nav-cta .btn-ghost{display:none}
    }
    @media (max-width:680px){
      .nav-cta{display:none}
      .nav-burger{display:inline-flex}
    }

    /* ============ HERO ============ */
    .hero{
      position:relative;min-height:100vh;
      display:flex;align-items:center;
      overflow:hidden;
      padding-top:90px;
      background:var(--color-light);
    }
    .hero-bg{
      position:absolute;inset:0;z-index:0;
      background:
        linear-gradient(180deg, rgba(31,42,31,.0) 0%, rgba(31,42,31,.55) 100%),
        linear-gradient(110deg, rgba(91,123,44,.40) 0%, rgba(91,123,44,.15) 60%, rgba(45,74,56,.45) 100%),
        repeating-linear-gradient(135deg, #7d9842 0 22px, #6d8736 22px 44px);
      will-change:transform;
    }
    .hero-bg::after{
      content:"FOTO PENDIENTE · perro recién aseado en el salón";
      position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
      font-family:"DM Mono", ui-monospace, Menlo, monospace;
      color:rgba(255,255,255,.5);font-size:13px;letter-spacing:.1em;
      mix-blend-mode:overlay;
      white-space:nowrap;
    }
    .hero-inner{position:relative;z-index:2;width:100%;padding:80px 0}
    .hero-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:60px;align-items:end}

    .hero-badge{
      display:inline-flex;align-items:center;gap:10px;
      background:rgba(253,246,238,.92);backdrop-filter:blur(8px);
      padding:10px 16px;border-radius:999px;
      font-family:var(--font-sub);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-dark);
      box-shadow:var(--shadow-s);
      margin-bottom:28px;
      opacity:0;animation:fadeUp .8s ease 0s forwards;
    }
    .hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 4px rgba(91,123,44,.25);animation:dotPulse 1.6s ease-in-out infinite}
    @keyframes dotPulse{0%,100%{box-shadow:0 0 0 4px rgba(91,123,44,.25);transform:scale(1)}50%{box-shadow:0 0 0 10px rgba(91,123,44,0);transform:scale(1.15)}}

    .hero h1{
      font-family:var(--font-display);font-weight:900;
      font-size:clamp(44px, 7vw, 96px);
      line-height:1;letter-spacing:-.02em;color:#fff;
      text-transform:uppercase;
      margin:0 0 30px;
      text-shadow:0 4px 30px rgba(0,0,0,.25);
    }
    .hero h1 em{
      font-family:var(--font-script);font-style:normal;font-weight:600;color:var(--color-accent);
      display:inline-block;font-size:1.3em;line-height:.85;
      text-transform:none;letter-spacing:0;
      animation:waggle 4.5s ease-in-out infinite;transform-origin:center;
    }
    .hero h1 .reveal{display:inline-block;overflow:hidden;line-height:1;padding-bottom:.06em}
    .hero h1 .reveal span{display:inline-block;transform:translateY(110%) rotate(6deg);animation:rise 1.1s cubic-bezier(.34,1.56,.64,1) forwards}
    .hero h1 .reveal:nth-child(1) span{animation-delay:.1s}
    .hero h1 .reveal:nth-child(2) span{animation-delay:.35s}
    .hero h1 .reveal:nth-child(3) span{animation-delay:.6s}
    @keyframes rise{to{transform:translateY(0) rotate(0)}}

    .hero-sub{
      max-width:540px;color:rgba(255,255,255,.92);
      font-size:18px;line-height:1.5;
      opacity:0;animation:fadeUp .8s ease .9s forwards;
    }
    .hero-sub strong{font-weight:700;color:var(--color-accent)}
    @keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

    .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px;opacity:0;animation:fadeUp .8s ease 1.2s forwards}
    .hero-ctas .btn-outline-light{border-color:rgba(255,255,255,.7);color:#fff}

    .hero-side{position:relative;align-self:end;padding-bottom:10px}
    .hero-card{
      background:rgba(253,246,238,.95);backdrop-filter:blur(14px);
      border-radius:var(--radius-l);padding:28px;
      box-shadow:var(--shadow-l);
      opacity:0;transform:translateY(20px);animation:fadeUp .9s ease 1.4s forwards, bob 6s ease-in-out 2.3s infinite;
    }
    .hero-card .hc-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--color-line);transition:transform .3s ease}
    .hero-card .hc-row:hover{transform:translateX(4px)}
    .hero-card .hc-row:last-child{border:0}
    .hero-card .hc-icon{
      width:44px;height:44px;border-radius:14px;flex:none;
      display:flex;align-items:center;justify-content:center;
      background:var(--color-mid);font-size:20px;
      transition:transform .4s cubic-bezier(.34,1.56,.64,1);
    }
    .hero-card .hc-row:hover .hc-icon{transform:rotate(-12deg) scale(1.1)}
    .hero-card .hc-label{font-family:var(--font-sub);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-weight:700}
    .hero-card .hc-value{font-family:var(--font-display);font-size:22px;font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100;line-height:1.1;color:var(--color-dark)}
    .hero-card .hc-value small{font-family:var(--font-body);font-size:13px;color:var(--color-muted);font-weight:400}

    .hero-scroll{
      position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
      z-index:3;color:#fff;font-family:var(--font-sub);font-size:11px;letter-spacing:.3em;text-transform:uppercase;
      display:flex;flex-direction:column;align-items:center;gap:10px;
      opacity:.85;
    }
    .hero-scroll .bar{width:1px;height:44px;background:#fff;animation:scrollPulse 1.8s ease-in-out infinite;transform-origin:top}
    @keyframes scrollPulse{0%,100%{transform:scaleY(.3);opacity:.4}50%{transform:scaleY(1);opacity:1}}

    @media (max-width:900px){
      .hero-grid{grid-template-columns:1fr;gap:40px}
      .hero-side{order:2}
    }

    /* ============ TRUST STRIP ============ */
    .trust{
      background:var(--color-dark);color:var(--color-light);
      position:relative;overflow:hidden;
    }
    .trust::before{content:"";position:absolute;inset:0;background-image:var(--paw-pattern);background-size:160px;opacity:.5}
    .trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;z-index:1}
    .trust-item{
      padding:38px 24px;text-align:center;
      border-right:1px solid rgba(253,246,238,.12);
      transition:background .3s ease;
    }
    .trust-item:hover{background:rgba(253,246,238,.04)}
    .trust-item:last-child{border-right:0}
    .trust-item .ti-icon{font-size:26px;margin-bottom:10px;color:var(--color-accent);display:inline-block;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
    .trust-item:hover .ti-icon{animation:wobble .7s ease}
    .trust-item .ti-num{
      font-family:var(--font-display);font-weight:600;font-size:56px;line-height:1;
      font-variation-settings:'opsz' 144,'SOFT' 100,'WONK' 1;
      color:#fff;letter-spacing:-.02em;
    }
    .trust-item .ti-num .plus{color:var(--color-accent)}
    .trust-item .ti-label{
      font-family:var(--font-sub);font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
      color:rgba(253,246,238,.7);margin-top:10px;
    }
    @media (max-width:780px){
      .trust-inner{grid-template-columns:repeat(2,1fr)}
      .trust-item:nth-child(2){border-right:0}
      .trust-item:nth-child(1),.trust-item:nth-child(2){border-bottom:1px solid rgba(253,246,238,.12)}
      .trust-item .ti-num{font-size:42px}
    }

    /* ============ SECTION SCAFFOLD ============ */
    section{position:relative}
    .section{padding:120px 0;position:relative}
    .section--cream{background:var(--color-light)}
    .section--beige{background:var(--color-mid)}
    .section--dark{background:var(--color-dark);color:var(--color-light)}
    .section--paw::before{content:"";position:absolute;inset:0;background-image:var(--paw-pattern);background-size:200px;pointer-events:none}
    .section > .container{position:relative;z-index:1}

    .section-head{max-width:760px;margin:0 auto 70px;text-align:center;position:relative}
    .section-head .eyebrow{justify-content:center;margin-bottom:18px}
    .section-head h2{
      font-family:var(--font-display);font-weight:900;
      font-size:clamp(34px, 4.4vw, 56px);line-height:1.0;
      margin:0 0 18px;letter-spacing:-.02em;
      text-transform:uppercase;
    }
    .section-head h2 em{
      font-family:var(--font-script);font-style:normal;
      color:var(--color-primary);font-weight:600;font-size:1.3em;
      display:inline-block;line-height:.85;
      text-transform:none;letter-spacing:0;
      animation:waggle 5s ease-in-out infinite;transform-origin:center;
    }
    .section--dark .section-head h2 em{color:var(--color-accent)}
    .section-head p{font-size:17.5px;color:var(--color-muted);margin:0 auto;max-width:560px;line-height:1.55}
    .section--dark .section-head h2{color:#fff}
    .section--dark .section-head p{color:rgba(253,246,238,.78)}

    /* wave divider */
    .wave{display:block;width:100%;height:80px}
    .wave svg{display:block;width:100%;height:100%}

    /* ============ NOSOTROS ============ */
    .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
    .about-text h2{font-family:var(--font-display);font-weight:900;font-size:clamp(34px,4.2vw,56px);line-height:1.0;margin:18px 0 24px;letter-spacing:-.02em;text-transform:uppercase}
    .about-text h2 .name{color:var(--color-primary);font-family:var(--font-script);font-weight:600;font-size:1.3em;display:inline-block;line-height:.85;text-transform:none;letter-spacing:0;animation:waggle 4s ease-in-out infinite}
    .about-text h2 .name:nth-of-type(2){animation-delay:.6s;animation-duration:5s}
    .about-text p{font-size:16.5px;color:#4a4a4a;margin:0 0 18px;max-width:520px;line-height:1.65}
    .about-text p em{font-family:var(--font-script);font-style:normal;color:var(--color-primary);font-size:1.18em;font-weight:600}
    .about-text .signature{
      display:flex;align-items:center;gap:14px;margin-top:30px;
      font-family:var(--font-script);font-size:26px;color:var(--color-primary);
    }
    .about-loc{
      display:inline-flex;align-items:center;gap:10px;margin-top:28px;
      font-family:var(--font-sub);font-weight:600;font-size:14px;color:var(--color-secondary);
    }

    .about-photo{position:relative;border-radius:var(--radius-l);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-l)}
    .photo-placeholder{
      position:absolute;inset:0;
      background:
        linear-gradient(135deg, rgba(91,123,44,.18), rgba(45,74,56,.18)),
        repeating-linear-gradient(45deg, #e6dcc8 0 18px, #d8caac 18px 36px);
      display:flex;align-items:flex-end;justify-content:flex-start;
      padding:24px;
    }
    .photo-placeholder .pp-label{
      font-family:"DM Mono", ui-monospace, Menlo, monospace;
      font-size:11px;letter-spacing:.12em;
      color:rgba(44,44,44,.55);text-transform:uppercase;
      background:rgba(253,246,238,.85);padding:8px 12px;border-radius:6px;
    }
    .about-photo .float-badge{
      position:absolute;left:24px;top:24px;
      background:#fff;border-radius:14px;padding:14px 18px;
      box-shadow:var(--shadow-m);
      display:flex;align-items:center;gap:12px;
      animation:bob 5s ease-in-out infinite;
    }
    .about-photo .float-badge .stars{color:var(--color-gold);font-size:14px;letter-spacing:1px}
    .about-photo .float-badge .b-num{font-family:var(--font-display);font-size:24px;font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100;line-height:1;color:var(--color-dark)}
    .about-photo .float-badge .b-sub{font-family:var(--font-sub);font-weight:700;font-size:11px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.1em}

    .about-photo .float-tag{
      position:absolute;right:-12px;bottom:40px;
      background:var(--color-secondary);color:#fff;
      padding:14px 22px;border-radius:999px;
      font-family:var(--font-script);font-weight:600;font-size:18px;letter-spacing:0;
      box-shadow:var(--shadow-m);
      transform:rotate(-3deg);
      animation:waggle 5s ease-in-out infinite;
    }

    .values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:90px}
    .value{
      background:#fff;border-radius:var(--radius-m);
      padding:32px 26px;
      box-shadow:var(--shadow-s);
      border:1px solid rgba(44,44,44,.05);
      transition:transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .4s ease, border-color .4s ease;
      position:relative;overflow:hidden;
    }
    .value::before{
      content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;
      background:radial-gradient(circle, rgba(91,123,44,.18), transparent 70%);
      transform:scale(0);transition:transform .5s ease;
    }
    .value:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:var(--shadow-l);border-color:var(--color-primary)}
    .value:hover::before{transform:scale(1)}
    .value:hover .v-icon{animation:pop .6s ease}
    .value .v-icon{
      width:60px;height:60px;border-radius:18px;background:var(--color-mid);
      display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:18px;
      transition:background .3s ease;
    }
    .value:nth-child(2) .v-icon{background:rgba(45,74,56,.15)}
    .value:nth-child(3) .v-icon{background:rgba(200,209,74,.30)}
    .value h3{font-family:var(--font-display);font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 80;font-size:26px;margin:0 0 10px;line-height:1.15}
    .value p{margin:0;color:var(--color-muted);font-size:15px;line-height:1.55}

    @media (max-width:900px){
      .about-grid{grid-template-columns:1fr;gap:50px}
      .values{grid-template-columns:1fr;margin-top:60px}
    }

    /* ============ SERVICIOS ============ */
    .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
    .service-card{
      position:relative;border-radius:var(--radius-l);
      overflow:hidden;aspect-ratio:3/4;
      cursor:pointer;
      box-shadow:var(--shadow-s);
      transition:transform .45s cubic-bezier(.34,1.56,.64,1), box-shadow .4s ease;
    }
    .service-card:hover{transform:translateY(-12px) rotate(-1.5deg);box-shadow:var(--shadow-l)}
    .service-card:nth-child(2):hover{transform:translateY(-12px) rotate(1.5deg)}
    .service-card .sc-photo{
      position:absolute;inset:0;
      background:linear-gradient(180deg,rgba(31,42,31,0) 35%, rgba(31,42,31,.85) 100%),
                 repeating-linear-gradient(60deg, #7d9842 0 22px, #6d8736 22px 44px);
      transition:transform .6s ease;
    }
    .service-card:nth-child(2) .sc-photo{background:linear-gradient(180deg,rgba(31,42,31,0) 35%, rgba(31,42,31,.85) 100%),
                 repeating-linear-gradient(60deg, #4a6840 0 22px, #3a5530 22px 44px)}
    .service-card:nth-child(3) .sc-photo{background:linear-gradient(180deg,rgba(31,42,31,0) 35%, rgba(31,42,31,.85) 100%),
                 repeating-linear-gradient(60deg, #d4ad5a 0 22px, #c39a45 22px 44px)}
    .service-card:hover .sc-photo{transform:scale(1.06)}
    .service-card .sc-ph-label{
      position:absolute;top:20px;left:20px;
      font-family:"DM Mono",ui-monospace,Menlo,monospace;
      font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.7);
    }
    .service-card .sc-icon{
      position:absolute;top:22px;right:22px;
      width:54px;height:54px;border-radius:50%;
      background:rgba(253,246,238,.95);
      display:flex;align-items:center;justify-content:center;font-size:24px;
      transition:transform .5s cubic-bezier(.34,1.56,.64,1);
    }
    .service-card:hover .sc-icon{animation:wobble .8s ease}
    .service-card .sc-content{
      position:absolute;left:0;right:0;bottom:0;
      padding:32px 28px;color:#fff;
      transition:transform .4s ease;
    }
    .service-card:hover .sc-content{transform:translateY(-6px)}
    .service-card h3{font-family:var(--font-display);font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100,'WONK' 1;font-size:36px;line-height:1.0;margin:0 0 10px;letter-spacing:-.015em}
    .service-card p{margin:0 0 18px;color:rgba(253,246,238,.85);font-size:15px}
    .service-card .sc-link{
      display:inline-flex;align-items:center;gap:8px;
      font-family:var(--font-sub);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
      color:var(--color-accent);
    }
    .service-card .sc-link::after{
      content:"→";transition:transform .3s ease;
    }
    .service-card:hover .sc-link::after{transform:translateX(6px)}

    @media (max-width:900px){.service-grid{grid-template-columns:1fr;}}

    /* ============ TABS — QUÉ INCLUYE ============ */
    .includes{
      margin-top:80px;
      background:#fff;border-radius:var(--radius-l);
      padding:48px;box-shadow:var(--shadow-m);
      border:1px solid rgba(44,44,44,.05);
    }
    .includes-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px;flex-wrap:wrap}
    .includes-head h3{font-family:var(--font-display);font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100,'WONK' 1;font-size:36px;margin:0;line-height:1.05;letter-spacing:-.02em}

    .tabs{display:flex;gap:8px;border-bottom:1px solid var(--color-line);overflow-x:auto;margin-bottom:32px}
    .tab{
      padding:14px 22px;background:transparent;
      font-family:var(--font-sub);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;
      color:var(--color-muted);
      border-bottom:2px solid transparent;
      transition:color .25s ease, border-color .25s ease;
      white-space:nowrap;
    }
    .tab:hover{color:var(--color-dark)}
    .tab.active{color:var(--color-primary);border-color:var(--color-primary)}

    .tab-content{display:none;animation:fadeIn .35s ease}
    .tab-content.active{display:block}
    @keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

    .check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 36px}
    .check-item{
      display:flex;align-items:flex-start;gap:14px;
      padding:14px 0;border-bottom:1px solid var(--color-line);
      font-size:15.5px;
    }
    .check-item:last-child{border-bottom:0}
    .check-item .ck{
      flex:none;width:24px;height:24px;border-radius:50%;
      background:var(--color-secondary);color:#fff;
      display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;
      margin-top:1px;
    }
    @media (max-width:680px){.check-grid{grid-template-columns:1fr}}

    .tab-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-line);flex-wrap:wrap}
    .tab-foot .note{font-size:14px;color:var(--color-muted);max-width:480px}

    /* size guide */
    .sizes{
      margin-top:60px;background:var(--color-mid);
      border-radius:var(--radius-m);padding:28px;
    }
    .sizes-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:12px}
    .sizes-head h4{font-family:var(--font-display);font-weight:600;font-variation-settings:'opsz' 96,'SOFT' 100;font-size:26px;margin:0}
    .sizes-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
    .size{
      background:#fff;border-radius:var(--radius-s);padding:18px 14px;
      text-align:center;border:1px solid rgba(44,44,44,.06);
      transition:transform .25s ease, box-shadow .25s ease;
    }
    .size:hover{transform:translateY(-3px);box-shadow:var(--shadow-s)}
    .size .em{font-size:30px;display:block;margin-bottom:6px}
    .size .sz-name{font-family:var(--font-sub);font-weight:700;font-size:13px;color:var(--color-dark)}
    .size .sz-weight{font-size:12px;color:var(--color-muted);margin-top:2px}
    @media (max-width:780px){.sizes-grid{grid-template-columns:repeat(2,1fr)}}

    /* ============ ANTES / DESPUÉS ============ */
    .ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
    .ba{
      position:relative;border-radius:var(--radius-m);overflow:hidden;
      aspect-ratio:3/4;
      box-shadow:var(--shadow-l);
      cursor:ew-resize;
      user-select:none;
      background:#000;
      transition:transform .4s ease;
    }
    .ba:hover{transform:translateY(-6px) scale(1.01)}
    .ba .ba-side{position:absolute;inset:0;overflow:hidden}
    .ba .ba-before{
      background:
        linear-gradient(180deg, rgba(31,42,31,0) 60%, rgba(31,42,31,.6) 100%),
        repeating-linear-gradient(135deg, #7c6e5e 0 16px, #6b5d4d 16px 32px);
    }
    .ba .ba-after{
      clip-path:inset(0 0 0 50%);
      background:
        linear-gradient(180deg, rgba(31,42,31,0) 60%, rgba(31,42,31,.55) 100%),
        repeating-linear-gradient(135deg, #5b7b2c 0 16px, #46601f 16px 32px);
    }
    .ba:nth-child(2) .ba-after{background:linear-gradient(180deg, rgba(31,42,31,0) 60%, rgba(31,42,31,.55) 100%),repeating-linear-gradient(135deg, #2d4a38 0 16px, #1f3527 16px 32px)}
    .ba:nth-child(3) .ba-after{background:linear-gradient(180deg, rgba(31,42,31,0) 60%, rgba(31,42,31,.55) 100%),repeating-linear-gradient(135deg, #c8d14a 0 16px, #b4be3a 16px 32px)}

    .ba .ba-label{
      position:absolute;top:18px;
      padding:6px 14px;border-radius:999px;
      font-family:var(--font-sub);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
      color:#fff;backdrop-filter:blur(6px);
      background:rgba(0,0,0,.45);
    }
    .ba .ba-label.before{left:18px}
    .ba .ba-label.after{right:18px;background:rgba(91,123,44,.85)}

    .ba .ba-handle{
      position:absolute;top:0;bottom:0;left:50%;
      width:3px;background:rgba(255,255,255,.85);
      transform:translateX(-50%);
      box-shadow:0 0 0 1px rgba(0,0,0,.15);
      pointer-events:none;
    }
    .ba .ba-knob{
      position:absolute;top:50%;left:50%;
      width:54px;height:54px;border-radius:50%;
      background:#fff;
      transform:translate(-50%,-50%);
      display:flex;align-items:center;justify-content:center;
      box-shadow:0 8px 22px rgba(0,0,0,.35);
      color:var(--color-dark);font-weight:700;font-size:18px;
      pointer-events:none;
      animation:knobBreath 2.5s ease-in-out infinite;
    }
    @keyframes knobBreath{0%,100%{box-shadow:0 8px 22px rgba(0,0,0,.35), 0 0 0 0 rgba(255,255,255,.4)}50%{box-shadow:0 8px 22px rgba(0,0,0,.35), 0 0 0 14px rgba(255,255,255,0)}}
    .ba .ba-knob::before{content:"‹  ›";letter-spacing:2px}
    .ba .ba-meta{
      position:absolute;left:18px;right:18px;bottom:18px;
      color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;
      font-family:var(--font-sub);font-size:13px;
    }
    .ba .ba-name{font-weight:700}
    .ba .ba-breed{opacity:.75;font-size:12px}

    .ba-foot{text-align:center;margin-top:60px;color:rgba(253,246,238,.85)}
    .ba-foot p{font-size:26px;font-family:var(--font-script);margin:0 0 20px;color:var(--color-accent)}

    @media (max-width:900px){.ba-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}}

    /* ============ GALERÍA ============ */
    .gallery{
      column-count:3;column-gap:18px;
    }
    /* gallery items wobble in */
    .gal-item{
      break-inside:avoid;margin-bottom:18px;
      position:relative;border-radius:var(--radius-m);overflow:hidden;
      cursor:pointer;
      box-shadow:var(--shadow-s);
      transition:transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
    }
    .gal-item:hover{transform:scale(1.03) rotate(-1deg);box-shadow:var(--shadow-l);z-index:2}
    .gal-item:nth-child(even):hover{transform:scale(1.03) rotate(1deg)}
    .gal-photo{
      width:100%;
      background:repeating-linear-gradient(45deg, #e6d4be 0 16px, #d9c3a8 16px 32px);
      display:flex;align-items:flex-end;padding:14px;
    }
    .gal-photo .gal-tag{
      font-family:"DM Mono",ui-monospace,monospace;
      font-size:10px;letter-spacing:.1em;
      color:rgba(44,44,44,.5);
      background:rgba(253,246,238,.88);padding:5px 9px;border-radius:5px;
    }
    .gal-1{aspect-ratio:4/5}
    .gal-2{aspect-ratio:1/1;background:repeating-linear-gradient(45deg, #7d9842 0 16px, #6d8736 16px 32px)!important}
    .gal-2 .gal-tag{color:rgba(255,255,255,.9);background:rgba(31,42,31,.4)}
    .gal-3{aspect-ratio:3/4}
    .gal-4{aspect-ratio:1/1;background:repeating-linear-gradient(45deg, #2d4a38 0 16px, #1f3527 16px 32px)!important}
    .gal-4 .gal-tag{color:rgba(255,255,255,.9);background:rgba(31,42,31,.4)}
    .gal-5{aspect-ratio:4/5}
    .gal-6{aspect-ratio:5/4;background:repeating-linear-gradient(45deg, #c8d14a 0 16px, #b4be3a 16px 32px)!important}
    .gal-6 .gal-tag{color:rgba(31,42,31,.7);background:rgba(255,255,255,.7)}
    .gal-7{aspect-ratio:3/4}
    .gal-8{aspect-ratio:1/1}
    .gal-9{aspect-ratio:4/5;background:repeating-linear-gradient(45deg, #5b7b2c 0 16px, #46601f 16px 32px)!important}
    .gal-9 .gal-tag{color:rgba(255,255,255,.9);background:rgba(31,42,31,.4)}

    .gal-item .gal-over{
      position:absolute;inset:0;background:rgba(44,44,44,.55);
      color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
      opacity:0;transition:opacity .3s ease;gap:10px;
    }
    .gal-item:hover .gal-over{opacity:1}
    .gal-over .gp{font-size:32px}
    .gal-over .gl{font-family:var(--font-sub);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase}

    @media (max-width:780px){.gallery{column-count:2}}
    @media (max-width:480px){.gallery{column-count:1}}

    /* ============ OPINIONES ============ */
    .reviews-wrap{position:relative;max-width:980px;margin:0 auto}
    .reviews-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 4px 30px}
    .reviews-track::-webkit-scrollbar{display:none}
    .review{
      flex:0 0 100%;scroll-snap-align:center;
      background:#fff;border-radius:var(--radius-l);
      padding:42px;
      box-shadow:var(--shadow-m);
      border:1px solid rgba(44,44,44,.04);
      display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start;
    }
    .review .av{
      width:96px;height:96px;border-radius:50%;
      background:linear-gradient(135deg, var(--color-primary), var(--color-accent));
      display:flex;align-items:center;justify-content:center;
      color:#fff;font-family:var(--font-display);font-size:36px;font-weight:600;
      flex:none;box-shadow:0 8px 20px -8px rgba(91,123,44,.7);
    }
    .review .av.av-2{background:linear-gradient(135deg, var(--color-secondary), var(--color-primary))}
    .review .av.av-3{background:linear-gradient(135deg, var(--color-warm), var(--color-gold))}
    .review .av.av-4{background:linear-gradient(135deg, var(--color-accent), var(--color-primary))}
    .review .av.av-5{background:linear-gradient(135deg, var(--color-secondary-deep), var(--color-secondary))}
    .review .av.av-6{background:linear-gradient(135deg, var(--color-leaf), var(--color-accent))}
    .review .av.av-7{background:linear-gradient(135deg, var(--color-primary-deep), var(--color-leaf))}
    .review .stars{color:var(--color-gold);font-size:18px;letter-spacing:2px;margin-bottom:10px;display:inline-block}
    .review:hover .stars{animation:wobble .6s ease}
    .review .quote{
      font-family:var(--font-display);font-style:normal;font-weight:500;
      font-variation-settings:'opsz' 96,'SOFT' 80;
      font-size:23px;line-height:1.4;color:var(--color-dark);
      margin:0 0 18px;letter-spacing:-.005em;
    }
    .review .quote::before{content:"\201C";font-family:var(--font-display);font-size:60px;color:var(--color-primary);line-height:0;vertical-align:-.4em;margin-right:4px;display:inline-block;animation:bob 4s ease-in-out infinite}
    .review .meta{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--color-muted)}
    .review .meta .name{font-family:var(--font-sub);font-weight:700;color:var(--color-dark);font-size:14px;letter-spacing:0;text-transform:none}
    .review .meta .src{display:inline-flex;align-items:center;gap:6px}
    .review .meta .src svg{flex:none}

    .review-controls{
      display:flex;justify-content:space-between;align-items:center;margin-top:18px;
    }
    .review-dots{display:flex;gap:8px}
    .review-dot{
      width:8px;height:8px;border-radius:50%;background:rgba(44,44,44,.18);
      transition:background .25s ease, width .25s ease;
    }
    .review-dot.active{background:var(--color-primary);width:24px;border-radius:4px}
    .review-arrows{display:flex;gap:10px}
    .review-arrow{
      width:46px;height:46px;border-radius:50%;
      background:#fff;border:1px solid var(--color-line);
      display:flex;align-items:center;justify-content:center;
      transition:background .25s ease, color .25s ease, transform .25s ease;
      color:var(--color-dark);font-size:18px;
    }
    .review-arrow:hover{background:var(--color-dark);color:#fff;transform:scale(1.05)}

    @media (max-width:680px){
      .review{grid-template-columns:1fr;padding:30px;text-align:center}
      .review .av{margin:0 auto}
      .review .meta{justify-content:center}
      .review .quote{font-size:18px}
    }

    /* ============ BLOG ============ */
    .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
    .post{
      background:#fff;border-radius:var(--radius-l);overflow:hidden;
      box-shadow:var(--shadow-s);
      border:1px solid rgba(44,44,44,.04);
      transition:transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
      display:flex;flex-direction:column;
    }
    .post:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:var(--shadow-l)}
    .post:nth-child(2):hover{transform:translateY(-10px) rotate(1deg)}
    .post .post-photo{
      aspect-ratio:4/3;
      background:repeating-linear-gradient(45deg, #e6d4be 0 16px, #d9c3a8 16px 32px);
      position:relative;
    }
    .post:nth-child(2) .post-photo{background:repeating-linear-gradient(45deg, #d4cbc0 0 16px, #c8beb1 16px 32px)}
    .post:nth-child(3) .post-photo{background:repeating-linear-gradient(45deg, #c9bdac 0 16px, #b8ac9b 16px 32px)}
    .post-photo .pp-tag{position:absolute;bottom:12px;left:12px;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.1em;color:rgba(44,44,44,.55);background:rgba(253,246,238,.85);padding:5px 9px;border-radius:5px}
    .post-photo .cat{
      position:absolute;top:14px;left:14px;
      background:var(--color-primary);color:#fff;
      padding:6px 12px;border-radius:999px;
      font-family:var(--font-sub);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
    }
    .post-body{padding:28px;flex:1;display:flex;flex-direction:column}
    .post .date{font-family:var(--font-sub);font-weight:600;font-size:12px;color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
    .post h3{font-family:var(--font-display);font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 80;font-size:26px;line-height:1.15;margin:0 0 12px;letter-spacing:-.015em}
    .post p{margin:0 0 22px;font-size:15px;color:var(--color-muted);flex:1}
    .post .read{
      display:inline-flex;align-items:center;gap:8px;
      font-family:var(--font-sub);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
      color:var(--color-primary);
    }
    .post .read::after{content:"→";transition:transform .3s ease}
    .post:hover .read::after{transform:translateX(6px)}

    @media (max-width:900px){.blog-grid{grid-template-columns:1fr}}

    /* ============ RESERVA ============ */
    .book-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:start}
    .form-card{
      background:#fff;border-radius:var(--radius-l);
      padding:42px;box-shadow:var(--shadow-m);
      border:1px solid rgba(44,44,44,.05);
    }
    .form-card h3{font-family:var(--font-display);font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100,'WONK' 1;font-size:36px;margin:0 0 8px;line-height:1.05;letter-spacing:-.02em}
    .form-card .fc-sub{color:var(--color-muted);margin:0 0 28px;font-size:15px}

    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
    .field{display:flex;flex-direction:column;gap:6px}
    .field label{font-family:var(--font-sub);font-weight:700;font-size:12px;color:var(--color-dark);letter-spacing:.06em;text-transform:uppercase}
    .field label .req{color:var(--color-primary)}
    .field input, .field select, .field textarea{
      width:100%;padding:14px 16px;border-radius:12px;
      border:1px solid rgba(44,44,44,.12);background:var(--color-light);
      font-family:var(--font-body);font-size:15px;color:var(--color-dark);
      transition:border-color .2s ease, background .2s ease;
    }
    .field input:focus, .field select:focus, .field textarea:focus{
      outline:none;border-color:var(--color-primary);background:#fff;
    }
    .field textarea{resize:vertical;min-height:110px}
    .field-row{grid-column:1/-1}
    .form-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;flex-wrap:wrap}
    .form-foot .gdpr{font-size:12px;color:var(--color-muted);max-width:280px;line-height:1.4}
    .form-foot .gdpr a{text-decoration:underline}

    @media (max-width:680px){.form-row{grid-template-columns:1fr}}

    .contact-card{display:flex;flex-direction:column;gap:18px}
    .contact-item{
      background:#fff;border-radius:var(--radius-m);
      padding:24px;box-shadow:var(--shadow-s);
      border:1px solid rgba(44,44,44,.05);
      display:flex;gap:18px;align-items:flex-start;
    }
    .contact-item .ci-icon{
      width:48px;height:48px;border-radius:14px;flex:none;
      background:var(--color-mid);
      display:flex;align-items:center;justify-content:center;font-size:20px;
    }
    .contact-item .ci-label{font-family:var(--font-sub);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}
    .contact-item .ci-val{font-family:var(--font-display);font-size:24px;font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100;line-height:1.2;margin-top:2px;letter-spacing:-.01em}
    .contact-item .ci-extra{font-size:14px;color:var(--color-muted);margin-top:6px}
    .contact-item .ci-extra a{color:var(--color-primary);font-weight:600}
    .contact-item.green{background:var(--color-secondary);color:#fff;border-color:transparent}
    .contact-item.green .ci-icon{background:rgba(255,255,255,.18)}
    .contact-item.green .ci-label{color:rgba(255,255,255,.7)}
    .contact-item.green .ci-extra{color:rgba(255,255,255,.85)}

    .hours-table{font-size:14px;line-height:1.7;margin-top:4px}
    .hours-table .hr-row{display:flex;justify-content:space-between;gap:14px;padding:4px 0;border-bottom:1px dashed rgba(44,44,44,.08)}
    .hours-table .hr-row:last-child{border:0}
    .hours-table .day{font-weight:600;color:var(--color-dark)}
    .hours-table .time{color:var(--color-muted);font-variant-numeric:tabular-nums}
    .hours-table .closed{color:#b94e3c}

    .map-block{
      margin-top:50px;border-radius:var(--radius-l);overflow:hidden;
      box-shadow:var(--shadow-m);
      aspect-ratio:21/7;
      position:relative;
      background:#e9ddc8;
      border:1px solid var(--color-line);
    }
    .map-block iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.95)}
    .map-block .pin{
      position:absolute;left:60%;top:50%;transform:translate(-50%,-100%);
      display:flex;flex-direction:column;align-items:center;gap:6px;
    }
    .map-block .pin .pin-dot{
      width:46px;height:46px;border-radius:50% 50% 50% 0;
      background:var(--color-primary);
      transform:rotate(-45deg);
      box-shadow:0 10px 24px -6px rgba(91,123,44,.7);
      display:flex;align-items:center;justify-content:center;
      animation:pinBounce 2.2s ease-in-out infinite;
    }
    .map-block .pin .pin-dot::after{content:"🐾";display:block;transform:rotate(45deg);font-size:18px}
    .map-block .pin .pin-label{
      background:#fff;padding:8px 14px;border-radius:999px;
      font-family:var(--font-sub);font-weight:700;font-size:12px;color:var(--color-dark);
      box-shadow:var(--shadow-s);
      white-space:nowrap;
    }
    @keyframes pinBounce{0%,100%{transform:rotate(-45deg) translateY(0)}50%{transform:rotate(-45deg) translateY(-8px)}}

    @media (max-width:900px){.book-grid{grid-template-columns:1fr}.map-block{aspect-ratio:4/3}}

    /* ============ FOOTER ============ */
    footer{background:var(--color-darker);color:rgba(253,246,238,.7);padding:80px 0 30px;position:relative;overflow:hidden}
    footer::before{content:"";position:absolute;inset:0;background-image:var(--paw-pattern);background-size:200px;opacity:.4}
    .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px;position:relative;z-index:1}
    .foot-brand .logo-text .lt-1{color:#fff}
    .foot-tag{font-family:var(--font-script);font-size:26px;margin:20px 0;color:rgba(253,246,238,.95);max-width:280px;line-height:1.2}
    .foot-socials{display:flex;gap:10px;margin-top:14px}
    .foot-socials a{
      width:42px;height:42px;border-radius:50%;
      background:rgba(253,246,238,.08);
      display:flex;align-items:center;justify-content:center;
      transition:background .25s ease, transform .25s ease;
      color:rgba(253,246,238,.85);
    }
    .foot-socials a:hover{background:var(--color-primary);transform:translateY(-3px);color:#fff}

    .foot-col h4{font-family:var(--font-sub);font-weight:700;font-size:12px;color:#fff;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px}
    .foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
    .foot-col a{font-size:14px;color:rgba(253,246,238,.7);transition:color .2s ease}
    .foot-col a:hover{color:var(--color-accent)}

    .foot-bottom{
      margin-top:60px;padding-top:24px;border-top:1px solid rgba(253,246,238,.08);
      display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
      font-size:12px;color:rgba(253,246,238,.55);position:relative;z-index:1;
    }
    .foot-bottom .legal{display:flex;gap:18px;flex-wrap:wrap}
    .foot-bottom .legal a:hover{color:var(--color-accent)}

    @media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:40px}}
    @media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

    /* ============ CONSEJOS (tips) ============ */
    .tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
    .tip{
      background:#fff;border-radius:var(--radius-l);
      padding:36px 30px;
      box-shadow:var(--shadow-s);
      border:1px solid rgba(44,44,44,.05);
      transition:transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .4s ease, border-color .4s ease;
      position:relative;overflow:hidden;
    }
    .tip::before{
      content:"";position:absolute;top:-50px;right:-50px;width:140px;height:140px;border-radius:50%;
      background:radial-gradient(circle, rgba(91,123,44,.18), transparent 70%);
      transform:scale(0);transition:transform .5s ease;
    }
    .tip:nth-child(2)::before{background:radial-gradient(circle, rgba(45,74,56,.16), transparent 70%)}
    .tip:nth-child(3)::before{background:radial-gradient(circle, rgba(200,209,74,.25), transparent 70%)}
    .tip:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:var(--shadow-l);border-color:var(--color-primary)}
    .tip:nth-child(2):hover{transform:translateY(-10px) rotate(1deg);border-color:var(--color-secondary)}
    .tip:nth-child(3):hover{transform:translateY(-10px) rotate(-1deg);border-color:var(--color-accent)}
    .tip:hover::before{transform:scale(1)}
    .tip:hover .tip-icon{animation:wobble .7s ease}
    .tip-icon{
      width:64px;height:64px;border-radius:20px;background:var(--color-mid);
      display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:22px;
      transition:transform .4s ease;
    }
    .tip:nth-child(2) .tip-icon{background:rgba(45,74,56,.15)}
    .tip:nth-child(3) .tip-icon{background:rgba(200,209,74,.30)}
    .tip h3{font-family:var(--font-display);font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100,'WONK' 1;font-size:26px;margin:0 0 14px;line-height:1.1;letter-spacing:-.015em}
    .tip p{margin:0;color:var(--color-muted);font-size:15.5px;line-height:1.6}
    @media (max-width:900px){.tips-grid{grid-template-columns:1fr}}

    /* ============ CONTACT ACTIONS (booking) ============ */
    .contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:50px}
    .contact-action{
      display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;
      padding:32px;border-radius:var(--radius-l);
      box-shadow:var(--shadow-m);
      transition:transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .4s ease;
      position:relative;overflow:hidden;
      color:#fff;
    }
    .contact-action::before{
      content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;
      background:rgba(255,255,255,.08);
      transition:transform .6s ease;
    }
    .contact-action:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:var(--shadow-l)}
    .contact-action:hover::before{transform:scale(1.4)}
    .contact-action.ca-wa{background:#25D366}
    .contact-action.ca-tel{background:var(--color-primary)}
    .contact-action.ca-tel:hover{transform:translateY(-8px) rotate(.6deg)}
    .contact-action .ca-icon{
      width:72px;height:72px;border-radius:22px;
      background:rgba(255,255,255,.18);
      display:flex;align-items:center;justify-content:center;
      transition:transform .5s cubic-bezier(.34,1.56,.64,1);
      position:relative;z-index:1;
    }
    .contact-action:hover .ca-icon{animation:wobble .7s ease}
    .contact-action .ca-body{position:relative;z-index:1}
    .contact-action .ca-label{font-family:var(--font-sub);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
    .contact-action .ca-title{font-family:var(--font-display);font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100,'WONK' 1;font-size:36px;line-height:1.0;margin:4px 0 6px;letter-spacing:-.02em}
    .contact-action .ca-sub{font-size:14px;opacity:.85;margin-bottom:8px}
    .contact-action .ca-num{font-family:var(--font-display);font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100;font-size:22px;letter-spacing:.01em}
    .contact-action .ca-arrow{font-size:32px;opacity:.9;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:1}
    .contact-action:hover .ca-arrow{transform:translateX(8px)}
    @media (max-width:780px){
      .contact-actions{grid-template-columns:1fr}
      .contact-action{padding:24px;grid-template-columns:auto 1fr;gap:18px}
      .contact-action .ca-arrow{display:none}
      .contact-action .ca-title{font-size:28px}
    }

    .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .info-card{
      background:#fff;border-radius:var(--radius-m);
      padding:24px;box-shadow:var(--shadow-s);
      border:1px solid rgba(44,44,44,.05);
      display:flex;gap:18px;align-items:flex-start;
      transition:transform .3s ease, box-shadow .3s ease;
    }
    .info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-m)}
    .info-card .ci-icon{
      width:48px;height:48px;border-radius:14px;flex:none;
      background:var(--color-mid);
      display:flex;align-items:center;justify-content:center;font-size:20px;
      transition:transform .4s cubic-bezier(.34,1.56,.64,1);
    }
    .info-card:hover .ci-icon{transform:rotate(-12deg) scale(1.1)}
    .info-card .ci-label{font-family:var(--font-sub);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}
    .info-card .ci-val{font-family:var(--font-display);font-size:24px;font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100;line-height:1.2;margin-top:2px;letter-spacing:-.01em}
    .info-card .ci-extra{font-size:14px;color:var(--color-muted);margin-top:6px;line-height:1.5}
    .info-card .ci-extra a{color:var(--color-primary);font-weight:700}
    @media (max-width:900px){.info-grid{grid-template-columns:1fr}}
    .wa-float{
      position:fixed;bottom:24px;right:24px;z-index:90;
      width:68px;height:68px;border-radius:50%;
      background:#25D366;color:#fff;
      display:flex;align-items:center;justify-content:center;
      box-shadow:0 12px 30px -6px rgba(37,211,102,.65);
      transition:transform .3s cubic-bezier(.34,1.56,.64,1);
      animation:bob 3s ease-in-out infinite;
    }
    .wa-float:hover{transform:scale(1.12) rotate(-8deg)}
    .wa-float::before{
      content:"";position:absolute;inset:0;border-radius:50%;
      background:rgba(37,211,102,.4);
      animation:waPulse 2s ease-out infinite;
    }
    .wa-float::after{
      content:"¡Hola! 🐾";
      position:absolute;right:78px;top:50%;transform:translateY(-50%) scale(0);
      background:#fff;color:var(--color-dark);
      font-family:var(--font-script);font-size:20px;
      padding:8px 16px;border-radius:18px;
      box-shadow:var(--shadow-m);white-space:nowrap;
      transform-origin:right center;
      transition:transform .3s cubic-bezier(.34,1.56,.64,1);
      pointer-events:none;
    }
    .wa-float:hover::after{transform:translateY(-50%) scale(1)}
    @keyframes waPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.8);opacity:0}}

    /* ============ REVEAL ============ */
    .reveal-up{opacity:0;transform:translateY(30px);transition:opacity .9s ease, transform .9s ease}
    .reveal-up.visible{opacity:1;transform:translateY(0)}
    .reveal-l{opacity:0;transform:translateX(-30px);transition:opacity 1s ease, transform 1s ease}
    .reveal-l.visible{opacity:1;transform:translateX(0)}
    .reveal-r{opacity:0;transform:translateX(30px);transition:opacity 1s ease, transform 1s ease}
    .reveal-r.visible{opacity:1;transform:translateX(0)}
    .stagger > *{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease}
    .stagger.visible > *{opacity:1;transform:translateY(0)}
    .stagger.visible > *:nth-child(1){transition-delay:0s}
    .stagger.visible > *:nth-child(2){transition-delay:.1s}
    .stagger.visible > *:nth-child(3){transition-delay:.2s}
    .stagger.visible > *:nth-child(4){transition-delay:.3s}
    .stagger.visible > *:nth-child(5){transition-delay:.4s}
    .stagger.visible > *:nth-child(6){transition-delay:.5s}

    /* ============ DECORATIVE FLOATERS ============ */
    .paw-float{position:absolute;pointer-events:none;opacity:.13;font-size:42px;animation:bob 6s ease-in-out infinite;z-index:0}
    .paw-float.f1{top:8%;left:5%;animation-delay:0s}
    .paw-float.f2{top:25%;right:8%;animation-delay:1.5s;transform:rotate(20deg);font-size:32px}
    .paw-float.f3{bottom:14%;left:10%;animation-delay:2.8s;transform:rotate(-15deg);font-size:38px}
    .paw-float.f4{bottom:8%;right:14%;animation-delay:4s;font-size:28px}

    /* tropical leaf decoration — echoes the shop wallpaper */
    .leaf-float{position:absolute;pointer-events:none;opacity:.18;z-index:0;animation:bob 7s ease-in-out infinite}
    .leaf-float svg{display:block}
    .leaf-float.l1{top:6%;right:4%;animation-delay:.8s;transform:rotate(-15deg)}
    .leaf-float.l2{bottom:8%;left:3%;animation-delay:2.4s;transform:rotate(120deg)}
    .leaf-float.l3{top:40%;right:-2%;animation-delay:1.6s;transform:rotate(40deg) scale(.8)}
    .section--dark .leaf-float{opacity:.10}

    /* walking paw divider */
    .paw-walk{
      position:relative;height:80px;overflow:hidden;background:var(--color-light);
      display:flex;align-items:center;
    }
    .paw-walk svg{position:absolute;left:0;top:50%;transform:translateY(-50%);animation:walkPaw 14s linear infinite;color:var(--color-primary)}
    .paw-walk svg:nth-child(2){animation-delay:-4.5s;color:var(--color-secondary)}
    .paw-walk svg:nth-child(3){animation-delay:-9s;color:var(--color-accent)}

    /* section--dark heading override */
    .section--dark .section-head h2 em{color:var(--color-accent)}

    /* selection */
    ::selection{background:var(--color-primary);color:#fff}

    /* nav scrolled logo glow */
    .nav.scrolled .logo svg{animation:bob 4s ease-in-out infinite}
    .cookie{
      position:fixed;left:24px;right:24px;bottom:24px;z-index:120;
      background:#fff;border-radius:var(--radius-m);padding:18px 22px;
      box-shadow:var(--shadow-l);
      display:flex;align-items:center;gap:18px;
      max-width:540px;margin-left:auto;margin-right:auto;
      border:1px solid rgba(44,44,44,.06);
      font-size:13.5px;color:var(--color-muted);
      transition:transform .3s ease, opacity .3s ease;
    }
    .cookie.hidden{opacity:0;transform:translateY(20px);pointer-events:none}
    .cookie strong{color:var(--color-dark)}
    .cookie .btn{padding:10px 18px;font-size:12px}
