/* ── FONTS (local) ── */
@font-face {
  font-family: 'Agdasima';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/agdasima-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Agdasima';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/agdasima-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Agdasima';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/agdasima-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Agdasima';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/agdasima-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/dmsans-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/dmsans-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/dmsans-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/dmsans-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/dmsans-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/dmsans-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── TOKENS ── */
:root {
  --clr-blue-50:  #E6F1FB;
  --clr-blue-300: #378ADD;
  --clr-blue-500: #185FA5;
  --clr-blue-900: #042C53;
  --clr-blue-950: #021A33;
  --clr-green-400: #25D366;
  --clr-green-600: #128C4A;
  --clr-green-light: #cdefbd;
  --clr-neutral-0:   #FFFFFF;
  --clr-neutral-50:  #F5F7FA;
  --clr-neutral-200: #D5DAE3;
  --clr-neutral-400: #8E98A8;
  --clr-neutral-600: #4A5568;
  --clr-neutral-900: #111827;
  --font-display: 'Agdasima', sans-serif;
  --font-body:    'DM Sans', sans-serif;
  --fs-xs: .75rem; --fs-sm: .875rem; --fs-base: 1rem;
  --fs-md: 1.0625rem; --fs-lg: 1.125rem;
  --fs-3xl: 2.125rem; --fs-4xl: 3.25rem;
  --fw-regular: 400; --fw-medium: 500; --fw-bold: 700;
  --lh-tight: 1.1; --lh-snug: 1.25; --lh-normal: 1.5; --lh-relaxed: 1.7;
  --sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;
  --sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;--sp-20:5rem;
  --r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:9999px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);
  --shadow-md: 0 4px 16px rgba(0,0,0,.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,.14);
  --shadow-blue:  0 4px 20px rgba(55,138,221,.35);
  --shadow-green: 0 4px 24px rgba(37,211,102,.40);
  --border-subtle: 1px solid var(--clr-neutral-200);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);font-size:var(--fs-base);color:var(--clr-neutral-900);background:var(--clr-neutral-0);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
button{cursor:pointer;font-family:var(--font-body);}
h1,.h1{font-family:var(--font-display);font-size:var(--fs-4xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);}
h2,.h2{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:var(--lh-snug);}
.lead{font-size:var(--fs-md);color:var(--clr-neutral-600);line-height:var(--lh-relaxed);}
.caption{font-size:var(--fs-xs);color:var(--clr-neutral-400);}

/* ── LAYOUT ── */
.section{padding:var(--sp-16) var(--sp-8);max-width:940px;margin:0 auto;}
.section-bg{background:var(--clr-neutral-50);}
.full-wrap{max-width:100%;}
.full-wrap > .section{max-width:940px;}
.divider{border:none;border-top:var(--border-subtle);}
.section-header{text-align:center;max-width:600px;margin:0 auto var(--sp-10);}

