/* =========================================================
   ORTOBOM SÃO GOTARDO — Sistema editorial
   Títulos em Sora (sans forte) + texto em Inter. Azul como acento.
   ========================================================= */

:root{
  --ink:#15171C;
  --ink2:#565C68;
  --ink3:#8A909C;
  --paper:#ffffff;
  --mist:#F4F5F7;
  --mist2:#EEF0F3;
  --line:#E4E7EC;
  --line2:#D8DCE3;
  --blue:#0038A8;
  --blue2:#1E5BD6;
  --blue-ink:#08163A;
  --blue-deep:#0A1E52;
  --wa:#25D366;

  --serif:'Sora', 'Inter', system-ui, sans-serif;
  --sans:'Inter', system-ui, sans-serif;

  --wrap:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
  --sh-s:0 1px 2px rgba(21,23,28,.04);
  --sh:0 30px 60px -34px rgba(21,23,28,.22);
  --sh-l:0 50px 100px -40px rgba(21,23,28,.30);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; }
body{
  font-family:var(--sans); color:var(--ink); background:var(--paper);
  line-height:1.6; font-weight:400; overflow-x:hidden;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; border:0; background:none; }
input,select,textarea{ font:inherit; }
::selection{ background:var(--blue); color:#fff; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(1.2rem,5vw,2.4rem); }
.skip-link{ position:fixed; left:-999px; top:8px; z-index:2000; background:var(--blue); color:#fff; padding:.7rem 1.1rem; border-radius:10px; }
.skip-link:focus{ left:12px; }

/* ---------- Tipografia ---------- */
.display{ font-family:var(--serif); font-weight:400; font-size:clamp(2.7rem,6vw,5.1rem); line-height:1.02; letter-spacing:-.015em; color:var(--ink); }
.display em{ font-style:italic; color:var(--blue); }
.h2{ font-family:var(--serif); font-weight:400; font-size:clamp(1.9rem,3.8vw,3.1rem); line-height:1.06; letter-spacing:-.01em; color:var(--ink); }
.h2 em{ font-style:italic; color:var(--blue); }
.kicker{ display:inline-flex; align-items:center; gap:.7rem; font-family:var(--sans); font-weight:600; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink3); margin-bottom:1.3rem; }
.kicker::before{ content:""; width:26px; height:1px; background:var(--blue); }
.lead{ font-size:clamp(1.02rem,1.4vw,1.16rem); color:var(--ink2); line-height:1.7; max-width:56ch; }

/* ---------- Botões ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.95rem 1.7rem; border-radius:100px;
  font-family:var(--sans); font-weight:600; font-size:.98rem; letter-spacing:-.01em; transition:transform .4s var(--ease), background .3s, color .3s, border-color .3s, box-shadow .3s; }
.btn--blue{ background:var(--blue); color:#fff; box-shadow:0 16px 30px -16px rgba(0,56,168,.6); }
.btn--blue:hover{ background:var(--blue2); transform:translateY(-2px); }
.btn--line{ background:transparent; color:var(--ink); box-shadow:inset 0 0 0 1px var(--line2); }
.btn--line:hover{ box-shadow:inset 0 0 0 1px var(--ink); transform:translateY(-2px); }
.btn--white{ background:#fff; color:var(--blue-ink); }
.btn--white:hover{ transform:translateY(-2px); box-shadow:0 20px 40px -20px rgba(0,0,0,.5); }
.btn--ghostlight{ background:transparent; color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.3); }
.btn--ghostlight:hover{ box-shadow:inset 0 0 0 1px rgba(255,255,255,.7); }
.btn--block{ width:100%; }
.btn:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; }

/* ---------- Topbar ---------- */
.topbar{ background:var(--blue-ink); color:#fff; font-size:.8rem; }
.topbar__in{ display:flex; align-items:center; justify-content:center; gap:.7rem; padding:.55rem 0; position:relative; letter-spacing:.01em; color:#C9D4EC; }
.topbar__sep{ opacity:.5; }
.topbar__close{ position:absolute; right:clamp(1.2rem,5vw,2.4rem); color:#fff; opacity:.6; font-size:1.2rem; line-height:1; }
.topbar__close:hover{ opacity:1; }
.topbar.hide{ display:none; }
@media (max-width:640px){ .topbar__sep, .topbar__in span:last-of-type{ display:none; } }

/* ---------- Header ---------- */
.site{ position:sticky; top:0; z-index:1000; background:rgba(255,255,255,0); transition:background .35s, box-shadow .35s, border-color .35s; border-bottom:1px solid transparent; }
.site.scrolled{ background:rgba(255,255,255,.97); border-bottom-color:var(--line); box-shadow:0 8px 30px -22px rgba(21,23,28,.25); }
.site__in{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.05rem 0; transition:padding .35s; }
.site.scrolled .site__in{ padding:.7rem 0; }
.logo{ display:inline-flex; align-items:center; gap:.6rem; }
.logo img{ height:30px; width:auto; border-radius:7px; display:block; }
.logo__city{ font-family:var(--sans); font-weight:600; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink3); padding-left:.6rem; border-left:1px solid var(--line2); }
.nav{ display:flex; align-items:center; gap:.3rem; }
.nav__link{ font-weight:500; font-size:.95rem; color:var(--ink); padding:.5rem .85rem; border-radius:100px; transition:color .25s, background .25s; }
.nav__link:hover{ color:var(--blue); }
.nav__link.is-current{ color:var(--blue); }
.nav__wa{ margin-left:.6rem; font-weight:600; font-size:.95rem; color:#fff; background:var(--blue); padding:.6rem 1.2rem; border-radius:100px; transition:background .3s, transform .3s; }
.nav__wa:hover{ background:var(--blue2); transform:translateY(-1px); }
.burger{ display:none; width:44px; height:44px; position:relative; }
.burger span{ position:absolute; left:11px; width:22px; height:1.5px; background:var(--ink); transition:.3s var(--ease); }
.burger span:nth-child(1){ top:18px; } .burger span:nth-child(2){ top:25px; }
.burger.open span:nth-child(1){ top:21px; transform:rotate(45deg); }
.burger.open span:nth-child(2){ top:21px; transform:rotate(-45deg); }

/* ---------- HERO ---------- */
.hero{ padding:clamp(2.5rem,6vw,5rem) 0 clamp(3.5rem,7vw,6.5rem); }
.hero__grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.hero__text .kicker{ margin-bottom:1.5rem; }
.display{ margin-bottom:1.6rem; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin:2rem 0 1.8rem; }
.proof{ display:flex; align-items:center; gap:.7rem; }
.proof__stars{ color:#E7B008; letter-spacing:2px; font-size:.95rem; }
.proof__txt{ font-size:.95rem; color:var(--ink2); }
.proof__txt strong{ color:var(--ink); font-weight:600; }

.hero__media{ position:relative; }
.hero__photo{ position:relative; border-radius:20px; overflow:hidden; box-shadow:var(--sh-l); aspect-ratio:4/4.6; }
.hero__photo img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
.chip{ position:absolute; z-index:2; display:flex; flex-direction:column; gap:.05rem; background:rgba(255,255,255,.94); backdrop-filter:blur(4px); border:1px solid var(--line);
  padding:.7rem .95rem; border-radius:13px; box-shadow:var(--sh); font-size:.86rem; font-weight:600; color:var(--ink); }
.chip__k{ font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); }
.chip--tl{ top:1.3rem; left:-1.4rem; }
.chip--br{ bottom:5.2rem; right:-1.4rem; }
.chip--bl{ bottom:1.3rem; left:1.3rem; }

/* ---------- POR QUE (editorial) ---------- */
.why{ padding:clamp(3.5rem,8vw,7rem) 0; border-top:1px solid var(--line); }
.why__grid{ display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.why__media{ border-radius:18px; overflow:hidden; box-shadow:var(--sh); aspect-ratio:5/4; }
.why__media img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
.why__body .h2{ margin:.3rem 0 1.8rem; }
.vlist{ list-style:none; }
.vlist li{ padding:1.15rem 0 1.15rem 1.4rem; border-top:1px solid var(--line); border-left:2px solid transparent; transition:border-color .35s, padding-left .35s; }
.vlist li:hover{ border-left-color:var(--blue); padding-left:1.7rem; }
.vlist h3{ font-family:var(--sans); font-weight:600; font-size:1.1rem; color:var(--ink); margin-bottom:.2rem; }
.vlist p{ font-size:.94rem; color:var(--ink2); max-width:46ch; }

/* ---------- SOBRE ---------- */
.about{ padding:clamp(3.5rem,8vw,7rem) 0; background:var(--mist); }
.about__grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.about__h{ margin:.3rem 0 1.4rem; }
.about__intro .btn{ margin-top:1.8rem; }
.about__collage{ position:relative; aspect-ratio:1/1; }
.about__ph{ position:absolute; border-radius:16px; object-fit:cover; box-shadow:var(--sh); }
.about__ph--a{ width:72%; height:72%; top:0; right:0; }
.about__ph--b{ width:46%; height:46%; left:0; top:14%; border:6px solid var(--mist); z-index:2; }
.about__ph--c{ width:50%; height:40%; left:8%; bottom:0; border:6px solid var(--mist); z-index:3; }
.stats{ display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(2.5rem,5vw,4rem); border-top:1px solid var(--line2); }
.stat{ padding:1.8rem 1rem 0; text-align:center; border-right:1px solid var(--line2); }
.stat:last-child{ border-right:0; }
.stat__num{ display:block; font-family:var(--serif); font-weight:500; font-size:clamp(2.6rem,5vw,3.8rem); line-height:1; color:var(--ink); letter-spacing:-.02em; }
.stat__label{ display:block; margin-top:.5rem; font-size:.82rem; color:var(--ink2); }

/* ---------- VITRINE ---------- */
.shop{ padding:clamp(3.5rem,8vw,7rem) 0; }
.shop__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap; margin-bottom:clamp(2.2rem,4vw,3.4rem); }
.shop__head .h2{ margin-top:.3rem; }
.shop__note{ font-size:.95rem; color:var(--ink2); max-width:34ch; }
.vitrine{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(1.6rem,4vw,3.6rem) clamp(1.6rem,4vw,3rem); }
.tile{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.tile.in{ opacity:1; transform:none; }
.tile__img{ position:relative; border-radius:16px; overflow:hidden; aspect-ratio:4/3.4; background:var(--mist); box-shadow:var(--sh-s); cursor:pointer; }
.tile__img img{ width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease); }
.tile:hover .tile__img img{ transform:scale(1.05); }
.tile__img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%, rgba(8,12,22,.55)); opacity:0; transition:opacity .4s; }
.tile:hover .tile__img::after{ opacity:1; }
.tile__actions{ position:absolute; left:1rem; right:1rem; bottom:1rem; z-index:2; display:flex; gap:.6rem; opacity:0; transform:translateY(12px); transition:opacity .4s, transform .4s; }
.tile:hover .tile__actions{ opacity:1; transform:none; }
.tile__act{ flex:1; text-align:center; padding:.7rem .5rem; border-radius:100px; font-size:.85rem; font-weight:600; transition:transform .3s, background .3s; }
.tile__act--d{ background:#fff; color:var(--ink); }
.tile__act--w{ background:var(--blue); color:#fff; }
.tile__act:hover{ transform:translateY(-2px); }
.tile__meta{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-top:1.1rem; }
.tile__line{ font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); }
.tile__name{ font-family:var(--serif); font-weight:500; font-size:1.5rem; color:var(--ink); margin-top:.15rem; }
.tile__firm{ font-size:.82rem; color:var(--ink3); white-space:nowrap; }

/* ---------- TRAVESSEIROS ---------- */
.pillows{ padding:clamp(3rem,6vw,5.5rem) 0; background:var(--mist); border-top:1px solid var(--line); }
.pillows__head{ margin-bottom:2rem; }
.pillow-wrap{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.pillow-track{ display:flex; gap:1.2rem; width:max-content; padding:.5rem clamp(1.2rem,5vw,2.4rem); animation:pill 64s linear infinite; }
.pillow-wrap:hover .pillow-track{ animation-play-state:paused; }
@keyframes pill{ to{ transform:translateX(-50%); } }
.pillow{ flex:0 0 auto; width:236px; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s; }
.pillow:hover{ transform:translateY(-6px); box-shadow:var(--sh); }
.pillow__img{ aspect-ratio:4/3; display:grid; place-items:center; padding:.9rem; background:#fff; }
.pillow__img img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.pillow__body{ padding:.4rem 1.1rem 1.2rem; }
.pillow__tag{ font-size:.64rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.pillow__name{ font-family:var(--serif); font-weight:500; font-size:1.15rem; color:var(--ink); margin:.15rem 0 .3rem; }
.pillow__desc{ font-size:.82rem; color:var(--ink2); }
.pillow__cta{ display:inline-flex; align-items:center; gap:.35rem; margin-top:.7rem; font-size:.8rem; font-weight:600; color:var(--blue); }
.pillow__cta svg{ width:14px; height:14px; }

/* ---------- CATEGORIAS (navegação) ---------- */
.cats{ padding:clamp(3.5rem,8vw,7rem) 0; }
.cats__head{ margin-bottom:1rem; }
.catnav{ list-style:none; }
.catrow{ display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:1.4rem; padding:1.6rem .5rem; border-top:1px solid var(--line); transition:padding .35s var(--ease), color .3s; }
.catrow:last-child{ border-bottom:1px solid var(--line); }
.catrow__ico{ color:var(--ink3); display:grid; place-items:center; transition:color .3s; }
.catrow__ico svg{ width:26px; height:26px; }
.catrow__name{ font-family:var(--serif); font-weight:500; font-size:clamp(1.4rem,2.6vw,2rem); color:var(--ink); transition:color .3s; }
.catrow__desc{ font-size:.9rem; color:var(--ink2); max-width:34ch; text-align:right; }
.catrow__arrow{ color:var(--ink3); display:grid; place-items:center; transition:transform .35s var(--ease), color .3s; }
.catrow__arrow svg{ width:22px; height:22px; }
.catrow:hover{ padding-left:1.3rem; }
.catrow:hover .catrow__name, .catrow:hover .catrow__ico{ color:var(--blue); }
.catrow:hover .catrow__arrow{ color:var(--blue); transform:translate(4px,-4px); }
@media (max-width:720px){ .catrow{ grid-template-columns:auto 1fr auto; } .catrow__desc{ display:none; } }

/* ---------- CONSULTORIA (form) ---------- */
.consult{ padding:clamp(3.5rem,8vw,7rem) 0; background:var(--mist); border-top:1px solid var(--line); }
.consult__grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,5vw,4rem); align-items:stretch; }
.consult__media{ position:relative; border-radius:18px; overflow:hidden; box-shadow:var(--sh); min-height:420px; }
.consult__media img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
.consult__media figcaption{ position:absolute; left:1.4rem; bottom:1.3rem; right:1.4rem; color:#fff; font-family:var(--serif); font-style:italic; font-size:1.15rem; text-shadow:0 2px 20px rgba(0,0,0,.5); }
.consult__panel{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:clamp(1.6rem,3vw,2.6rem); box-shadow:var(--sh); }
.consult__panel .h2{ margin:.3rem 0 1.6rem; font-size:clamp(1.6rem,2.6vw,2.2rem); }
.form{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field{ display:flex; flex-direction:column; gap:.4rem; }
.field--full{ grid-column:1/-1; }
.field label{ font-size:.78rem; font-weight:600; color:var(--ink2); letter-spacing:.02em; }
.field input,.field select,.field textarea{ padding:.85rem 1rem; border:1px solid var(--line2); border-radius:12px; background:#fff; color:var(--ink); resize:vertical; transition:border-color .25s, box-shadow .25s; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,56,168,.12); }
.form .btn{ grid-column:1/-1; margin-top:.4rem; }
.consult__note{ margin-top:1rem; font-size:.85rem; color:var(--ink2); text-align:center; }
.consult__note strong{ color:var(--ink); }

/* ---------- DEPOIMENTOS ---------- */
.voices{ padding:clamp(3.5rem,8vw,7.5rem) 0; }
.voices__head{ max-width:32ch; margin-bottom:clamp(2.4rem,5vw,4rem); }
.voices__head .h2{ margin-top:.3rem; }
.voices__list{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(2rem,4vw,3.5rem); }
.voice{ border-top:2px solid var(--ink); padding-top:1.6rem; }
.voice blockquote{ font-family:var(--serif); font-weight:400; font-size:clamp(1.3rem,1.9vw,1.55rem); line-height:1.4; color:var(--ink); letter-spacing:-.01em; }
.voice figcaption{ display:flex; align-items:center; gap:.8rem; margin-top:1.6rem; }
.voice__av{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--blue); color:#fff; font-family:var(--serif); font-size:1.1rem; flex:none; }
.voice__who{ font-weight:600; font-size:.95rem; color:var(--ink); line-height:1.2; }
.voice__who small{ display:block; font-weight:400; color:var(--ink3); font-size:.8rem; }
.voice__stars{ margin-left:auto; color:#E7B008; font-size:.85rem; letter-spacing:1px; }

/* ---------- RODAPÉ ---------- */
.footer{ background:var(--blue-deep); color:#fff; padding-top:clamp(3.5rem,7vw,6rem); }
.footer__top{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:stretch; padding-bottom:clamp(2.5rem,5vw,4rem); }
.footer__logo{ height:34px; width:auto; border-radius:7px; margin-bottom:1.6rem; }
.footer__h{ font-family:var(--serif); font-weight:400; font-size:clamp(2rem,4vw,3rem); line-height:1.05; margin-bottom:1.2rem; }
.footer__addr{ color:#B9C4E0; line-height:1.7; margin-bottom:1.6rem; }
.footer__meta{ list-style:none; display:grid; gap:.7rem; margin-bottom:1.8rem; }
.footer__meta li{ display:flex; gap:.8rem; align-items:baseline; color:#E7ECF7; font-size:.95rem; }
.footer__meta li span{ min-width:100px; color:#8FA0C8; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.footer__meta a:hover{ color:#fff; text-decoration:underline; }
.footer__cta{ display:flex; flex-wrap:wrap; gap:.8rem; }
.footer__map{ border-radius:18px; overflow:hidden; min-height:360px; box-shadow:var(--sh-l); }
.footer__map iframe{ width:100%; height:100%; min-height:360px; border:0; filter:grayscale(.2); }
.footer__bar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:1.6rem clamp(1.2rem,5vw,2.4rem); border-top:1px solid rgba(255,255,255,.12); }
.footer__bar p{ color:#8FA0C8; font-size:.82rem; }
.footer__nav{ display:flex; gap:1.4rem; }
.footer__nav a{ color:#C9D4EC; font-size:.85rem; }
.footer__nav a:hover{ color:#fff; }

/* ---------- WhatsApp flutuante ---------- */
.wa-float{ position:fixed; right:calc(1.2rem + env(safe-area-inset-right)); bottom:calc(1.2rem + env(safe-area-inset-bottom)); z-index:1100; width:58px; height:58px; border-radius:50%; background:var(--wa); display:grid; place-items:center; box-shadow:0 16px 34px -12px rgba(37,211,102,.6); transition:transform .3s var(--ease); }
.wa-float svg{ width:30px; height:30px; fill:#fff; }
.wa-float:hover{ transform:scale(1.07); }
.wa-float:active{ transform:scale(.94); }

/* ---------- Modal ---------- */
.modal{ position:fixed; inset:0; z-index:1600; display:none; align-items:center; justify-content:center; padding:1.2rem; }
.modal.open{ display:flex; }
.modal__overlay{ position:absolute; inset:0; background:rgba(10,16,30,.55); backdrop-filter:blur(4px); animation:fade .3s; }
.modal__dialog{ position:relative; width:min(900px,100%); max-height:92vh; overflow:auto; background:#fff; border-radius:20px; box-shadow:var(--sh-l); animation:pop .4s var(--ease); }
@keyframes fade{ from{ opacity:0; } } @keyframes pop{ from{ opacity:0; transform:translateY(24px); } }
.modal__close{ position:absolute; top:1rem; right:1rem; z-index:5; width:40px; height:40px; border-radius:50%; background:#fff; box-shadow:var(--sh-s); font-size:1.4rem; line-height:1; color:var(--ink); }
.modal__close:hover{ transform:rotate(90deg); transition:transform .3s; }
.modal__content{ display:grid; grid-template-columns:1fr 1fr; }
.modal__media{ position:relative; }
.modal__media img{ width:100%; height:100%; min-height:320px; object-fit:cover; }
.modal__badge{ position:absolute; top:1rem; left:1rem; background:rgba(10,16,30,.7); color:#fff; font-size:.72rem; font-weight:600; padding:.34rem .7rem; border-radius:8px; }
.modal__info{ padding:clamp(1.6rem,3vw,2.4rem); }
.modal__line{ font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.modal__info h3{ font-family:var(--serif); font-weight:500; font-size:1.9rem; margin:.3rem 0 .8rem; }
.modal__garantia{ display:inline-flex; align-items:center; gap:.5rem; font-size:.86rem; font-weight:600; color:var(--blue); background:rgba(0,56,168,.07); padding:.5rem .85rem; border-radius:10px; margin-bottom:1.2rem; }
.modal__garantia svg{ width:17px; height:17px; }
.modal__desc{ color:var(--ink2); font-size:.94rem; margin-bottom:1.3rem; }
.modal__spec{ margin-bottom:1.1rem; }
.modal__spec h4{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink3); margin-bottom:.5rem; }
.modal__pills{ display:flex; flex-wrap:wrap; gap:.45rem; }
.modal__pills span{ background:var(--mist); color:var(--ink); font-size:.82rem; padding:.35rem .7rem; border-radius:100px; }
.modal__rows{ display:grid; gap:.5rem; }
.modal__row{ display:flex; gap:.55rem; font-size:.9rem; color:var(--ink2); }
.modal__row svg{ width:17px; height:17px; color:var(--blue); flex:none; margin-top:2px; }
.modal__cta{ margin-top:1.4rem; }

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

/* ---------- Responsivo ---------- */
@media (max-width:960px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__media{ order:0; max-width:520px; margin-inline:auto; width:100%; margin-top:2.4rem; }
  .why__grid, .about__grid, .consult__grid{ grid-template-columns:1fr; }
  .why__media{ order:-1; }
  .about__collage{ max-width:480px; margin-inline:auto; width:100%; }
  .voices__list{ grid-template-columns:1fr; gap:0; }
  .voice{ border-top:1px solid var(--line); padding:1.8rem 0; }
  .voice:first-child{ border-top:2px solid var(--ink); }
  .footer__top{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .nav{ position:fixed; inset:0 0 0 auto; width:min(300px,84vw); flex-direction:column; align-items:stretch; justify-content:flex-start; gap:.2rem; padding:5.5rem 1.4rem 2rem; background:#fff; box-shadow:-20px 0 60px -30px rgba(21,23,28,.4); transform:translateX(105%); transition:transform .4s var(--ease); }
  .nav.open{ transform:none; }
  .nav__link{ font-size:1.05rem; padding:.8rem .6rem; border-bottom:1px solid var(--line); border-radius:0; }
  .nav__wa{ margin:.8rem 0 0; text-align:center; }
  .burger{ display:block; z-index:1001; }
  body.nav-open{ overflow:hidden; }
  .vitrine{ grid-template-columns:1fr; gap:2.2rem; }
  .stats{ grid-template-columns:1fr; }
  .stat{ border-right:0; border-bottom:1px solid var(--line2); padding:1.4rem 0; }
  .stat:last-child{ border-bottom:0; }
  .chip--tl{ left:.8rem; top:.8rem; } .chip--br{ right:.8rem; bottom:4rem; } .chip--bl{ left:.8rem; bottom:.8rem; }
  .modal__content{ grid-template-columns:1fr; }
  .modal__media img{ min-height:220px; max-height:240px; }
  .footer__bar{ flex-direction:column; text-align:center; }
}
@media (max-width:560px){
  .hero__cta{ flex-direction:column; } .hero__cta .btn{ width:100%; }
  .form{ grid-template-columns:1fr; }
  .shop__head{ flex-direction:column; align-items:flex-start; }
}

@media (max-width:760px){
  .pillow-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; -webkit-mask:none; mask:none; scroll-snap-type:x mandatory; }
  .pillow-track{ animation:none; }
  .pillow{ scroll-snap-align:center; }
  .pillow--dup{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal,.tile{ opacity:1 !important; transform:none !important; }
  .pillow-track{ animation:none; }
}

/* =========================================================
   Títulos em sans-serif forte (Sora) — destaque azul, sem itálico
   ========================================================= */
.display{ font-weight:700; letter-spacing:-.03em; line-height:1.0; }
.display em{ font-style:normal; font-weight:700; color:var(--blue); }
.h2{ font-weight:700; letter-spacing:-.025em; }
.h2 em{ font-style:normal; color:var(--blue); }
.stat__num{ font-weight:800; letter-spacing:-.03em; }
.tile__name{ font-weight:700; letter-spacing:-.015em; }
.pillow__name{ font-weight:700; letter-spacing:-.01em; }
.footer__h{ font-weight:700; letter-spacing:-.02em; }
.catrow__name{ font-weight:600; letter-spacing:-.015em; }
.modal__info h3{ font-weight:700; letter-spacing:-.01em; }
.voice blockquote{ font-weight:500; letter-spacing:-.015em; line-height:1.42; }
.consult__media figcaption{ font-style:normal; font-weight:600; }

/* =========================================================
   Colchões — carrossel horizontal (igual aos travesseiros)
   ========================================================= */
.shelf-wrap{ overflow:hidden; margin-top:.5rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.shelf-track{ display:flex; gap:1.5rem; width:max-content; padding:.6rem clamp(1.2rem,5vw,2.4rem); animation:pill 60s linear infinite; }
.shelf-wrap:hover .shelf-track{ animation-play-state:paused; }
.mcard{ flex:0 0 auto; width:290px; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; cursor:pointer;
  transition:transform .4s var(--ease), box-shadow .4s, border-color .4s; }
.mcard:hover{ transform:translateY(-6px); box-shadow:var(--sh); border-color:#CFD8E6; }
.mcard__img{ aspect-ratio:4/3.1; overflow:hidden; background:var(--mist); }
.mcard__img img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.mcard:hover .mcard__img img{ transform:scale(1.05); }
.mcard__body{ padding:1rem 1.15rem 1.2rem; }
.mcard__tag{ font-size:.64rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.mcard__name{ font-family:var(--serif); font-weight:700; font-size:1.25rem; color:var(--ink); margin:.15rem 0 .1rem; letter-spacing:-.015em; }
.mcard__firm{ font-size:.82rem; color:var(--ink3); }
.mcard__cta{ display:inline-flex; align-items:center; gap:.35rem; margin-top:.8rem; font-size:.82rem; font-weight:600; color:var(--blue); }
.mcard__cta svg{ width:14px; height:14px; transition:transform .3s; }
.mcard:hover .mcard__cta svg{ transform:translate(3px,-3px); }
@media (max-width:760px){
  .shelf-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; -webkit-mask:none; mask:none; scroll-snap-type:x mandatory; }
  .shelf-track{ animation:none; }
  .mcard{ scroll-snap-align:center; }
  .mcard--dup{ display:none; }
}

/* ---- Fundo azul só na seção dos colchões ---- */
.shop{ background:radial-gradient(120% 85% at 50% -8%, #16337D 0%, #0A1E52 54%, #071634 100%); color:#fff; }
.shop .kicker{ color:#9DB2DE; }
.shop .kicker::before{ background:#6FB4FF; }
.shop .h2{ color:#fff; }
.shop .h2 em{ color:#7FB4FF; }
.shop__note{ color:#B7C4E2; }
