:root { --ink:#111310; --paper:#f1f0ea; --lime:#a8f52a; --muted:#777b72; --line:#d2d1ca; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.section-wrap { width:min(1240px, calc(100% - 80px)); margin-inline:auto; }

.nav-shell { height:88px; width:min(1400px, calc(100% - 64px)); margin:auto; display:flex; align-items:center; justify-content:space-between; position:absolute; z-index:5; left:50%; transform:translateX(-50%); color:#f4f4ed; border-bottom:1px solid #ffffff24; }
.brand,.footer-brand { font-size:31px; font-weight:800; letter-spacing:-2px; }
.brand span,.footer-brand span { position:relative; }
.brand span:after,.footer-brand span:after { content:""; width:6px; height:6px; border-radius:50%; background:var(--lime); position:absolute; top:-2px; left:5px; }
nav { display:flex; gap:36px; font-size:13px; color:#d5d7ce; }
nav a:hover { color:var(--lime); }
.nav-cta { font-size:13px; display:flex; gap:15px; align-items:center; }
.nav-cta span { color:var(--lime); font-size:20px; }

.hero { min-height:780px; height:100vh; max-height:980px; padding:190px max(40px, calc((100vw - 1240px)/2)) 60px; background:#0d100d; color:#f7f7ef; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; }
.hero-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(#fff 1px, transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:90px 90px; mask-image:linear-gradient(to right,#000,transparent 70%); }
.eyebrow,.section-kicker { text-transform:uppercase; letter-spacing:2.2px; font-size:10px; font-weight:700; display:flex; gap:10px; align-items:center; }
.eyebrow { color:#b8bcb1; position:relative; z-index:2; }
.eyebrow span { width:7px; height:7px; background:var(--lime); border-radius:50%; }
.hero h1 { font-size:clamp(72px,9vw,142px); line-height:.85; letter-spacing:-.075em; margin:38px 0 52px; position:relative; z-index:2; max-width:1100px; }
.hero h1 em,.contact h2 em { color:var(--lime); font-style:normal; }
.hero-bottom { position:relative; z-index:2; display:flex; align-items:flex-end; gap:100px; margin-left:8px; }
.hero-bottom p { width:420px; color:#babdb5; font-size:17px; line-height:1.6; margin:0; }
.text-link { font-size:13px; border-bottom:1px solid #555950; padding-bottom:10px; display:flex; gap:30px; }
.text-link span { color:var(--lime); }
.orbital { position:absolute; width:460px; height:460px; right:-60px; top:180px; opacity:.82; }
.core { position:absolute; inset:50%; width:70px; height:70px; transform:translate(-50%,-50%); border-radius:50%; background:var(--lime); color:#111; display:grid; place-items:center; font-weight:900; box-shadow:0 0 70px #a8f52a66; }
.orbit { position:absolute; inset:20px; border:1px solid #a8f52a55; border-radius:50%; transform:rotate(-24deg); }
.orbit-two { inset:88px -35px; transform:rotate(44deg); }
.orbit i { display:block; width:10px; height:10px; background:var(--lime); border-radius:50%; position:absolute; left:50%; top:-5px; box-shadow:0 0 22px var(--lime); }
.hero-note { position:absolute; right:50px; bottom:48px; color:#70756b; font-size:10px; text-transform:uppercase; letter-spacing:2px; line-height:1.8; }

.intro { padding:145px 0 75px; display:grid; grid-template-columns:1fr 3fr; }
.section-kicker { color:#757970; align-self:start; padding-top:13px; }
.section-kicker:before { content:""; width:24px; height:1px; background:currentColor; }
.intro-copy h2,.method h2,.aws-band h2,.history h2 { font-size:clamp(48px,5vw,76px); letter-spacing:-.055em; line-height:.98; margin:0; }
.intro-copy h2 span,.method h2 span { color:#9a9e95; }
.intro-copy p { width:min(560px,100%); margin:40px 0 0 35%; color:#5d6159; line-height:1.7; font-size:16px; }
.solutions { padding-bottom:145px; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.solution-card { min-height:360px; padding:38px 30px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:48px 1fr 24px; transition:background .25s; }
.solution-card:nth-child(odd) { border-right:1px solid var(--line); }
.solution-card:hover { background:#e8e8e0; }
.card-number { font-family:monospace; font-size:11px; color:#8b8e86; }
.solution-card h3 { font-size:27px; letter-spacing:-.04em; margin:62px 0 20px; max-width:360px; }
.solution-card p { color:#62665e; font-size:14px; line-height:1.65; max-width:390px; }
.card-arrow { color:#7d8178; font-size:20px; }
.tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:30px; }
.tags span { border:1px solid #c5c7bf; border-radius:99px; padding:7px 10px; font-size:9px; letter-spacing:.7px; text-transform:uppercase; }

.aws-band { background:var(--lime); color:#111; padding:125px 0; }
.aws-inner { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.section-kicker.light { color:#3d531f; }
.aws-band h2 { margin-top:55px; }
.aws-copy > p { font-size:18px; line-height:1.6; margin:0 0 55px; }
.aws-copy ul { list-style:none; margin:0; padding:0; }
.aws-copy li { border-top:1px solid #719f2788; padding:23px 0; display:grid; grid-template-columns:185px 1fr; gap:20px; }
.aws-copy li:last-child { border-bottom:1px solid #719f2788; }
.aws-copy b { font-size:14px; }
.aws-copy li span { font-size:13px; line-height:1.5; color:#34421f; }

.method { padding:145px 0; }
.method-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; margin-top:70px; }
.principles article { display:grid; grid-template-columns:60px 1fr; border-top:1px solid var(--line); padding:28px 0 38px; }
.principles article > span { font:11px monospace; color:#8a8d84; }
.principles h3 { margin:0 0 12px; font-size:19px; }
.principles p { color:#666a62; font-size:14px; line-height:1.65; margin:0; max-width:410px; }

.history { background:#131612; color:#f5f4ec; padding:140px 0; }
.history-inner { display:grid; grid-template-columns:1fr 1.25fr; gap:100px; }
.year { font-size:clamp(90px,13vw,190px); letter-spacing:-.09em; font-weight:800; color:#282c27; line-height:.8; white-space:nowrap; }
.year span { color:var(--lime); font-weight:300; }
.history-copy h2 { margin:50px 0 40px; font-size:clamp(46px,4.8vw,70px); }
.history-copy p { color:#aeb2a9; font-size:15px; line-height:1.75; max-width:590px; }
.facts { display:flex; gap:45px; border-top:1px solid #353a33; margin-top:50px; padding-top:30px; }
.facts span { font-size:10px; text-transform:uppercase; letter-spacing:1px; color:#80857b; }
.facts b { display:block; font-size:34px; color:var(--lime); letter-spacing:-2px; margin-bottom:7px; }

.contact { padding:150px 0 130px; }
.contact h2 { font-size:clamp(60px,8vw,112px); line-height:.92; letter-spacing:-.065em; margin:65px 0 70px; }
.contact-bottom { display:flex; justify-content:flex-end; gap:120px; align-items:center; }
.contact-bottom p { width:390px; color:#61655d; line-height:1.6; }
.button { background:#121510; color:#fff; padding:21px 26px; min-width:260px; display:flex; justify-content:space-between; font-size:13px; transition:.2s; }
.button span { color:var(--lime); font-size:19px; }
.button:hover { background:#22271f; transform:translateY(-2px); }
footer { border-top:1px solid var(--line); width:min(1400px, calc(100% - 64px)); margin:auto; padding:42px 0; display:grid; grid-template-columns:2fr 1fr 1.4fr .6fr; align-items:end; }
footer > div:not(.footer-brand) { display:flex; flex-direction:column; gap:7px; font-size:10px; text-transform:uppercase; letter-spacing:1px; }
footer span { color:#898d84; }
.copyright { text-align:right; }

@media (max-width:900px) {
  .section-wrap { width:calc(100% - 40px); }
  .nav-shell { width:calc(100% - 40px); } nav { display:none; }
  .nav-cta { font-size:0; }.nav-cta:before { content:"Contato"; font-size:12px; }
  .hero { min-height:700px; padding:150px 20px 48px; height:auto; }
  .hero h1 { font-size:clamp(60px,17vw,95px); margin-top:30px; }
  .hero-bottom { flex-direction:column; align-items:flex-start; gap:35px; }
  .hero-bottom p { width:min(90%,420px); }
  .orbital { right:-280px; top:220px; opacity:.42; }
  .hero-note { display:none; }
  .intro { grid-template-columns:1fr; gap:50px; padding:100px 0 55px; }
  .intro-copy p { margin-left:0; }
  .solutions { grid-template-columns:1fr; }
  .solution-card:nth-child(odd) { border-right:0; }
  .solution-card { min-height:330px; padding-inline:5px; }
  .aws-inner,.method-layout,.history-inner { grid-template-columns:1fr; gap:70px; }
  .aws-band,.history { padding:100px 0; }
  .aws-copy li { grid-template-columns:1fr; gap:8px; }
  .method { padding:100px 0; }
  .year { font-size:27vw; }
  .facts { gap:20px; flex-wrap:wrap; }
  .contact { padding:100px 0; }
  .contact-bottom { align-items:flex-start; flex-direction:column; gap:30px; }
  .contact-bottom p { width:100%; }
  .button { width:100%; }
  footer { width:calc(100% - 40px); grid-template-columns:1fr 1fr; gap:35px; }
  footer .footer-brand { grid-column:1/-1; }
  .copyright { text-align:left; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