/* ── TAG ── */
.tag{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--clr-blue-50);color:var(--clr-blue-500);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--sp-4);}
.tag-dark{background:rgba(255,255,255,.12);color:#85B7EB;}

/* ── BTN PRIMARY ── */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:none;border-radius:var(--r-md);font-size:var(--fs-base);font-weight:var(--fw-medium);font-family:var(--font-body);padding:14px 32px;background:var(--clr-blue-300);color:#fff;box-shadow:var(--shadow-blue);transition:all .2s ease;}
.btn-primary:hover{background:var(--clr-blue-500);transform:translateY(-1px);}

/* ── BTN CTA (verde gradiente — ícone corrigido + animação contínua) ── */
.btn-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--sp-3);
  position:relative;
  padding:18px 48px 18px 72px;
  background:linear-gradient(135deg,#25D366 0%,#128C4A 100%);
  color:#fff;
  font-family:var(--font-display);
  font-size:var(--fs-lg);
  font-weight:var(--fw-bold);
  letter-spacing:.03em;
  border:none;
  border-radius:var(--r-md);
  box-shadow:var(--shadow-green);
  transition:all .25s ease;
  line-height:1;
  text-decoration:none;
}
.btn-cta:hover{
  background:linear-gradient(135deg,#1EB858 0%,#0e6b38 100%);
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(37,211,102,.55);
}
.btn-cta::before,
.btn-cta::after{
  content:'';
  display:block;
  position:absolute;
  left:29px;
  top:50%;
}
.btn-cta::before{
  width:20px;
  height:0;
  margin-top:8px;
  margin-left:-2px;
  border-bottom:3px solid #fff;
}
.btn-cta::after{
  width:0;
  height:0;
  margin-top:-6px;
  border-style:solid;
  border-width:8px 8px 0 8px;
  border-color:transparent;
  border-top-color:#fff;
  animation:downloadArrow 1.2s ease-in-out infinite;
}
.btn-cta:hover::before{border-color:var(--clr-green-light);}
.btn-cta:hover::after{border-top-color:var(--clr-green-light);}

@keyframes downloadArrow{
  0%{margin-top:-6px;opacity:1;}
  0.001%{margin-top:-18px;opacity:0;}
  50%{opacity:1;}
  100%{margin-top:4px;opacity:0;}
}

/* ── GRIDS ── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-10);align-items:center;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);}

/* ── CARD ── */
.card{background:var(--clr-neutral-0);border:var(--border-subtle);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s;}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.card-icon{color:var(--clr-blue-300);margin-bottom:var(--sp-3);}
.card-title{font-size:var(--fs-base);font-weight:var(--fw-medium);margin-bottom:var(--sp-2);}
.card-text{font-size:var(--fs-sm);color:var(--clr-neutral-600);line-height:var(--lh-relaxed);}

/* ── BULLET LIST ── */
.bullet-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-3);}
.bullet-list li{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:var(--fs-base);line-height:var(--lh-relaxed);}
.bullet-list .icon{color:var(--clr-blue-300);flex-shrink:0;margin-top:2px;}

/* ── MOCKUP ── */
.mockup{width:100%;background:var(--clr-neutral-200);border:1.5px dashed var(--clr-neutral-400);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;color:var(--clr-neutral-400);font-size:var(--fs-sm);font-weight:var(--fw-medium);}
.mockup-video{aspect-ratio:16/9;}
.mockup-sheet{aspect-ratio:4/3;}

/* ── TABS ── */
.tabs-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-bottom:var(--sp-6);}
.tab-btn{background:var(--clr-neutral-0);border:1.5px solid var(--clr-neutral-200);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);text-align:left;cursor:pointer;transition:border-color .15s,background .15s;}
.tab-btn.active{border-color:var(--clr-blue-300);background:var(--clr-blue-50);}
.tab-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--clr-neutral-400);margin-bottom:var(--sp-1);letter-spacing:.04em;text-transform:uppercase;}
.tab-btn.active .tab-label{color:var(--clr-blue-500);}
.tab-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);}
.tab-hint{font-size:var(--fs-xs);color:var(--clr-blue-300);margin-top:var(--sp-2);display:flex;align-items:center;gap:var(--sp-1);}
.tab-btn.active .tab-hint{display:none;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* ── MOBILE LABEL ── */
.dor-mobile-label{display:none;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--clr-blue-500);background:var(--clr-blue-50);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);text-transform:uppercase;letter-spacing:.04em;}
#dor-gestor .dor-mobile-label{margin-top:var(--sp-8);}

/* ── GALLERY ── */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);}
.gallery-item{aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;cursor:zoom-in;position:relative;background:var(--clr-neutral-200);border:var(--border-subtle);}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-overlay{position:absolute;inset:0;background:rgba(4,44,83,.45);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s;}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-overlay svg{color:#fff;}
.gallery-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--clr-neutral-400);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-align:center;padding:var(--sp-3);}

/* ── LIGHTBOX ── */
.lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(2,26,51,.92);backdrop-filter:blur(6px);align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lightbox-inner{position:relative;max-width:90vw;max-height:88vh;}
.lightbox-inner img{max-width:90vw;max-height:85vh;border-radius:var(--r-lg);object-fit:contain;display:block;}
.lightbox-placeholder{width:80vw;max-width:760px;aspect-ratio:4/3;background:var(--clr-neutral-200);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;color:var(--clr-neutral-400);font-size:var(--fs-sm);font-weight:var(--fw-medium);}
.lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;cursor:pointer;opacity:.8;}
.lightbox-close:hover{opacity:1;}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:none;color:#fff;border-radius:var(--r-full);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;}
.lightbox-nav:hover{background:rgba(255,255,255,.28);}
.lightbox-prev{left:-56px;}
.lightbox-next{right:-56px;}
.lightbox-counter{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);font-size:var(--fs-xs);color:rgba(255,255,255,.6);}

