/* Meliponário Rech · site 2026
   Layout: editorial em faixas cheias, tipografia display condensada, motion por rolagem. */
:root{
  --deep:#085041;
  --deeper:#05362c;
  --teal:#1d9e75;
  --amber:#e08030;
  --honey:#f2a93b;
  --cream:#f2edd0;
  --paper:#fbf8ec;
  --ink:#1a2035;
  --ink-soft:#4a5060;
  --line:rgba(8,80,65,.18);
  --line-light:rgba(242,237,208,.18);

  --display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  --sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;

  --gutter:max(20px,4vw);
  --maxw:1320px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0}
.sci{font-family:var(--mono);font-style:italic;letter-spacing:.01em}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:.92;letter-spacing:-.01em;text-transform:uppercase;margin:0;text-wrap:balance}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--ink-soft);max-width:58ch}
.on-dark .lead{color:rgba(242,237,208,.82)}

/* ── Botões ── */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:15px 22px;border-radius:999px;border:0;cursor:pointer;transition:transform .2s,background .2s,color .2s}
.btn:active{transform:scale(.97)}
.btn-amber{background:var(--amber);color:var(--deeper)}
.btn-amber:hover{background:var(--honey)}
.btn-deep{background:var(--deep);color:var(--cream)}
.btn-deep:hover{background:var(--deeper)}
.btn-line{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn-line:hover{background:rgba(8,80,65,.08)}
.on-dark .btn-line:hover{background:rgba(242,237,208,.1)}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(4px)}

/* ── Header ── */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding-top:env(safe-area-inset-top,0px);transition:background .3s,box-shadow .3s,color .3s;color:var(--ink)}
.site-header.solid{background:rgba(242,237,208,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.site-header.dark:not(.solid){color:var(--cream)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:42px;height:42px}
.brand b{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:.01em;text-transform:uppercase;line-height:1}
.brand small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;opacity:.7;margin-top:3px}
.nav{display:flex;align-items:center;gap:4px}
.nav a{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:9px 12px;border-radius:999px;opacity:.85;transition:opacity .2s,background .2s}
.nav a:hover{opacity:1;background:rgba(8,80,65,.08)}
.site-header.dark:not(.solid) .nav a:hover{background:rgba(242,237,208,.12)}
.nav a[aria-current="page"]{opacity:1;box-shadow:inset 0 0 0 1.5px currentColor}
.nav .btn{margin-left:10px;padding:11px 18px}
.menu-btn{display:none;background:none;border:0;color:inherit;cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:10px 0}
.mobile-nav{position:fixed;inset:0;z-index:99;background:var(--deep);color:var(--cream);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:90px var(--gutter) 40px;transform:translateY(-100%);transition:transform .45s cubic-bezier(.7,0,.2,1)}
.mobile-nav.open{transform:none}
.mobile-nav a{font-family:var(--display);font-weight:800;font-size:clamp(44px,12vw,72px);text-transform:uppercase;line-height:1;text-decoration:none}
.mobile-nav .mn-meta{margin-top:30px;font-family:var(--mono);font-size:13px;opacity:.7}
@media(max-width:980px){.nav{display:none}.menu-btn{display:block}}

/* ── HERO da home: anel de palavras em órbita + jataí ── */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:radial-gradient(120% 110% at 50% 35%,var(--paper) 0%,#f5efd6 45%,var(--cream) 75%,#e7dfbc 100%)}
.ring{position:absolute;inset:0;perspective:2200px;perspective-origin:50% 46%;overflow:hidden;pointer-events:none;z-index:1}
.ring-stage{position:absolute;inset:0;transform-style:preserve-3d;animation:orbit 24s linear infinite;will-change:transform}
.ring-word{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:30vh;line-height:1;letter-spacing:-.02em;white-space:nowrap;color:var(--deep);opacity:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:opacity}
.ring-word>span{display:inline-block;will-change:transform}
@keyframes orbit{from{transform:rotateY(0)}to{transform:rotateY(-360deg)}}
@keyframes ring-fade{0%{opacity:1}10%{opacity:1}21%{opacity:0}79%{opacity:0}90%{opacity:1}100%{opacity:1}}
@keyframes ring-rise{0%,21%{transform:translateY(0)}50%,78%{transform:translateY(32vh)}87%,100%{transform:translateY(0)}}

.hero-bee{position:absolute;left:50%;top:45%;width:min(62vw,78vh,860px);transform:translate(-50%,-50%);z-index:3;pointer-events:none}
.hero-bee .bob{animation:bob 6s ease-in-out infinite;will-change:transform}
.hero-bee .tilt{transition:transform .6s cubic-bezier(.2,.7,.2,1);will-change:transform}
.hero-bee img{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(8,54,44,.18))}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(1.2deg)}}
.hero-shadow{position:absolute;left:50%;top:80%;width:min(30vw,340px);height:24px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(8,54,44,.22),transparent);z-index:2;animation:shadow 6s ease-in-out infinite;pointer-events:none}
@keyframes shadow{0%,100%{transform:translateX(-50%) scale(1);opacity:.9}50%{transform:translateX(-50%) scale(.82);opacity:.6}}

