:root{
    --cream:#efeae1;
    --cream-2:#f6f3ed;
    --white:#fffdf8;
    --sand:#e7e1d4;
    --ink:#1b1a16;
    --ink-card:#211f1a;
    --muted:#5d5949;
    --line:#ddd7ca;
    --accent:#b1854a;
    --sans:'Jost',system-ui,sans-serif;
    --display:'Fraunces',Georgia,serif;
    --r-pill:999px;
    --r:26px;
    --r-lg:38px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);color:var(--ink);background:var(--cream);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04;letter-spacing:-.015em;font-optical-sizing:auto}
  a{color:inherit;text-decoration:none}
  img{display:block;width:100%;height:100%;object-fit:cover}
  .wrap{max-width:1280px;margin:0 auto;padding:0 26px}

  .tag{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--white);border:1px solid var(--line);padding:9px 16px;border-radius:var(--r-pill)}
  .tag.on-img{background:rgba(255,253,248,.16);border-color:rgba(255,253,248,.35);color:#fff;backdrop-filter:blur(6px)}
  .brk{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
  .slabel{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--white);border:1px solid var(--line);padding:8px 16px;border-radius:var(--r-pill)}
  .slabel::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}

  .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.01em;padding:15px 28px;border-radius:var(--r-pill);cursor:pointer;border:1px solid transparent;transition:.4s cubic-bezier(.2,.7,.2,1)}
  .btn .ic{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;margin:-8px -14px -8px 2px}
  .btn-dark{background:var(--ink);color:var(--cream)}
  .btn-dark .ic{background:var(--cream);color:var(--ink)}
  .btn-dark:hover{background:#000}
  .btn-light{background:var(--white);color:var(--ink);border-color:var(--line)}
  .btn-light:hover{background:var(--sand)}
  .btn-ghost{background:rgba(255,253,248,.14);color:#fff;border-color:rgba(255,253,248,.4);backdrop-filter:blur(6px)}
  .btn-ghost:hover{background:#fff;color:var(--ink)}

  .logo{display:flex;align-items:center;gap:9px;font-family:var(--display);font-size:16px;letter-spacing:-.02em;color:var(--ink)}
  .logo .rings{position:relative;width:27px;height:18px;flex:none}
  .logo .rings i{position:absolute;top:0;width:18px;height:18px;border:1.5px solid var(--ink);border-radius:50%}
  .logo .rings i:nth-child(1){left:0}.logo .rings i:nth-child(2){left:5px;opacity:.6}.logo .rings i:nth-child(3){left:10px;opacity:.35}
  .brand-img{height:34px;width:auto;display:block}
  .logo .rings,.logo .logo-txt{display:none}

  /* NAV */
  header{position:fixed;top:0;left:0;right:0;z-index:60;padding:28px 26px;transition:.4s}
  .navpill{max-width:1040px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 7px 7px 20px;box-shadow:0 8px 26px rgba(40,34,22,.07)}
  .navpill .nlinks{display:flex;gap:24px}
  .nlinks .mobile-only{display:none}
  .navpill .nlinks a{font-size:14px;color:var(--muted);transition:.3s}
  .navpill .btn{padding:11px 19px;font-size:13px}
  .navpill .btn .ic{width:26px;height:26px;font-size:13px;margin:-7px -12px -7px 2px}
  .langsw{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.12em;transition:.3s;flex:none;position:relative;padding-left:21px}
  .langsw::before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:1px;height:15px;background:var(--line)}
  .langsw:hover{color:var(--ink)}
  .nav-right{display:flex;align-items:center;gap:14px;flex:none}
  .nav-call{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;color:var(--ink);letter-spacing:.01em;transition:color .3s}
  .nav-call svg{width:16px;height:16px;fill:var(--accent);flex:none;transition:transform .3s}
  .nav-call:hover{color:var(--accent)}
  .nav-call:hover svg{transform:rotate(-8deg)}
  .navpill .nlinks a:hover{color:var(--ink)}
  .menu-btn{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink);padding:6px 10px}

  /* HERO */
  .hero{padding:14px}
  .hero-card{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:90vh;display:flex;flex-direction:column;justify-content:flex-start;background:var(--sand)}
  .hero-card>img{position:absolute;inset:0;z-index:0}
  .hero-slides{position:absolute;inset:0;z-index:1;pointer-events:none}
  .hero-slides .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
  .hero-slides .slide.active{opacity:1}
  .hero-slides .slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
  .hero-slides .slide.active img{animation:hbZoom 7s ease-out forwards}
  @keyframes hbZoom{from{transform:scale(1.04)}to{transform:scale(1.13)}}
  @media(prefers-reduced-motion:reduce){.hero-slides .slide.active img{animation:none;transform:none}}
  .hero-card::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(108deg,rgba(20,17,12,.62) 0%,rgba(20,17,12,.34) 38%,rgba(20,17,12,0) 66%),linear-gradient(0deg,rgba(20,17,12,.34),transparent 32%)}
  .hero-in{z-index:3!important}
  .hero-in{position:relative;z-index:2;padding:172px 46px 46px;display:flex;flex-direction:column;height:100%;flex:1}
  .hero h1{color:#fff;font-size:clamp(40px,6.4vw,86px);font-weight:400;margin:0;max-width:13ch;line-height:1.04}
  .hero h1 em{font-style:italic;font-weight:400;color:var(--cream)}
  .hero h1 br{display:none}
  .h1-addr{display:block;font-family:var(--sans);font-size:clamp(13px,1.4vw,17px);font-weight:400;letter-spacing:.01em;color:rgba(255,253,248,.85);margin-top:20px;white-space:nowrap}
  .hero-cta{display:flex;gap:13px;margin-top:30px;flex-wrap:wrap}
  .hero-trust{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
  .hero-reviews{display:inline-flex;align-self:flex-start;align-items:center;gap:11px;background:#fff;padding:8px 8px 8px 16px;border-radius:var(--r-pill);color:var(--ink);font-family:var(--sans);font-size:13.5px;white-space:nowrap;box-shadow:0 12px 32px rgba(20,16,10,.24);transition:transform .3s,box-shadow .3s}
  .hero-reviews:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(20,16,10,.3)}
  .hero-reviews .g-logo{width:17px;height:17px;flex:none}
  .hero-reviews .st{color:#f5b50a;letter-spacing:1.5px;font-size:13px}
  .hero-reviews .rv-txt{display:inline-flex;align-items:baseline;gap:5px}
  .hero-reviews .rv-txt b{font-weight:600;font-size:14px}
  .hero-reviews .rv-txt i{font-style:normal;color:var(--muted)}
  .hero-reviews .rv-link{display:inline-flex;align-items:center;gap:5px;background:var(--cream);color:var(--accent);font-weight:500;padding:6px 12px;border-radius:var(--r-pill);font-size:12.5px}
  .hero-reviews .rv-link .ar{transition:transform .3s}
  .hero-reviews:hover .rv-link .ar{transform:translateX(3px)}
  @media(max-width:480px){
    .hero-reviews{gap:8px;padding:7px 7px 7px 13px;font-size:13px}
    .hero-reviews .rv-txt i{display:none}
    .hero-reviews .st{letter-spacing:1px}
    .hero-reviews .rv-link{padding:5px 11px;font-size:12px}
  }
  .hero-foot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
  .avatars{display:flex;align-items:center;gap:12px;background:rgba(255,253,248,.16);border:1px solid rgba(255,253,248,.34);backdrop-filter:blur(7px);padding:8px 18px 8px 8px;border-radius:var(--r-pill)}
  .avatars .stack{display:flex}
  .avatars .stack span{width:38px;height:38px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,253,248,.7);margin-left:-12px}
  .avatars .stack span:first-child{margin-left:0}
  .avatars p{color:#fff;font-size:13px;line-height:1.3;max-width:190px}

  section{position:relative}
  .sec{padding:104px 0}
  .fu{opacity:0;transform:translateY(30px);transition:.9s cubic-bezier(.16,.7,.2,1)}
  .fu.in{opacity:1;transform:none}

  /* ABOUT */
  .about-head{display:grid;grid-template-columns:0.9fr 1.1fr;gap:54px;align-items:center}
  .about-photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
  .about-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .about-head .slabel{margin-bottom:20px}
  .about-copy h2{font-size:clamp(27px,3.2vw,40px);line-height:1.14;letter-spacing:-.02em;margin:0 0 22px;max-width:15ch}
  .about-copy p{font-size:clamp(16px,1.35vw,18px);line-height:1.75;color:var(--ink);max-width:48ch}
  .about-copy p em{font-style:normal;color:var(--accent);font-weight:500}
  .chips{display:flex;gap:14px;flex-wrap:wrap;margin-top:64px;justify-content:center}
  .chip{display:flex;flex-direction:column;align-items:center;gap:12px;width:120px}
  .chip .cc{width:64px;height:64px;border-radius:50%;background:var(--white);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
  .chip.activeC .cc{background:var(--ink)}
  .chip .cc svg{width:26px;height:26px;stroke:var(--ink);fill:none;stroke-width:1.6}
  .chip.activeC .cc svg{stroke:var(--cream)}
  .chip span{font-size:13px;color:var(--muted)}
  .chip.activeC span{color:var(--ink);font-weight:500}

  /* TEAM */
  .team-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
  .team-head h2{font-size:clamp(30px,4.2vw,50px);margin-top:18px}
  .team-head p{color:var(--muted);max-width:400px}
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .tcard{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;text-align:center;transition:.4s}
  .tcard:hover{box-shadow:0 14px 40px rgba(40,34,22,.08)}
  .tavatar{width:96px;height:96px;border-radius:50%;margin:0 auto 18px;overflow:hidden;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:var(--sand);font-family:var(--display);font-size:34px;color:var(--ink)}
  .tavatar img{width:100%;height:100%;object-fit:cover}
  .tcard h3{font-size:23px;margin-bottom:4px}
  .tcard .role{font-size:13px;letter-spacing:.04em;color:var(--accent);margin-bottom:12px}
  .tcard .bio{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:16px}
  .tcard .tlang{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--cream);border:1px solid var(--line);padding:5px 12px;border-radius:var(--r-pill);margin-bottom:16px}
  .tcard .tbook{display:block;font-size:13px;font-weight:500;color:var(--ink);border-top:1px solid var(--line);padding-top:14px;margin-top:4px;transition:.3s}
  .tcard .tbook:hover{color:var(--accent)}

  /* MEET MARIBEL */
  .maribel-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .maribel-photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
  .maribel-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .maribel-text .slabel{margin-bottom:18px}
  .maribel-text h2{font-size:clamp(32px,4.4vw,52px);margin:0 0 24px;line-height:1.05}
  .maribel-text p{color:var(--muted);font-size:16px;line-height:1.7}
  .maribel-text p+p{margin-top:16px}
  .maribel-text .btn{margin-top:28px}

  /* BARBER */
  .barber-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .barber-photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;position:relative}
  .barber-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity 1.4s ease}
  .barber-photo img.active{opacity:1}
  .barber-text .slabel{margin-bottom:18px}
  .barber-text h2{font-size:clamp(32px,4.4vw,52px);margin:0 0 20px;line-height:1.06}
  .barber-text>p{color:var(--muted);font-size:16px;line-height:1.7;max-width:46ch;margin-bottom:24px}
  .barber-list{list-style:none;margin-bottom:28px}
  .barber-list li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
  .barber-list li:last-child{border-bottom:none}
  .barber-list li span{font-size:15.5px;color:var(--ink)}
  .barber-list li b{font-family:var(--display);font-weight:500;font-size:16px;color:var(--ink);white-space:nowrap}

  /* SERVICES */
  .svc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
  .svc-top h2{font-size:clamp(30px,4.2vw,50px);margin-top:18px}
  .svc-top p{color:var(--muted);max-width:420px}
  .menu{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .mcat{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px 22px;transition:.4s}
  .mcat:hover{box-shadow:0 14px 40px rgba(40,34,22,.08)}
  .mcat-h{display:flex;align-items:center;gap:14px;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--line)}
  .mthumb{width:52px;height:52px;border-radius:50%;overflow:hidden;flex:none;border:1px solid var(--line)}
  .mthumb.mono{display:flex;align-items:center;justify-content:center;background:var(--sand);font-family:var(--display);font-size:21px;color:var(--ink)}
  .mcat-h h3{font-size:21px;flex:1}
  .mcat-h a{width:40px;height:40px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;transition:.3s}
  .mcat-h a:hover{background:var(--ink);color:var(--cream)}
  .mcat-h a.mcat-more{width:auto;height:auto;border-radius:var(--r-pill);background:none;font-family:var(--sans);font-size:12.5px;font-weight:500;letter-spacing:.02em;color:var(--accent);padding:6px 2px}
  .mcat-h a.mcat-more:hover{background:none;color:var(--ink)}
  .mrow{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.06);transition:.25s}
  .mrow-l{flex:1;min-width:0}
  .mrow .md{display:block;font-size:14px;color:var(--muted);line-height:1.55;margin-top:4px;padding-right:8px}
  .mcat .mrow:last-child{border-bottom:none}
  .mrow:hover{padding-left:6px}
  .mrow .mn{display:block;font-size:15.5px;color:var(--ink);transition:.25s}
  .mrow:hover .mn{color:var(--accent)}
  .mrow .mp{font-size:14px;color:var(--muted);white-space:nowrap;text-align:right;padding-top:2px}
  .mrow .mp b{color:var(--ink);font-weight:600}
  .menu-note{margin-top:30px;text-align:center;color:var(--muted);font-size:14px}

  /* PORTFOLIO */
  .pf-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
  .pf-top h2{font-size:clamp(30px,4.2vw,50px);margin-top:18px}
  .gal{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:2px 2px 8px}
  .gal::-webkit-scrollbar{display:none}
  .gal a{flex:0 0 auto;width:300px;aspect-ratio:3/4;position:relative;border-radius:var(--r);overflow:hidden;background:var(--sand);scroll-snap-align:start}
  .gal a img{width:100%;height:100%;object-fit:cover;transition:1.2s cubic-bezier(.16,.7,.2,1)}
  .gal a:hover img{transform:scale(1.05)}
  .gal a span{position:absolute;left:14px;bottom:14px;z-index:2;color:#fff;font-size:12px;letter-spacing:.04em;background:rgba(20,17,12,.45);backdrop-filter:blur(5px);padding:6px 13px;border-radius:var(--r-pill);opacity:0;transform:translateY(8px);transition:.4s}
  .gal a:hover span{opacity:1;transform:none}
  .pf-actions{display:flex;align-items:center;gap:10px}
  .cnav{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:17px;color:var(--ink);transition:.3s;flex:none}
  .cnav:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
  .cnav:active{transform:scale(.95)}

  /* REVIEWS */
  .rev-top{text-align:center;max-width:600px;margin:0 auto 58px}
  .rev-top h2{font-size:clamp(30px,4.2vw,50px);margin:18px 0}
  .rev-rating{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);transition:.3s}
  .rev-rating:hover{color:var(--ink)}
  .rev-rating .stars{color:var(--accent);letter-spacing:2px;font-size:15px}
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
  .rev-q{border-top:1px solid var(--line);padding-top:26px}
  .rev-q .stars{color:var(--accent);letter-spacing:3px;font-size:14px;margin-bottom:18px}
  .rev-q blockquote{font-family:var(--display);font-size:19px;line-height:1.5;color:var(--ink);margin-bottom:22px;letter-spacing:-.01em}
  .rev-q figcaption{font-size:14px;font-weight:500;color:var(--ink)}
  .rev-q figcaption span{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:3px}

  /* LOCATION */
  .loc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
  .loc-top h2{font-size:clamp(30px,4.2vw,50px);margin-top:18px}
  .loc-top p{color:var(--muted);max-width:380px}
  .loc-map{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:520px;border:1px solid var(--line);background:var(--sand)}
  .loc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.3) contrast(.98)}
  .loc-card{position:absolute;left:26px;bottom:26px;z-index:2;background:var(--white);border-radius:var(--r);padding:26px 28px;max-width:360px;width:calc(100% - 52px);box-shadow:0 16px 40px rgba(40,34,22,.16)}
  .loc-card .brk{display:block;margin-bottom:12px}
  .loc-card .addr{font-family:var(--display);font-size:21px;line-height:1.25;letter-spacing:-.01em}
  .loc-card .near{color:var(--muted);font-size:14px;margin:10px 0 20px}
  .loc-card .lbtns{display:flex;gap:10px;flex-wrap:wrap}

  /* VISIT */
  .visit-photo{border-radius:var(--r);overflow:hidden;min-height:440px;border:1px solid var(--line)}
  .visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .visit-info{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:42px 40px}
  .visit-info h2{font-size:clamp(28px,3.6vw,42px);margin:14px 0 26px}
  .vrow{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--line)}
  .vrow:first-of-type{border-top:none}
  .vrow .vi{width:40px;height:40px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;flex:none;font-size:17px}
  .vrow b{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-weight:500}
  .vrow span{font-size:16px}
  .visit-grid{align-items:stretch}
  .visit-intro{color:var(--muted);font-size:15px;line-height:1.6;margin:6px 0 22px;max-width:42ch}
  .visit-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
  .visit-map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);align-self:stretch;min-height:440px}
  .visit-map iframe{width:100%;height:100%;border:0;display:block;min-height:440px;filter:grayscale(.25) contrast(.98)}

  /* FAQ */
  .faq-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:50px;align-items:start}
  .faq-l h2{font-size:clamp(30px,4.2vw,50px);margin-top:18px}
  .faq-l .rings-lg{margin-top:40px;position:relative;width:80px;height:48px}
  .faq-l .rings-lg i{position:absolute;top:0;width:48px;height:48px;border:1.5px solid var(--line);border-radius:50%}
  .faq-l .rings-lg i:nth-child(2){left:16px}.faq-l .rings-lg i:nth-child(3){left:32px}
  .qa{border-top:1px solid var(--line)}
  .qa:last-child{border-bottom:1px solid var(--line)}
  .qa button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;background:none;border:none;font-family:var(--display);font-size:19px;color:var(--ink);text-align:left;padding:24px 0;cursor:pointer;letter-spacing:-.01em}
  .qa button .pm{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:16px;flex:none;transition:.4s}
  .qa.open button .pm{background:var(--ink);color:var(--cream);transform:rotate(45deg)}
  .qa .ans{max-height:0;overflow:hidden;transition:.5s ease;color:var(--muted)}
  .qa.open .ans{max-height:220px;padding-bottom:24px}

  /* PHOTO BAND */
  .band{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:56vh;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--sand)}
  .band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
  .band::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,17,12,.55),rgba(20,17,12,.3))}
  .band-in{position:relative;z-index:2;color:#fff;padding:48px 28px;max-width:720px}
  .band-in .slabel{background:rgba(255,253,248,.16);border-color:rgba(255,253,248,.34);color:#fff;backdrop-filter:blur(6px)}
  .band-in h2{color:#fff;font-size:clamp(30px,5vw,58px);margin:20px 0 26px;line-height:1.08}
  .band-in h2 em{font-style:italic;color:var(--cream)}

  /* CTA */
  .cta{margin:0 14px 14px;border-radius:var(--r-lg);background:var(--sand);text-align:center;padding:110px 24px;position:relative;overflow:hidden}
  .cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:0}
  .cta::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,17,12,.64),rgba(20,17,12,.46));z-index:1}
  .cta>span,.cta>h2,.cta>a{position:relative;z-index:2}
  .cta h2{font-size:clamp(34px,5.4vw,64px);font-weight:400;max-width:16ch;margin:18px auto 30px;color:#fff}
  .cta h2 em{color:var(--cream)}
  .cta .slabel{background:rgba(255,253,248,.16);border-color:rgba(255,253,248,.34);color:#fff;backdrop-filter:blur(6px)}
  .cta .btn{background:var(--white);border-color:var(--white);color:var(--ink)}
  .cta .btn:hover{background:transparent;color:#fff;border-color:#fff}
  .cta .btn .ic{background:var(--ink);color:var(--white)}
  .cta .btn:hover .ic{background:#fff;color:var(--ink)}

  /* FOOTER */
  footer{padding:70px 0 40px}
  .foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--line)}
  footer h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;font-weight:600}
  footer ul{list-style:none;line-height:2.2;font-size:15px;color:var(--muted)}
  footer ul a:hover{color:var(--ink)}
  .foot-p{color:var(--muted);font-size:15px;max-width:330px;margin-top:14px}
  .foot-bot{display:flex;justify-content:space-between;padding-top:24px;font-size:13px;color:var(--muted);flex-wrap:wrap;gap:10px}

  /* PRELOADER */
  #preloader{position:fixed;inset:0;z-index:9999;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;animation:plOut .8s cubic-bezier(.7,0,.25,1) 2.1s forwards}
  .pl-logo{position:relative;width:min(360px,72vw);line-height:0}
  .pl-logo img{display:block;width:100%}
  .pl-logo .pl-base{opacity:.12}
  .pl-logo .pl-fill{position:absolute;inset:0;clip-path:inset(0 100% 0 0);animation:logoWipe 1.7s cubic-bezier(.6,0,.2,1) .3s forwards}
  .pl-bar{width:120px;height:2px;border-radius:2px;background:var(--line);overflow:hidden}
  .pl-bar::after{content:"";display:block;height:100%;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;animation:plBar 2s cubic-bezier(.5,0,.2,1) .1s forwards}
  @keyframes logoWipe{to{clip-path:inset(0 0 0 0)}}
  @keyframes plBar{to{transform:scaleX(1)}}
  @keyframes plOut{to{opacity:0;visibility:hidden}}
  @media(prefers-reduced-motion:reduce){#preloader{animation:none;display:none}}

  @media(max-width:920px){
    header{padding:14px}
    .navpill{position:relative;display:flex;align-items:center;padding:8px 12px;gap:6px}
    .navpill .logo{flex:none;display:flex;align-items:center;justify-content:center}
    .navpill .langsw{display:inline-flex;align-items:center;font-size:13px;letter-spacing:.03em;padding-left:0;flex:none}
    .navpill .langsw::before{display:none}
    .nav-call{display:none}
    .menu-btn{display:flex;align-items:center;justify-content:flex-start;width:auto;flex:1;height:40px;font-size:23px;padding:0;color:var(--ink)}
    .nav-right{flex:1;justify-content:flex-end;gap:11px}
    .navpill .brand-img{height:25px}
    .nav-right .btn{padding:9px 14px;font-size:13px;white-space:nowrap}
    .nav-right .btn .ic{display:none}
    .navpill .nlinks{display:none;flex-direction:column;gap:2px;position:absolute;top:calc(100% + 12px);left:0;right:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:10px;box-shadow:0 18px 44px rgba(40,34,22,.14)}
    .navpill.open .nlinks{display:flex}
    .navpill .nlinks a{font-size:16px;color:var(--ink);padding:14px 16px;border-radius:12px}
    .navpill .nlinks a:hover{background:var(--cream)}
    .nlinks .mobile-only{display:block;border-top:1px solid var(--line);margin-top:6px;color:var(--accent);font-weight:500}
    .about-head,.menu,.rev-grid,.visit-grid,.faq-grid,.foot-grid,.team-grid,.maribel-split,.barber-split{grid-template-columns:1fr}
    .maribel-photo,.barber-photo{order:-1;max-width:420px}
    .gal a{width:80vw;max-width:300px}
    .hero-in{padding:104px 20px 82px;justify-content:flex-end;align-items:center;text-align:center}
    .hero-head{margin-top:0}
    .hero h1{max-width:none}
    .hero h1 br{display:block}
    .h1-addr{margin-top:16px}
    .sec{padding:72px 0}
    .faq-grid{gap:24px}
    .chips{display:grid;grid-template-columns:1fr 1fr;gap:26px 14px;justify-items:center;max-width:300px;margin:46px auto 0}
    .chip{width:auto}
    .mrow .mn{font-size:16px}
    .hero-cta{margin-top:26px;justify-content:center}
    .hero-cta .btn{flex:0 0 auto;justify-content:center;min-width:0;white-space:nowrap;padding-left:18px;padding-right:18px}
    .hero-foot{order:-1;gap:16px;margin-top:0;margin-bottom:22px;align-items:center}
    .hero-reviews{align-self:center}
    .hero{padding:0}
    .hero-card{min-height:100svh;min-height:100dvh;border-radius:0 0 28px 28px}
  }
  @media(hover:none){
    .mrow:hover{padding-left:0}
    .mrow:hover .mn{color:var(--ink)}
    .mcat:hover{box-shadow:none}
    .gal a:hover img{transform:none}
  }
  .wa-fab{position:fixed;right:22px;bottom:22px;z-index:1200;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(37,211,102,.4),0 4px 12px rgba(0,0,0,.18);transition:transform .25s ease,box-shadow .25s ease}
  .wa-fab svg{width:32px;height:32px;fill:#fff}
  .wa-fab:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 16px 40px rgba(37,211,102,.5),0 6px 16px rgba(0,0,0,.2)}
  .wa-fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;opacity:.6;animation:waPulse 2.4s ease-out infinite}
  @keyframes waPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.6);opacity:0}100%{opacity:0}}
  @media(prefers-reduced-motion:reduce){.wa-fab::after{animation:none;display:none}}
  @media(max-width:920px){.wa-fab{width:54px;height:54px;right:16px;bottom:16px}.wa-fab svg{width:30px;height:30px}}

  /* ===== Service subpages ===== */
  .shero{position:relative;min-height:64vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--sand)}
  .shero-bg{position:absolute;inset:0;z-index:0}
  .shero-bg img{width:100%;height:100%;object-fit:cover}
  .shero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(20,17,12,.82),rgba(20,17,12,.2) 58%,rgba(20,17,12,.4))}
  .shero-in{position:relative;z-index:2;color:#fff;padding:150px 0 58px;width:100%}
  .crumb{font-family:var(--sans);font-size:13px;letter-spacing:.02em;color:rgba(255,253,248,.82);margin-bottom:20px;display:flex;gap:9px;align-items:center}
  .crumb a{color:rgba(255,253,248,.82);transition:.3s}
  .crumb a:hover{color:#fff}
  .shero h1{font-family:var(--display);font-size:clamp(36px,5.6vw,66px);font-weight:400;line-height:1.04;margin:0;max-width:16ch}
  .shero h1 em{font-style:italic;color:var(--cream)}
  .shero-sub{font-family:var(--sans);font-size:clamp(15px,1.5vw,18px);color:rgba(255,253,248,.92);max-width:56ch;margin:22px 0 30px;line-height:1.65}
  .shero-cta{display:flex;gap:13px;flex-wrap:wrap}
  .prose{max-width:760px}
  .prose .prose-h{font-family:var(--display);font-size:clamp(28px,3.4vw,44px);font-weight:400;line-height:1.12;letter-spacing:-.01em;margin:16px 0 22px;max-width:18ch}
  .prose p{font-size:17px;line-height:1.75;color:var(--ink);max-width:60ch}
  .prose p+p{margin-top:18px;color:var(--muted)}
  .menu-note{margin-top:26px;font-size:14px;color:var(--muted);font-style:italic}
  .subcta{text-align:center}
  .subcta-in{max-width:620px;margin:0 auto}
  .subcta h2{font-family:var(--display);font-size:clamp(28px,3.6vw,46px);font-weight:400;margin:0 0 14px}
  .subcta p{color:var(--muted);font-size:17px;line-height:1.6;margin:0 auto 28px;max-width:46ch}
  .subcta-btns{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
  .btn-ghost-dark{background:transparent;border:1px solid var(--line);color:var(--ink)}
  .btn-ghost-dark:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
  .rel-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
  .rel-links a{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-pill);padding:11px 20px;font-size:14px;font-weight:500;color:var(--ink);transition:.3s}
  .rel-links a::after{content:"\2192";color:var(--accent);transition:.3s}
  .rel-links a:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
  .rel-links a:hover::after{color:var(--cream)}
  @media(max-width:920px){
    .shero{min-height:74vh}
    .shero-in{padding:128px 0 44px}
    .prose .prose-h{margin-top:14px}
  }
