/* ============ ALPHA SPHERE — SHARED STYLES ============ */
:root{
  --navy:#1B2A4A;
  --navy-deep:#13203A;
  --blue:#2E5AAC;
  --ice:#CADCFC;
  --gray-bg:#F1F3F6;
  --card:#F7F8FA;
  --ink:#111111;
  --muted:#6B7686;
  --white:#FFFFFF;
  --serif: 'Fraunces', serif;
  --sans: 'Inter', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
html, body{overflow-x:hidden; max-width:100%; background:var(--navy-deep);}
body{font-family:var(--sans); color:var(--ink); -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:var(--mono); font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--blue); display:flex; align-items:center; gap:10px; margin-bottom:18px;
}
.eyebrow::before{content:''; width:22px; height:1px; background:var(--blue);}
.eyebrow.on-dark{color:var(--ice);}
.eyebrow.on-dark::before{background:var(--ice);}
h1,h2,h3{font-family:var(--serif); font-weight:600; line-height:1.1; letter-spacing:-0.01em;}
p{line-height:1.65; color:var(--muted); font-size:16px;}
section{position:relative;}
main{padding-top:104px;}

/* ---------- NAV ---------- */
header.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(19,32,58,0.97); backdrop-filter:blur(10px);
  box-shadow:0 8px 30px rgba(0,0,0,0.12);
  padding:0;
}
nav{display:flex; align-items:center; justify-content:space-between; min-height:96px;}
.brand-group{display:flex; align-items:center; gap:28px; flex-shrink:0;}
.brand{display:flex; align-items:center;}
.brand img{height:54px; width:auto; filter:drop-shadow(0 2px 16px rgba(46,90,172,0.5));}
.nav-divider{width:1px; height:34px; background:rgba(202,220,252,0.18); flex-shrink:0;}
.navlinks{display:flex; gap:22px; align-items:center; flex-shrink:0;}
.navlinks a{
  font-family:var(--mono); font-size:11px; font-weight:500; color:var(--ice); letter-spacing:0.08em; text-transform:uppercase;
  opacity:0.58; transition:opacity .2s ease; position:relative; padding:4px 0;
  white-space:nowrap; flex-shrink:0;
}
.navlinks a:hover{opacity:0.9;}
.navlinks a.active{opacity:1;}
.navlinks a.active::after{
  content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--blue);
}
.navlinks a.navcta{
  font-family:var(--sans); font-weight:700; font-size:13.5px; color:var(--navy) !important; background:var(--white);
  padding:12px 26px; border-radius:100px; transition:transform .2s ease, box-shadow .2s ease;
  text-transform:none; letter-spacing:normal; opacity:1 !important; white-space:nowrap; flex-shrink:0;
  box-shadow:0 4px 18px rgba(0,0,0,0.18);
}
.navlinks a.navcta:hover{transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,0.3);}
.navlinks a.navcta::after{display:none;}
.navlinks a.lang-switch{
  font-family:var(--sans) !important; font-size:12px !important;
  font-weight:700; color:var(--ice) !important; opacity:0.75 !important; text-transform:none !important;
  letter-spacing:0.04em !important; border:1px solid rgba(202,220,252,0.28); border-radius:100px; padding:7px 14px;
  transition:opacity .2s ease, border-color .2s ease; white-space:nowrap; flex-shrink:0;
}
.navlinks a.lang-switch:hover{opacity:1 !important; border-color:rgba(202,220,252,0.55);}
.navlinks a.lang-switch::after{display:none !important;}
.menu-btn{display:none; background:none; border:none; cursor:pointer; padding:6px;}
.menu-btn span{display:block; width:22px; height:2px; background:var(--white); margin:5px 0;}