.hero-copy{position:absolute;left:var(--gutter);bottom:max(36px,5vh);z-index:5;max-width:min(560px,90vw)}
.hero-copy h1{font-size:clamp(40px,5.4vw,78px);color:var(--deep)}
.hero-copy h1 em{font-style:normal;color:var(--amber)}
.hero-copy .eyebrow{margin-bottom:16px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hero-side{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);z-index:5;width:min(250px,22vw);text-align:right;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.75;color:var(--ink-soft)}
.hero-side b{color:var(--deep);font-weight:500}
.hero-tag{position:absolute;right:var(--gutter);bottom:max(36px,5vh);z-index:5;display:flex;align-items:center;gap:10px;background:var(--deep);color:var(--cream);font-family:var(--mono);font-size:11px;letter-spacing:.1em;padding:9px 16px;border-radius:999px}
.hero-tag i{font-style:italic;opacity:.8}
.hero-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber)}
.ruler{position:absolute;top:50%;transform:translateY(-50%);z-index:4;display:flex;flex-direction:column;gap:9px;align-items:center;pointer-events:none}
.ruler span{height:1px;background:rgba(8,80,65,.45);width:7px}
.ruler span:nth-child(4n+1){width:14px}
.ruler.l{left:14px}.ruler.r{right:14px}
.pollen{position:absolute;bottom:-3vh;border-radius:50%;background:rgba(224,128,48,.6);z-index:4;animation:pollen linear infinite;pointer-events:none}
@keyframes pollen{0%{transform:translateY(0);opacity:0}12%{opacity:.85}85%{opacity:.4}100%{transform:translateY(-108vh) translateX(2vh);opacity:0}}
.grain{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px}
@media(max-width:900px){
  .hero-side,.ruler{display:none}
  .hero-bee{top:38%;width:min(92vw,560px)}
  .ring-word{font-size:20vh}
  .hero-tag{display:none}
}

/* ── Faixa de números ── */
.numbers{background:var(--deep);color:var(--cream)}
.numbers .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-block:44px}
.num b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(54px,7vw,96px);line-height:.9;color:var(--honey)}
.num span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
@media(max-width:760px){.numbers .wrap{grid-template-columns:repeat(2,1fr);row-gap:32px}}

/* ── Seções genéricas ── */
.sec{padding-block:clamp(72px,10vw,140px)}
.sec-paper{background:var(--paper)}
.sec-cream{background:var(--cream)}
.sec-deep{background:var(--deep);color:var(--cream)}
.sec-deeper{background:var(--deeper);color:var(--cream)}
.sec-honey{background:var(--honey);color:var(--deeper)}
.sec-head{display:grid;gap:18px;margin-bottom:clamp(40px,5vw,72px);max-width:900px}
.sec-head h2{font-size:clamp(44px,6.6vw,104px)}
.on-dark .eyebrow{color:var(--honey)}
.sec-honey .eyebrow{color:var(--deeper)}

