/* =========================================================
   TELLCIX — Design System
   Navy #0C0B33 · Gradiente Green→Teal→Blue (#11FEAE→#03BACC→#02AFFE)
   Tipografia: Innervers Gothic (fonte oficial da marca)
   ========================================================= */

@font-face{font-family:"Innervers Gothic";src:url("fonts/InnerversGothic-UltraLight.woff") format("woff");font-weight:200;font-style:normal;font-display:swap;}
@font-face{font-family:"Innervers Gothic";src:url("fonts/InnerversGothic-Thin.woff") format("woff");font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"Innervers Gothic";src:url("fonts/InnerversGothic-Light.woff") format("woff");font-weight:350;font-style:normal;font-display:swap;}
@font-face{font-family:"Innervers Gothic";src:url("fonts/InnerversGothic-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Innervers Gothic";src:url("fonts/InnerversGothic-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Innervers Gothic";src:url("fonts/InnerversGothic-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap;}

:root{
  /* --- paleta oficial extraída da marca --- */
  --navy:#0c0b33;
  --navy-soft:#4b5163;
  --navy-mute:#8a90a3;
  --green:#11feae;
  --teal:#03bacc;
  --blue:#02affe;
  --grad: linear-gradient(90deg, var(--green) 0%, var(--teal) 50%, var(--blue) 100%);
  --grad-diag: linear-gradient(135deg, var(--green) 0%, var(--teal) 50%, var(--blue) 100%);

  /* --- fundo claro --- */
  --bg-0:#ffffff;
  --bg-1:#f5f7fa;
  --bg-2:#eef1f6;
  --line:#e3e7ee;

  --font-display:"Innervers Gothic", "Century Gothic", Futura, sans-serif;
  --font-body:"Innervers Gothic", "Century Gothic", Futura, sans-serif;

  --container: 1180px;
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 10px;
  --ease: cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg-0);
  color:var(--navy);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
.container{max-width:var(--container);margin:0 auto;padding:0 32px;}
@media(max-width:640px){.container{padding:0 20px;}}

::selection{background:var(--green);color:var(--navy);}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ---------- eyebrow / labels ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal);
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--grad);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;border-radius:999px;
  font-family:var(--font-display);font-size:16px;font-weight:500;
  cursor:pointer;border:1px solid transparent;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), color .35s var(--ease);
  white-space:nowrap;
}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(12,11,51,.45);}
.btn-gradient{background:var(--grad);color:var(--navy);font-weight:700;}
.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(3,186,204,.5);}
.btn-ghost{border-color:var(--line);color:var(--navy);background:#fff;}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);}
.btn-sm{padding:10px 20px;font-size:14px;}

/* ---------- NAV ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:18px 0;
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  padding:12px 0;
  border-bottom-color:var(--line);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nav-logo{display:flex;align-items:center;height:40px;}
.nav-logo img,.nav-logo svg{height:100%;width:auto;}
.nav-links{display:flex;align-items:center;gap:36px;}
.nav-links a{
  font-size:14.5px;font-weight:500;color:var(--navy-soft);position:relative;padding:4px 0;
  transition:color .3s var(--ease);
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--grad);
  transition:width .35s var(--ease);
}
.nav-links a:hover{color:var(--navy);}
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex;align-items:center;gap:18px;}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--navy);margin:5px 0;transition:transform .3s var(--ease),opacity .3s var(--ease);}

@media(max-width:1240px){
  .nav-links{gap:22px;}
  .nav-links a{font-size:13.5px;}
}

@media(max-width:880px){
  .nav-links{
    position:fixed;inset:0;top:64px;background:#fff;flex-direction:column;justify-content:flex-start;
    padding:40px 32px;gap:26px;transform:translateY(-12px);opacity:0;pointer-events:none;
    transition:opacity .3s var(--ease), transform .3s var(--ease);
  }
  .nav-links a{font-size:22px;font-family:var(--font-display);}
  body.nav-open .nav-links{opacity:1;transform:translateY(0);pointer-events:auto;}
  .nav-toggle{display:block;}
  .nav-cta .btn-ghost{display:none;}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:160px 24px 100px;overflow:hidden;background:var(--bg-0);
}
.hero-bg-grid{
  position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 60% 55% at 50% 40%, #000 0%, transparent 75%);
}
.hero-glow{
  position:absolute;top:8%;left:50%;transform:translateX(-50%);
  width:900px;height:520px;z-index:0;pointer-events:none;
  background:radial-gradient(closest-side, rgba(17,254,174,.16), rgba(3,186,204,.10) 45%, transparent 70%);
  filter:blur(10px);
}
.hero-content{position:relative;z-index:2;max-width:920px;}
.hero h1{
  font-family:var(--font-display);font-weight:200;
  font-size:clamp(40px, 7.2vw, 92px);line-height:1.04;letter-spacing:-.01em;
  margin:22px 0 26px;color:var(--navy);
}
.hero h1 b{font-weight:500;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p.lead{
  font-size:clamp(16px,2vw,20px);color:var(--navy-soft);max-width:640px;margin:0 auto 40px;font-weight:350;
}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:64px;}

/* fiber pulse — elemento assinatura: luz percorrendo a fibra */
.fiber-line{position:relative;z-index:2;width:min(720px,86vw);height:2px;background:var(--line);border-radius:2px;overflow:visible;}
.fiber-line::before{
  content:"";position:absolute;top:50%;left:0;translate:0 -50%;
  width:26%;height:2px;border-radius:2px;
  background:var(--grad);
  filter:drop-shadow(0 0 8px rgba(3,186,204,.55));
  animation:fiber-pulse 3.6s var(--ease) infinite;
}
@keyframes fiber-pulse{
  0%{left:-26%;}
  100%{left:100%;}
}
.hero-scroll{
  position:relative;z-index:2;margin-top:46px;display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-mute);
}
.hero-scroll .dot{width:1px;height:34px;background:linear-gradient(var(--navy-mute), transparent);animation:scrollDown 1.8s ease-in-out infinite;}
@keyframes scrollDown{0%{opacity:0;transform:translateY(-6px);}50%{opacity:1;}100%{opacity:0;transform:translateY(10px);}}

