:root{
  --lagoon:#0B4F4B;--lagoon-2:#0F625D;--mint:#3CD6C2;--mint-soft:#D5F5F0;--lime:#7BE36F;--chalk:#F2FAF8;--ink:#0D2422;
  --soft:#4A6461;--on-dark:#EEFBF8;--on-dark-soft:#A9D3CD;
  --gut:clamp(16px,5vw,72px);--max:1240px;
  --edge:max(var(--gut),calc((100% - var(--max))/2 + var(--gut)));
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--chalk);color:var(--ink);font:400 1.0625rem/1.6 "Nunito Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
h2{font-size:clamp(2rem,4.2vw,3.2rem)}
h3{font-size:1.45rem;font-weight:600;letter-spacing:-.01em}
.sprite{position:absolute}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--lagoon);outline-offset:3px}

/* brand */
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:44px;height:44px;border-radius:50%}
.brand span{font:800 1.45rem/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em}
.brand small{display:block;font:600 .75rem/1 "Nunito Sans",sans-serif;letter-spacing:0;color:var(--soft);margin-top:4px}

/* header */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:32px;padding:12px var(--edge);background:rgb(242 250 248/.88);backdrop-filter:blur(10px);border-bottom:1px solid rgb(11 79 75/.08)}
.top nav{display:flex;gap:28px;margin-left:auto}
.top nav a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--soft)}
.top nav a:hover{color:var(--lagoon)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);padding:14px 24px;border-radius:999px;font-weight:700;text-decoration:none;transition:background .15s}
.btn:hover{background:#94EC89}
.btn svg{width:20px;height:20px;flex:none}
.btn-sm{padding:9px 18px;font-size:.92rem}
.btn-line{background:transparent;box-shadow:inset 0 0 0 2px currentColor}
.btn-line:hover{background:rgb(11 79 75/.08)}
.btn-mint{background:var(--mint)}
.btn-mint:hover{background:#6BE2D2}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,96px);align-items:center;max-width:var(--max);margin:auto;padding:clamp(40px,7vw,96px) var(--gut) clamp(72px,10vw,128px)}
.where{font-weight:700;color:var(--lagoon-2);margin-bottom:16px}
h1{font-size:clamp(2.8rem,6.4vw,5.4rem);color:var(--lagoon);margin-bottom:22px}
.lead{font-size:1.2rem;color:var(--soft);max-width:44ch;margin-bottom:32px}
.hero .btn-line{color:var(--lagoon)}
.rating{margin-top:28px;color:var(--soft)}
.rating b{color:var(--ink);font-size:1.1rem}
.stars{color:#F5B82E;letter-spacing:.08em}
.hero-pic{position:relative;isolation:isolate}
.ears{width:100%;aspect-ratio:1;object-fit:cover;clip-path:url(#orelhas)}
.ears-shadow{position:absolute;inset:0;z-index:-1;background:var(--mint);clip-path:url(#orelhas);transform:translate(-4%,3.5%) rotate(-5deg)}

/* serviços */
.servicos{background:var(--lagoon);color:var(--on-dark);padding:clamp(80px,11vw,140px) var(--gut);border-radius:clamp(28px,5vw,64px) clamp(28px,5vw,64px) 0 0}
.servicos-head,.servicos-list{max-width:var(--max);margin:auto}
.servicos-head{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end;margin-bottom:64px}
.servicos-head p{color:var(--on-dark-soft);max-width:44ch}
.servicos-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,32px)}
.servicos-list li:nth-child(even){margin-top:56px}
.servicos-list img{width:100%;aspect-ratio:9/11;object-fit:cover;border-radius:28px;margin-bottom:20px}
.servicos-list h3{color:var(--mint);margin-bottom:8px}
.servicos-list p{color:var(--on-dark-soft);font-size:1rem}

/* avaliações */
.avaliacoes{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,112px);max-width:var(--max);margin:auto;padding:clamp(80px,12vw,152px) var(--gut)}
.nota-num{font:800 clamp(6rem,14vw,10rem)/.85 "Bricolage Grotesque",sans-serif;letter-spacing:-.05em;color:var(--lagoon)}
.nota .stars{font-size:1.6rem;margin:10px 0 22px}
.nota h2{margin-bottom:8px}
.nota>p:not(.nota-num):not(.stars){color:var(--soft);margin-bottom:28px}
.quotes{display:grid;gap:20px;align-content:start}
blockquote{background:#fff;border-radius:24px;padding:28px 30px;border:1px solid rgb(11 79 75/.1)}
blockquote p{font-size:1.1rem}
blockquote footer{margin-top:10px;font-weight:700;color:var(--lagoon-2)}
blockquote.big{background:var(--mint-soft);border:0}
blockquote.big p{font:600 clamp(1.5rem,2.6vw,2.1rem)/1.2 "Bricolage Grotesque",sans-serif;letter-spacing:-.015em;color:var(--lagoon)}

/* instagram */
.insta{max-width:var(--max);margin:auto;padding:0 var(--gut) clamp(80px,12vw,152px)}
.insta-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:28px}
.insta-head h2{font-size:clamp(1.6rem,3vw,2.25rem);color:var(--lagoon)}
.insta-head a{font-weight:700;color:var(--lagoon-2)}
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.insta-grid a{overflow:hidden;border-radius:20px}
.insta-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .4s}
.insta-grid a:hover img{transform:scale(1.04)}

/* onde */
.onde{display:grid;grid-template-columns:1.3fr 1fr;background:var(--lagoon);color:var(--on-dark)}
.onde iframe{width:100%;height:100%;min-height:480px;border:0;display:block}
.onde-info{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:28px;padding:clamp(48px,6vw,96px) var(--gut)}
.onde h2{color:var(--on-dark)}
.onde dl{display:grid;gap:18px}
.onde dt{font-size:.88rem;color:var(--mint);font-weight:700}
.onde dd a{text-decoration:none}
.horas{border-collapse:collapse}
.horas th{text-align:left;font-weight:400;color:var(--on-dark-soft);padding:2px 24px 2px 0}
.horas td{font-weight:600}
.onde .btn-line{color:var(--on-dark)}
.onde .btn-line:hover{background:rgb(238 251 248/.1)}

/* footer */
.foot{display:grid;gap:8px;justify-items:start;padding:56px var(--edge);background:#073A37;color:var(--on-dark-soft)}
.foot .brand{margin-bottom:12px;color:var(--on-dark)}
.foot .brand small{color:var(--on-dark-soft)}
.foot small{margin-top:14px}

.mobile-bar{display:none}

@media(max-width:900px){
  .top nav{display:none}.top .btn{margin-left:auto}
  .hero{grid-template-columns:1fr}
  .hero-pic{order:-1;width:min(86vw,440px);margin:0 auto 8px}
  .servicos-head,.avaliacoes{grid-template-columns:1fr}
  .servicos-list{grid-template-columns:1fr 1fr}
  .onde{grid-template-columns:1fr}.onde iframe{min-height:320px}
  .insta-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .top .btn{display:none}
  .servicos-list li:nth-child(even){margin-top:0}
  .servicos-list{gap:36px 14px}
  .servicos-list img{border-radius:20px;margin-bottom:14px}
  .servicos-list h3{font-size:1.2rem}
  .servicos-list p{font-size:.94rem}
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0;z-index:20;background:var(--lagoon)}
  .mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;font-weight:700;color:var(--on-dark);text-decoration:none}
  .mobile-bar svg{width:20px;height:20px}
  .mobile-bar .go{background:var(--lime);color:var(--ink)}
  .foot{padding-bottom:96px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.insta-grid img{transition:none}}