/* ── Papel recortado ── */
.papercut{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,6vw,90px);align-items:center}
.papercut-art{position:relative;aspect-ratio:1;max-width:620px;width:100%;justify-self:end;border-radius:4px;overflow:hidden;cursor:pointer;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.papercut-art svg{width:100%;height:100%;display:block}
.papercut-art .hint{position:absolute;left:16px;bottom:14px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(242,237,208,.6);pointer-events:none}
.papercut-copy h2{font-size:clamp(44px,5.6vw,88px)}
.papercut-copy p{margin:22px 0 0}
.papercut-copy .btn{margin-top:30px}
@media(max-width:900px){.papercut{grid-template-columns:1fr}.papercut-art{justify-self:stretch}}

/* ── Frentes: lista grande com prévia que segue o cursor ── */
.fronts{border-top:1.5px solid var(--deep)}
.front{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:24px;align-items:center;padding:30px 0;border-bottom:1.5px solid var(--deep);text-decoration:none;color:var(--ink)}
.front h3{font-size:clamp(48px,7vw,112px);color:var(--deep);transition:color .25s,transform .35s cubic-bezier(.2,.7,.2,1)}
.front p{margin:0;color:var(--ink-soft);max-width:44ch}
.front .go{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.front:hover h3{color:var(--amber);transform:translateX(14px)}
.front-preview{position:fixed;left:0;top:0;width:300px;aspect-ratio:3/4;border-radius:6px;overflow:hidden;pointer-events:none;z-index:50;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .25s,transform .25s;box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
.front-preview.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.front-preview img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.front{grid-template-columns:1fr;gap:8px}.front-preview{display:none}}

/* ── Galeria horizontal ── */
.hgallery{overflow:hidden}
.hg-track{display:flex;gap:18px;padding-left:var(--gutter);width:max-content;will-change:transform}
.hg-item{width:min(34vw,460px);flex:none}
.hg-item:nth-child(even){margin-top:80px}
.hg-item img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:4px}
.hg-item figcaption{font-family:var(--mono);font-size:12px;letter-spacing:.06em;margin-top:10px;opacity:.75}
.hg-intro{width:min(30vw,380px);flex:none;align-self:center;padding-right:30px}
.hg-intro h2{font-size:clamp(44px,5vw,80px)}
@media(max-width:900px){
  .hgallery{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .hg-item{width:72vw;scroll-snap-align:start}
  .hg-item:nth-child(even){margin-top:0}
  .hg-intro{width:72vw}
}

/* ── Marquee de espécies ── */
.marquee{overflow:hidden;white-space:nowrap;border-top:1.5px solid var(--line-light);border-bottom:1.5px solid var(--line-light);padding-block:18px}
.marquee+.marquee{border-top:0}
.mq-track{display:inline-flex;gap:48px;animation:mq 60s linear infinite;will-change:transform}
.marquee.rev .mq-track{animation-direction:reverse;animation-duration:70s}
.mq-track span{display:inline-flex;align-items:baseline;gap:14px}
.mq-track b{font-family:var(--display);font-weight:800;font-size:clamp(40px,5vw,76px);text-transform:uppercase;line-height:1}
.mq-track i{font-family:var(--mono);font-size:14px;opacity:.65}
.mq-track .dot{width:12px;height:12px;border-radius:50%;background:var(--honey);align-self:center}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── Regularização ── */
.creds{display:flex;flex-wrap:wrap;gap:12px}
.cred{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:14px;letter-spacing:.04em;text-decoration:none;padding:14px 20px;border-radius:999px;background:var(--deeper);color:var(--cream);transition:transform .2s}
.cred:hover{transform:translateY(-2px)}
.reg-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,5vw,80px);align-items:end}
.reg-grid h2{font-size:clamp(48px,7vw,116px)}
@media(max-width:900px){.reg-grid{grid-template-columns:1fr}}

/* ── CTA final ── */
.cta-big{display:grid;gap:30px}
.cta-big h2{font-size:clamp(56px,9vw,150px)}
.channels{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--line-light);border:1.5px solid var(--line-light)}
.channel{background:var(--deep);padding:26px;text-decoration:none;display:grid;gap:6px;transition:background .2s}
.channel:hover{background:var(--deeper)}
.channel small{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--honey)}
.channel b{font-family:var(--display);font-weight:700;font-size:clamp(24px,2.4vw,34px);letter-spacing:.01em;word-break:break-word}
@media(max-width:760px){.channels{grid-template-columns:1fr}}