/* ---------- SECTION shells ---------- */
section{position:relative;}
.section{padding:120px 0;}
.section-tight{padding:80px 0;}
.bg-alt{background:var(--bg-1);}
.bg-tint{background:linear-gradient(180deg,#f3f8fb,#eef4f9);}
.section-head{max-width:680px;margin-bottom:64px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{
  font-family:var(--font-display);font-weight:300;font-size:clamp(30px,4.2vw,52px);
  line-height:1.1;letter-spacing:-.01em;margin-top:16px;color:var(--navy);
}
.section-head p{font-size:17px;color:var(--navy-soft);margin-top:18px;font-weight:350;}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ---------- intro / positioning band ---------- */
.intro-band{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;}
@media(max-width:880px){.intro-band{grid-template-columns:1fr;gap:40px;}}
.intro-band h2{font-family:var(--font-display);font-weight:300;font-size:clamp(26px,3.4vw,38px);line-height:1.28;color:var(--navy);}
.intro-band h2 b{font-weight:500;}
.intro-stats{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);}
.intro-stats .stat{display:flex;align-items:baseline;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);}
.intro-stats .stat b{font-family:var(--font-display);font-weight:500;font-size:15px;color:var(--navy);}
.intro-stats .stat span{font-size:14px;color:var(--navy-mute);text-align:right;max-width:280px;}

/* ---------- vertical showcase (produto estilo Apple) ---------- */
.vertical{padding:130px 0;}
.vertical-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start;}
@media(max-width:960px){.vertical-grid{grid-template-columns:1fr;gap:48px;}}
.vertical-copy{position:sticky;top:130px;}
@media(max-width:960px){.vertical-copy{position:static;}}
.vertical-copy .eyebrow{margin-bottom:18px;}
.vertical-copy h2{font-family:var(--font-display);font-weight:300;font-size:clamp(30px,4vw,46px);line-height:1.08;color:var(--navy);margin-bottom:20px;}
.vertical-copy p{font-size:16.5px;color:var(--navy-soft);font-weight:350;margin-bottom:28px;}

