/* VORITEC · Site institucional v1.0 · CSS nativo, sem frameworks */
:root {
  color-scheme: dark;
  --bg: #0a0e14;
  --bg-soft: #10151c;
  --fg: #f6f7f8;
  --fg-muted: #c4c8cf;
  --fg-subtle: #8f96a0;
  --orange: #ff720b;
  --orange-2: #ff8c1a;
  --hairline: rgba(239,243,247,.13);
  --layout: 1180px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 280px;
  min-height: 100svh;
  background: var(--bg);
  color: var(--fg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid var(--orange-2); outline-offset: 8px; border-radius: 2px; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display:block; max-width:100%; }
::selection { background: var(--orange); color: #111; }
.skip-link {
  position:absolute; z-index:30; top:12px; left:16px; transform:translateY(-180%);
  padding: 12px 16px; border-radius: 4px; background: #fff; color:#111; font-weight:700;
}
.skip-link:focus { transform:translateY(0); }
/* Contact stays visible, but does not compete with the two primary navigation links. */
.contact-anchor {
  display:inline-flex; align-items:center; gap:9px; flex-shrink:0;
  min-height:44px; padding:8px 2px;
  color:var(--fg-muted); font-size:.86rem; font-weight:550; letter-spacing:.025em;
  transition:color 180ms ease;
}
.contact-anchor::before {
  content:""; display:block; width:5px; height:5px;
  border-radius:50%; background:var(--orange); box-shadow:0 0 9px rgba(255,114,11,.2);
}
.contact-anchor:hover { color:var(--fg); }
.home-contact { position:absolute; z-index:10; top:clamp(16px,3.6vh,38px); right:clamp(22px,5.5vw,94px); }
/* Home: image asset is ONLY the original approved bottom wave; logo and text are accessible HTML. */
.home {
  position:relative; overflow:hidden; isolation:isolate;
  background: radial-gradient(ellipse 70% 72% at 50% 33%, #121820 0%, #0b1016 69%, #090b10 100%);
}
.home::before {
  content:""; position:absolute; z-index:-1; inset:0; pointer-events:none;
  background-image:url('../img/onda-laranja.webp');
  background-repeat:no-repeat; background-position:center bottom; background-size:100% auto;
}
.home-hero {
  width:min(100%, 1560px); min-height:100svh; margin:0 auto;
  display:flex; flex-direction:column; align-items:center;
  padding:clamp(86px, 12vh, 140px) 25px clamp(140px, 28vh, 275px);
  text-align:center;
}
.hero-logo { width:clamp(315px, 37vw, 535px); height:auto; }
.hero-navigation { margin-top:clamp(30px, 4.3vh, 51px); }
.hero-paths {
  display:flex; align-items:center; justify-content:center;
  gap:clamp(20px, 2.6vw, 42px); white-space:nowrap;
}
.path-link {
  position:relative; display:inline-block;
  font-size:clamp(26px, 3.15vw, 47px); line-height:1.18; letter-spacing:-.037em;
  font-weight:740; transition:color 160ms ease, transform 160ms ease;
}
.path-link:hover, .path-link:focus-visible { color:var(--orange-2); }
.path-link:hover { transform:translateY(-2px); }
.path-divider { display:inline-block; width:6px; height:clamp(38px, 4.1vw, 57px); border-radius:10px; background:var(--orange); }
.home-tagline {
  margin:clamp(26px, 3.3vh, 40px) 0 0;
  font-size:clamp(20px, 2.1vw, 31px); font-weight:400; line-height:1.35;
  letter-spacing:-.028em; color:#e2e4e7;
}
/* Internal pages: same brand, lighter visual density and intentional editorial hierarchy. */
.inner {
  min-height:100svh;
  background: radial-gradient(ellipse 60% 52% at 60% 0%, #121821 0%, var(--bg) 73%);
}
.page-shell { width:min(calc(100% - 72px), var(--layout)); margin-inline:auto; }
.site-header {
  min-height:116px; display:flex; align-items:center; justify-content:space-between; gap:28px;
  border-bottom:1px solid var(--hairline);
}
.header-logo { width:182px; height:auto; flex-shrink:0; }
.header-right { display:flex; align-items:center; gap:clamp(18px, 3vw, 42px); }
.secondary-nav { display:flex; align-items:center; gap:clamp(14px, 2.2vw, 34px); }
.secondary-nav a {
  color:var(--fg-subtle); font-size:.85rem; font-weight:550;
  transition:color 180ms ease;
}
.secondary-nav a:hover, .secondary-nav a[aria-current="page"] { color:var(--fg); }
.page-main { padding-top:clamp(65px, 9vw, 125px); padding-bottom:clamp(88px, 9vw, 132px); }
.eyebrow {
  margin:0 0 22px; color:var(--orange-2); text-transform:uppercase;
  font-size:.76rem; letter-spacing:.19em; font-weight:760;
}
h1,h2,p { margin-top:0; }
.page-headline {
  font-size:clamp(40px, 6vw, 78px); max-width:900px;
  line-height:1.055; font-weight:760; letter-spacing:-.06em; margin-bottom:25px;
}
.page-lead {
  font-size:clamp(18px, 2vw, 24px); color:var(--fg-muted);
  line-height:1.6; max-width:770px; letter-spacing:-.015em;
}
.services { margin-top:clamp(72px, 9vw, 125px); border-top:1px solid var(--hairline); }
.service {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.22fr);
  gap:clamp(25px, 6vw, 90px); padding:clamp(38px, 5vw, 60px) 0;
  border-bottom:1px solid var(--hairline);
}
.service-index { margin-bottom:12px; color:var(--orange); font-size:.82rem; letter-spacing:.13em; font-variant-numeric:tabular-nums; }
.service h2 { margin:0; font-size:clamp(25px, 2.8vw, 36px); letter-spacing:-.045em; line-height:1.17; }
.service p { color:var(--fg-muted); font-size:clamp(16px, 1.5vw, 19px); line-height:1.75; max-width:650px; margin:3px 0 0; }
.action-section { padding-top:clamp(75px, 9vw, 124px); }
.action-section p { color:var(--fg-muted); font-size:clamp(18px, 2vw, 22px); line-height:1.5; }
.text-action {
  display:inline-flex; gap:12px; align-items:center; margin-top:7px;
  padding:8px 0 12px; border-bottom:1px solid rgba(255,114,11,.65);
  font-size:clamp(17px, 2vw, 22px); font-weight:650;
  transition: color 160ms ease, border-color 160ms ease;
}
.text-action::after { content:"↗"; font-size:1.15em; color:var(--orange); }
.text-action:hover { color:var(--orange-2); border-bottom-color:var(--orange); }
.inner-footer {
  padding:32px 0 36px; border-top:1px solid var(--hairline);
  display:flex; justify-content:space-between; gap:16px; color:var(--fg-subtle); font-size:.8rem;
}
.inner-footer a:hover { color:var(--fg); }
/* Laptops and smaller screens: comfortable wrapping and accessibility. */
@media (max-width:1020px) {
  .hero-paths { white-space:normal; gap:23px; }
  .path-link { font-size:clamp(25px, 3.7vw, 42px); }
}
@media (max-width:680px) {
  .home::before { background-size: 185% auto; background-position:53% bottom; }
  .home-contact { top:14px; right:24px; }
  .home-hero { padding:clamp(112px, 16vh, 160px) 20px 210px; justify-content:flex-start; }
  .hero-logo { width:min(82vw, 425px); }
  .hero-navigation { margin-top:clamp(33px, 5vh, 55px); width:100%; }
  .hero-paths { flex-direction:column; gap:17px; }
  .path-link { font-size:clamp(26px, 6vw, 34px); letter-spacing:-.04em; }
  .path-divider { width:40px; height:3px; }
  .home-tagline { max-width:330px; margin-top:27px; font-size:clamp(18px, 4.5vw, 23px); line-height:1.45; }
  .page-shell { width:min(calc(100% - 40px), var(--layout)); }
  .site-header { min-height:90px; }
  .header-logo { width:140px; }
  .secondary-nav { display:none; }
  .page-main { padding-top:76px; }
  .service { grid-template-columns:1fr; gap:15px; }
  .inner-footer { flex-direction:column; }
}
@media (max-width:380px) {
  .home-hero { padding-left:14px; padding-right:14px; }
  .path-link { font-size:25px; }
  .hero-logo { width:86vw; }
}
@media (max-height:630px) and (min-width:681px) {
  .home-hero { padding-top:60px; padding-bottom:130px; }
  .hero-logo { width:clamp(270px, 30vw, 420px); }
  .hero-navigation { margin-top:12px; }
  .home-tagline { margin-top:20px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}


/* =====================================================
   PRM-MKT-LANDING-001 • Landing Promptum v1.2
   Escopo isolado: não altera a página inicial aprovada.
   ===================================================== */
.promptum-page { overflow:hidden; }
.promptum-page .page-shell { width:min(calc(100% - 88px), 1120px); }
.promptum-hero { position:relative; isolation:isolate; border-bottom:1px solid var(--hairline); }
.promptum-hero::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background: radial-gradient(ellipse 70% 60% at 80% 15%, rgba(255,114,11,.075), transparent 70%);
}
.promptum-hero-inner { padding-top:clamp(70px, 9vw, 130px); padding-bottom:clamp(90px, 10vw, 142px); }
.promptum-eyebrow { margin-bottom:clamp(30px, 4vw, 48px); }
.promptum-h1 {
  max-width:1070px; margin:0 0 39px;
  font-size:clamp(44px, 6.4vw, 83px); font-weight:740; line-height:1.065;
  letter-spacing:-.061em; text-wrap:balance;
}
.promptum-hero-content > p { max-width:890px; margin:0 0 22px; font-size:clamp(18px,1.8vw,22px); line-height:1.7; color:var(--fg-muted); }
.promptum-hero-content > p strong { color:var(--fg); font-weight:640; }
.promptum-actions { display:flex; flex-wrap:wrap; gap:16px 36px; margin-top:43px; align-items:center; }
.promptum-link {
  display:inline-flex; align-items:center; gap:16px; justify-content:center;
  padding:13px 0 14px; min-height:48px;
  font-size:clamp(16px,1.65vw,19px); font-weight:650;
  border-bottom:1px solid rgba(255,114,11,.7); transition: color .17s ease, border-color .17s ease;
}
.promptum-link--primary { color:var(--fg); border-bottom:2px solid var(--orange); }
.promptum-link-arrow { color:var(--orange); font-size:1.2em; line-height:1; }
.promptum-link:hover { color:var(--orange-2); border-color:var(--orange); }
.promptum-section { border-bottom:1px solid var(--hairline); }
.promptum-section-inner { padding-top:clamp(62px, 8vw, 112px); padding-bottom:clamp(70px, 8vw, 118px); }
.promptum-section-kicker {
  margin:0 0 24px; text-transform:uppercase; letter-spacing:.14em;
  font-size:.76rem; font-weight:700; color:var(--orange-2);
}
.promptum-section-heading h2 {
  max-width:1050px; margin:0 0 33px;
  font-size:clamp(35px,4.8vw,61px); letter-spacing:-.052em; line-height:1.13; font-weight:725;
  text-wrap:balance;
}
.promptum-section-content { max-width:1020px; }
.promptum-section-content > p { max-width:905px; margin:0 0 20px; color:var(--fg-muted); font-size:clamp(17px,1.7vw,21px); line-height:1.7; }
.promptum-section-content > p strong { color:var(--fg); font-weight:650; }
.promptum-section-content ul { list-style:none; margin:30px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 50px; }
.promptum-section-content li { position:relative; padding-left:20px; color:var(--fg-muted); font-size:clamp(16px,1.65vw,19px); line-height:1.55; }
.promptum-section-content li::before { content:""; position:absolute; left:0; top:.7em; width:6px; height:6px; background:var(--orange); border-radius:50%; }
.promptum-feature-list { margin-top:42px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(34px,4vw,55px) clamp(45px,7vw,95px); }
.promptum-feature { border-top:1px solid var(--hairline); padding-top:24px; }
.promptum-feature h3 { margin:0 0 12px; font-size:clamp(21px,2.2vw,28px); line-height:1.22; font-weight:690; letter-spacing:-.025em; }
.promptum-feature p { margin:0; color:var(--fg-muted); font-size:clamp(16px,1.55vw,19px); line-height:1.68; }
.promptum-logic { margin-top:35px!important; padding:24px 0 0; border-top:1px solid var(--hairline); font-weight:550; }
.promptum-reflection { margin-top:32px!important; font-size:clamp(22px,2.2vw,29px)!important; color:var(--fg)!important; line-height:1.48!important; }
.promptum-section--closing { background: radial-gradient(ellipse 80% 100% at 100% 100%, rgba(255,114,11,.06),transparent 70%); }
.promptum-section--closing .promptum-section-heading h2 { max-width:850px; }
.promptum-section--closing .promptum-section-content > p strong { color:var(--orange-2); }
.service-copy .text-action { font-size:1.02rem; margin-top:20px; }
.service-copy { min-width:0; }
@media (max-width:800px) {
  .promptum-page .page-shell { width:min(calc(100% - 50px), 1120px); }
  .promptum-feature-list { grid-template-columns:1fr; gap:32px; }
  .promptum-section-content ul { gap:12px 32px; }
  .promptum-h1 { font-size:clamp(40px,7.8vw,68px); }
}
@media (max-width:540px) {
  .promptum-page .page-shell { width:min(calc(100% - 38px), 1120px); }
  .promptum-hero-inner { padding-top:68px; padding-bottom:74px; }
  .promptum-h1 { font-size:clamp(36px,10vw,50px); }
  .promptum-section-heading h2 { font-size:clamp(32px,8vw,44px); }
  .promptum-actions { gap:14px 28px; flex-direction:column; align-items:flex-start; }
  .promptum-section-content ul { grid-template-columns:1fr; }
  .promptum-section-inner { padding-top:65px; padding-bottom:72px; }
}
/* Abertura editorial ampla: CTA aparece mais cedo no desktop. */
@media (min-width:1050px) {
  .promptum-hero-content {
    display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:0 clamp(46px,6vw,85px); align-items:start;
  }
  .promptum-h1 {
    grid-row:1 / span 2; grid-column:1;
    font-size:clamp(46px,4.35vw,66px); line-height:1.09;
  }
  .promptum-hero-content > p {
    grid-column:2; font-size:clamp(17px,1.48vw,20px);
    line-height:1.65; margin-bottom:17px;
  }
  .promptum-hero-inner { padding-top:clamp(68px,7vw,100px); padding-bottom:clamp(80px,8vw,120px); }
  .promptum-actions { margin-top:26px; }
}
.promptum-note { margin-top:29px!important; color:var(--fg-subtle)!important; font-size:clamp(15px,1.4vw,17px)!important; }
