:root{
  --areia:#F2EBDF; --travertino:#E6DCCB; --tinta:#2A241D; --tinta-suave:rgba(42,36,29,.62);
  --verde:#38584C; --verde-escuro:#2C463D; --vime:#C08A4E; --linha:rgba(42,36,29,.16);
  --serif:"Fraunces",Georgia,serif; --script:"Allura",cursive; --sans:"Inter",-apple-system,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--areia);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}

.wrap{max-width:1160px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}

/* topo */
header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--areia) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--linha)}
.topo{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}
.marca{font-family:var(--serif);font-size:22px;letter-spacing:.02em;text-decoration:none;display:block}
.marca small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--tinta-suave)}
.topo-nota{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--tinta-suave)}
nav.menu{display:flex;gap:28px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
nav.menu a{text-decoration:none;color:var(--tinta-suave);transition:color .3s var(--ease)}
nav.menu a:hover,nav.menu a.ativo{color:var(--tinta)}

.etiqueta{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--verde);font-weight:600}

/* hero de produto */
.hero{padding:clamp(40px,7vh,72px) 0 0;text-align:center}
.hero h1{font-family:var(--script);font-weight:400;font-size:clamp(84px,16vw,190px);line-height:.95;margin-top:10px;color:var(--tinta)}
.hero .assin{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--tinta-suave);margin-top:38px}
.palco{position:relative;margin:clamp(8px,2vh,24px) auto 0;max-width:980px}
model-viewer{width:100%;height:clamp(420px,64vh,640px);--poster-color:transparent;background:radial-gradient(ellipse 62% 46% at 50% 78%, var(--travertino) 0%, transparent 70%);outline:none}
.dica{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--tinta-suave);padding:10px 22px;border:1px solid var(--linha);border-radius:999px;margin:6px 0 0;background:color-mix(in srgb,#fff 40%,transparent)}
.dica svg{width:15px;height:15px;stroke:var(--verde)}
.hero-fim{padding:26px 0 clamp(56px,9vh,96px)}

/* personalizacao */
.custom{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:18px}
.custom .rotulo{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--tinta-suave)}
.cores{display:flex;gap:14px}
.cor{width:34px;height:34px;border-radius:50%;border:2px solid transparent;outline:1px solid var(--linha);cursor:pointer;transition:transform .3s var(--ease)}
.cor:hover{transform:scale(1.12)}
.cor.ativa{border-color:var(--areia);outline:2px solid var(--tinta)}
.cor-nome{font-size:12px;color:var(--tinta-suave);min-height:18px}

/* faixa verde */
.faixa{background:var(--verde);color:#EFE9DC;padding:clamp(72px,12vh,120px) 0}
.faixa h2{font-family:var(--serif);font-weight:340;font-size:clamp(34px,4.6vw,58px);line-height:1.12;max-width:17ch}
.faixa p{margin-top:22px;max-width:52ch;color:rgba(239,233,220,.78);font-size:17px}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);margin-top:clamp(48px,7vh,72px);padding-top:40px;border-top:1px solid rgba(239,233,220,.22)}
.tres h3{font-family:var(--serif);font-weight:420;font-size:21px;margin-bottom:8px}
.tres p{font-size:14.5px;margin-top:0;color:rgba(239,233,220,.72)}
.tres .num{font-size:11px;letter-spacing:.3em;color:var(--vime);display:block;margin-bottom:14px}

/* cena no ambiente */
.cena{padding:clamp(80px,13vh,140px) 0;background:var(--travertino)}
.cena .grade{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6vw,88px);align-items:center}
.cena img{width:100%;max-height:82vh;object-fit:contain;border-radius:2px}
.cena h2{font-family:var(--serif);font-weight:340;font-size:clamp(30px,3.8vw,46px);line-height:1.16;margin-top:14px}
.cena p{color:var(--tinta-suave);margin-top:18px;max-width:46ch}

/* detalhes */
.detalhes{padding:clamp(80px,13vh,140px) 0}
.detalhes .grade{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,88px);align-items:center}
.detalhes h2{font-family:var(--serif);font-weight:340;font-size:clamp(32px,4vw,50px);line-height:1.14}
.detalhes .foto{border-radius:2px;overflow:hidden}
.lista{margin-top:34px;border-top:1px solid var(--linha)}
.lista div{display:flex;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid var(--linha);font-size:14.5px}
.lista dt{color:var(--tinta-suave)}
.lista dd{font-weight:500;text-align:right}
.swatch{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:8px;vertical-align:-1px}