/* ---------- PAGE HERO (inner pages) ---------- */
.page-hero{
  background:linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);
  padding:116px 0 76px; overflow:hidden; position:relative;
}
.page-hero .glow{
  position:absolute; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(46,90,172,0.32), transparent 70%);
  top:-220px; right:-80px;
}
.page-hero h1{font-size:clamp(32px,4.2vw,50px); color:var(--white); margin-bottom:18px; position:relative; z-index:2;}
.page-hero p.lead{font-size:17px; color:#C7D2E6; max-width:640px; position:relative; z-index:2;}

/* ---------- HERO (home, full) ---------- */
.hero{
  background:linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);
  min-height:92vh; display:flex; align-items:center; overflow:hidden; padding-top:120px; padding-bottom:60px;
}
.hero .wrap{position:relative; z-index:3; display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;}
.hero h1{font-size:clamp(36px,4.4vw,58px); color:var(--white); margin-bottom:24px;}
.hero h1 em{font-style:italic; color:var(--ice); font-weight:500;}
.hero p.lead{font-size:18px; color:#C7D2E6; max-width:520px; margin-bottom:32px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
.btn{
  font-family:var(--sans); font-weight:600; font-size:14.5px; padding:15px 28px; border-radius:100px;
  display:inline-flex; align-items:center; gap:8px; transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  border:none; cursor:pointer;
}
.btn-primary{background:var(--blue); color:var(--white);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(46,90,172,0.45);}
.btn-ghost{border:1px solid rgba(255,255,255,0.28); color:var(--white); background:transparent;}
.btn-ghost:hover{background:rgba(255,255,255,0.08); transform:translateY(-2px);}
.btn-navy{background:var(--navy); color:var(--white);}
.btn-navy:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(27,42,74,0.3);}
.btn-block{width:100%; justify-content:center;}
.btn:disabled{opacity:.45; cursor:not-allowed; transform:none !important; box-shadow:none !important;}

.orbit-stage{position:relative; height:440px; display:flex; align-items:center; justify-content:center;}
.orbit-ring{position:absolute; border:1px solid rgba(202,220,252,0.16); border-radius:50%;}
.ring1{width:440px; height:440px; animation:spin 46s linear infinite;}
.ring2{width:320px; height:320px; border-style:dashed; border-color:rgba(202,220,252,0.22); animation:spin 34s linear infinite reverse;}
.ring3{width:210px; height:210px; animation:spin 24s linear infinite;}
.orbit-dot{position:absolute; width:10px; height:10px; border-radius:50%; background:var(--blue); box-shadow:0 0 22px 6px rgba(46,90,172,0.65); top:-5px; left:50%; margin-left:-5px;}
.ring2 .orbit-dot{background:var(--ice); box-shadow:0 0 16px 4px rgba(202,220,252,0.5);}
@keyframes spin{ to{ transform:rotate(360deg); } }
.orbit-core{
  width:140px; height:140px; border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #6c86b8, #1B2A4A 62%, #0d1730 100%);
  box-shadow:0 0 60px rgba(46,90,172,0.35), inset -14px -14px 26px rgba(0,0,0,0.35);
  position:relative; z-index:2;
}
@media (prefers-reduced-motion: reduce){ .ring1,.ring2,.ring3{animation:none;} }