/* ── DIFERENCIAIS ── */
.dif-card{background:var(--clr-neutral-0);border:var(--border-subtle);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;gap:var(--sp-2);}
.dif-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.dif-icon{color:var(--clr-blue-300);}
.dif-title{font-size:var(--fs-base);font-weight:var(--fw-medium);}
.dif-text{font-size:var(--fs-sm);color:var(--clr-neutral-600);line-height:var(--lh-relaxed);}

/* ── PRICE ── */
.price-box{background:linear-gradient(160deg,var(--clr-blue-900) 0%,var(--clr-blue-950) 100%);border-radius:var(--r-xl);padding:var(--sp-12) var(--sp-8);text-align:center;color:#fff;max-width:440px;margin:0 auto;box-shadow:var(--shadow-lg);}
.price-from{font-size:var(--fs-sm);color:#85B7EB;text-decoration:line-through;margin-bottom:var(--sp-1);}
.price-label{font-size:var(--fs-sm);color:#85B7EB;margin-bottom:var(--sp-1);}
.price-big{font-family:var(--font-display);font-size:4.5rem;font-weight:var(--fw-bold);line-height:1;margin-bottom:var(--sp-1);}
.price-sub{font-size:var(--fs-sm);color:#85B7EB;margin-bottom:var(--sp-8);}
.price-guarantee{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);font-size:var(--fs-xs);color:#85B7EB;margin-top:var(--sp-4);}

/* ── HERO ── */
.hero{text-align:center;padding:var(--sp-20) var(--sp-8) var(--sp-16);position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:700px;height:500px;background:radial-gradient(ellipse at center,rgba(55,138,221,.10) 0%,transparent 70%);pointer-events:none;}
.hero .h1{max-width:720px;margin:0 auto var(--sp-5);}
.hero .lead{max-width:560px;margin:0 auto var(--sp-8);}
.hero-accent{color:var(--clr-blue-300);}
.hero-video{max-width:700px;margin:var(--sp-10) auto 0;}
.hero-cta-sub{font-size:var(--fs-xs);color:var(--clr-neutral-400);margin-top:var(--sp-3);}

/* ── FOOTER ── */
.site-footer{
  border-top:var(--border-subtle);
  background:var(--clr-neutral-50);
  padding:var(--sp-8) var(--sp-4);
  text-align:center;
  font-size:var(--fs-sm);
  color:var(--clr-neutral-400);
}

/* ── HELPERS (inline style replacements) ── */
.mb-6{margin-bottom:1.5rem;}
.max-w-720{max-width:720px;margin:0 auto;}
.max-w-480{max-width:480px;margin:0 auto;}
.max-w-760{max-width:760px;margin:0 auto;}
.text-center{text-align:center;}
.color-blue{color:var(--clr-blue-300);}
.mb-4{margin-bottom:var(--sp-4);}
.mt-3{margin-top:.75rem;}
.mt-5{margin-top:1.25rem;}
.w-full{width:100%;}

/* ── RESPONSIVE ── */
@media(max-width:640px){
  :root{--fs-4xl:2.2rem;--fs-3xl:1.8rem;}
  .section{padding:var(--sp-10) var(--sp-5);}
  .hero{padding:var(--sp-12) var(--sp-5) var(--sp-10);}
  .grid-3,.grid-4{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .tabs-grid{display:none;}
  .tab-panel{display:block!important;}
  .dor-mobile-label{display:flex!important;}
  .lightbox-prev{left:-40px;}
  .lightbox-next{right:-40px;}
  .price-big{font-size:3.5rem;}
  .btn-cta{width:auto;text-align:center;}
  .btn-primary{width:100%;justify-content:center;}
}
@media(min-width:641px) and (max-width:860px){
  .section{padding:var(--sp-12) var(--sp-6);}
  .grid-3{grid-template-columns:1fr 1fr;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
}