/* cta */
.cta{background:var(--travertino);padding:clamp(80px,13vh,140px) 0;text-align:center}
.cta h2{font-family:var(--serif);font-weight:340;font-size:clamp(34px,4.6vw,56px);line-height:1.1}
.cta p{color:var(--tinta-suave);margin:16px auto 36px;max-width:44ch}
.botoes{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:16px 34px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;text-decoration:none;border-radius:1px;transition:transform .45s var(--ease),background .45s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn-cheio{background:var(--verde);color:#EFE9DC}
.btn-cheio:hover{background:var(--verde-escuro)}
.btn-fio{border:1px solid var(--tinta);color:var(--tinta)}

footer{padding:44px 0 56px;border-top:1px solid var(--linha)}
.pe{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13px;color:var(--tinta-suave)}
.pe .marca{font-size:19px;color:var(--tinta)}
.credito{margin-top:26px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(42,36,29,.38)}

/* home */
.hero-home{padding:clamp(56px,9vh,110px) 0}
.hero-home .grade{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(36px,5vw,72px);align-items:center}
.hero-home h1{font-family:var(--serif);font-weight:340;font-size:clamp(38px,5.2vw,68px);line-height:1.08}
.hero-home h1 em{font-family:var(--script);font-style:normal;font-weight:400;font-size:1.28em;color:var(--verde)}
.hero-home p{color:var(--tinta-suave);margin:22px 0 34px;max-width:46ch;font-size:17px}
.hero-home model-viewer{height:clamp(380px,56vh,560px)}
.hero-home .palco-nota{text-align:center;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--tinta-suave);margin-top:10px}

.colecoes{padding:clamp(80px,12vh,130px) 0;background:var(--travertino)}
.colecoes .cab{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:clamp(36px,5vh,56px)}
.colecoes h2{font-family:var(--serif);font-weight:340;font-size:clamp(32px,4vw,50px);line-height:1.1;margin-top:12px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,32px)}
.card{background:var(--areia);border-radius:2px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(42,36,29,.35)}
.card .img{height:300px;overflow:hidden}
.card .img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .img img{transform:scale(1.05)}
.card .corpo{padding:22px 24px 26px}
.card .selo{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--verde);font-weight:600}
.card h3{font-family:var(--script);font-weight:400;font-size:44px;line-height:1;margin:8px 0 4px}
.card .sub{font-size:13.5px;color:var(--tinta-suave)}

.manifesto{background:var(--verde);color:#EFE9DC;padding:clamp(80px,13vh,140px) 0;text-align:center}
.manifesto blockquote{font-family:var(--serif);font-weight:340;font-size:clamp(28px,3.6vw,46px);line-height:1.24;max-width:26ch;margin:0 auto}
.manifesto .meta{margin-top:30px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--vime)}

.func{padding:clamp(80px,13vh,140px) 0}
.func .grade{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,88px);align-items:center}
.func h2{font-family:var(--serif);font-weight:340;font-size:clamp(30px,3.8vw,48px);line-height:1.14}
.func p{color:var(--tinta-suave);margin-top:18px;max-width:46ch}
.func ul{list-style:none;margin-top:28px}
.func li{padding:14px 0;border-top:1px solid var(--linha);font-size:15px;display:flex;gap:14px;align-items:baseline}
.func li strong{font-weight:600}
.func li .num{font-size:11px;letter-spacing:.2em;color:var(--vime);font-weight:600}
.func .foto{border-radius:2px;overflow:hidden}
.func .foto img{width:100%;height:100%;object-fit:cover}

/* movimento */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-reveal].ligado{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
@media (max-width:860px){
  .tres,.cards{grid-template-columns:1fr}
  .detalhes .grade,.cena .grade,.hero-home .grade,.func .grade{grid-template-columns:1fr}
  .topo-nota{display:none}
  .topo{padding-top:12px;padding-bottom:12px}
  .marca img{height:22px}
  .marca small{display:none}
  nav.menu{gap:13px;font-size:10px;letter-spacing:.12em}
  .card .img{height:240px}
  .hero .assin{margin-top:22px;padding:0 24px}
  model-viewer{height:clamp(360px,52vh,520px)}
}

/* controles do palco e cursor de orbita */
.palco{position:relative}
model-viewer{cursor:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2726%27%20height=%2726%27%20viewBox=%270%200%2026%2026%27%3E%3Ccircle%20cx=%2713%27%20cy=%2713%27%20r=%273%27%20fill=%27%232A241D%27/%3E%3Cpath%20d=%27M4%2013a9%209%200%200%201%209-9%27%20fill=%27none%27%20stroke=%27%232A241D%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27/%3E%3Cpath%20d=%27M22%2013a9%209%200%200%201-9%209%27%20fill=%27none%27%20stroke=%27%232A241D%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27/%3E%3Cpath%20d=%27M13%201.5%2010.7%204l2.3%202.3%27%20fill=%27none%27%20stroke=%27%232A241D%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27/%3E%3Cpath%20d=%27M13%2024.5l2.3-2.5-2.3-2.3%27%20fill=%27none%27%20stroke=%27%232A241D%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27/%3E%3C/svg%3E") 13 13, grab !important}
.controles{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:5}
.controles button{width:42px;height:42px;border-radius:50%;border:1px solid var(--linha);background:color-mix(in srgb,#fff 55%,var(--areia));backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease)}
.controles button:hover{transform:scale(1.08)}
.controles button.ativo{background:var(--verde);border-color:var(--verde)}
.controles button.ativo svg{stroke:#EFE9DC}
.controles svg{width:18px;height:18px;stroke:var(--tinta);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.marca img{height:30px;width:auto;display:block}
.marca small{margin-top:3px}
@media (max-width:860px){.controles{right:6px;gap:8px}.controles button{width:38px;height:38px}}

@media (max-width:860px){.marca img{height:22px}}