/* ── Footer ── */
.site-footer{background:var(--ink);color:rgba(242,237,208,.75);padding-block:64px 36px;font-size:14px}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.ft .tagline{font-family:var(--display);font-weight:800;font-size:clamp(36px,4vw,56px);text-transform:uppercase;line-height:.95;color:var(--cream);margin:18px 0 0}
.ft h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--honey);margin:0 0 14px;font-weight:500}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ft a{text-decoration:none}
.ft a:hover{color:var(--cream)}
.ft-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:56px;padding-top:22px;border-top:1px solid rgba(242,237,208,.14);font-family:var(--mono);font-size:11px;letter-spacing:.06em}
@media(max-width:820px){.ft{grid-template-columns:1fr}}

/* ── Hero de páginas internas ── */
.page-hero{padding-top:calc(72px + clamp(60px,9vw,130px));padding-bottom:clamp(50px,7vw,100px)}
.page-hero h1{font-size:clamp(60px,11vw,180px);color:var(--deep)}
.page-hero.on-dark h1{color:var(--cream)}
.page-hero .lead{margin-top:28px}
.page-hero .eyebrow{margin-bottom:22px}

/* ── Sobre ── */
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,90px);align-items:start}
.portrait{position:sticky;top:96px;border-radius:4px;overflow:hidden}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%}
.portrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(to top,rgba(5,54,44,.92),transparent);color:var(--cream)}
.portrait figcaption small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.portrait figcaption b{display:block;font-family:var(--display);font-weight:800;font-size:30px;text-transform:uppercase}
.prose p{margin:0 0 22px;font-size:18px;color:var(--ink-soft);max-width:62ch}
.prose p.big{font-size:clamp(24px,2.4vw,32px);line-height:1.3;color:var(--ink);font-weight:500}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1.5px solid var(--line-light)}
.tl{padding:30px 24px 10px 0;border-right:1.5px solid var(--line-light)}
.tl:last-child{border-right:0}
.tl+.tl{padding-left:24px}
.tl b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(60px,8vw,120px);line-height:.9;color:var(--honey)}
.tl span{font-family:var(--mono);font-size:13px;letter-spacing:.06em;opacity:.85}
@media(max-width:820px){.story{grid-template-columns:1fr}.portrait{position:relative;top:0}.timeline{grid-template-columns:1fr}.tl,.tl+.tl{border-right:0;border-bottom:1.5px solid var(--line-light);padding:24px 0}}
.split-img{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.split-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
@media(max-width:820px){.split-img{grid-template-columns:1fr}}

/* ── Espécies ── */
.genus{margin-top:56px}
.genus:first-child{margin-top:0}
.genus-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 30px;border-top:1.5px solid var(--deep);padding-top:14px;margin-bottom:22px}
.genus-head h2{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);line-height:1.4}
.genus-head p{margin:0;color:var(--ink-soft);font-size:15px;max-width:60ch}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.sp{background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.sp:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(8,54,44,.45)}
.sp-img{aspect-ratio:16/10;background:#fff;overflow:hidden;position:relative}
.sp-img img{width:100%;height:100%;object-fit:cover;object-position:0% 35%;transform:scale(1.55);transform-origin:18% 35%;transition:transform .5s}
.sp:hover .sp-img img{transform:scale(1.65)}
.sp-img.empty{display:grid;place-items:center;background:repeating-linear-gradient(135deg,var(--cream) 0 10px,var(--paper) 10px 20px)}
.sp-img.empty span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.sp-body{padding:18px 18px 16px;display:grid;gap:4px;flex:1}
.sp-body h3{font-size:34px;color:var(--deep)}
.sp-body .sci{font-size:13px;color:var(--ink-soft)}
.sp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.sp-foot small{font-family:var(--mono);font-size:11.5px;color:var(--amber);letter-spacing:.02em}
.sp-foot button{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px;cursor:pointer;color:var(--deep);transition:background .2s,color .2s}
.sp-foot button:hover{background:var(--deep);color:var(--cream)}
.modal{position:fixed;inset:0;z-index:200;background:rgba(5,30,24,.82);display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-box{position:relative;background:var(--paper);border-radius:8px;max-width:1000px;width:100%;max-height:92vh;overflow:auto}
.modal-box img{width:100%;height:auto}
.modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:var(--deep);color:var(--cream);font-size:18px;cursor:pointer}
.modal-credit{font-family:var(--mono);font-size:11px;color:var(--ink-soft);padding:10px 16px;text-align:right}

/* ── Cartões de oferta ── */
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5px;background:var(--deep);border:1.5px solid var(--deep)}
.offer{background:var(--paper);padding:clamp(28px,3.4vw,48px);display:grid;gap:14px;align-content:start;transition:background .25s,color .25s}
.offer:hover{background:var(--deep);color:var(--cream)}
.offer:hover p{color:rgba(242,237,208,.85)}
.offer:hover h3{color:var(--honey)}
.offer small{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.offer h3{font-size:clamp(46px,5vw,76px);color:var(--deep);transition:color .25s}
.offer p{margin:0;color:var(--ink-soft);max-width:46ch;transition:color .25s}
@media(max-width:760px){.offers{grid-template-columns:1fr}}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s}
.step{border-top:1.5px solid var(--line-light);padding-top:20px;counter-increment:s}
.step::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--honey);letter-spacing:.1em}
.step h3{font-size:clamp(30px,3vw,44px);margin:10px 0 10px}
.step p{margin:0;opacity:.85}
@media(max-width:820px){.steps{grid-template-columns:1fr}}

