/* Oral VIP Odontologia
   Base = celular. A partir de 1080px, 1rem equivale a 10px do mockup (941px de largura),
   de modo que todo o layout escala em proporção exata com a tela. */

@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/playfair-display-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/playfair-display-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/figtree-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/figtree-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/figtree-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-500-normal.woff2) format('woff2')}

:root{
  --bg:#fbf9f6;
  --bg-2:#f9f7f3;
  --ink:#141414;
  --body:#3d3c3a;
  --muted:#5f5c58;
  --gold:#a5885c;
  --gold-icon:#b4935f;
  --gold-text:#7f6237;
  --gold-soft:#c4a877;
  --gold-grad:linear-gradient(100deg,#9f8359 0%,#ae9370 62%,#a08459 100%);
  --dark:#161719;
  --line:rgba(165,136,92,.55);
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'Figtree',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --caps:'Montserrat','Figtree',system-ui,sans-serif;
  --gut:2rem;
}

*,*::before,*::after{box-sizing:border-box}
html{font-size:62.5%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:7rem}
body{margin:0;background:var(--bg);color:var(--body);font:400 1.6rem/1.45 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,svg,picture{display:block;max-width:100%}
br.d{display:none}
img{height:auto}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,p,figure,blockquote,address{margin:0}
address{font-style:normal}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold-text);outline-offset:3px;border-radius:2px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:fixed;left:1.2rem;top:-6rem;z-index:100;background:var(--dark);color:#fff;padding:1rem 1.6rem;border-radius:.6rem}
.skip:focus{top:1.2rem}
.page{overflow:hidden}

h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink)}
h2{font-size:3.4rem;line-height:1.04;letter-spacing:-.018em}
.kicker{font:500 1.05rem/1.35 var(--caps);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-text);margin-bottom:.8rem}