/* ---------- SECTION HEADERS ---------- */
.section-head{max-width:640px; margin-bottom:52px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(28px,3.2vw,38px); color:var(--navy); margin-bottom:14px;}
.section-head.on-dark h2{color:var(--white);}
.section-head.on-dark p{color:#B9C6DE;}

section.pad{padding:110px 0;}
section.pad-sm{padding:70px 0;}
.bg-white{background:var(--white);}
.bg-gray{background:var(--gray-bg);}
.bg-navy{background:var(--navy);}

/* ---------- CARDS / GRIDS ---------- */
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.card{
  background:var(--white); border-radius:16px; padding:32px 26px; border:1px solid #E7EAF0;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(27,42,74,0.10); border-color:transparent;}
.card .icn{
  width:46px; height:46px; border-radius:12px; background:var(--navy);
  display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  font-family:var(--mono); color:var(--ice); font-size:12.5px;
}
.card h3{font-family:var(--sans); font-weight:600; font-size:18px; color:var(--navy); margin-bottom:10px;}
.card p{font-size:14.5px; margin-bottom:14px;}
.card ul{list-style:none; margin-top:6px;}
.card ul li{font-size:13.5px; color:var(--muted); padding:6px 0; border-top:1px dashed #E7EAF0; display:flex; gap:8px;}
.card ul li:first-child{border-top:none;}
.card ul li::before{content:'—'; color:var(--blue); flex-shrink:0;}

.pillars{display:flex; flex-direction:column; gap:14px;}
.pillar{
  background:var(--card); border:1px solid #ECEEF2; border-radius:14px; padding:20px 22px;
  display:flex; align-items:center; gap:16px; transition:transform .2s ease, box-shadow .2s ease;
}
.pillar:hover{transform:translateX(4px); box-shadow:0 10px 24px rgba(27,42,74,0.08);}
.pillar .num{font-family:var(--mono); color:var(--blue); font-size:13px;}
.pillar h4{font-family:var(--sans); font-weight:600; font-size:15.5px; color:var(--navy);}

/* ---------- METHOD STEPS ---------- */
.method-track{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:rgba(255,255,255,0.08); border-radius:18px; overflow:hidden;}
.step{background:var(--navy-deep); padding:34px 24px;}
.step.active{background:var(--blue);}
.step .stepnum{font-family:var(--serif); font-size:32px; color:var(--blue); margin-bottom:22px;}
.step.active .stepnum{color:var(--ice);}
.step h4{font-family:var(--sans); color:var(--white); font-size:16px; font-weight:600; margin-bottom:8px;}
.step p{color:#AEBBD6; font-size:13.5px; margin:0;}
.step.active p{color:#DCE6F7;}

/* ---------- DIFF / CHECKLIST ---------- */
.diff-list{display:grid; grid-template-columns:1fr 1fr; gap:16px 46px;}
.diff-item{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid #ECEEF2;}
.diff-item .check{
  width:20px; height:20px; border-radius:50%; background:var(--navy); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:var(--white); font-size:11px; margin-top:2px;
}
.diff-item h5{font-family:var(--sans); font-size:14.5px; font-weight:600; color:var(--navy);}
.diff-list.on-dark .diff-item{border-bottom-color:rgba(255,255,255,0.12);}
.diff-list.on-dark .diff-item h5{color:var(--white);}
.diff-list.on-dark .check{background:var(--blue);}

/* ---------- MARQUEE ---------- */
.marquee{overflow:hidden; position:relative; margin-top:14px;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);}
.marquee-track{display:flex; gap:14px; width:max-content; animation:scroll 32s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.chip{
  font-family:var(--sans); font-weight:600; font-size:14px; color:var(--navy); background:var(--white);
  border:1px solid #E7EAF0; border-radius:100px; padding:12px 22px; white-space:nowrap;
}
@keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ---------- STUDIO / PORTFOLIO ---------- */
.studio-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.studio-card{
  background:var(--white); border:1px solid #E7EAF0; border-radius:18px; overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.studio-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(27,42,74,0.1);}
.studio-card .swatch{
  height:120px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--navy), var(--blue));
  font-family:var(--mono); color:var(--ice); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
}
.studio-card .body{padding:24px 22px;}
.studio-card h3{font-family:var(--sans); font-weight:600; font-size:17px; color:var(--navy); margin-bottom:8px;}
.studio-card p{font-size:14px; margin-bottom:0;}
.studio-cta{
  background:var(--navy); border-radius:22px; padding:56px 48px; text-align:center; margin-top:60px;
}
.studio-cta h3{color:var(--white); font-size:26px; margin-bottom:14px;}
.studio-cta p{color:#C7D2E6; max-width:520px; margin:0 auto 28px;}

/* ---------- QUIZ (DIAGNÓSTICO) ---------- */
.quiz-shell{
  background:var(--white); border:1px solid #E7EAF0; border-radius:22px; padding:48px;
  box-shadow:0 30px 70px rgba(27,42,74,0.08); max-width:760px; margin:-56px auto 0; position:relative; z-index:5;
}
.quiz-progress{height:6px; background:#ECEEF2; border-radius:100px; overflow:hidden; margin-bottom:36px;}
.quiz-progress-bar{height:100%; background:var(--blue); border-radius:100px; transition:width .35s ease; width:16.66%;}
.quiz-step-label{font-family:var(--mono); font-size:12px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px;}
.quiz-question{font-family:var(--serif); font-size:24px; color:var(--navy); margin-bottom:28px; line-height:1.3;}
.quiz-options{display:flex; flex-direction:column; gap:12px; margin-bottom:32px;}
.quiz-opt{
  border:1.5px solid #E7EAF0; border-radius:14px; padding:18px 20px; cursor:pointer;
  display:flex; align-items:center; gap:14px; transition:border-color .18s ease, background .18s ease;
  font-size:15px; color:var(--ink); font-weight:500;
}
.quiz-opt:hover{border-color:var(--ice); background:var(--card);}
.quiz-opt.selected{border-color:var(--blue); background:#EEF3FC;}
.quiz-opt .dot{width:18px; height:18px; border-radius:50%; border:2px solid #C6CCD6; flex-shrink:0; position:relative;}
.quiz-opt.selected .dot{border-color:var(--blue);}
.quiz-opt.selected .dot::after{content:''; position:absolute; inset:3px; border-radius:50%; background:var(--blue);}
.quiz-nav{display:flex; justify-content:space-between; gap:16px;}
.quiz-nav .btn{padding:13px 26px;}

.quiz-results{display:none;}
.quiz-results.show{display:block;}
.quiz-questions{display:block;}
.quiz-questions.hide{display:none;}
.result-band{
  font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); margin-bottom:10px;
}
.result-title{font-family:var(--serif); font-size:28px; color:var(--navy); margin-bottom:18px;}
.result-text{margin-bottom:30px;}
.axis-row{margin-bottom:16px;}
.axis-row .axis-label{display:flex; justify-content:space-between; font-size:13.5px; font-weight:600; color:var(--navy); margin-bottom:6px;}
.axis-bar-bg{height:8px; background:#ECEEF2; border-radius:100px; overflow:hidden;}
.axis-bar-fill{height:100%; background:var(--blue); border-radius:100px; transition:width .6s ease;}

/* ---------- FORM (CONTATO) ---------- */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.form-grid .full{grid-column:1 / -1;}
.field label{display:block; font-size:13px; font-weight:600; color:var(--navy); margin-bottom:8px;}
.field input, .field select, .field textarea{
  width:100%; border:1.5px solid #E1E5EC; border-radius:10px; padding:13px 14px; font-family:var(--sans);
  font-size:14.5px; color:var(--ink); background:var(--white); transition:border-color .18s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--blue);}
.field textarea{resize:vertical; min-height:120px;}
.contact-panel{
  background:var(--navy); border-radius:20px; padding:40px; color:var(--white);
}
.contact-panel h3{color:var(--white); font-size:22px; margin-bottom:16px;}
.contact-panel p{color:#C7D2E6; margin-bottom:24px;}
.contact-item{display:flex; gap:12px; padding:12px 0; border-top:1px solid rgba(255,255,255,0.12); font-size:14px;}
.contact-item:first-of-type{border-top:none;}
.form-msg{padding:16px 18px; border-radius:12px; margin-bottom:24px; font-size:14px; display:none;}
.form-msg.show{display:block;}
.form-msg.success{background:#E7F6EC; color:#1E7A3D; border:1px solid #BFE6CC;}
.form-msg.error{background:#FBEAEA; color:#B3261E; border:1px solid #F3C6C4;}

/* ---------- CTA (bottom of pages) ---------- */
.cta-band{padding:110px 0; text-align:center; background:linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%); position:relative; overflow:hidden;}
.cta-band .wrap{position:relative; z-index:2;}
.cta-band img.mark{height:38px; margin:0 auto 26px;}
.cta-band h2{color:var(--white); font-size:clamp(28px,3.6vw,42px); margin-bottom:18px;}
.cta-band p{color:#C7D2E6; max-width:520px; margin:0 auto 36px; font-size:16.5px;}
.cta-band .glow{position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(46,90,172,0.35), transparent 70%); top:-200px; left:50%; transform:translateX(-50%); z-index:1;}

footer.site-footer{background:var(--navy-deep); padding:44px 0 34px; text-align:center;}
footer.site-footer p{color:#7C89A6; font-size:13px;}
footer.site-footer .flinks{display:flex; gap:22px; justify-content:center; margin-bottom:18px; flex-wrap:wrap;}
footer.site-footer .flinks a{font-size:13px; color:#AEBBD6;}
footer.site-footer .flinks a:hover{color:var(--white);}
footer.site-footer .fcontact{display:flex; gap:22px; justify-content:center; margin-bottom:18px; flex-wrap:wrap;}
footer.site-footer .fcontact a{font-size:13px; color:var(--ice) !important; display:flex; align-items:center; gap:7px; opacity:.9;}
footer.site-footer .fcontact a:hover{opacity:1;}
footer.site-footer .fcontact svg{width:17px; height:17px; flex-shrink:0;}

/* ---------- FEATURE ROWS (editorial services / studio layout) ---------- */
.feature-row{display:flex; align-items:center; gap:64px; padding:52px 0; border-bottom:1px solid #ECEEF2;}
.feature-row:last-child{border-bottom:none;}
.feature-row.reverse{flex-direction:row-reverse;}
.feature-visual{flex:0 0 220px; display:flex; align-items:center; justify-content:center;}
.feature-badge{
  width:150px; height:150px; border-radius:28px; background:var(--navy);
  display:flex; align-items:center; justify-content:center; position:relative; flex-shrink:0;
}
.feature-badge .fnum{
  font-family:var(--serif); font-size:15px; color:var(--ice); position:absolute; top:16px; left:20px; opacity:.55;
  font-weight:600;
}
.feature-badge .ficon{width:60px; height:60px;}
.feature-content{flex:1; min-width:0;}
.feature-content .eyebrow{margin-bottom:12px;}
.feature-content h3{font-family:var(--serif); font-size:25px; color:var(--navy); margin-bottom:14px; font-weight:600;}
.feature-content p{font-size:15.5px; color:var(--muted); margin-bottom:18px; max-width:640px; line-height:1.65;}
.feature-pills{display:flex; flex-wrap:wrap; gap:9px;}
.feature-pill{
  font-family:var(--sans); font-size:12px; font-weight:600; color:var(--navy); background:var(--card);
  border:1px solid #E7EAF0; border-radius:100px; padding:7px 15px;
}

@media (max-width:900px){
  .navlinks{display:none;}
  .nav-divider{display:none;}
  .menu-btn{display:block;}
  .hero .wrap{grid-template-columns:1fr; text-align:center;}
  .hero p.lead{margin-left:auto; margin-right:auto;}
  .hero-ctas{justify-content:center;}
  .orbit-stage{height:280px;}
  .ring1{width:260px; height:260px;} .ring2{width:190px; height:190px;} .ring3{width:130px; height:130px;}
  .orbit-core{width:88px; height:88px;}
  .grid3, .grid2, .grid4, .studio-grid{grid-template-columns:1fr 1fr;}
  .method-track{grid-template-columns:1fr 1fr;}
  .diff-list{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .quiz-shell{padding:32px 24px; margin-top:-30px;}
  .feature-row, .feature-row.reverse{flex-direction:column; gap:24px; text-align:center; padding:36px 0;}
  .feature-visual{flex:none;}
  .feature-content p{margin-left:auto; margin-right:auto;}
  .feature-pills{justify-content:center;}
}
@media (max-width:560px){
  .grid3, .grid2, .grid4, .studio-grid{grid-template-columns:1fr;}
  .method-track{grid-template-columns:1fr;}
  .wrap{padding:0 20px;}
  .quiz-question{font-size:20px;}
  .feature-badge{width:120px; height:120px;}
  .feature-badge .ficon{width:48px; height:48px;}
}
a:focus-visible, button:focus-visible{outline:2px solid var(--ice); outline-offset:3px;}