.checks{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1.5px solid currentColor}
.checks li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:20px 0;border-bottom:1.5px solid rgba(8,80,65,.25);font-size:clamp(19px,1.8vw,24px);line-height:1.35}
.on-dark .checks li{border-bottom-color:var(--line-light)}
.checks li::before{content:"";width:16px;height:16px;margin-top:6px;background:var(--amber);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.callout{background:var(--deep);color:var(--cream);border-radius:6px;padding:clamp(30px,4vw,56px);display:grid;gap:16px}
.callout h3{font-size:clamp(38px,4vw,64px);color:var(--honey)}
.callout p{margin:0;max-width:60ch;color:rgba(242,237,208,.85)}
.callout-center{text-align:center;justify-items:center}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px)}
@media(max-width:820px){.two{grid-template-columns:1fr}}

/* ── Contato ── */
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .full{grid-column:1/-1}
.form label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--honey);margin-bottom:8px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:17px;color:var(--cream);background:rgba(242,237,208,.07);border:1.5px solid var(--line-light);border-radius:6px;padding:14px 16px;outline:none}
.form select option{color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--honey)}
.form .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.form .note{font-family:var(--mono);font-size:12px;opacity:.65}
.form .err{color:var(--honey);font-family:var(--mono);font-size:12px;min-height:1em}
@media(max-width:700px){.form{grid-template-columns:1fr}}

/* ── Texto legal ── */
.legal{max-width:760px}
.legal h2{font-family:var(--display);font-size:32px;margin:40px 0 12px;color:var(--deep)}
.legal p{color:var(--ink-soft);margin:0 0 16px}

/* ── Revelação por rolagem ── */
.js .rv{opacity:0;transform:translateY(40px)}
.js .rv-line{overflow:hidden}
.js .rv-line>span{display:inline-block;transform:translateY(105%)}

/* ── Prancha de espécies (estilo prancha naturalista) ── */
.plate{background:#f6efd8;background-image:radial-gradient(120% 90% at 50% 0%,#fbf6e4 0%,#f3ead0 70%,#ebe0bf 100%);color:#3a2f22;border:1px solid rgba(58,47,34,.18);box-shadow:0 30px 60px -30px rgba(58,47,34,.35);padding:clamp(28px,5vw,72px) clamp(18px,4vw,64px);font-family:'Fraunces',Georgia,serif;position:relative}
.plate::after{content:"";position:absolute;inset:12px;border:1px solid rgba(58,47,34,.22);pointer-events:none}
.plate-head{text-align:center;display:grid;gap:6px;margin-bottom:clamp(30px,4vw,56px)}
.plate-head .t1{font-size:clamp(30px,3.4vw,46px);font-weight:500;letter-spacing:.01em;line-height:1.1}
.plate-head .t2{font-style:italic;font-size:15px;opacity:.75}
.plate-head .t3{font-size:clamp(18px,2.2vw,28px);letter-spacing:.32em;text-transform:uppercase;font-weight:400;margin-top:14px}
.plate-head .t4{font-size:12px;letter-spacing:.3em;text-transform:uppercase;opacity:.7}
.plate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,34px) clamp(10px,2vw,28px)}
.specimen{appearance:none;background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;text-align:center;display:grid;gap:6px}
.specimen .img{aspect-ratio:4/3;overflow:hidden}
.specimen img{width:100%;height:100%;object-fit:contain;filter:saturate(.92) contrast(1.02);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.specimen:hover img,.specimen:focus-visible img{transform:scale(1.08) rotate(-1.5deg)}
.specimen .cap{font-size:clamp(14px,1.3vw,17px);line-height:1.25}
.specimen .cap i{display:block;font-size:12.5px;opacity:.7;margin-top:2px}
.specimen .noimg{display:grid;place-items:center;height:100%;font-style:italic;font-size:13px;opacity:.55;border:1px dashed rgba(58,47,34,.3)}
.plate-legend{margin-top:clamp(30px,4vw,54px);padding-top:18px;border-top:1px solid rgba(58,47,34,.35);text-align:center;font-size:13.5px;line-height:1.9}
.plate-legend span{white-space:nowrap;margin:0 8px}
.plate-credit{text-align:center;font-size:11px;opacity:.6;margin-top:14px;font-family:var(--mono)}
@media(max-width:900px){.plate-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.plate-grid{grid-template-columns:repeat(2,1fr)}}
.genus-notes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;border-top:1.5px solid var(--deep)}
.gn{padding:22px 20px 22px 0;border-bottom:1.5px solid var(--line)}
.gn h3{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;color:var(--amber);text-transform:uppercase;line-height:1.3}
.gn p{margin:8px 0 0;color:var(--ink-soft);font-size:15.5px}