.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:560px){.spec-grid{grid-template-columns:1fr;}}
.spec-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);
  padding:30px 26px;transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.spec-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -22px rgba(12,11,51,.22);border-color:transparent;}
.spec-card .ic{width:40px;height:40px;margin-bottom:18px;}
.spec-card h3{font-family:var(--font-display);font-weight:500;font-size:16.5px;color:var(--navy);margin-bottom:8px;}
.spec-card p{font-size:14px;color:var(--navy-soft);font-weight:350;line-height:1.55;}

/* ---------- CTA band ---------- */
.cta-band{
  margin:0 auto;max-width:var(--container);
  border-radius:var(--radius-lg);
  padding:80px 60px;text-align:center;position:relative;overflow:hidden;
  background:var(--navy);
  isolation:isolate;
}
.cta-band::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background:radial-gradient(680px 340px at 18% 0%, rgba(17,254,174,.35), transparent 60%),
             radial-gradient(680px 340px at 85% 100%, rgba(2,175,254,.35), transparent 60%);
}
.cta-band .eyebrow{color:var(--green);}
.cta-band .eyebrow::before{background:var(--grad);}
.cta-band h2{font-family:var(--font-display);font-weight:300;color:#fff;font-size:clamp(28px,4.4vw,46px);line-height:1.15;margin:18px auto 34px;max-width:640px;}
.cta-band .btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
@media(max-width:640px){.cta-band{padding:56px 28px;}}

/* ---------- FOOTER ---------- */
.site-footer{padding:80px 0 34px;border-top:1px solid var(--line);background:var(--bg-0);}
.footer-top{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:50px;padding-bottom:60px;}
@media(max-width:820px){.footer-top{grid-template-columns:1fr 1fr;row-gap:40px;}}
@media(max-width:560px){.footer-top{grid-template-columns:1fr;}}
.footer-brand img{height:34px;margin-bottom:16px;}
.footer-brand p{font-size:14px;color:var(--navy-mute);max-width:260px;line-height:1.6;}
.footer-col h4{font-family:var(--font-display);font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);margin-bottom:18px;}
.footer-col li{margin-bottom:12px;}
.footer-col a{font-size:14.5px;color:var(--navy-soft);transition:color .25s;}
.footer-col a:hover{color:var(--teal);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:28px;border-top:1px solid var(--line);font-size:13px;color:var(--navy-mute);}
.footer-social{display:flex;gap:14px;}
.footer-social a{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.3s;}
.footer-social a:hover{border-color:transparent;background:var(--grad);}
.footer-social svg{width:15px;height:15px;}

/* ---------- generic page (Sobre / Contato) ---------- */
.page-hero{padding:170px 0 70px;text-align:center;}
.page-hero .eyebrow{justify-content:center;}
.page-hero h1{font-family:var(--font-display);font-weight:300;font-size:clamp(34px,5vw,58px);margin-top:18px;color:var(--navy);}
.page-content{padding:0 0 120px;}
.page-content .container{max-width:760px;}
.page-content p{font-size:17px;color:var(--navy-soft);margin-bottom:22px;font-weight:350;line-height:1.75;}
.page-content h2{font-family:var(--font-display);font-weight:500;font-size:26px;margin:40px 0 16px;color:var(--navy);}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:36px;}
.contact-card h3{font-family:var(--font-display);font-weight:500;font-size:15px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy-mute);margin-bottom:14px;}
.contact-card a,.contact-card p{font-size:20px;font-family:var(--font-display);font-weight:400;color:var(--navy);}
.contact-form{display:flex;flex-direction:column;gap:16px;}
.contact-form input,.contact-form textarea{
  font-family:var(--font-body);width:100%;padding:16px 18px;border-radius:var(--radius-sm);
  border:1px solid var(--line);background:var(--bg-1);font-size:15px;color:var(--navy);resize:vertical;
}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--teal);background:#fff;}
.contact-form label{font-size:13px;color:var(--navy-mute);margin-bottom:-8px;}