/* ícones */
.ico{width:1.1em;height:1.1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ico-s{width:1.8rem;height:1.8rem;flex:none;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fi{width:3.2rem;height:3.2rem;flex:none;fill:none;stroke:var(--gold-icon);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.fi--w{width:3.6rem}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:4.8rem;padding:0 2.4rem;border-radius:99rem;font:600 1.5rem/1.1 var(--serif);white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,filter .25s ease}
.btn .ico:last-child{transition:transform .25s ease}
.btn:hover .ico:last-child{transform:translateX(3px)}
.btn--gold{background:var(--gold-grad);color:#fff;box-shadow:0 .4rem 1.4rem rgba(120,92,50,.22);text-shadow:0 1px 1px rgba(70,50,20,.25)}
.btn--gold:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 .7rem 1.8rem rgba(120,92,50,.3)}
.btn--line{border:1px solid var(--gold);color:var(--gold-text);background:transparent}
.btn--line:hover{background:var(--gold);color:#fff}

/* cabeçalho */
.header{position:fixed;inset:0 0 auto;z-index:50;transition:background-color .3s ease,box-shadow .3s ease}
.header__in{display:flex;align-items:center;justify-content:space-between;height:6.4rem;padding:0 var(--gut)}
.header.is-stuck,.header.is-open{background:rgba(251,249,246,.96);box-shadow:0 1px 0 rgba(165,136,92,.2),0 .6rem 2rem rgba(40,30,15,.05);backdrop-filter:blur(8px)}
.logo{display:block;line-height:0;color:#4c4a48}
.logo svg{width:13rem;height:3.6rem;overflow:visible}
.logo .l1,#logo .l1{fill:currentColor}
#logo .l2{fill:var(--gold)}
.logo--light{color:#f4f1ea}
.header__cta{display:none}
.burger{display:flex;flex-direction:column;justify-content:center;gap:.5rem;width:4.4rem;height:4.4rem;margin-right:-.8rem;padding:0 .9rem}
.burger span{display:block;height:1.5px;background:var(--ink);transition:transform .25s ease,opacity .2s ease}
.is-open .burger span:nth-child(1){transform:translateY(.65rem) rotate(45deg)}
.is-open .burger span:nth-child(2){opacity:0}
.is-open .burger span:nth-child(3){transform:translateY(-.65rem) rotate(-45deg)}
.nav{position:absolute;inset:6.4rem 0 auto;display:none;flex-direction:column;background:var(--bg);padding:.8rem var(--gut) 2rem;box-shadow:0 1.2rem 2rem rgba(40,30,15,.08)}
.is-open .nav{display:flex}
.nav a{padding:1.3rem 0;font:500 1.7rem var(--serif);color:var(--ink);border-bottom:1px solid rgba(165,136,92,.2)}

/* hero */
.hero{display:flex;flex-direction:column;padding-top:8.4rem;background:var(--bg)}
.hero__txt{padding:0 var(--gut);order:1}
.hero .kicker{font-size:.95rem;letter-spacing:.24em}
.hero h1{font-size:clamp(4.2rem,12.6vw,8rem);line-height:.92;letter-spacing:-.022em}
.hero h1 em{display:block;font-style:italic;color:var(--gold);margin-top:.04em}
.hero__lead{margin:1.6rem 0 2.2rem;font-size:1.65rem;line-height:1.4}
.hero .btn{width:100%;padding:0 1.4rem;font-size:1.45rem}
.hero__img{order:2;margin-top:2.8rem}
.hero__img img{width:100%;height:auto}
.hero__feat{order:3;display:grid;grid-template-columns:1fr 1fr;gap:1.8rem 1.4rem;padding:2.4rem var(--gut) 2.8rem;background:var(--bg-2)}
.hero__feat li,.sobre__side li,.cta__feat li{display:flex;align-items:center;gap:1rem;font-size:1.3rem;line-height:1.3}
.hero__feat span,.sobre__side span{color:#4a4845}

/* tratamentos */
.trat{padding:4.4rem var(--gut) 4rem}
.trat__intro{margin:1.4rem 0 2rem;font:italic 400 1.65rem/1.45 var(--serif);color:#3a3936}
.trat .btn{width:100%}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.6rem}
.card a{position:relative;display:block;border-radius:.8rem;overflow:hidden;aspect-ratio:1/1.1;background:#2a1f1b;isolation:isolate}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.card a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,12,10,.88) 0%,rgba(20,12,10,.55) 22%,rgba(20,12,10,0) 52%);z-index:1}
.card a:hover img{transform:scale(1.045)}
.card h3{position:absolute;left:1.2rem;bottom:1.1rem;z-index:2;color:#fff;font-size:1.65rem;line-height:1.08;letter-spacing:-.005em}
.card__go{position:absolute;right:1rem;bottom:1.1rem;z-index:2;display:grid;place-items:center;width:3.2rem;height:3.2rem;border:1px solid var(--gold-soft);border-radius:50%;color:#e8d6b4;transition:background-color .25s ease,color .25s ease}
.card a:hover .card__go{background:var(--gold-soft);color:var(--dark)}

/* sobre */
.sobre{background:var(--bg-2)}
.sobre__img img{width:100%}
.sobre__txt{padding:3.2rem var(--gut) 0}
.sobre h2{font-size:3.8rem}
.sobre__tag{position:relative;margin:2.1rem 0 1.8rem;padding-top:1rem;font:500 1.32rem/1.45 var(--serif);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-text)}
.sobre__tag::before{content:"";position:absolute;left:0;top:0;width:4rem;height:1px;background:var(--gold)}
.sobre .btn{width:100%;margin-top:2rem}
.sobre__side{padding:3rem var(--gut) 3.6rem}
.sobre__side ul{display:grid;grid-template-columns:1fr 1fr;gap:2rem 1.4rem}
.sign{margin-top:2.8rem;color:#3f3d3b}
.sign svg{width:18rem;height:4.4rem;fill:currentColor;overflow:visible}
.sign small{display:block;margin-top:.2rem;font-size:1.2rem;color:var(--muted)}

/* sorrisos */
.sorrisos{padding:4.4rem var(--gut)}
.sorrisos__txt p:not(.kicker){margin:1.4rem 0 2rem}
.sorrisos__txt .btn{width:100%}
.sorrisos__fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:2.6rem}
.sorrisos__fotos img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1.3;border-radius:.5rem}

/* ambiente */
.amb{background:var(--bg-2)}
.amb__main{width:100%;height:auto}
.amb__txt{padding:3rem var(--gut) 2rem}
.amb__txt p{margin-top:1.3rem}
.amb__gal{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;padding:0 var(--gut) 3.6rem}
.amb__gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.2/1;border-radius:.4rem}
.amb__gal li:last-child img{object-position:right}

/* depoimentos */
.dep{padding:4.4rem var(--gut)}
.dep__list{display:grid;gap:1.2rem;margin-top:2.4rem}
.dep__list figure{display:flex;gap:1.3rem;height:100%;padding:1.6rem;background:#fff;border-radius:1rem;box-shadow:0 .2rem 1.6rem rgba(70,55,30,.07)}
.dep__list img{flex:none;width:6.4rem;height:6.4rem;border-radius:50%;object-fit:cover}
.dep__list strong{display:block;font:500 1.65rem/1.2 var(--serif);color:var(--ink)}
.stars{display:flex;gap:.25rem;margin:.5rem 0 .6rem}
.stars svg{width:1.45rem;height:1.45rem;fill:#d8ab5e}
.dep__list blockquote{font-size:1.4rem;line-height:1.38;color:var(--muted)}

/* chamada final */
.cta{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.cta__bg{position:absolute;right:-8rem;top:0;width:auto;max-width:none;height:17rem;opacity:.95}
.cta__txt{position:relative;padding:18rem var(--gut) 0}
.cta .kicker{color:var(--gold-soft);font-size:1rem}
.cta h2{color:#fff}
.cta__txt p:not(.kicker){margin:1.2rem 0 2rem;color:#ececea}
.cta .btn{width:100%}
.cta__feat{position:relative;display:grid;gap:1.6rem;padding:2.8rem var(--gut) 3.4rem}
.cta__feat li{color:#ececea;font-size:1.4rem}

/* localização */
.local__a,.local__b{width:100%;height:13rem;object-fit:cover}
.local__a{object-position:26% 50%}
.local__txt{padding:2.8rem var(--gut) 3rem}
.local h2{font-size:2.3rem;font-weight:600;margin-bottom:1.3rem}
.local address{display:flex;gap:.9rem;font-weight:500;color:#2f2e2c;font-size:1.5rem;line-height:1.3}
.local address small{font-size:1.4rem;font-weight:400;color:var(--muted)}
.local .btn{margin-top:1.8rem}

/* rodapé */
.foot{background:var(--dark);color:#d8d6d2;padding:3.8rem var(--gut) 9rem}
.foot__in{display:grid;gap:2.8rem}
.foot__nav{display:grid;gap:.2rem}
.foot__nav a{padding:.7rem 0;font-size:1.5rem}
.foot__nav a:hover,.foot__contact a:hover{color:var(--gold-soft)}
.foot__contact{display:grid;gap:1.2rem;font-size:1.5rem}
.foot__contact li{display:flex;gap:1rem;align-items:flex-start}
.foot__contact a{padding:.3rem 0}
.foot__cta{display:flex;flex-direction:column;align-items:flex-start;gap:1.8rem}
.social{display:flex;gap:.8rem}
.social a{display:grid;place-items:center;width:4.4rem;height:4.4rem;color:var(--gold-soft);transition:color .2s ease}
.social a:hover{color:#fff}
.social svg{width:2.2rem;height:2.2rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.foot__legal{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid rgba(196,168,119,.2);font-size:1.25rem;color:#a9a6a0}

/* barra fixa no celular */
.wa-bar{position:fixed;left:1.2rem;right:1.2rem;bottom:calc(1.2rem + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;justify-content:center;gap:.8rem;height:5rem;border-radius:99rem;background:var(--gold-grad);color:#fff;font:600 1.55rem var(--serif);box-shadow:0 .8rem 2.4rem rgba(40,30,15,.28);transform:translateY(200%);transition:transform .3s ease}
.wa-bar.is-on{transform:none}
.wa-bar svg{width:2.1rem;height:2.1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}

/* entrada suave das seções */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.js .rv.is-in{opacity:1;transform:none}

/* tablet */
@media (min-width:768px){
  :root{--gut:4rem}
  .hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;padding-top:0}
  .hero__txt{padding:10rem 3rem 4rem var(--gut)}
  .hero h1{font-size:6.6vw}
  .hero .btn{width:auto;padding:0 2.2rem}
  .hero__img{margin:0;height:100%}
  .hero__img img{height:100%;object-fit:cover;object-position:62% top}
  .hero__feat{grid-column:1/-1;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:2rem}
  .trat .btn,.sorrisos__txt .btn,.cta .btn,.sobre .btn{width:auto}
  .cards{grid-template-columns:repeat(4,1fr)}
  .sobre{display:grid;grid-template-columns:1fr 1fr}
  .sobre__img{grid-row:span 2}
  .sobre__img img{height:100%;object-fit:cover}
  .sobre__txt{padding:3.6rem var(--gut) 0}
  .sobre__side{padding:2.4rem var(--gut) 3rem}
  .dep__list{grid-template-columns:repeat(3,1fr)}
  .dep__list figure{flex-direction:column}
  .local{display:grid;grid-template-columns:1fr 1fr}
  .local__a{grid-column:1/-1;height:18rem}
  .local__b{height:100%}
  .cta__feat{grid-template-columns:repeat(3,auto);justify-content:start;gap:3rem}
  .foot{padding-bottom:3rem}
  .foot__in{grid-template-columns:1fr 1fr}
  .wa-bar{display:none}
}

/* desktop: 1rem = 10px do mockup */
@media (min-width:1080px){
  html{font-size:min(calc(100vw / 94.1),20.4px);scroll-padding-top:6rem}
  body{font-size:1.1rem}
  br.d{display:inline}
  .page{max-width:94.1rem;margin:0 auto}

  h2{font-size:3.1rem;line-height:.98}
  .kicker{font-size:.72rem;letter-spacing:.3em;margin-bottom:.35rem;line-height:1}
  .btn{min-height:0;padding:0;font-size:1.04rem;gap:.8rem}
  .fi{width:2.7rem;height:2.7rem;stroke-width:1.25}
  .fi--w{width:3rem}

  .header__in{height:6rem;max-width:94.1rem;margin:0 auto;padding:0 6.6rem 0 6rem}
  .logo svg{width:11.2rem;height:3.1rem}
  .header .logo{transform:translateY(.85rem);transition:transform .3s ease}
  .header.is-stuck .logo{transform:none}
  .burger{display:none}
  .header.is-stuck .header__in{height:4.6rem}
  .nav{position:static;display:flex;flex-direction:row;gap:2.75rem;padding:0;margin:0 auto 0 4.7rem;background:none;box-shadow:none}
  .nav a{position:relative;padding:.5rem 0;border:0;font:500 max(.78rem,11px)/1.2 var(--serif);color:#2a2927;transition:color .2s ease}
  .nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s ease}
  .nav a:hover{color:var(--gold-text)}
  .nav a:hover::after,.nav a.is-active::after{transform:none}
  .header__cta{display:inline-flex;width:14.6rem;height:3rem;font-size:.98rem;gap:.7rem}
  .header__cta .ico{width:1.5rem;height:1.5rem}

  .hero{position:relative;display:block;height:40.7rem}
  .hero__img{position:absolute;inset:0}
  .hero__img img{width:100%;height:100%;object-fit:cover}
  .hero__txt{position:absolute;left:6.8rem;top:0;width:42rem;padding:0}
  .hero .kicker{position:absolute;top:7.7rem;left:0;margin:0;font-size:.72rem;letter-spacing:.3em;white-space:nowrap}
  .hero h1{position:absolute;top:8.75rem;left:-.15rem;width:44rem;font-size:6.02rem;line-height:.815;letter-spacing:-.021em}
  .hero h1 em{margin:0;line-height:.88}
  .hero__lead{position:absolute;top:25.05rem;left:0;margin:0;width:35.4rem;font-size:1.24rem;line-height:1.25;color:#3b3a38}
  .hero .btn{position:absolute;top:31.1rem;left:0;width:24.1rem;height:3.4rem;font-size:1.08rem}
  .hero__feat{position:absolute;left:6.8rem;top:36.5rem;display:block;padding:0;background:none}
  .hero__feat li{position:absolute;top:0;gap:.95rem;font-size:.9rem;line-height:1.28;white-space:nowrap}
  .hero__feat li:nth-child(2){left:11.6rem}
  .hero__feat li:nth-child(3){left:22.7rem}
  .hero__feat li:nth-child(4){left:33.7rem}

  .trat{height:28rem;padding:1.5rem 6.6rem 0 6.7rem}
  .trat__head{display:grid;grid-template-columns:29.3rem 1fr auto;align-items:start}
  .trat__head h2{margin-top:.3rem}
  .trat .kicker{margin-left:.1rem}
  .trat__intro{margin:1.85rem 0 0;width:26.5rem;font-size:1.2rem;line-height:1.2;white-space:nowrap}
  .trat .btn{width:19.8rem;height:3.3rem;margin-top:2rem}
  .cards{grid-template-columns:repeat(4,1fr);gap:.35rem;margin-top:1.3rem}
  .card a{aspect-ratio:auto;height:16.9rem;border-radius:.6rem}
  .card h3{left:1.45rem;bottom:1.1rem;font-size:1.62rem;line-height:1.07}
  .card__go{right:1.5rem;bottom:1.4rem;width:2.5rem;height:2.5rem}
  .card__go .ico{width:1.3rem;height:1.3rem}

  .sobre{position:relative;display:block;height:24.3rem;background:var(--bg-2)}
  .sobre__img{position:absolute;left:0;top:0;width:42.5rem;height:24.3rem}
  .sobre__img img{width:100%;height:100%;object-fit:cover}
  .sobre__txt{position:absolute;left:45.5rem;top:0;width:27rem;padding:0}
  .sobre .kicker{position:absolute;top:1.3rem;left:0;margin:0;white-space:nowrap}
  .sobre h2{position:absolute;top:2.3rem;left:-.1rem;font-size:3.4rem;line-height:1;white-space:nowrap;letter-spacing:-.024em}
  .sobre__tag{position:absolute;top:6.3rem;left:0;margin:0;padding:.85rem 0 0;width:27rem;font-size:1.1rem;line-height:1.3;letter-spacing:.115em;white-space:nowrap}
  .sobre__tag::before{width:3.7rem}
  .sobre__txt>p:not(.kicker):not(.sobre__tag){position:absolute;top:11.3rem;left:0;width:26.6rem;font-size:1.1rem;line-height:1.28;white-space:nowrap}
  .sobre .btn{position:absolute;top:19.6rem;left:0;width:19rem;height:3.3rem;margin:0;font-size:1.04rem}
  .sobre__side{position:absolute;left:74.3rem;top:2rem;width:19.8rem;height:21rem;padding:0}
  .sobre__side::before{content:"";position:absolute;left:0;top:0;width:1px;height:16.3rem;background:var(--line)}
  .sobre__side ul{display:block;padding-left:2.6rem}
  .sobre__side li{position:absolute;left:2.6rem;gap:0;font-size:.92rem;line-height:1.27;white-space:nowrap}
  .sobre__side li .fi{width:2.6rem;height:2.6rem;margin-right:1.15rem}
  .sobre__side li:nth-child(1){top:.05rem}
  .sobre__side li:nth-child(2){top:3.95rem}
  .sobre__side li:nth-child(3){top:9rem}
  .sobre__side li:nth-child(4){top:13.3rem}
  .sign{position:absolute;left:2.8rem;top:16.95rem;margin:0;opacity:.82}
  .sign svg{width:12rem;height:3.8rem}
  .sign small{position:absolute;right:0;bottom:-.75rem;margin:0;font-size:.56rem;letter-spacing:.02em}

  .sorrisos{position:relative;height:19rem;padding:0}
  .sorrisos__txt{position:absolute;left:6.8rem;top:2.25rem}
  .sorrisos h2{margin-top:.5rem}
  .sorrisos__txt p:not(.kicker){margin:1.15rem 0 1.05rem;font-size:1.06rem;line-height:1.27}
  .sorrisos__txt .btn{width:18.4rem;height:3.3rem}
  .sorrisos__fotos{position:absolute;left:36rem;top:.9rem;display:grid;grid-template-columns:16.5rem 17.2rem 17.2rem;gap:.3rem;margin:0}
  .sorrisos__fotos img{height:17rem;aspect-ratio:auto;border-radius:.4rem}

  .amb{position:relative;height:20.5rem;background:none}
  .amb__main{position:absolute;left:0;top:0;width:52rem;height:20.3rem;object-fit:cover;object-position:0 78%}
  .amb__txt{position:absolute;left:54.5rem;top:.5rem;width:34rem;padding:0}
  .amb h2{font-size:2.5rem;line-height:.95}
  .amb__txt p{margin-top:.6rem;font-size:1.08rem;line-height:1.28;white-space:nowrap}
  .amb__gal{position:absolute;left:35.9rem;top:10.7rem;display:grid;grid-template-columns:18.8rem 16.7rem 15.5rem;gap:.3rem;padding:0}
  .amb__gal img{height:9.6rem;aspect-ratio:auto;border-radius:.3rem;box-shadow:0 0 0 1px rgba(255,255,255,.75)}

  .dep{position:relative;height:9.5rem;padding:0;background:var(--bg-2);margin-top:.5rem}
  .dep__head{position:absolute;left:6.8rem;top:1.15rem}
  .dep h2{font-size:2.55rem;line-height:1.04;margin-top:.45rem}
  .dep__list{position:absolute;left:30.8rem;top:.8rem;grid-template-columns:repeat(3,18.9rem);gap:1.05rem;margin:0}
  .dep__list figure{flex-direction:row;gap:1.2rem;height:7.7rem;padding:.55rem .6rem;border-radius:.7rem;box-shadow:0 .1rem .8rem rgba(70,55,30,.07)}
  .dep__list img{width:4.3rem;height:4.3rem}
  .dep__list strong{font-size:1.06rem}
  .stars{gap:.2rem;margin:.28rem 0 .35rem}
  .stars svg{width:.95rem;height:.95rem}
  .dep__list blockquote{font-size:.86rem;line-height:1.3}

  .cta{height:12.3rem}
  .cta__bg{inset:0;width:100%;height:100%;object-fit:cover;opacity:1}
  .cta__txt{position:absolute;left:7.1rem;top:0;padding:0}
  .cta .kicker{position:absolute;top:.8rem;left:0;margin:0;font-size:.72rem;white-space:nowrap}
  .cta h2{position:absolute;top:2rem;left:0;font-size:2.52rem;line-height:.97;white-space:nowrap}
  .cta__txt p:not(.kicker){position:absolute;top:7.3rem;left:0;margin:0;font-size:1.1rem;white-space:nowrap}
  .cta .btn{position:absolute;top:8.8rem;left:0;width:16.8rem;height:2.5rem}
  .cta__feat{position:absolute;left:50.3rem;top:8.2rem;display:block;padding:0}
  .cta__feat li{position:absolute;top:0;gap:.95rem;font-size:.88rem;line-height:1.28;white-space:nowrap}
  .cta__feat li:nth-child(2){left:13.6rem}
  .cta__feat li:nth-child(3){left:26.7rem}

  .local{display:grid;grid-template-columns:40.4rem 1fr 27.2rem;height:6.7rem;background:var(--bg-2)}
  .local__a,.local__b{grid-column:auto;height:6.7rem}
  .local__txt{padding:.75rem 0 0 2.8rem}
  .local h2{font-size:1.18rem;line-height:1.2;margin-bottom:.4rem}
  .local address{gap:.75rem;font-size:.95rem;line-height:1}
  .local address .ico-s{width:1.3rem;height:1.3rem}
  .local address small{font-size:.9rem;color:#6a6764}
  .local .btn{height:1.95rem;width:9.7rem;margin:.4rem 0 0 1.9rem;font-size:.92rem}

  .foot{position:relative;padding:0;height:8.8rem}
  .foot__in{display:block}
  .foot .logo{position:absolute;left:6.5rem;top:1.9rem}
  .foot .logo svg{width:11.2rem;height:3.1rem}
  .foot__nav{position:absolute;left:21.5rem;top:1rem;display:grid;grid-template-columns:auto auto;grid-auto-flow:column;grid-template-rows:repeat(3,1fr);gap:.25rem 3rem;padding-left:1.8rem;border-left:1px solid var(--line);height:5.2rem;align-content:center}
  .foot__nav a{padding:0;font-size:.86rem;line-height:1.2}
  .foot__contact{position:absolute;left:43.2rem;top:.95rem;gap:.42rem;font-size:.86rem;line-height:1.2}
  .foot__contact li{gap:.8rem;align-items:center}
  .foot__contact li:last-child{align-items:flex-start}
  .foot__contact a{padding:0}
  .foot__contact .ico-s{width:1.25rem;height:1.25rem;stroke-width:1.8}
  .foot__cta{position:absolute;left:65.3rem;top:1rem;height:5.2rem;width:22.2rem;padding-left:6.9rem;align-items:center;gap:.5rem;border-left:1px solid var(--line)}
  .foot__cta .btn{width:14.9rem;height:2.4rem;flex:none}
  .social{gap:.5rem}
  .social a{width:2rem;height:2rem}
  .social svg{width:1.45rem;height:1.45rem}
  .foot__legal{position:absolute;left:6.8rem;right:6.6rem;bottom:.7rem;margin:0;padding:.5rem 0 0;font-size:.72rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .js .rv{opacity:1;transform:none}
}