/* ── Ajustes de largura no celular ── */
html,body{overflow-x:clip}
.split-img>*,.two>*,.story>*,.papercut>*,.reg-grid>*,.cta-big>*,.offers>*{min-width:0}
.page-hero h1{font-size:clamp(52px,11vw,180px);overflow-wrap:break-word}
.callout h3,.offer h3,.front h3{overflow-wrap:break-word}

/* ── Contato (lista refinada com ícones) ── */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,7vw,120px);align-items:center}
.contact-intro{display:grid;gap:20px;max-width:520px}
.contact-intro p{margin:0;font-size:17px;line-height:1.65;color:rgba(242,237,208,.78)}
.ct-title{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(46px,5.4vw,84px);line-height:.92;letter-spacing:-.005em;color:var(--cream)}
.ct-title .serif{display:block;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:400;text-transform:none;font-size:.52em;letter-spacing:0;color:var(--honey);margin-bottom:.12em}
.ct-place{font-family:var(--mono);font-size:11px!important;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,237,208,.5)!important}
.clist{list-style:none;margin:0;padding:0;border-top:1px solid rgba(242,237,208,.16)}
.clist a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 6px;border-bottom:1px solid rgba(242,237,208,.16);text-decoration:none;color:var(--cream);transition:background .25s,padding .25s}
.clist a:hover{background:rgba(242,237,208,.05);padding-left:14px}
.ci{width:46px;height:46px;border-radius:50%;border:1px solid rgba(242,237,208,.28);display:grid;place-items:center;color:var(--cream);transition:background .25s,color .25s,border-color .25s}
.clist a:hover .ci{background:var(--honey);border-color:var(--honey);color:var(--deeper)}
.cl{display:grid;gap:3px;min-width:0}
.cl small{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--honey)}
.cl span{font-family:var(--sans);font-size:clamp(16px,1.35vw,19px);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca{font-size:16px;opacity:.5;transition:transform .25s,opacity .25s}
.clist a:hover .ca{opacity:1;transform:translate(3px,-3px)}
.social{display:flex;gap:10px;margin-top:22px}
.social a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(242,237,208,.25);display:grid;place-items:center;color:var(--cream);transition:background .2s,color .2s,border-color .2s}
.social a:hover{background:var(--honey);border-color:var(--honey);color:var(--deeper)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
/* papel recortado sem moldura de foco */
.papercut-art{cursor:default;outline:none}
@media(max-width:480px){.cl span{font-size:15px}.clist a{gap:14px;grid-template-columns:42px minmax(0,1fr) auto}.ci{width:42px;height:42px}}

/* ══ Tipografia v2: uma família só (Archivo variável), caixa normal ══ */
:root{
  --display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --mono:'Archivo','Helvetica Neue',Arial,sans-serif;
}
body{font-size:17px;line-height:1.65;font-stretch:100%}
h1,h2,h3{font-family:var(--display);font-stretch:75%;font-weight:750;text-transform:none;letter-spacing:-.025em;line-height:.98}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;font-stretch:100%}
.btn{font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;font-stretch:100%}
.nav a{font-size:15px;letter-spacing:0;text-transform:none;font-weight:500}
.nav .btn{font-size:15px}
.brand b{font-family:var(--display);font-stretch:80%;font-weight:750;text-transform:none;font-size:21px;letter-spacing:-.01em}
.brand small{letter-spacing:.04em;font-size:12px}
.menu-btn{font-size:15px;letter-spacing:0;text-transform:none;font-weight:600}
.mobile-nav a{font-stretch:75%;font-weight:750;text-transform:none;letter-spacing:-.02em}
.hero-copy h1{font-size:clamp(44px,5.8vw,86px)}
.hero-side{font-size:15px;letter-spacing:0;text-transform:none;line-height:1.55;font-stretch:100%}
.hero-side b{font-weight:700}
.hero-tag{font-size:13px;letter-spacing:0}
.ring-word{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase}
.num b{font-stretch:70%;font-weight:800}
.num span{font-size:14px;letter-spacing:0;text-transform:none}
.front h3{font-stretch:75%}
.front .go{font-size:14px;letter-spacing:0;text-transform:none;font-weight:600}
.hg-item figcaption{font-size:14px;letter-spacing:0}
.mq-track b{font-stretch:70%;text-transform:none;font-weight:800}
.mq-track i{font-family:var(--sans);font-size:15px}
.cred{font-size:15px;letter-spacing:0;font-weight:600}
.ft .tagline{font-stretch:75%;text-transform:none;font-weight:750}
.ft h4{font-size:14px;letter-spacing:0;text-transform:none;font-weight:600}
.ft-bottom{font-size:13px;letter-spacing:0}
.tl span{font-size:15px;letter-spacing:0}
.portrait figcaption small{font-size:13px;letter-spacing:0;text-transform:none}
.portrait figcaption b{text-transform:none;font-stretch:75%}
.offer small{font-size:14px;letter-spacing:0;text-transform:none;font-weight:600}
.step::before{font-size:14px;letter-spacing:0;font-weight:600}
.form label{font-size:14px;letter-spacing:0;text-transform:none;font-weight:600}
.form .note,.form .err{font-size:13px}
.genus-head h2,.gn h3{font-size:15px;letter-spacing:0;text-transform:none;font-weight:600;font-stretch:100%}
.ct-title{text-transform:none;font-stretch:75%;font-weight:750}
.ct-title .serif{font-size:.5em}
.ct-place{font-size:14px!important;letter-spacing:0;text-transform:none}
.cl small{font-size:13px;letter-spacing:0;text-transform:none;font-weight:600}
.sp-foot small,.sp-foot button,.modal-credit,.plate-credit{letter-spacing:0;text-transform:none}
.sci{font-family:var(--sans);font-style:italic}