/* ---------- product archive / single ---------- */
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:960px){.archive-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.archive-grid{grid-template-columns:1fr;}}
.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:30px;transition:.4s var(--ease);}
.product-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -22px rgba(12,11,51,.2);}
.product-card .ic{width:36px;height:36px;margin-bottom:16px;}
.product-card .tag{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);font-weight:600;}
.product-card h3{font-family:var(--font-display);font-weight:500;font-size:19px;margin:12px 0 10px;color:var(--navy);}
.product-card p{font-size:14.5px;color:var(--navy-soft);}

.single-product-hero{padding:170px 0 60px;}
.single-product-hero .tag{color:var(--teal);font-weight:600;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;}
.single-product-hero h1{font-family:var(--font-display);font-weight:300;font-size:clamp(32px,5vw,54px);margin:16px 0 20px;max-width:760px;}
.single-product-hero .ic{width:56px;height:56px;}
.single-product-body{max-width:760px;padding-bottom:100px;}
.single-product-body p{font-size:17px;color:var(--navy-soft);margin-bottom:20px;font-weight:350;line-height:1.75;}
.spec-list{margin:34px 0;border-top:1px solid var(--line);}
.spec-list li{display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--navy-soft);}
.spec-list li b{color:var(--navy);font-weight:500;min-width:200px;}

.wp-pagination{display:flex;gap:10px;margin-top:50px;justify-content:center;}
.wp-pagination a,.wp-pagination span{padding:10px 16px;border-radius:999px;border:1px solid var(--line);font-size:14px;color:var(--navy-soft);}
.wp-pagination .current{background:var(--navy);color:#fff;border-color:var(--navy);}

/* ---------- acessibilidade / utilidades ---------- */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:999;background:var(--navy);color:#fff;
  padding:14px 22px;border-radius:0 0 10px 0;font-size:14px;
}
.skip-link:focus{left:0;}
.screen-reader-text{
  position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

/* conteúdo de texto corrido (página Sobre) */
.page-content .entry-content ul,.page-content .entry-content ol{padding-left:22px;margin-bottom:22px;}
.page-content .entry-content li{color:var(--navy-soft);font-size:17px;margin-bottom:8px;}
.page-content .entry-content img{border-radius:var(--radius-md);margin:32px 0;}
.page-content .entry-content blockquote{border-left:3px solid var(--teal);padding-left:22px;font-style:normal;color:var(--navy);font-size:19px;margin:32px 0;}
.page-content .entry-content a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
.page-content .entry-content strong{color:var(--navy);}
.page-content .entry-content p{font-size:17px;color:var(--navy-soft);margin-bottom:22px;font-weight:350;line-height:1.75;}

.form-notice{padding:16px 20px;border-radius:var(--radius-sm);font-size:14.5px;margin-bottom:24px;}
.form-notice.success{background:rgba(17,254,174,.14);color:#046a52;border:1px solid rgba(17,254,174,.4);}
.form-notice.error{background:rgba(255,90,90,.1);color:#b3261e;border:1px solid rgba(255,90,90,.35);}
.hp-field{position:absolute;left:-9999px;opacity:0;}

.not-found-wrap{padding:200px 0 140px;text-align:center;}
.not-found-wrap .code{font-family:var(--font-display);font-weight:200;font-size:120px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;}
.not-found-wrap h1{font-family:var(--font-display);font-weight:300;font-size:32px;margin:20px 0 12px;color:var(--navy);}
.not-found-wrap p{color:var(--navy-soft);margin-bottom:30px;}

/* filtros de categoria no catálogo */
.filter-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:60px;}
