  :root{
    --ink:#efe4d2;
    --ink-2:#e6d7bf;
    --paper:#2b2117;
    --paper-dim:#6f5d47;
    --lacquer:#8a6435;
    --lacquer-2:#6b4b26;
    --lacquer-soft:#ab8452;
    --line:rgba(43,33,23,0.14);
    --radius:2px;
    --ease:cubic-bezier(.16,1,.3,1);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:auto;}
  body{
    background:var(--ink);
    color:var(--paper);
    font-family:'Jost',system-ui,sans-serif;
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{display:block; max-width:100%; height:auto;}
  a{color:inherit; text-decoration:none;}
  .display{font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; letter-spacing:-0.01em;}
  .wrap{max-width:1280px; margin:0 auto; padding-left:20px; padding-right:20px;}
  @media(min-width:768px){ .wrap{padding-left:40px; padding-right:40px;} }

  ::selection{background:var(--lacquer); color:var(--paper);}

  /* ---------- NAV ---------- */
  header.nav{
    position:fixed; top:14px; left:14px; right:14px; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 18px;
    background:rgba(239,228,210,.6);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
    border:1px solid rgba(43,33,23,.1);
    border-radius:999px;
    box-shadow:0 10px 30px rgba(43,33,23,.08);
    transition:background .4s var(--ease), box-shadow .4s var(--ease);
    max-width:1280px; margin:0 auto;
  }
  header.nav.scrolled{
    background:rgba(239,228,210,.9);
    box-shadow:0 10px 30px rgba(43,33,23,.12);
  }
  @media(min-width:768px){ header.nav{top:20px; left:32px; right:32px; padding:14px 24px;} }
  .brand{
    display:inline-flex; align-items:center;
    background:linear-gradient(160deg, #211a13, #0f0b08);
    padding:6px 12px; border-radius:12px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 2px 8px rgba(15,11,8,.35);
  }
  .brand img{height:26px; width:auto; display:block;}
  @media(min-width:400px){ .brand{padding:7px 14px; border-radius:14px;} .brand img{height:30px;} }
  .nav-cta{
    font-size:0.68rem; font-weight:600; letter-spacing:0.01em; white-space:nowrap;
    border:1px solid var(--lacquer); color:var(--lacquer);
    padding:7px 11px; border-radius:999px;
    transition:background .3s var(--ease), color .3s var(--ease);
  }
  @media(min-width:400px){ .nav-cta{font-size:0.8rem; letter-spacing:0.02em; padding:9px 16px;} }
  header.nav{gap:10px;}
  /* mobile: hamburger styled as three tapered nails */
  .nav-toggle{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    width:34px; height:34px; padding:0; border:none; background:none; cursor:pointer;
    flex-shrink:0;
  }
  @media(min-width:768px){ .nav-toggle{display:none;} }
  .nav-toggle span{
    display:block; width:18px; height:7px;
    background:linear-gradient(180deg, var(--lacquer-soft), var(--lacquer) 55%, var(--lacquer-2));
    border-radius:50% 50% 40% 40%/70% 70% 30% 30%;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.35);
    transition:transform .35s var(--ease), opacity .25s var(--ease), width .35s var(--ease);
  }
  .nav-toggle span:nth-child(1){width:15px;}
  .nav-toggle span:nth-child(2){width:20px;}
  .nav-toggle span:nth-child(3){width:12px;}
  .nav-toggle.is-open span{width:19px;}
  .nav-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .nav-toggle.is-open span:nth-child(2){opacity:0; transform:scaleX(0);}
  .nav-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

  .nav-links{display:none;}
  @media(min-width:768px){
    .nav-links{
      display:flex; align-items:center; gap:26px; margin:0 auto;
      font-family:'Jost',sans-serif; font-size:0.85rem; font-weight:500; color:var(--paper);
    }
    .nav-links a{transition:color .2s var(--ease);}
    .nav-links a:hover{color:var(--lacquer);}
  }
  @media(max-width:767px){
    .nav-links{
      display:flex; flex-direction:column; gap:4px;
      position:fixed; left:14px; right:14px; top:76px; z-index:99;
      background:rgba(239,228,210,.97); backdrop-filter:blur(16px);
      border:1px solid rgba(43,33,23,.1); border-radius:20px;
      padding:10px; box-shadow:0 20px 50px rgba(43,33,23,.18);
      font-family:'Jost',sans-serif; font-size:1rem; font-weight:500; color:var(--paper);
      opacity:0; transform:translateY(-10px) scale(.98); pointer-events:none;
      transition:opacity .3s var(--ease), transform .3s var(--ease);
    }
    .nav-links.is-open{opacity:1; transform:translateY(0) scale(1); pointer-events:auto;}
    .nav-links a{padding:14px 12px; border-radius:12px; transition:background .2s var(--ease), color .2s var(--ease);}
    .nav-links a:active{background:rgba(169,131,79,.14); color:var(--lacquer);}
  }
  .nav-cta:active{transform:scale(.97);}
  @media(hover:hover){ .nav-cta:hover{background:var(--lacquer); color:var(--paper);} }

  /* ---------- HERO (image top, content below) ---------- */
  .hero{
    position:relative;
    padding:76px 0 0;
    overflow:hidden;
  }
  @media(min-width:768px){ .hero{padding:88px 0 0;} }
  .hero-bg{
    position:relative; width:100%; aspect-ratio:5/4; overflow:hidden;
  }
  @media(min-width:640px){ .hero-bg{aspect-ratio:16/9;} }
  @media(min-width:1024px){ .hero-bg{aspect-ratio:21/9;} }
  .hero-bg img{
    width:100%; height:100%; object-fit:cover; object-position:82% 46%;
    filter:saturate(1.02) contrast(1.02) brightness(1.02);
  }
  .hero-bg::after{
    content:""; position:absolute; inset:0;
    background:
      linear-gradient(to bottom, transparent 65%, var(--ink) 100%),
      linear-gradient(200deg, rgba(169,131,79,.18), transparent 55%);
  }
  .hero-content{
    position:relative; z-index:2; max-width:720px;
    padding:36px 20px 40px;
  }
  @media(min-width:768px){ .hero-content{padding:56px 48px 64px;} }

  /* desktop only: text beside the image, side by side (mobile/tablet stay stacked, untouched) */
  @media(min-width:1024px){
    .hero{
      display:flex; align-items:center; gap:56px;
      padding:96px 56px 56px; max-width:1440px; margin:0 auto;
    }
    .hero-bg{
      flex:1 1 56%; aspect-ratio:4/5; border-radius:10px; align-self:stretch;
      max-height:78vh; order:2;
    }
    .hero-bg::after{ background:linear-gradient(to top, rgba(13,11,10,.15), transparent 30%); }
    .hero-content{ flex:1 1 40%; max-width:520px; padding:0; }
  }
  .hero-eyebrow{
    font-size:0.72rem; text-transform:uppercase; letter-spacing:0.18em; color:var(--lacquer);
    margin-bottom:14px; opacity:0; font-weight:600;
  }
  .hero-eyebrow::before{
    content:''; display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:9px; vertical-align:middle;
    background:radial-gradient(circle at 30% 30%, var(--lacquer-soft), var(--lacquer) 55%, var(--lacquer-2));
    box-shadow:0 0 6px rgba(169,131,79,.5);
  }
  .hero h1{
    font-family:'Cormorant Garamond',serif; font-style:italic; letter-spacing:-0.01em;
    font-weight:600;
    font-size:clamp(2.3rem, 6.8vw, 4.2rem);
    line-height:1.08;
    letter-spacing:0;
    margin-bottom:20px;
    overflow:hidden;
    color:var(--paper);
  }
  .hero h1 em{font-style:normal; color:var(--lacquer); font-weight:600;}
  .word{display:inline-block; overflow:hidden; vertical-align:top;}
  .word .inner{display:inline-block; will-change:transform;}
  .hero p{
    font-size:1rem; max-width:46ch; color:rgba(43,33,23,0.78); margin-bottom:26px;
  }
  @media(min-width:768px){ .hero p{font-size:1.1rem;} }
  .hero-ctas{display:flex; gap:12px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--lacquer); color:var(--paper); font-weight:600; font-size:0.92rem;
    padding:15px 28px; border-radius:999px; display:inline-flex; align-items:center; gap:8px;
    transition:transform .25s var(--ease), background .25s var(--ease);
    white-space:nowrap;
  }
  .btn-primary:active{transform:scale(.97);}
  @media(hover:hover){ .btn-primary:hover{background:var(--lacquer-2);} }
  .btn-ghost{
    border:1px solid rgba(43,33,23,0.3); color:var(--paper); font-weight:600; font-size:0.92rem;
    padding:15px 26px; border-radius:999px; white-space:nowrap;
    transition:border-color .25s var(--ease), background .25s var(--ease);
  }
  @media(hover:hover){ .btn-ghost:hover{border-color:var(--paper); background:rgba(43,33,23,0.06);} }

  /* ---------- STRIP ---------- */
  .strip{
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:22px 20px;
    display:flex; flex-wrap:wrap; gap:14px 32px; justify-content:center;
    font-size:0.82rem; color:rgba(43,33,23,0.68);
  }
  .strip b{color:var(--paper); font-weight:600;}

  /* ---------- SECTION HEADINGS ---------- */
  section{padding:64px 0;}
  @media(min-width:768px){ section{padding:88px 0;} }
  .sec-head{margin-bottom:44px; max-width:640px;}
  .sec-head h2{
    font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; letter-spacing:-0.01em;
    font-size:clamp(2rem, 5.2vw, 3.2rem); line-height:1.08; letter-spacing:0;
  }
  .sec-head h2 em{font-style:normal; color:var(--lacquer); font-weight:600;}

  /* ---------- SPECIALIST BLOCK ---------- */
  .specialist{display:grid; gap:32px;}
  @media(min-width:900px){ .specialist{grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center;} }
  .specialist-copy p{color:rgba(43,33,23,0.75); font-size:1.02rem; max-width:52ch; margin-top:18px;}
  .specialist-img{position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:16/10;}
  @media(max-width:639px){ .specialist-img{aspect-ratio:4/3;} }
  .specialist-img img{width:100%; height:100%; object-fit:cover;}

  /* ---------- MARQUEE ---------- */
  .marquee-strip{
    overflow:hidden; white-space:nowrap; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:16px 0; background:var(--ink-2);
  }
  .marquee-track{display:inline-flex; gap:0; animation:marquee 26s linear infinite;}
  @media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;} }
  .marquee-track span{
    font-family:'Jost',sans-serif; font-weight:600; font-size:1.4rem;
    padding:0 28px; display:inline-flex; align-items:center; gap:28px;
    color:var(--paper);
  }
  .marquee-track i{font-style:normal; opacity:.7; color:var(--lacquer); font-weight:400;}
  @keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ---------- GALLERY (horizontal scroll carousel, no pin) ---------- */
  .gallery-head{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:32px;}
  .gallery-grid{
    display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x proximity;
    padding-bottom:14px; -webkit-overflow-scrolling:touch;
    scrollbar-width:thin; scrollbar-color:var(--lacquer) transparent;
    margin:0 -20px; padding-left:20px; padding-right:20px;
  }
  @media(min-width:768px){ .gallery-grid{margin:0 -40px; padding-left:40px; padding-right:40px; gap:22px;} }
  .gallery-grid::-webkit-scrollbar{height:5px;}
  .gallery-grid::-webkit-scrollbar-thumb{background:var(--lacquer); border-radius:99px;}
  .g-item{
    position:relative; overflow:hidden; border-radius:6px; background:var(--ink-2);
    border-top:3px solid var(--tint, var(--lacquer));
    transition:transform .4s var(--ease);
    opacity:0; transform:translateY(60px) scale(0.94);
    flex:0 0 auto; width:72vw; aspect-ratio:4/5; scroll-snap-align:start;
  }
  @media(min-width:640px){ .g-item{width:38vw;} }
  @media(min-width:1024px){ .g-item{width:320px;} }
  @media(hover:hover){ .g-item:hover{transform:translateY(-6px) rotate(var(--tilt, -1deg));} }
  .g-item img{width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); transform:scale(1.15);}
  @media(hover:hover){ .g-item:hover img{transform:scale(1.08);} }
  .g-cap{
    position:absolute; left:0; right:0; bottom:0; padding:16px 14px 12px;
    background:linear-gradient(to top, rgba(12,10,9,.92), transparent);
    font-size:0.76rem; color:var(--lacquer-soft); letter-spacing:0.01em;
  }

  /* ---------- FEATURE BAND ---------- */
  .feature-band{display:grid; gap:32px; align-items:center;}
  @media(min-width:900px){ .feature-band{grid-template-columns:0.85fr 1.15fr; gap:60px;} }
  .feature-copy p{color:rgba(43,33,23,0.72); font-size:1.05rem; max-width:44ch; margin-bottom:24px;}
  .feature-img{position:relative; overflow:hidden; border-radius:var(--radius); aspect-ratio:4/5; clip-path:inset(100% 0 0 0);}
  .feature-img img{width:100%; height:100%; object-fit:cover; transform:scale(1.15);}

  /* ---------- SERVICES (color block) ---------- */
  .lounge-photo{position:relative; background-color:var(--ink-2);}
  .lounge-photo::before{
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
      linear-gradient(160deg, rgba(239,228,210,.8) 0%, rgba(239,228,210,.72) 55%),
      url('lounge-bg.webp') center/contain no-repeat fixed;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
    mask-image:linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
  }
  @media(max-width:900px){
    .lounge-photo::before{
      background-attachment:scroll;
      background-image:
        linear-gradient(160deg, rgba(239,228,210,.8) 0%, rgba(239,228,210,.72) 55%),
        url('lounge-bg-mobile.webp');
    }
    footer.lounge-photo::before{
      background-image:
        linear-gradient(160deg, rgba(239,228,210,.8) 0%, rgba(239,228,210,.72) 55%),
        url('lounge-bg.webp');
    }
  }
  .lounge-photo > *{position:relative; z-index:1;}
  .services{position:relative;}
  .services .sec-head h2{color:var(--paper);}
  .services-list{border-top:2px solid rgba(43,33,23,0.18);}
  .svc-row{
    border-bottom:2px solid rgba(43,33,23,0.18);
    padding:28px 0;
    display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:10px 20px;
    position:relative; padding-left:20px;
  }
  .svc-row::before{
    content:""; position:absolute; left:0; top:28px; bottom:28px; width:4px; background:var(--lacquer);
  }
  .svc-name{font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; letter-spacing:-0.01em; font-size:clamp(1.6rem,4.8vw,2.6rem); color:var(--paper);}
  .svc-price{font-family:'Jost',sans-serif; font-weight:600; color:var(--lacquer); font-size:1.2rem; white-space:nowrap;}
  .svc-desc{grid-column:1/-1; color:rgba(43,33,23,0.68); font-size:0.92rem; max-width:56ch;}
  .svc-note{margin-top:20px; font-size:0.82rem; color:rgba(43,33,23,0.55);}
  a.svc-row{
    color:inherit; text-decoration:none; transition:padding-left .25s var(--ease);
  }
  @media(hover:hover){
    a.svc-row:hover{padding-left:28px;}
    a.svc-row:hover .svc-name{color:var(--lacquer);}
  }
  .svc-see-all{grid-column:1/-1; font-size:0.82rem; color:var(--lacquer-soft); margin-top:2px;}
  .svc-group-label{
    font-family:'Jost',sans-serif; font-size:0.72rem; font-weight:600; text-transform:uppercase;
    letter-spacing:0.14em; color:var(--lacquer-soft); padding-top:22px;
  }
  .svc-group-label:first-child{padding-top:0;}

  /* ---------- VOICE (sticky pin-stack) ---------- */
  .voice{
    color:var(--paper); padding-bottom:0;
  }
  .voice-stack{position:relative; z-index:1;}
  .voice-card{
    min-height:60vh; display:flex; flex-direction:column; justify-content:center;
    padding:40px 0; background:none; position:relative;
  }
  .voice-card:nth-child(1){z-index:1;}
  .voice-card:nth-child(2){z-index:2;}
  .voice-card:nth-child(3){z-index:3;}
  @media(min-width:768px){ .voice-card{min-height:70vh;} }
  .voice-card p{
    font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; letter-spacing:-0.01em; line-height:1.22; margin-bottom:22px;
    font-size:clamp(1.9rem, 5.6vw, 3.6rem); max-width:16ch;
  }
  .voice-card span{font-size:0.82rem; color:rgba(12,10,9,0.55); text-transform:uppercase; letter-spacing:0.08em; font-family:'Jost',sans-serif;}
  .voice-card b{color:var(--lacquer); font-weight:600;}

  /* ---------- BOOKING CTA ---------- */
  .booking{
    position:relative; text-align:left; overflow:hidden;
  }
  .booking-inner{
    border-radius:4px; padding:56px 24px; position:relative; overflow:hidden;
    background:
      radial-gradient(circle at 15% 20%, rgba(169,131,79,.28), transparent 45%),
      radial-gradient(circle at 85% 85%, rgba(135,101,47,.22), transparent 50%),
      linear-gradient(135deg, var(--ink-2), var(--ink) 60%);
    border:1px solid var(--line);
  }
  @media(min-width:768px){ .booking-inner{padding:90px 70px;} }
  .booking h2{
    font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; letter-spacing:-0.01em;
    font-size:clamp(2.2rem,6.4vw,3.8rem); line-height:1.08; max-width:14ch; margin-bottom:20px;
  }
  .booking h2 em{font-style:normal; color:var(--lacquer); font-weight:600;}
  .booking p{color:rgba(43,33,23,0.7); max-width:48ch; margin-bottom:30px; font-size:1rem;}
  .booking-meta{margin-top:36px; display:flex; gap:32px; flex-wrap:wrap; font-size:0.82rem; color:rgba(43,33,23,0.55);}
  .booking-meta b{display:block; color:var(--paper); font-weight:600; font-size:0.92rem; margin-bottom:4px;}

  /* ---------- FOOTER ---------- */
  footer{
    border-top:1px solid var(--line); padding:50px 0 30px; position:relative;
  }
  .foot-top{display:flex; flex-wrap:wrap; justify-content:space-between; gap:28px; margin-bottom:36px;}
  .foot-brand{
    display:inline-flex; align-items:center;
    background:linear-gradient(160deg, #211a13, #0f0b08);
    padding:12px 20px; border-radius:16px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 4px 14px rgba(15,11,8,.35);
  }
  .foot-brand img{height:40px; width:auto; display:block;}
  .foot-links{display:flex; gap:22px; flex-wrap:wrap; font-size:0.86rem; color:rgba(43,33,23,0.7);}
  .foot-bottom{
    border-top:1px solid var(--line); padding-top:20px;
    display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px;
    font-size:0.76rem; color:rgba(43,33,23,0.42);
  }
  .foot-bottom a{color:rgba(43,33,23,0.6); transition:color .2s;}
  .foot-bottom a:hover{color:var(--lacquer);}

  /* reveal */
  .reveal{opacity:0; transform:translateY(90px) scale(0.94);}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none;}
  }

  /* ---------- FULL GALLERY (bento, /galeria) ---------- */
  .page-hero{padding:96px 0 24px;}
  @media(min-width:768px){ .page-hero{padding:120px 0 32px;} }
  .page-hero h1{font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; letter-spacing:-0.01em; font-size:clamp(2.4rem,6.5vw,4rem); line-height:1.08; max-width:14ch;}
  .page-hero h1 em{font-style:normal; color:var(--lacquer);}
  .page-hero p{color:rgba(43,33,23,0.72); max-width:56ch; margin-top:16px; font-size:1.02rem;}
  .full-gallery{
    display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
  }
  @media(min-width:640px){ .full-gallery{grid-template-columns:repeat(4,1fr); gap:18px;} }
  @media(min-width:1024px){ .full-gallery{grid-template-columns:repeat(6,1fr); grid-auto-rows:130px; gap:20px;} }
  .fg-item{
    position:relative; overflow:hidden; border-radius:6px; background:var(--ink-2);
    border-top:3px solid var(--tint, var(--lacquer));
    aspect-ratio:1/1;
    opacity:0; transform:translateY(70px) scale(.92) rotate(var(--tilt, 0deg));
  }
  @media(hover:hover){ .fg-item:hover{transform:translateY(-6px) rotate(var(--tilt, 0deg));} }
  @media(min-width:1024px){
    .fg-item.fg-big{grid-column:span 3; grid-row:span 3; aspect-ratio:auto;}
    .fg-item.fg-tall{grid-column:span 2; grid-row:span 4; aspect-ratio:auto;}
    .fg-item.fg-wide{grid-column:span 3; grid-row:span 2; aspect-ratio:auto;}
    .fg-item.fg-sm{grid-column:span 2; grid-row:span 2; aspect-ratio:auto;}
  }
  .fg-item img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); transform:scale(1.18);}
  @media(hover:hover){ .fg-item:hover img{transform:scale(1.07);} }
  @media (prefers-reduced-motion: reduce){
    .fg-item{opacity:1; transform:none;}
    .fg-item img{transform:none;}
  }
  .fg-cap{
    position:absolute; left:0; right:0; bottom:0; padding:14px 12px 10px;
    background:linear-gradient(to top, rgba(12,10,9,.9), transparent);
    font-size:0.74rem; color:var(--lacquer-soft); letter-spacing:0.01em;
  }

  /* ---------- BOOKING PAGE (/reservar) ---------- */
  .steps-list{display:grid; gap:24px; margin-top:8px;}
  @media(min-width:768px){ .steps-list{grid-template-columns:repeat(3,1fr); gap:28px;} }
  .step-card{padding-left:20px; border-left:3px solid var(--lacquer);}
  .step-card b{font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; font-size:1.4rem; display:block; margin-bottom:8px; color:var(--paper);}
  .step-card p{color:rgba(245,237,225,0.68); font-size:0.94rem;}

  /* ---------- SERVICE BUILDER (multi-select, /reservar) ---------- */
  .svc-pick{position:relative; cursor:default;}
  .svc-pick::before{display:none;}
  .svc-check{
    position:absolute; left:0; top:34px; width:16px; height:16px;
    opacity:0; cursor:pointer; z-index:2;
  }
  .svc-check-label{
    position:absolute; left:0; top:34px; width:14px; height:14px; border-radius:50%;
    border:2px solid var(--lacquer-soft); cursor:pointer; transition:background .2s var(--ease), border-color .2s var(--ease);
  }
  .svc-check:checked + .svc-check-label{
    background:radial-gradient(circle at 30% 30%, var(--lacquer-soft), var(--lacquer) 60%, var(--lacquer-2));
    border-color:var(--lacquer);
    box-shadow:0 0 0 3px rgba(169,131,79,.18);
  }
  .svc-pick.is-checked .svc-name{color:var(--lacquer);}
  .svc-duration{font-size:0.78rem; color:rgba(43,33,23,.55); white-space:nowrap; font-family:'Jost',sans-serif;}
  .svc-design-opt{
    grid-column:1/-1; display:none; align-items:center; gap:10px; margin-top:10px;
    font-size:0.86rem; color:rgba(43,33,23,.72);
  }
  .svc-pick.is-checked .svc-design-opt{display:flex;}
  .svc-design-opt input{width:16px; height:16px; accent-color:var(--lacquer); cursor:pointer;}
  .svc-design-opt label{cursor:pointer;}

  .set-summary{
    margin-top:32px; border:1px solid rgba(43,33,23,.16); border-radius:14px; padding:22px 24px;
    background:rgba(245,237,225,.35);
  }
  .set-summary h3{font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; font-size:1.25rem; color:var(--paper); margin-bottom:12px;}
  .set-summary-empty{color:rgba(43,33,23,.55); font-size:0.9rem;}
  .set-summary-list{list-style:none; display:grid; gap:6px; margin-bottom:14px;}
  .set-summary-list li{display:flex; justify-content:space-between; gap:12px; font-size:0.92rem; color:rgba(43,33,23,.8);}
  .set-summary-total{
    display:flex; justify-content:space-between; align-items:baseline; padding-top:14px;
    border-top:1px solid rgba(43,33,23,.16); font-family:'Jost',sans-serif; font-weight:600; color:var(--paper);
  }
  .set-summary-total b{color:var(--lacquer); font-size:1.1rem;}
  .set-summary .btn-primary{margin-top:16px; width:100%; justify-content:center;}
  .set-summary-money{margin-top:14px; padding-top:14px; border-top:1px solid rgba(43,33,23,.16); display:grid; gap:8px;}
  .set-summary-row{display:flex; justify-content:space-between; align-items:baseline; font-size:0.92rem; color:rgba(43,33,23,.75); font-family:'Jost',sans-serif;}
  .set-summary-row b{color:var(--paper); font-weight:600;}
  .set-summary-deposit{padding:16px 16px; margin:2px -12px; border-radius:12px; background:rgba(169,131,79,.14); align-items:center;}
  .set-summary-deposit span{font-size:1rem; font-weight:600; color:var(--paper); display:block;}
  .set-summary-deposit span small{display:block; font-size:0.72rem; font-weight:500; color:rgba(43,33,23,.55); text-transform:none; letter-spacing:0;}
  .set-summary-deposit b{color:var(--lacquer); font-size:1.9rem; font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600;}
  .set-summary-fineprint{margin-top:12px; font-size:0.76rem; color:rgba(43,33,23,.5); line-height:1.5;}
  .set-summary-schedule{display:grid; gap:12px; margin-top:16px;}
  @media(min-width:480px){ .set-summary-schedule{grid-template-columns:1fr 1fr;} }
  .set-summary-field{display:grid; gap:6px; font-family:'Jost',sans-serif;}
  .set-summary-field span{font-size:0.76rem; font-weight:600; text-transform:uppercase; letter-spacing:0.08em; color:var(--lacquer-soft);}
  .set-summary-field input, .set-summary-field select{
    font-family:'Jost',sans-serif; font-size:0.95rem; color:var(--paper);
    padding:12px 14px; border-radius:10px; border:1px solid rgba(43,33,23,.18);
    background:rgba(245,237,225,.5); cursor:pointer;
  }
  .set-summary-field input:focus, .set-summary-field select:focus{outline:2px solid var(--lacquer); outline-offset:1px;}
  .set-summary-pay:disabled{opacity:.45; cursor:not-allowed;}
  .set-summary-slots-field{grid-column:1/-1;}
  .set-summary-slots{display:flex; flex-wrap:wrap; gap:8px;}
  .set-summary-slots-empty{font-size:0.86rem; color:rgba(43,33,23,.55); font-family:'Jost',sans-serif;}
  .slot-btn{
    font-family:'Jost',sans-serif; font-size:0.9rem; font-weight:600; color:var(--paper);
    padding:10px 16px; border-radius:999px; border:1px solid rgba(43,33,23,.2);
    background:rgba(245,237,225,.5); cursor:pointer; transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
  }
  .slot-btn.is-selected{background:var(--lacquer); border-color:var(--lacquer); color:var(--paper);}
  @media(hover:hover){ .slot-btn:not(.is-selected):hover{border-color:var(--lacquer);} }

  /* ---------- CONTACT PAGE (/contacto) ---------- */
  .contact-channels{display:grid; gap:18px; margin-top:8px;}
  @media(min-width:640px){ .contact-channels{grid-template-columns:repeat(2,1fr); gap:20px;} }
  @media(min-width:1100px){ .contact-channels{grid-template-columns:repeat(4,1fr); gap:22px;} }
  .channel-card{
    position:relative; overflow:hidden; border-radius:16px; padding:30px 24px 26px;
    background:var(--ink-2); border:1px solid var(--line);
    transition:transform .3s var(--ease), border-color .3s var(--ease);
    opacity:0; transform:translateY(60px) scale(.95);
  }
  @media (prefers-reduced-motion: reduce){ .channel-card{opacity:1; transform:none;} }
  @media(min-width:1100px){
    .channel-card:nth-child(2){margin-top:30px;}
    .channel-card:nth-child(4){margin-top:30px;}
  }
  @media(hover:hover){ .channel-card:hover{transform:translateY(-6px); border-color:var(--lacquer-soft);} }
  .channel-card .channel-num{
    position:absolute; top:16px; right:20px; font-family:'Jost',sans-serif; font-size:0.72rem;
    font-weight:600; color:var(--lacquer-soft); letter-spacing:0.06em;
  }
  .channel-icon{
    width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center;
    background:rgba(169,131,79,.14); color:var(--lacquer); margin-bottom:22px; font-size:1.2rem;
  }
  .channel-card h3{
    font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; letter-spacing:-0.01em;
    font-size:1.5rem; color:var(--paper); margin-bottom:8px;
  }
  .channel-card p{color:rgba(43,33,23,.68); font-size:0.9rem; margin-bottom:18px; max-width:32ch;}
  .channel-link{
    font-size:0.86rem; font-weight:600; color:var(--lacquer); display:inline-flex; align-items:center; gap:6px;
    transition:gap .2s var(--ease);
  }
  @media(hover:hover){ .channel-card:hover .channel-link{gap:10px;} }

  .contact-details{
    margin-top:56px; display:grid; gap:32px; padding-top:40px; border-top:1px solid var(--line);
  }
  @media(min-width:768px){ .contact-details{grid-template-columns:repeat(3,1fr);} }
  .contact-detail b{
    display:block; font-family:'Jost',sans-serif; font-size:0.72rem; font-weight:600; text-transform:uppercase;
    letter-spacing:0.12em; color:var(--lacquer-soft); margin-bottom:8px;
  }
  .contact-detail span, .contact-detail a{
    font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600; font-size:1.3rem; color:var(--paper);
  }
  .contact-detail a{transition:color .2s var(--ease);}
  @media(hover:hover){ .contact-detail a:hover{color:var(--lacquer);} }

  /* ---------- THANK-YOU (/reservar/gracias) ---------- */
  .thanks-card{display:grid; gap:6px; margin-top:22px; padding:18px 20px; border:1px solid rgba(43,33,23,.16); border-radius:14px; background:rgba(245,237,225,.45); max-width:520px; font-family:'Jost',sans-serif;}
  .thanks-card b{font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600; font-size:1.5rem; color:var(--paper);}
  .thanks-card span{font-size:0.92rem; color:rgba(43,33,23,.72);}