/* ══ Jataí do hero: parada, batendo as asas ══ */
.hero-bee .bob{animation:hover 4s ease-in-out infinite}
@keyframes hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.bee-stack{position:relative}
.bee-stack img{width:100%;height:auto;display:block}
.bee-wings{position:absolute;inset:0;transform-origin:58.6% 37.7%;animation:flap .11s linear infinite;will-change:transform}
.bee-wings.ghost{filter:blur(2px);opacity:.35;animation-delay:-.055s}
@keyframes flap{0%{transform:rotate(4deg) scaleY(1)}50%{transform:rotate(-9deg) scaleY(.28) skewX(-6deg)}100%{transform:rotate(4deg) scaleY(1)}}
.hero-bee img{filter:none}
.bee-body{filter:drop-shadow(0 30px 40px rgba(8,54,44,.18))}
/* ajustes de tamanho pedidos nos comentários */
.reg-grid h2{font-size:clamp(40px,5vw,80px)}
.hg-intro h2{font-size:clamp(36px,3.6vw,58px)}
.specimen img.logo-fallback{object-fit:contain;padding:14% 0;opacity:.9}
.specimen:disabled{cursor:default}
.specimen:disabled:hover img{transform:none}
/* motion do logo no lugar do papel recortado */
.papercut-art{border-radius:50%;box-shadow:none;max-width:560px}
