@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/cormorant-garamond-latin.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-italic-400-latin.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/jost-latin.woff2) format('woff2')}
/* Fallbacks com métrica ajustada (medidos no projeto glazzi-semijoias-site, mesmas fontes): evitam o layout pular quando a fonte real chega */
@font-face{font-family:'Cormorant Fallback';src:local('Georgia');font-style:normal;font-weight:400;size-adjust:88.71%;ascent-override:103.71%;descent-override:32.69%;line-gap-override:0%}
@font-face{font-family:'Cormorant Fallback';src:local('Georgia Bold');font-style:normal;font-weight:500 700;size-adjust:90.91%;ascent-override:101.2%;descent-override:31.9%;line-gap-override:0%}
@font-face{font-family:'Cormorant Fallback';src:local('Georgia');font-style:italic;font-weight:400 700;size-adjust:69.1%;ascent-override:133.14%;descent-override:41.97%;line-gap-override:0%}
@font-face{font-family:'Jost Fallback';src:local('Arial');font-style:normal;font-weight:300 400;size-adjust:92.13%;ascent-override:116.14%;descent-override:41.25%;line-gap-override:0%}

:root{--cream:#F4EFE7;--paper:#FAF6F0;--ink:#3B2A22;--terra:#A65F43;--terra-dk:#8E4F37;--olive:#4E5A3A;--muted:#7A6557;--text:#5C4638;--nude:#D5B8AA;--line:#DCCFBE;--serif:'Cormorant Garamond','Cormorant Fallback',serif;--ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Jost','Jost Fallback',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:var(--terra);text-decoration:none}
a:hover{color:#6E3E2B}
*{box-sizing:border-box}
h1,h2,h3,p{margin:0}
img{max-width:100%}
[id]{scroll-margin-top:80px}

/* animações */
@keyframes rvIn{from{opacity:0;transform:translateY(32px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@supports (animation-timeline: view()){.rv{animation:rvIn linear both;animation-timeline:view();animation-range:entry 0% entry 60%}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes zpulse{0%{box-shadow:0 10px 28px rgba(37,211,102,.4),0 0 0 0 rgba(37,211,102,.45)}100%{box-shadow:0 10px 28px rgba(37,211,102,.4),0 0 0 16px rgba(37,211,102,0)}}
@keyframes bubbleIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.ln{stroke-dasharray:200;stroke-dashoffset:200;animation:draw 2.2s cubic-bezier(.6,0,.2,1) forwards}

/* parallax das fotos: a imagem anda mais devagar que a rolagem dentro da moldura (só GPU, sem JS) */
.frame{position:relative;overflow:hidden;background:#E6DCCD}
.frame img{display:block;width:100%;height:100%;object-fit:cover}
@keyframes plx{from{transform:translateY(-7%)}to{transform:translateY(7%)}}
@supports (animation-timeline: view()){.plx img{scale:1.16;animation:plx linear both;animation-timeline:view();animation-range:cover}}

/* base */
.sec{padding:96px 22px;display:flex;justify-content:center}
.col{display:flex;flex-direction:column}
.w1120{width:100%;max-width:1120px}
.w880{width:100%;max-width:880px}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive)}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,7vw,46px);line-height:1.1;text-wrap:balance}
.h1 em,.h2 em{color:var(--terra)}
.body{font-size:17px;line-height:1.65;color:var(--text);font-weight:300;text-wrap:pretty}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-size:15px;text-align:center}
.btn-dark{min-height:56px;padding:0 24px;background:var(--ink);color:var(--cream);letter-spacing:.03em;transition:transform .3s,background .3s}
.btn-dark:hover{background:var(--terra);color:var(--cream);transform:translateY(-2px)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:center;pointer-events:none}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;pointer-events:auto;background:rgba(244,239,231,0);transition:background .4s,box-shadow .4s,backdrop-filter .4s}
/* backdrop-filter só entra junto com o fundo: sem isso, o blur sozinho (fundo
   transparente) já borra a foto do hero atrás do menu, criando uma faixa
   visível mesmo "sem cor nenhuma" */
.nav.on .nav-in{background:rgba(244,239,231,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(59,42,34,.08)}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand-t{display:flex;flex-direction:column;line-height:1.05}
.brand-n{font-family:var(--serif);font-size:19px;font-weight:500}
.brand-r{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:none}
.nav-links a{font-size:14px;color:var(--ink);padding:8px 2px;border-bottom:1px solid transparent;transition:border-color .3s,color .3s}
.nav-links a:hover{color:var(--terra);border-color:var(--terra)}
.nav-cta{flex:none;font-size:13px;letter-spacing:.04em;padding:10px 16px;border-radius:999px;border:1px solid var(--ink);color:var(--ink);transition:background .3s,color .3s}
.nav-cta:hover{background:var(--ink);color:var(--cream)}
@media (min-width:900px){.nav-links{display:flex;gap:28px;margin-left:auto}}

/* hero: no celular, foto em cima e texto embaixo, cada um na sua altura natural.
   Do tablet pra cima, vira duas colunas: foto grande sangrando no canto direito
   da tela, texto na coluna da esquerda (dentro da grade de 1120px do resto do site). */
.hero{position:relative;display:flex;flex-direction:column;overflow:hidden}
.hero-media{width:100%;aspect-ratio:4/5}
.hero-media img{object-position:center top}
.hero-content{width:100%;max-width:1120px;margin:0 auto;padding:40px 22px 56px}
.hero-text{gap:22px;max-width:520px}
@media (min-width:900px){
  .hero{flex-direction:row;min-height:100svh}
  .hero-media{position:absolute;inset:0 0 0 auto;width:50%;aspect-ratio:auto}
  .hero-content{position:relative;z-index:1;display:flex;align-items:center;min-height:100svh;padding:110px 22px 64px}
  /* abaixo de 1120px o container de 1120px ainda não centraliza (ele só limita,
     não força largura mínima), então a borda esquerda do texto fica colada no
     padding em vez de ganhar a margem automática; sem isso o texto encostaria
     na foto entre 900 e 1120px de largura de tela */
  .hero-text{max-width:min(520px,50vw - 40px)}
}
.h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,10vw,72px);line-height:1.02;letter-spacing:-.01em;text-wrap:balance}
.lead{font-size:17px;line-height:1.6;color:var(--text);font-weight:300;max-width:34ch;text-wrap:pretty}
.ctas{display:flex;flex-direction:column;gap:12px;max-width:380px}
.link-down{display:flex;align-items:center;justify-content:center;min-height:48px;color:var(--ink);font-size:14px}
.link-down:hover{color:var(--terra)}
.badge{align-self:flex-start;margin-top:6px;background:var(--cream);border:1px solid #E1D5C4;border-radius:14px;padding:12px 16px;display:flex;flex-direction:column;gap:2px;box-shadow:0 12px 30px -18px rgba(59,42,34,.4)}
.badge-k{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.badge-v{font-family:var(--serif);font-size:17px}

/* reconhece */
.dark{background:var(--ink);color:var(--cream)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-family:inherit;font-size:15px;line-height:1.35;text-align:left;padding:13px 18px;min-height:48px;border-radius:999px;cursor:pointer;border:1px solid rgba(244,239,231,.28);background:transparent;color:var(--cream);transition:all .35s var(--ease)}
.chip:hover{border-color:rgba(244,239,231,.6)}
.chip[aria-pressed="true"]{border-color:var(--cream);background:var(--cream);color:var(--ink)}
.count{min-height:24px;font-size:14px;color:var(--nude);transition:opacity .4s;opacity:0}
.quote-box{border-top:1px solid rgba(244,239,231,.18);padding-top:28px;gap:22px}
.quote{font-family:var(--serif);font-size:clamp(26px,6vw,38px);line-height:1.2;font-style:italic;text-wrap:balance}
.btn-light{align-self:flex-start;min-height:52px;padding:0 22px;background:var(--cream);color:var(--ink);transition:background .3s}
.btn-light:hover{background:var(--nude);color:var(--ink)}

/* trabalho */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:40px 56px;align-items:start}
.acc-item,.acc-end{border-top:1px solid var(--line)}
.acc-item h3{font:inherit}
.acc-btn{width:100%;display:flex;align-items:center;gap:16px;padding:20px 0;min-height:64px;background:none;border:0;cursor:pointer;font-family:inherit;color:var(--ink);text-align:left}
.acc-n{flex:none;font-size:12px;color:var(--terra-dk);letter-spacing:.1em;width:24px}
.acc-t{flex:1;font-family:var(--serif);font-size:24px;line-height:1.2}
.acc-i{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid #CDBDA9;display:flex;align-items:center;justify-content:center;font-size:18px;transition:transform .4s,background .4s}
.open .acc-i{transform:rotate(45deg);background:var(--nude)}
.panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.open .panel{grid-template-rows:1fr}
.panel>div{overflow:hidden}
.panel p{padding:0 0 22px 40px;font-size:16px;line-height:1.6;color:var(--text);font-weight:300}

/* sobre */
.sand{background:#E9E0D2}
.grid-sobre{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:48px 64px;align-items:center}
.photo{width:100%;max-width:440px;justify-self:center;aspect-ratio:4/5;border-radius:18px;box-shadow:0 30px 60px -40px rgba(59,42,34,.55)}
.cred{font-size:14px;color:var(--text);letter-spacing:.03em}
.ask{margin-top:8px;padding:24px 0 0;border-top:1px solid #CDBDA9;gap:8px}
.ask-k{font-size:13px;color:var(--text)}
.ask-q{font-family:var(--serif);font-style:italic;font-size:clamp(24px,5.5vw,32px);line-height:1.25;color:var(--terra);text-wrap:balance}

/* trajetória */
.grid-traj{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:48px 64px;align-items:center}
.tl{position:relative;gap:34px;padding-left:28px}
.tl-bg,.tl-fg{position:absolute;left:5px;top:6px;width:1px}
.tl-bg{bottom:6px;background:var(--line)}
.tl-fg{height:0;background:var(--olive);transition:height .3s linear}
.step{position:relative;gap:6px}
.dot{position:absolute;left:-28px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--cream);border:1.5px solid var(--olive)}
.tag{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-dk)}
.photo-traj{width:100%;max-width:400px;justify-self:center;aspect-ratio:4/5;border-radius:200px 200px 18px 18px}

/* como funciona */
.olive{background:var(--olive);color:var(--cream)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.card{padding:26px 24px;border-radius:16px;border:1px solid rgba(244,239,231,.2);gap:12px;transition:background .4s}
.card:hover{background:rgba(244,239,231,.07)}
.card-n{font-family:var(--serif);font-variant-numeric:lining-nums;font-size:40px;line-height:1;color:var(--nude)}
.card-t{font-family:var(--serif);font-size:24px;font-weight:400}
.card-p{font-size:15px;line-height:1.55;color:#DCD6C6;font-weight:300}

/* materiais digitais */
.prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}
.prod{position:relative;padding:34px 28px 28px;border-radius:20px;background:var(--paper);border:1px solid #E1D5C4;gap:14px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.prod:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(59,42,34,.5)}
.prod::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(213,184,170,.5),rgba(213,184,170,0) 70%);pointer-events:none}
.prod-tag{align-self:flex-start;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--olive);border:1px solid rgba(78,90,58,.35);border-radius:999px;padding:6px 12px}
.prod-t{font-family:var(--serif);font-weight:400;font-size:clamp(26px,5.5vw,32px);line-height:1.15;text-wrap:balance}
.prod-s{font-size:16px;line-height:1.55;color:var(--text);font-weight:300}
.prod-price{font-variant-numeric:lining-nums;margin-top:auto;padding-top:10px;font-family:var(--serif);font-size:30px;color:var(--terra-dk)}
.prod-price small{font-family:'Jost','Jost Fallback',sans-serif;font-size:13px;color:var(--text);margin-left:6px}

/* perguntas (home e página própria) */
.faq{display:flex;flex-direction:column}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:20px 48px 20px 0;font-family:var(--serif);font-size:22px;line-height:1.25;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;border:1px solid #CDBDA9;display:flex;align-items:center;justify-content:center;font-family:'Jost','Jost Fallback',sans-serif;font-size:18px;transition:transform .4s,background .4s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--nude)}
.faq summary:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
.faq-a{padding:0 0 22px;font-size:16px;line-height:1.65;color:var(--text);font-weight:300;display:flex;flex-direction:column;gap:12px}
.faq-a ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.faq-a strong{font-weight:500;color:var(--ink)}
.link-arrow{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:48px;font-size:15px;color:var(--ink);border-bottom:1px solid var(--ink)}
.link-arrow:hover{color:var(--terra);border-color:var(--terra)}

/* cta final */
.cta{padding:100px 22px;text-align:center}
.cta-in{max-width:720px;align-items:center;gap:22px}
.cta-btns{width:100%;max-width:400px;gap:12px}
.btn-wa{min-height:58px;background:var(--ink);color:var(--cream);letter-spacing:.03em;transition:background .3s}
.btn-wa:hover{background:var(--terra);color:var(--cream)}
.btn-tel{min-height:52px;border:1px solid #CDBDA9;color:var(--ink);transition:border-color .3s}
.btn-tel:hover{border-color:var(--ink);color:var(--ink)}

/* rodapé */
.foot{padding:48px 22px 120px;background:var(--ink);color:#CDBFB2;display:flex;justify-content:center}
.foot-in{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-end}
.foot-n{font-family:var(--serif);font-size:24px;color:var(--cream)}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px}
.foot-links a{color:#CDBFB2;padding:6px 0}
.foot-links a:hover{color:var(--cream)}
.tmc-signature{flex-basis:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.25rem 1rem 0;border-top:1px solid rgba(244,239,231,.12);font-size:.8125rem;opacity:.8}
.tmc-signature img{height:24px;width:auto;display:block}
.tmc-signature a{display:inline-flex;transition:opacity .2s}
.tmc-signature a:hover{opacity:.65}

/* WhatsApp flutuante com balão */
.zap{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.zap-btn{width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;animation:zpulse 2.6s ease-out infinite;transition:transform .3s var(--ease)}
.zap-btn:hover{transform:scale(1.06)}
.zap-bubble{position:relative;background:#fff;color:var(--ink);padding:13px 40px 14px 16px;border-radius:18px 18px 4px 18px;box-shadow:0 14px 34px rgba(59,42,34,.22);max-width:230px;animation:bubbleIn .45s var(--ease)}
.zap-bubble[hidden]{display:none}
.zap-bubble a{display:block;color:var(--ink);font-size:15px;line-height:1.4}
.zap-bubble a:hover{color:var(--ink)}
.zap-on{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:500;color:#128C4A;margin-bottom:4px}
.zap-on::before{content:"";width:7px;height:7px;border-radius:50%;background:#25D366}
.zap-x{position:absolute;top:4px;right:4px;width:32px;height:32px;background:none;border:0;color:#A8988A;font-size:18px;line-height:1;cursor:pointer;border-radius:50%}
.zap-x:hover{color:var(--ink)}

/* página de perguntas */
.page-hero{padding:130px 22px 40px;display:flex;justify-content:center}
.alert{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;background:var(--paper);border:1px solid #E1D5C4;font-size:15px;line-height:1.55;color:var(--text)}
.alert strong{color:var(--ink);font-weight:500}
.alert a{color:var(--terra-dk);font-weight:500}
.faq-group{gap:18px}
.faq-group+.faq-group{margin-top:56px}
.crumbs{font-size:13px;color:var(--text)}
.crumbs a{color:var(--text);border-bottom:1px solid #CDBDA9}

/* celular */
@media (max-width:600px){
  .sec{padding:76px 22px}
  .hero-content{padding:32px 22px 48px}
  .hero-text{gap:16px}
  .ctas{max-width:none}
  .eb-sep{display:none}
  .eb-2{display:block;margin-top:4px}
  .btn-light{align-self:stretch}
  .chip{font-size:14.5px;padding:12px 16px}
  .acc-t{font-size:22px}
  .faq summary{font-size:20px}
  .foot-in{flex-direction:column;flex-wrap:nowrap;align-items:flex-start}
  .tmc-signature{flex-basis:auto;width:100%;justify-content:flex-start;padding-left:0}
  .zap{right:14px;bottom:14px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .ln{stroke-dashoffset:0}
  .plx img{scale:1}
}
