:root{
    --navy:#071A52;
    --navy-deep:#050E31;
    --white:#FFFFFF;
    --orange:#FF6A00;
    --ink:#0B1730;
    --ink-soft:rgba(11,23,48,.68);
    --ink-faint:rgba(11,23,48,.46);
    --line:rgba(7,26,82,.12);
    --ease:cubic-bezier(.19,1,.22,1);
    /* spacing scale — restraint through consistent rhythm */
    --sp-s:24px;
    --sp-m:48px;
    --sp-l:96px;
    --sp-xl:160px;
    --sp-xxl:216px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',system-ui,sans-serif;
    color:var(--ink);
    background:var(--white);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  h1,h2,h3{
    font-family:'Manrope',sans-serif;
    font-weight:700;
    letter-spacing:-0.025em;
    line-height:1.04;
  }
  a:focus-visible, button:focus-visible{
    outline:1.5px solid currentColor; outline-offset:4px; border-radius:1px;
  }
  .container{max-width:1280px; margin:0 auto; padding:0 var(--sp-s); box-sizing:border-box;}
  @media (min-width:640px){ .container{padding:0 40px;} }
  section{position:relative;}

  .eyebrow{
    font-family:'Inter',sans-serif; font-weight:600; font-size:12px;
    letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint);
    margin-bottom:24px;
  }
  .eyebrow.on-dark{color:rgba(255,255,255,.55);}
  .eyebrow.accent{color:var(--orange);}
  .eyebrow b{font-weight:700; color:inherit;}

  /* ---------------- button system ---------------- */
  /* One shared shape for every CTA on the page: primary (WhatsApp), secondary (iFood,
     equal weight to primary), outline (secondary actions). No underline-only CTAs. */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    height:56px; padding:0 32px;
    border-radius:14px; border:1.5px solid transparent;
    font-family:'Inter'; font-weight:600; font-size:15.5px; letter-spacing:-.01em;
    cursor:pointer; position:relative; white-space:nowrap; text-align:center;
    transition:transform .5s var(--ease), background-color .5s var(--ease),
               border-color .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease);
  }
  .btn span{transition:transform .5s var(--ease); display:inline-block;}
  .btn:hover span{transform:translateX(3px);}
  .btn:active{transform:translateY(0) scale(.98);}

  .btn-primary{background:var(--orange); color:#fff;}
  .btn-primary:hover{transform:translateY(-2px); background:#ef6600; box-shadow:0 12px 26px -14px rgba(255,106,0,.55);}
  .btn-primary:active{transform:translateY(-1px) scale(.98);}
  .btn-primary.on-accent{background:var(--navy-deep); color:#fff;}
  .btn-primary.on-accent:hover{background:#081f61; box-shadow:0 12px 26px -14px rgba(5,14,49,.4);}

  .btn-secondary{background:var(--navy-deep); color:#fff;}
  .btn-secondary:hover{transform:translateY(-2px); background:#0b2361; box-shadow:0 12px 26px -14px rgba(7,26,82,.45);}
  .btn-secondary:active{transform:translateY(-1px) scale(.98);}

  .btn-outline{background:transparent; color:var(--navy); border-color:rgba(7,26,82,.28);}
  .btn-outline:hover{transform:translateY(-1px); border-color:var(--navy); background:rgba(7,26,82,.04);}
  .btn-outline:active{transform:translateY(0) scale(.98);}
  .btn-outline.on-dark{color:#fff; border-color:rgba(255,255,255,.42);}
  .btn-outline.on-dark:hover{border-color:#fff; background:rgba(255,255,255,.08);}
  .btn-outline.on-accent{color:var(--navy-deep); border-color:rgba(5,14,49,.35);}
  .btn-outline.on-accent:hover{border-color:var(--navy-deep); background:rgba(5,14,49,.07);}

  .btn.big{height:64px; padding:0 40px; font-size:16.5px;}
  .btn.sm{height:44px; padding:0 22px; font-size:13.5px; border-radius:12px; gap:7px;}
  .btn.full{width:100%;}

  a.btn:focus-visible, button.btn:focus-visible{
    outline:2px solid currentColor; outline-offset:3px;
  }

  /* CTA groups: side by side on desktop, comfortable full-width stack on mobile */
  .cta-row{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
  .cta-row.center{justify-content:center;}
  @media (max-width:560px){
    .cta-row{flex-direction:column; align-items:stretch; gap:12px;}
    .cta-row.center{align-items:stretch;}
    .cta-row .btn{width:100%;}
  }

  .reveal{opacity:0; transform:translateY(34px); transition:opacity 1.1s var(--ease), transform 1.1s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}
  .reveal-img{opacity:0; transform:scale(1.06); transition:opacity 1.3s var(--ease), transform 1.5s var(--ease);}
  .reveal-img.in{opacity:1; transform:scale(1);}
  @media (prefers-reduced-motion: reduce){
    .reveal,.reveal-img{opacity:1 !important; transform:none !important; transition:none !important;}
    html{scroll-behavior:auto;}
  }

  /* ---------------- nav ---------------- */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:200;
    padding:30px 0; transition:padding .5s var(--ease), background .5s var(--ease), backdrop-filter .5s var(--ease), border-color .5s var(--ease);
    border-bottom:1px solid transparent;
  }
  .nav.scrolled{
    padding:16px 0; background:rgba(5,14,49,.72); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
    border-color:rgba(255,255,255,.08);
  }
  .nav-inner{max-width:1280px; margin:0 auto; padding:0 40px; display:flex; align-items:center; justify-content:space-between; gap:40px;}
  @media (max-width:480px){ .nav-inner{padding:0 var(--sp-s);} }
  .nav-logo img{height:48px; width:auto; transition:height .5s var(--ease);}
  .nav.scrolled .nav-logo img{height:40px;}
  @media (max-width:900px){
    .nav-logo img, .nav.scrolled .nav-logo img{height:40px;}
  }
  .nav-links{display:flex; align-items:center; gap:44px; list-style:none;}
  .nav-links a{
    font-size:13.5px; font-weight:500; color:rgba(255,255,255,.72); letter-spacing:.01em;
    position:relative; padding:2px 0; transition:color .3s;
  }
  .nav-links a::after{content:''; position:absolute; left:0; bottom:-3px; width:0; height:1px; background:#fff; transition:width .5s var(--ease);}
  .nav-links a:hover{color:#fff;}
  .nav-links a:hover::after{width:100%;}
  .nav-cta-wrap{display:none;}
  @media (min-width:960px){
    /* Restore the .btn flex-centering that display:block was overriding —
       scoped to this one button only, nothing else on the page is touched. */
    .nav-cta-wrap{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      line-height:1;
      text-align:center;
      position:relative;
      top:0.5px; /* discreet optical correction only, well under 2px */
    }
  }
  .nav-toggle{display:none; background:none; border:none; cursor:pointer; z-index:210; width:26px; height:20px; position:relative;}
  .nav-toggle span{position:absolute; left:0; right:0; height:1.5px; background:#fff; transition:transform .4s var(--ease), opacity .3s, top .4s var(--ease);}
  .nav-toggle span:nth-child(1){top:0;}
  .nav-toggle span:nth-child(2){top:9px;}
  .nav-toggle span:nth-child(3){top:18px;}
  .nav-toggle.open span:nth-child(1){top:9px; transform:rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){top:9px; transform:rotate(-45deg);}
  .mobile-panel{
    position:fixed; inset:0; background:var(--navy-deep); z-index:190;
    display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:0;
    padding:0 40px; opacity:0; visibility:hidden; transition:opacity .5s var(--ease), visibility .5s;
  }
  @media (max-width:480px){ .mobile-panel{padding:0 var(--sp-s);} }
  .mobile-panel.open{opacity:1; visibility:visible;}
  .mobile-panel a{
    font-family:'Manrope'; font-size:32px; font-weight:600; color:#fff; padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.1); width:100%;
  }
  .mobile-panel .btn{margin-top:30px;}

  /* ---------------- hero ---------------- */
  #hero{
    height:100svh; min-height:640px;
    display:flex; align-items:flex-end;
    background:var(--navy-deep); overflow:hidden;
  }
  .hero-bg{
    position:absolute; inset:0; background-size:cover; background-position:center 38%;
    transform:scale(1.05);
  }
  .hero-scrim{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(5,14,49,.42) 0%, rgba(5,14,49,.18) 32%, rgba(5,14,49,.82) 92%, rgba(5,14,49,.94) 100%);
  }
  .hero-content{position:relative; z-index:2; width:100%; padding:0 0 110px;}
  .hero-content .eyebrow{color:rgba(255,255,255,.62); margin-bottom:28px;}
  .hero-content .eyebrow b{font-weight:700; color:#fff;}
  #hero h1{color:#fff; font-size:clamp(38px,7vw,88px); max-width:880px; font-weight:700;}
  .hero-ctas{margin-top:48px;}

  .hero-load{opacity:0; transform:translateY(24px); transition:opacity 1.3s var(--ease), transform 1.3s var(--ease);}
  .hero-load.in{opacity:1; transform:translateY(0);}
  @media (max-width:640px){ #hero{align-items:flex-end;} .hero-content{padding-bottom:80px;} }

  /* ---------------- 19 anos monumental ---------------- */
  #marco{
    background:var(--navy-deep); color:#fff; overflow:hidden; position:relative;
    padding:var(--sp-xxl) 0 var(--sp-xl); text-align:center;
  }
  #marco .eyebrow{margin-bottom:16px;}
  .marco-num{
    font-family:'Manrope'; font-weight:800; font-size:clamp(160px,32vw,430px);
    line-height:.82; letter-spacing:-.045em; color:#fff;
    opacity:0; transform:scale(.72); will-change:transform, opacity;
  }
  .marco-sub{
    font-size:clamp(16px,1.8vw,20px); color:rgba(255,255,255,.55); max-width:420px; margin:20px auto 0;
    font-weight:400;
  }
  .marco-line{width:44px; height:1.5px; background:var(--orange); margin:34px auto 0;}

  /* ---------------- história ---------------- */
  #historia{background:#fff; padding:var(--sp-xl) 0;}
  .historia-grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:var(--sp-l); align-items:center;}
  .historia-photo{overflow:hidden;}
  .historia-photo img{width:100%; height:600px; object-fit:cover;}
  #historia h2{font-size:clamp(30px,3.4vw,46px); color:var(--navy); max-width:480px; margin-bottom:40px;}
  .historia-copy p{font-size:19px; line-height:1.6; color:var(--ink-soft); max-width:440px; margin-bottom:20px; font-weight:400;}
  .historia-copy p.strong{color:var(--navy); font-weight:600; font-size:21px;}
  @media (max-width:900px){
    #historia{padding:var(--sp-l) 0;}
    .historia-grid{grid-template-columns:1fr; gap:56px;}
    .historia-photo img{height:400px;}
  }

  /* ---------------- equipe ---------------- */
  #equipe{background:var(--navy-deep); padding:0; overflow:hidden;}
  .equipe-wrap{position:relative; min-height:640px; display:flex; align-items:flex-end;}
  .equipe-photo{position:absolute; inset:0;}
  .equipe-photo img{width:100%; height:100%; object-fit:cover; object-position:center 20%;}
  .equipe-scrim{position:absolute; inset:0; background:linear-gradient(90deg, rgba(5,14,49,.92) 0%, rgba(5,14,49,.55) 34%, rgba(5,14,49,0) 62%);}
  .equipe-text{position:relative; z-index:2; padding:var(--sp-l) 0; max-width:460px;}
  #equipe h2{color:#fff; font-size:clamp(30px,3.6vw,48px); margin-bottom:22px;}
  #equipe p{color:rgba(255,255,255,.72); font-size:18px; line-height:1.6; font-weight:400;}
  @media (max-width:900px){
    .equipe-wrap{min-height:560px;}
    .equipe-scrim{background:linear-gradient(180deg, rgba(5,14,49,.3) 0%, rgba(5,14,49,.95) 78%);}
    .equipe-text{padding:0 0 60px; max-width:100%;}
  }

  /* ---------------- entrega ---------------- */
  /* WhatsApp + iFood live in the same visual as the courier — one composition,
     not a photo-in-a-card. The image box's aspect-ratio is set to the photo's
     own native ratio (1280:853), so object-fit:contain has nothing to letterbox:
     the figure fills the frame exactly, never cropped, never stretched. The
     photo has no background/border/shadow of its own — it sits flush against
     the section's colour and bleeds to the viewport edge on desktop, so it
     reads as part of the layout rather than a pasted rectangle. */
  #entrega{background:#F4F5FA; padding:var(--sp-l) 0;}
  .entrega-wrap{display:grid; grid-template-columns:1fr; align-items:center; max-width:1760px; margin:0 auto;}
  .entrega-text{
    padding:0 var(--sp-s);
    display:flex; flex-direction:column; align-items:flex-start; gap:22px;
  }
  #entrega h2{font-size:clamp(30px,4vw,50px); color:var(--navy); line-height:1.06;}
  .entrega-lead{font-size:16.5px; color:var(--ink-soft); max-width:380px; line-height:1.55;}
  .entrega-visual{aspect-ratio:1280/853; overflow:hidden;}
  .entrega-visual img{width:100%; height:100%; object-fit:contain; object-position:center;}
  @media (min-width:900px){
    .entrega-wrap{grid-template-columns:minmax(340px,420px) 1fr; gap:var(--sp-l);}
    .entrega-text{padding:0 0 0 max(40px, calc((100vw - 1280px) / 2 + 40px));}
    .entrega-visual{order:2;}
    .entrega-text{order:1;}
  }
  @media (max-width:899px){
    .entrega-wrap{gap:var(--sp-m);}
    .entrega-visual{order:1;}
    .entrega-text{order:2;}
  }

  /* ---------------- benefícios ---------------- */
  #beneficios{background:var(--navy); padding:var(--sp-l) 0;}
  .beneficios-row{
    display:flex; flex-wrap:wrap; justify-content:space-between; gap:36px 24px;
    border-top:1px solid rgba(255,255,255,.14); padding-top:44px;
  }
  .beneficios-row span{
    font-family:'Manrope'; font-weight:700; font-size:clamp(19px,2.4vw,27px); color:#fff;
    letter-spacing:-.01em; white-space:nowrap;
  }
  .beneficios-head{color:rgba(255,255,255,.55); font-size:15px; max-width:380px; margin-bottom:0; font-weight:400;}
  @media (max-width:900px){
    .beneficios-row{flex-direction:column; gap:22px;}
  }

  /* ---------------- localização ---------------- */
  #localizacao{background:#fff; padding:var(--sp-xl) 0 0;}
  .loc-head{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:56px; flex-wrap:wrap;}
  #localizacao h2{font-size:clamp(30px,3.4vw,48px); color:var(--navy); max-width:420px;}
  .loc-addr{font-size:17px; color:var(--ink-soft); line-height:1.6;}
  .loc-addr b{color:var(--navy); display:block; font-weight:600; margin-bottom:4px;}
  #map{width:100%; height:56vh; min-height:420px; background:#e7e9f2; filter:grayscale(.15);}
  @media (max-width:900px){ #localizacao{padding:var(--sp-l) 0 0;} #map{height:400px;} }

  /* ---------------- horários ---------------- */
  #horarios{background:#fff; padding:var(--sp-l) 0;}
  .hor-wrap{display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:52px 0;}
  .hor-today b{font-family:'Manrope'; font-weight:800; font-size:15px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); display:block; margin-bottom:10px;}
  .hor-status{display:flex; align-items:center; gap:10px; font-family:'Manrope'; font-weight:700; font-size:28px;}
  .hor-status .dot{width:8px; height:8px; border-radius:50%;}
  .hor-status.open .dot{background:#0a9a4c;}
  .hor-status.open{color:#0a9a4c;}
  .hor-status.closed .dot{background:var(--orange);}
  .hor-status.closed{color:var(--orange);}
  .hor-list{display:flex; gap:44px; flex-wrap:wrap;}
  .hor-list div{font-size:14.5px; color:var(--ink-soft);}
  .hor-list div b{display:block; color:var(--navy); font-weight:600; margin-bottom:4px; font-size:13px; text-transform:uppercase; letter-spacing:.04em;}
  @media (max-width:480px){
    .hor-wrap{flex-direction:column; align-items:flex-start; gap:28px;}
    .hor-list{gap:28px;}
  }

  /* ---------------- cta final ---------------- */
  #cta-final{background:var(--orange); color:var(--navy-deep); padding:var(--sp-xxl) 0; text-align:center; overflow:hidden; position:relative;}
  #cta-final .eyebrow{color:rgba(5,14,49,.55);}
  #cta-final h2{font-size:clamp(42px,7.2vw,104px); max-width:900px; margin:0 auto 28px; color:var(--navy-deep); line-height:.98;}
  #cta-final .lead{font-size:18px; color:rgba(5,14,49,.62); margin-bottom:56px;}
  @media (max-width:640px){ #cta-final{padding:var(--sp-l) 0;} }

  /* ---------------- footer ---------------- */
  footer{background:var(--navy-deep); color:#fff; padding:70px 0 0; border-top:1px solid rgba(255,255,255,.08);}
  .footer-row{display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; padding-bottom:56px;}
  .footer-logo{margin-right:56px; padding:6px 0 24px;}
  .footer-logo img{height:34px; width:auto;}
  .footer-links{display:flex; gap:40px; flex-wrap:wrap;}
  .footer-links div h4{font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:14px; font-weight:600;}
  .footer-links div a, .footer-links div span{display:block; font-size:14px; color:rgba(255,255,255,.75); margin-bottom:9px;}
  .footer-links div a:hover{color:var(--orange);}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.08); padding:22px 0;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
    font-size:12.5px; color:rgba(255,255,255,.35);
  }
  @media (max-width:760px){ .footer-row{flex-direction:column; gap:36px;} }

  .zyntra-strip{background:var(--white); padding:40px 0;}
  .zyntra-inner{display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center;}
  .zyntra-inner img{height:38px; width:auto;}
  .zyntra-inner span{font-size:12px; letter-spacing:.05em; color:rgba(7,26,82,.42); font-weight:500;}
  @media (max-width:900px){
    .zyntra-inner img{height:34px;}
  }

  /* ---------------- whatsapp float ---------------- */
  .wa-float{
    position:fixed; right:24px; bottom:24px; z-index:150;
    width:52px; height:52px; border-radius:50%; background:#fff; border:1.5px solid rgba(7,26,82,.12);
    display:flex; align-items:center; justify-content:center; box-shadow:0 16px 32px -14px rgba(7,26,82,.35);
    transition:transform .45s var(--ease);
  }
  .wa-float:hover{transform:scale(1.07);}
  .wa-float svg{width:24px; height:24px;}

  ::selection{background:var(--orange); color:#fff;}
  @media (max-width:960px){
    .nav-links{display:none;}
    .nav-toggle{display:block;}
  }
  @media (max-width:480px){
    .container{padding:0 var(--sp-s);}
  }

  /* ================================================================
     BEGIN GOOGLE PROFILE SECTION — isolated styles, prefix: google-proof-
     Added only. No existing selector above this block was edited.
     Reuses existing tokens only: --navy, --navy-deep, --orange, --ink,
     --ink-soft, --line, --ease, --sp-*, .container, and the site's
     existing font stack (Manrope / Inter) — no new fonts, no new colors.
     ================================================================ */
  .google-proof-section{background:#fff; padding:var(--sp-l) 0;}

  .google-proof-head{max-width:620px; margin:0 auto var(--sp-m); text-align:center;}
  .google-proof-eyebrow{
    font-family:'Inter',sans-serif; font-weight:600; font-size:12px;
    letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint);
    margin-bottom:20px;
  }
  .google-proof-title{
    font-family:'Manrope',sans-serif; font-weight:700; letter-spacing:-0.025em;
    line-height:1.06; font-size:clamp(30px,3.6vw,44px); color:var(--navy); margin-bottom:16px;
  }
  .google-proof-subtitle{font-size:16.5px; color:var(--ink-soft); line-height:1.55; font-weight:400;}

  /* -- reputation hero: no box, big quiet typography -- */
  .google-proof-rating{
    display:flex; flex-direction:column; align-items:center; text-align:center;
    gap:18px; margin:0 auto var(--sp-m); padding-bottom:var(--sp-s);
    border-bottom:1px solid var(--line);
  }
  .google-proof-g-icon{width:26px; height:26px; color:var(--ink-soft);}
  .google-proof-score-row{display:flex; align-items:baseline; gap:10px;}
  .google-proof-score{
    font-family:'Manrope',sans-serif; font-weight:800; font-size:clamp(44px,6vw,64px);
    color:var(--navy); line-height:1; letter-spacing:-0.02em;
  }
  .google-proof-score-max{font-size:16px; color:var(--ink-soft); font-weight:500;}
  .google-proof-stars{display:flex; gap:6px;}
  .google-proof-star{
    width:20px; height:20px; color:var(--navy); opacity:0;
    transform:translateY(6px) scale(.85);
    transition:opacity .6s var(--ease), transform .6s var(--ease), color .3s var(--ease);
  }
  .google-proof-star svg{width:100%; height:100%; display:block;}
  .google-proof-star:not(.is-filled){opacity:0;}
  .google-proof-rating.in .google-proof-star:not(.is-filled){opacity:.18;}
  .google-proof-rating.in .google-proof-star{transform:translateY(0) scale(1);}
  .google-proof-star.is-filled{color:var(--orange); opacity:1 !important;}
  .google-proof-rating.in .google-proof-star:nth-child(1){transition-delay:.05s;}
  .google-proof-rating.in .google-proof-star:nth-child(2){transition-delay:.15s;}
  .google-proof-rating.in .google-proof-star:nth-child(3){transition-delay:.25s;}
  .google-proof-rating.in .google-proof-star:nth-child(4){transition-delay:.35s;}
  .google-proof-rating.in .google-proof-star:nth-child(5){transition-delay:.45s;}
  .google-proof-count{font-size:14.5px; color:var(--ink-soft);}
  .google-proof-count-note{font-size:12.5px; color:var(--ink-faint); max-width:360px;}
  .google-proof-sr-only{
    position:absolute; width:1px; height:1px; overflow:hidden;
    clip:rect(0,0,0,0); white-space:nowrap; border:0; padding:0; margin:-1px;
  }
  .google-proof-link{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    height:48px; padding:0 26px; margin-top:6px;
    border-radius:14px; border:1.5px solid rgba(7,26,82,.28);
    font-family:'Inter',sans-serif; font-weight:600; font-size:14.5px; color:var(--navy);
    text-decoration:none; transition:border-color .5s var(--ease), background-color .5s var(--ease), transform .5s var(--ease);
  }
  .google-proof-link span{display:inline-block; transition:transform .5s var(--ease);}
  .google-proof-link:hover{border-color:var(--navy); background:rgba(7,26,82,.04); transform:translateY(-1px);}
  .google-proof-link:hover span{transform:translateX(3px);}
  .google-proof-link:focus-visible{outline:2px solid currentColor; outline-offset:3px;}

  /* -- reviews: desktop grid / mobile swipe carousel -- */
  .google-proof-reviews{
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  }
  .google-proof-review{
    background:#F4F5FA; border-radius:16px; padding:28px 26px;
    display:flex; flex-direction:column; gap:14px;
    opacity:0; transform:translateY(28px);
    transition:opacity .8s var(--ease), transform .8s var(--ease), box-shadow .5s var(--ease), background-color .5s var(--ease);
  }
  .google-proof-reviews.in .google-proof-review{opacity:1; transform:translateY(0);}
  .google-proof-reviews.in .google-proof-review:nth-child(1){transition-delay:.05s;}
  .google-proof-reviews.in .google-proof-review:nth-child(2){transition-delay:.18s;}
  .google-proof-reviews.in .google-proof-review:nth-child(3){transition-delay:.31s;}
  .google-proof-review:hover{transform:scale(1.015); background:#EFF0F7;}
  .google-proof-reviews.in .google-proof-review:hover{transform:translateY(0) scale(1.015);}
  .google-proof-review-stars{display:flex; gap:3px; color:var(--navy); opacity:.18;}
  .google-proof-review-stars.is-filled{color:var(--orange); opacity:1;}
  .google-proof-review-stars svg{width:14px; height:14px;}
  .google-proof-review-text{
    font-size:15px; line-height:1.6; color:var(--ink-soft); font-style:italic;
  }
  .google-proof-review-author{
    font-size:13px; color:var(--navy); font-weight:600; margin-top:auto;
  }
  .google-proof-review-source{color:var(--ink-soft); font-weight:400;}

  @media (max-width:900px){
    .google-proof-reviews{
      display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory;
      margin:0 calc(var(--sp-s) * -1); padding:4px var(--sp-s) 10px;
      -webkit-overflow-scrolling:touch; scrollbar-width:none;
    }
    .google-proof-reviews::-webkit-scrollbar{display:none;}
    .google-proof-review{
      flex:0 0 82%; scroll-snap-align:start;
    }
  }
  /* .container switches from 24px to 40px side padding at 640px — match that
     exact gutter here so the carousel bleeds flush to the same edge, not a
     partial bleed that stops short. */
  @media (min-width:640px) and (max-width:900px){
    .google-proof-reviews{margin:0 -40px; padding:4px 40px 10px;}
    .google-proof-review{flex:0 0 46%;}
  }
  @media (max-width:480px){
    .google-proof-review{flex-basis:88%;}
  }
  @media (prefers-reduced-motion: reduce){
    .google-proof-star, .google-proof-review{
      opacity:1 !important; transform:none !important; transition:none !important;
    }
  }
  /* ================================================================
     END GOOGLE PROFILE SECTION (styles)
     ================================================================ */
