
  :root{
    --navy: #0b2545;
    --navy-2: #1a3a73;
    --white: #ffffff;
    --pale: #e1e9f0;
    --ink: #0b2545;
    --slate: #5c6b82;
    --line: rgba(11,37,69,0.14);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--white);
    color:var(--ink);
    font-family:'Montserrat', sans-serif;
    font-weight:300;
    line-height:1.65;
    overflow-x:hidden;
  }
  h1,h2,h3{
    font-family:'Montserrat', sans-serif;
    font-weight:600;
    letter-spacing:-0.01em;
  }
  .eyebrow{
    font-size:0.72rem; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--navy-2); font-weight:600;
  }
  a{color:inherit; text-decoration:none;}
  img,svg{display:block; max-width:100%;}
  ul{list-style:none;}
  .wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
  @media(max-width:640px){.wrap{padding:0 20px;}}
  .tooth{width:1em; height:1em;}

  /* ---------- Top bar ---------- */
  .topbar{background:var(--navy); color:var(--pale); font-size:0.76rem;}
  .topbar .wrap{display:flex; justify-content:space-between; align-items:center; gap:26px; padding-top:9px; padding-bottom:9px;}
  .topbar .left{display:flex; gap:22px;}
  .topbar a{display:flex; align-items:center; gap:6px;}
  .topbar a:hover{color:var(--white);}
  .lang-switch{display:flex; gap:2px; background:rgba(255,255,255,0.12); border-radius:999px; padding:2px;}
  .lang-switch button{
    background:transparent; border:none; color:rgba(225,233,240,0.75); font-size:0.7rem; font-weight:600;
    letter-spacing:0.04em; padding:4px 10px; border-radius:999px; cursor:pointer; transition:all .2s ease;
  }
  .lang-switch button.active{background:var(--white); color:var(--navy);}
  @media(max-width:700px){.topbar .wrap{flex-wrap:wrap; justify-content:center;}}

  /* ---------- Header ---------- */
  header{position:sticky; top:0; z-index:100; background:rgba(255,255,255,0.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
  .nav-row{display:flex; align-items:center; justify-content:space-between; height:76px; gap:24px;}
  .brand{display:flex; align-items:center; gap:10px; font-size:1.3rem; font-weight:700; color:var(--navy); white-space:nowrap;}
  .brand .tooth{width:24px; height:24px; color:var(--navy-2);}
  .brand-logo{height:54px; width:auto;}
  nav.main-nav{display:flex; align-items:center; gap:6px;}
  nav.main-nav > ul{display:flex; gap:6px; align-items:center;}
  nav.main-nav > ul > li{position:relative;}
  nav.main-nav > ul > li > a{
    display:flex; align-items:center; gap:5px;
    padding:10px 14px; font-size:0.83rem; font-weight:500;
  }
  nav.main-nav > ul > li > a:hover{color:var(--navy-2);}
  .caret{width:9px; height:9px; margin-top:1px;}
  .dropdown{
    position:absolute; top:100%; left:0; background:var(--white);
    box-shadow:0 18px 40px rgba(11,37,69,0.14); border:1px solid var(--line);
    min-width:240px; padding:10px; opacity:0; visibility:hidden; transform:translateY(6px);
    transition:all .2s ease;
  }
  nav.main-nav > ul > li:hover .dropdown{opacity:1; visibility:visible; transform:translateY(0);}
  .dropdown a{display:block; padding:11px 14px; font-size:0.85rem; border-radius:6px;}
  .dropdown a:hover{background:var(--pale); color:var(--navy-2);}
  .nav-cta{
    border:none; background:var(--navy); color:var(--white);
    padding:12px 26px; font-size:0.78rem; font-weight:600; letter-spacing:0.04em;
    border-radius:999px; white-space:nowrap; transition:background .25s ease;
  }
  .nav-cta:hover{background:var(--navy-2);}
  .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
  .burger span{width:24px; height:2px; background:var(--navy);}
  @media(max-width:980px){
    nav.main-nav{display:none;}
    .nav-cta{display:none;}
    .burger{display:flex;}
  }
  .mobile-menu{display:none; flex-direction:column; background:var(--white); border-top:1px solid var(--line);}
  .mobile-menu.open{display:flex;}
  .mobile-menu a{padding:16px 24px; border-bottom:1px solid var(--line); font-size:0.88rem; font-weight:500;}
  .mobile-menu .sub a{padding-left:40px; font-weight:400; font-size:0.82rem; color:var(--slate);}

  /* ---------- Hero ---------- */
  .hero{
    background:linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 100%);
    color:var(--white); position:relative; overflow:hidden;
    padding:120px 0 130px;
  }
  .hero .wrap{position:relative; max-width:800px; text-align:left;}
  .hero .eyebrow{color:var(--pale);}
  .hero h1{font-size:clamp(2.3rem,5vw,3.6rem); line-height:1.12; margin:18px 0 24px;}
  .hero p.lead{font-size:1.08rem; color:rgba(255,255,255,0.78); max-width:560px; margin-bottom:40px; font-weight:300;}
  .btn-row{display:flex; gap:16px; flex-wrap:wrap;}
  .btn{
    display:inline-flex; align-items:center; gap:10px; border-radius:999px;
    padding:16px 32px; font-size:0.8rem; font-weight:600; letter-spacing:0.03em;
    transition:all .25s ease; cursor:pointer; border:none;
  }
  .btn-white{background:var(--white); color:var(--navy);}
  .btn-white:hover{background:var(--pale);}
  .btn-outline{border:1.5px solid rgba(255,255,255,0.55); color:var(--white); background:transparent;}
  .btn-outline:hover{background:rgba(255,255,255,0.12); border-color:var(--white);}
  .btn-navy-alt{background:var(--navy); color:var(--white);}
  .btn-navy-alt:hover{background:var(--navy-2);}

  /* ---------- Feature strip ---------- */
  .feature-strip{padding:64px 0; border-bottom:1px solid var(--line);}
  .feature-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:36px;}
  @media(max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.feature-grid{grid-template-columns:1fr;}}
  .feature-item{display:flex; gap:16px; align-items:flex-start;}
  .feature-item .tooth{width:30px; height:30px; color:var(--navy-2); flex-shrink:0; margin-top:2px;}
  .feature-item h3{font-size:1.02rem; margin-bottom:6px;}
  .feature-item p{font-size:0.85rem; color:var(--slate);}

  /* ---------- Section shell ---------- */
  section{padding:110px 0;}
  @media(max-width:640px){section{padding:72px 0;}}
  .section-head{max-width:680px; margin-bottom:56px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .section-head .eyebrow{display:block; margin-bottom:14px;}
  .section-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem); color:var(--navy);}
  .section-head p{color:var(--slate); margin-top:16px; font-size:1rem;}

  /* ---------- Services ---------- */
  .services{background:var(--pale);}
  .service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:10px;}
  @media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.service-grid{grid-template-columns:1fr;}}
  .service-card{
    background:var(--white); padding:36px 30px; border-radius:10px;
    display:flex; flex-direction:column; gap:14px;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .service-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(11,37,69,0.1);}
  .service-icon{
    width:52px; height:52px; border-radius:12px; background:var(--pale);
    display:flex; align-items:center; justify-content:center;
  }
  .service-icon .tooth{width:26px; height:26px; color:var(--navy);}
  .service-card h3{font-size:1.25rem; color:var(--navy);}
  .service-card p{font-size:0.88rem; color:var(--slate); flex:1;}
  .service-card .doc{font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--navy-2); font-weight:600;}
  .service-photo{
    display:block; width:calc(100% + 60px); max-width:none; height:210px; object-fit:cover; object-position:center;
    margin:-36px -30px 6px; border-radius:10px 10px 0 0; background:var(--pale);
  }
  .service-card:has(.service-photo) .service-icon{display:none;}
  .featured-tag{z-index:2;}
  .service-photo[src*="all-on-6"]{object-fit:contain; background:#fff; padding:10px;}
  .service-photo[src*="implantes"]{object-position:center 55%;}
  .service-photo[src*="cirugia"]{object-position:70% 65%;}
  .service-photo[src*="general"]{object-position:65% 45%;}
  .service-photo[src*="periodoncia"]{object-position:center 40%;}
  .service-photo[src*="ortodoncia"]{object-position:35% 50%;}
  .mini-gallery{
    margin-top:26px; display:grid; grid-template-columns:1fr 1fr; gap:20px;
  }
  @media(max-width:600px){.mini-gallery{grid-template-columns:1fr;}}
  .mini-gallery-item{position:relative; border-radius:10px; overflow:hidden; aspect-ratio:16/9;}
  .mini-gallery-item img{width:100%; height:100%; object-fit:cover;}
  .mini-gallery-item span{
    position:absolute; left:0; right:0; bottom:0; padding:14px 18px;
    background:linear-gradient(to top, rgba(11,37,69,0.82), transparent);
    color:var(--white); font-size:0.8rem; font-weight:600;
  }
  .service-card.featured{background:var(--navy); color:var(--white); position:relative;}
  .service-card.featured h3{color:var(--white);}
  .service-card.featured p{color:rgba(255,255,255,0.75);}
  .service-card.featured .doc{color:var(--pale);}
  .service-card.featured .service-icon{background:rgba(255,255,255,0.14);}
  .service-card.featured .service-icon .tooth{color:var(--white);}
  .featured-tag{
    position:absolute; top:-11px; left:24px; background:var(--navy-2); color:var(--white);
    font-size:0.65rem; letter-spacing:0.08em; text-transform:uppercase; font-weight:700;
    padding:6px 14px; border-radius:999px;
  }
  .services-note{margin-top:34px; font-size:0.85rem; color:var(--slate); text-align:center;}

  /* ---------- Trust / insurance strip ---------- */
  .trust{background:var(--white); border-bottom:1px solid var(--line); border-top:1px solid var(--line);}
  .trust .wrap{display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; padding:44px 32px;}
  .trust-text{max-width:520px;}
  .trust-text h3{font-size:1.2rem; color:var(--navy); margin-bottom:8px;}
  .trust-text p{font-size:0.88rem; color:var(--slate);}
  .trust-badges{display:flex; gap:14px; flex-wrap:wrap;}
  .trust-badge{
    padding:10px 18px; border:1px solid var(--line); border-radius:999px;
    font-size:0.76rem; font-weight:600; color:var(--navy-2);
  }

  /* ---------- Journey (alternating) ---------- */
  .journey-item{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:56px 0; border-bottom:1px solid var(--line);}
  .journey-item:last-child{border-bottom:none;}
  .journey-item.reverse{direction:rtl;}
  .journey-item.reverse > *{direction:ltr;}
  @media(max-width:860px){.journey-item, .journey-item.reverse{grid-template-columns:1fr; direction:ltr;}}
  .journey-panel{
    aspect-ratio:4/3; border-radius:14px; background:var(--navy);
    display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
  }
  .journey-panel.has-image{background-size:cover; background-position:center;}
  .journey-panel.has-image::after{content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(11,37,69,0.55), rgba(11,37,69,0.05));}
  .journey-panel.has-image .step-no{z-index:1;}
  .journey-panel .tooth{width:30%; height:30%; color:rgba(225,233,240,0.5);}
  .journey-panel .step-no{
    position:absolute; top:22px; left:26px; font-size:0.72rem; letter-spacing:0.18em;
    color:rgba(225,233,240,0.7); font-weight:600;
  }
  .journey-text .eyebrow{margin-bottom:12px; display:block;}
  .journey-text h3{font-size:1.6rem; color:var(--navy); margin-bottom:16px;}
  .journey-text p{color:var(--slate); font-size:0.96rem;}
  .journey-link{display:inline-block; margin-top:16px; font-size:0.82rem; font-weight:600; color:var(--navy-2);}
  .journey-link:hover{color:var(--navy);}

  /* ---------- CTA banner ---------- */
  .cta-banner{
    background:var(--navy); color:var(--white); border-radius:16px;
    padding:64px 48px; text-align:center; margin:0 auto;
  }
  .cta-banner h2{font-size:clamp(1.7rem,3.4vw,2.3rem); margin-bottom:16px;}
  .cta-banner p{color:rgba(255,255,255,0.72); max-width:480px; margin:0 auto 32px;}
  .cta-banner .btn-row{justify-content:center;}

  /* ---------- Team (CV cards) ---------- */
  .team{background:var(--white);}
  .cv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  @media(max-width:900px){.cv-grid{grid-template-columns:1fr;}}
  .cv-card{background:var(--navy); color:var(--white); padding:36px 30px; border-radius:10px; display:flex; flex-direction:column; gap:20px;}
  .cv-head{display:flex; align-items:center; gap:16px;}
  .avatar{
    width:60px; height:60px; border-radius:50%; flex-shrink:0;
    border:1.5px solid rgba(225,233,240,0.55);
    display:flex; align-items:center; justify-content:center;
    font-size:1.2rem; font-weight:600; color:var(--pale);
  }
  .cv-head h3{font-size:1.2rem; margin-bottom:4px;}
  .cv-head .role{font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--pale); font-weight:600;}
  .cv-block{border-top:1px solid rgba(255,255,255,0.16); padding-top:16px;}
  .cv-label{font-size:0.65rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--pale); margin-bottom:7px; font-weight:600;}
  .cv-block p{font-size:0.85rem; color:rgba(255,255,255,0.75); line-height:1.55;}

  /* ---------- Testimonials ---------- */
  .testimonials{background:var(--pale);}
  .quote-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  @media(max-width:900px){.quote-grid{grid-template-columns:1fr;}}
  .quote-card{background:var(--white); padding:34px 30px; border-radius:10px;}
  .quote-mark{font-size:2.4rem; color:var(--navy-2); line-height:1; font-weight:700;}
  .quote-card p.text{font-size:0.95rem; color:var(--ink); margin:14px 0 18px;}
  .quote-card .who{font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--slate); font-weight:600;}

  /* ---------- Contact ---------- */
  .contact{background:var(--navy); color:var(--white);}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
  @media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
  .contact .section-head h2{color:var(--white);}
  .contact .section-head p{color:rgba(255,255,255,0.65);}
  .contact-info{display:flex; flex-direction:column; gap:24px; margin-top:26px;}
  .contact-row{display:flex; gap:16px; align-items:flex-start;}
  .contact-row .tooth{width:19px; height:19px; color:var(--pale); flex-shrink:0; margin-top:4px;}
  .contact-row .label-small{font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--pale); margin-bottom:4px; font-weight:600;}
  .contact-row .value{font-size:0.98rem;}
  .contact-row .value a:hover{color:var(--pale);}
  .map-frame{border-radius:10px; overflow:hidden; border:1px solid rgba(255,255,255,0.18); min-height:320px;}
  .map-frame iframe{width:100%; height:100%; min-height:320px; border:0; filter:grayscale(0.3);}

  /* ---------- Floating WhatsApp ---------- */
  .wa-float{
    position:fixed; bottom:26px; right:26px; z-index:90;
    background:var(--navy); color:var(--white); width:58px; height:58px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 24px rgba(11,37,69,0.35); transition:transform .25s ease, background .25s ease;
  }
  .wa-float:hover{transform:scale(1.08); background:var(--navy-2);}
  .wa-float svg{width:26px; height:26px;}

  /* ---------- Footer ---------- */
  footer{background:var(--navy); color:rgba(255,255,255,0.7); padding-top:70px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,0.14);}
  @media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}}
  @media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
  footer .brand{color:var(--white); margin-bottom:14px;}
  footer .foot-desc{font-size:0.85rem; max-width:280px;}
  footer h4{font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--pale); margin-bottom:18px; font-weight:600;}
  footer ul li{margin-bottom:11px; font-size:0.85rem;}
  footer ul li a:hover{color:var(--white);}
  .foot-social{display:flex; gap:12px; margin-top:18px;}
  .foot-social a{width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center;}
  .foot-social a:hover{background:rgba(255,255,255,0.12);}
  .foot-social svg{width:16px; height:16px;}
  .foot-bottom{display:flex; justify-content:space-between; padding:26px 0; font-size:0.76rem; flex-wrap:wrap; gap:10px;}

  /* ---------- Reveal ---------- */
  .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){.reveal{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;}}
  :focus-visible{outline:2px solid var(--navy-2); outline-offset:3px;}

  /* ================= MEJORAS ================= */
  :root{ --gold:#c8a55a; --ok:#1f8a5b; }
  .topbar .us-note{display:flex; align-items:center; gap:6px; opacity:.9;}
  @media(max-width:700px){.topbar .us-note{display:none;}}

  /* Hero en 2 columnas */
  .hero{padding:96px 0 110px;}
  .hero .wrap.hero-grid{max-width:1200px; display:grid; grid-template-columns:1.25fr .9fr; gap:56px; align-items:center;}
  @media(max-width:960px){.hero .wrap.hero-grid{grid-template-columns:1fr; gap:40px;}}
  .hero-chips{display:flex; flex-wrap:wrap; gap:10px; margin:0 0 34px;}
  .hero-chip{display:inline-flex; align-items:center; gap:8px; font-size:.76rem; font-weight:500; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22);}
  .hero-chip::before{content:'✓'; font-weight:700; color:var(--gold);}
  .hero-card{background:var(--white); color:var(--ink); border-radius:18px; padding:32px 30px; box-shadow:0 30px 60px rgba(0,0,0,.25);}
  .hero-card h2{font-size:1.25rem; color:var(--navy); margin-bottom:6px;}
  .hero-card .sub{font-size:.86rem; color:var(--slate); margin-bottom:20px;}
  .hero-card .btn{width:100%; justify-content:center; margin-top:10px;}
  .hero-card .btn-wa{background:#1f8a5b; color:#fff;}
  .hero-card .btn-wa:hover{background:#18704a;}
  .hero-card .call{display:block; text-align:center; margin-top:16px; font-size:.82rem; color:var(--slate);}
  .hero-card .call a{color:var(--navy); font-weight:600;}
  .hero-card ul{margin:18px 0 4px; border-top:1px solid var(--line); padding-top:16px; display:grid; gap:8px;}
  .hero-card li{font-size:.82rem; color:var(--slate); display:flex; gap:8px;}
  .hero-card li::before{content:'•'; color:var(--navy-2); font-weight:700;}

  /* Stats */
  .stats{background:var(--white); padding:0; margin-top:-46px; position:relative; z-index:2;}
  .stats-grid{display:grid; grid-template-columns:repeat(4,1fr); background:var(--white); border-radius:14px; box-shadow:0 18px 40px rgba(11,37,69,.12); overflow:hidden;}
  .stat{padding:26px 22px; text-align:center; border-right:1px solid var(--line);}
  .stat:last-child{border-right:none;}
  .stat b{display:block; font-size:1.7rem; font-weight:700; color:var(--navy); line-height:1.1;}
  .stat span{font-size:.76rem; color:var(--slate); text-transform:uppercase; letter-spacing:.08em; font-weight:500;}
  @media(max-width:760px){.stats-grid{grid-template-columns:1fr 1fr;} .stat:nth-child(2){border-right:none;} .stat:nth-child(-n+2){border-bottom:1px solid var(--line);}}

  /* US patients */
  .us{background:var(--white);}
  .us-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  @media(max-width:900px){.us-grid{grid-template-columns:1fr;}}
  .why-list{display:grid; gap:18px;}
  .why{display:flex; gap:16px; padding:22px; border:1px solid var(--line); border-radius:12px; transition:box-shadow .25s ease;}
  .why:hover{box-shadow:0 14px 30px rgba(11,37,69,.08);}
  .why .num{width:40px; height:40px; flex-shrink:0; border-radius:10px; background:var(--pale); color:var(--navy); display:flex; align-items:center; justify-content:center; font-weight:700;}
  .why h3{font-size:1rem; color:var(--navy); margin-bottom:4px;}
  .why p{font-size:.87rem; color:var(--slate);}
  .steps{background:var(--navy); color:var(--white); border-radius:16px; padding:36px 32px;}
  .steps h3{font-size:1.3rem; margin-bottom:6px;}
  .steps .sub{font-size:.87rem; color:rgba(255,255,255,.7); margin-bottom:24px;}
  .steps ol{list-style:none; counter-reset:s; display:grid; gap:20px;}
  .steps li{counter-increment:s; display:flex; gap:16px;}
  .steps li::before{content:counter(s); width:30px; height:30px; flex-shrink:0; border-radius:50%; background:var(--white); color:var(--navy); font-weight:700; font-size:.85rem; display:flex; align-items:center; justify-content:center;}
  .steps li b{display:block; font-weight:600; font-size:.95rem;}
  .steps li span{font-size:.85rem; color:rgba(255,255,255,.72);}
  .steps .btn{margin-top:26px;}

  /* Booking (Doctoralia) */
  .booking{background:var(--pale);}
  .booking-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:start;}
  @media(max-width:900px){.booking-grid{grid-template-columns:1fr;}}
  .booking-widget{background:var(--white); border-radius:16px; padding:24px; box-shadow:0 18px 40px rgba(11,37,69,.08); min-height:420px;}
  .booking-widget .zl-url{display:inline-flex; padding:14px 26px; background:var(--navy); color:#fff; border-radius:999px; font-weight:600; font-size:.85rem;}
  .booking-side .alt{margin-top:28px; display:grid; gap:12px;}
  .booking-side .alt a{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; background:var(--white); border-radius:12px; font-weight:600; font-size:.9rem; color:var(--navy); border:1px solid var(--line);}
  .booking-side .alt a:hover{border-color:var(--navy-2);}
  .booking-side .alt small{display:block; font-weight:400; color:var(--slate); font-size:.78rem;}

  /* Service card CTA */
  .service-card .card-link{font-size:.8rem; font-weight:600; color:var(--navy-2); margin-top:4px;}
  .service-card.featured .card-link{color:var(--pale);}

  /* Team credentials */
  .cred{display:flex; flex-wrap:wrap; gap:6px;}
  .cred span{font-size:.68rem; font-weight:600; letter-spacing:.04em; padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.12); color:var(--pale);}

  /* FAQ */
  .faq{background:var(--white);}
  .faq-list{max-width:820px; margin:0 auto; display:grid; gap:12px;}
  .faq details{border:1px solid var(--line); border-radius:12px; padding:0 22px; background:var(--white);}
  .faq summary{cursor:pointer; list-style:none; padding:20px 0; font-weight:600; color:var(--navy); display:flex; justify-content:space-between; gap:16px; font-size:.97rem;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:'+'; font-size:1.3rem; line-height:1; color:var(--navy-2);}
  .faq details[open] summary::after{content:'–';}
  .faq details p{padding:0 0 20px; color:var(--slate); font-size:.92rem;}

  /* Mobile sticky bar */
  .mobile-bar{display:none;}
  @media(max-width:760px){
    .mobile-bar{display:grid; grid-template-columns:1fr 1fr; gap:8px; position:fixed; left:0; right:0; bottom:0; z-index:95; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.97); border-top:1px solid var(--line); box-shadow:0 -6px 20px rgba(11,37,69,.08);}
    .mobile-bar a{display:flex; align-items:center; justify-content:center; padding:14px 10px; border-radius:999px; font-size:.82rem; font-weight:600;}
    .mobile-bar .mb-book{background:var(--navy); color:#fff;}
    .mobile-bar .mb-wa{background:#1f8a5b; color:#fff;}
    .wa-float{display:none;}
    body{padding-bottom:76px;}
  }

  /* ---------- Fotos opcionales ---------- */
  .avatar.has-photo{padding:0; overflow:hidden; border-color:rgba(225,233,240,0.8);}
  .avatar img{width:100%; height:100%; object-fit:cover;}
  .photo-section{background:var(--white);}
  .photo-section.alt{background:var(--pale);}
  .photo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  @media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.photo-grid{grid-template-columns:1fr;}}
  .photo-grid figure{aspect-ratio:4/3; border-radius:10px; overflow:hidden; background:var(--pale);}
  .photo-grid img{width:100%; height:100%; object-fit:cover;}
  .service-card{position:relative;}
  .service-card .card-link::after{content:''; position:absolute; inset:0; border-radius:10px;}
  .service-card:hover .card-link{text-decoration:underline;}
  .foot-bottom a:hover{color:var(--white);}
