/* Schuster Engenharia · páginas internas. Mesmos tokens da home (Azul profundo). Topo de cada página = prancha: grade técnica, foto em forma, ficha técnica embaixo. */
:root{
  --navy-950:#030c1f;
  --navy-900:#061a3a;
  --navy-800:#0a2754;
  --brand:#004aad;
  --sky:#8fb4ff;
  --ice:#e9f0fb;
  --ink:#0b1830;
  --mist:#c4d2e8;
  --line:rgba(143,180,255,.18);
  --wa:#25d366;
  --f-brand:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --gut:clamp(18px,5vw,72px);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--navy-950);color:#fff;font-family:var(--f-brand);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-top:env(safe-area-inset-top,0px)}
h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-.03em}
p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.in{padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px));max-width:1440px;margin:0 auto}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em}
.btn{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:15px;padding:15px 22px;border-radius:99px;white-space:nowrap;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s;border:0;font-family:inherit;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.btn .ar{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;transition:transform .25s}
.btn:hover .ar{transform:translateX(3px)}
.btn-w{background:#fff;color:var(--navy-900)}.btn-w .ar{background:var(--brand);color:#fff}
.btn-o{border:1.5px solid rgba(255,255,255,.35);color:#fff;background:transparent}.btn-o:hover{background:rgba(255,255,255,.08)}
.btn-b{background:var(--brand);color:#fff}.btn-b .ar{background:#fff;color:var(--brand)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}

/* topo */

/* topo da página interna */
.p-hero{position:relative;overflow:hidden;padding-top:calc(var(--navh,80px) + clamp(36px,6vw,80px));padding-bottom:clamp(40px,6vw,80px);
  background:
    linear-gradient(rgba(143,180,255,.06) 1px,transparent 1px) 0 0/80px 80px,
    linear-gradient(90deg,rgba(143,180,255,.06) 1px,transparent 1px) 0 0/80px 80px,
    radial-gradient(90% 120% at 85% 20%,#0b2e66 0%,var(--navy-900) 45%,var(--navy-950) 100%)}
.p-hero .in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
.p-hero.sem-foto .in{grid-template-columns:minmax(0,1fr)}
.p-hero.sem-foto{padding-bottom:clamp(32px,4vw,56px)}
.crumb{display:flex;flex-wrap:wrap;gap:8px;color:var(--mist);margin-bottom:22px}
.crumb a:hover{color:#fff}
.crumb span[aria-hidden]{opacity:.5}
.p-hero .code{color:var(--sky);display:block;margin-bottom:14px}
.p-hero h1{font-size:clamp(36px,5vw,72px);line-height:1.03;font-weight:300;max-width:16ch}
.p-hero h1 b{font-weight:800}
.p-hero.sem-foto h1{max-width:20ch}
.p-hero .lead{color:var(--mist);font-size:clamp(16px,1.3vw,19px);max-width:56ch;margin-block:22px 30px}
.p-photo{position:relative;border-radius:28px 28px 28px 140px;overflow:hidden;aspect-ratio:4/3.4;background:var(--navy-800)}
.p-photo img{width:100%;height:112%;object-fit:cover;transform:translateY(-4%)}
.p-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,transparent 55%,rgba(3,12,31,.45))}

/* ficha técnica (carimbo da prancha) */
.ficha{border-block:1px solid var(--line);background:rgba(3,12,31,.6)}
.ficha .in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ficha .in > div{padding:16px 18px;border-left:1px solid var(--line);display:grid;gap:2px;min-width:0}
.ficha .in > div:first-child{border-left:0;padding-left:0}
.ficha small{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--sky);opacity:.85}
.ficha b{font-size:14px;font-weight:600}

/* corpo */
.corpo{padding-block:clamp(64px,9vw,128px)}
.corpo .in{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.sumario{position:sticky;top:calc(var(--navh,80px) + 28px);display:grid;gap:4px;font-size:14px}
.sumario .mono{color:var(--sky);margin-bottom:10px}
.sumario a{color:var(--mist);padding:7px 0 7px 14px;border-left:2px solid var(--line);transition:color .25s,border-color .25s}
.sumario a:hover,.sumario a.on{color:#fff;border-left-color:var(--sky)}
.blocos{display:grid;gap:clamp(56px,7vw,96px);min-width:0}
.bloco{display:grid;gap:22px;scroll-margin-top:calc(var(--navh,80px) + 24px)}
.bloco h2{font-size:clamp(28px,3.2vw,46px);line-height:1.08;font-weight:300}
.bloco h2 b{font-weight:800}
.bloco > p{color:var(--mist);font-size:17px;max-width:64ch}
.destaque{border-radius:24px 24px 24px 6px;background:var(--brand);padding:clamp(22px,3vw,34px);display:grid;gap:8px;max-width:720px}
.destaque .mono{color:#cfe0ff}
.destaque p{font-size:clamp(18px,1.6vw,22px);font-weight:600;line-height:1.45}
.itens{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.item{flex:1 1 240px;background:var(--navy-950);padding:26px;display:grid;gap:10px;align-content:start;position:relative;overflow:hidden;transition:background .4s}
.item::after{content:"";position:absolute;width:220px;height:220px;right:-110px;top:-110px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,74,173,.7),transparent);opacity:0;transition:opacity .5s}
.item:hover{background:#07173a}.item:hover::after{opacity:1}
.item .mono{color:var(--sky)}
.item h3{font-size:19px;font-weight:700;letter-spacing:-.01em}
.item p{color:var(--mist);font-size:15px}
.item a.mais{color:var(--sky);font-size:14px;font-weight:600}
.norma{display:flex;gap:16px;align-items:flex-start;border:1px solid var(--line);border-radius:18px;padding:20px 22px;max-width:720px}
.norma svg{flex:none;width:28px;height:28px;stroke:var(--sky);fill:none;stroke-width:1.6}
.norma p{color:var(--mist);font-size:15px}
.norma b{color:#fff}

/* outros serviços */
.outros{padding-block:clamp(64px,8vw,112px);background:linear-gradient(180deg,var(--navy-950),var(--navy-900))}
.outros h2{font-size:clamp(28px,3.4vw,48px);font-weight:300;margin-bottom:clamp(28px,4vw,44px)}
.outros h2 b{font-weight:800}
.outros-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.o-card{border-radius:22px;overflow:hidden;background:var(--navy-800);display:grid;grid-template-rows:auto 1fr;transition:transform .5s cubic-bezier(.2,.8,.2,1);min-width:0}
.o-card:hover{transform:translateY(-6px)}
.o-card figure{margin:0;aspect-ratio:16/10;overflow:hidden}
.o-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.o-card:hover img{transform:scale(1.06)}
.o-card div{padding:18px 20px 22px;display:grid;gap:6px}
.o-card .mono{color:var(--sky)}
.o-card h3{font-size:17px;font-weight:700;letter-spacing:-.01em}

/* chamada final */
.final{padding-block:clamp(80px,10vw,150px);background:radial-gradient(90% 120% at 85% 100%,#0b2e66 0%,var(--navy-950) 60%)}
.final h2{font-size:clamp(42px,7vw,110px);line-height:.96;font-weight:800;letter-spacing:-.05em;max-width:13ch}
.final h2 em{font-style:normal;color:var(--sky);font-weight:300}
.final-g{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:end;margin-top:36px}
.final-g p{color:var(--mist);max-width:44ch;margin-bottom:24px}
.contatos{display:grid;gap:16px;font-size:15px}
.contatos div{display:grid;gap:2px;border-top:1px solid var(--line);padding-top:14px}
.contatos small{font-family:var(--f-mono);font-size:11px;color:var(--sky);letter-spacing:.06em;text-transform:uppercase}

footer{border-top:1px solid var(--line)}
footer .in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-block:28px;color:var(--mist);font-size:13px}
footer img{height:38px;width:auto}
footer nav{display:flex;flex-wrap:wrap;gap:18px}
footer nav a:hover{color:#fff}

.whats{position:fixed;z-index:55;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:8px;background:var(--wa);color:#fff;font-weight:700;font-size:14px;padding:12px 18px 12px 14px;border-radius:40px}
.whats svg{width:24px;height:24px}

/* orçamento */
.orc{padding-block:clamp(48px,7vw,100px)}
.orc .in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,5vw,72px);align-items:start}
.form{background:#fff;color:var(--ink);border-radius:28px;padding:clamp(24px,3.4vw,44px);display:grid;gap:18px}
.form h2{font-size:clamp(24px,2.4vw,32px);font-weight:800}
.form .duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.campo{display:grid;gap:6px;min-width:0}
.campo label{font-size:13px;font-weight:700}
.campo label span{color:var(--brand)}
.campo input,.campo select,.campo textarea{font:inherit;font-size:15px;color:var(--ink);background:#f3f6fb;border:1.5px solid #d5deeb;border-radius:14px;padding:13px 14px;width:100%;transition:border-color .2s,background .2s}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--brand);background:#fff;outline:none}
.campo textarea{min-height:130px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative}
.chips input{position:absolute;opacity:0;inset:0}
.chips span{display:inline-block;border:1.5px solid #d5deeb;border-radius:99px;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}
.chips input:checked + span{background:var(--brand);border-color:var(--brand);color:#fff}
.chips input:focus-visible + span{outline:3px solid var(--sky);outline-offset:2px}
.form .aviso{font-size:13px;color:#4a5b76}
.form .ok{background:#e7f6ee;color:#0f5132;border-radius:14px;padding:14px 16px;font-size:14px;font-weight:600}
.lado{display:grid;gap:14px;position:sticky;top:calc(var(--navh,80px) + 24px)}
.lado .bx{border:1px solid var(--line);border-radius:20px;padding:20px 22px;display:grid;gap:4px}
.lado small{font-family:var(--f-mono);font-size:11px;color:var(--sky);letter-spacing:.06em;text-transform:uppercase}
.lado .wa{background:var(--wa);border-color:var(--wa);color:#fff}
.lado .wa small{color:#e8fff0}
.lado .wa b{font-size:20px}

/* notícias */
.lista{padding-block:clamp(56px,8vw,112px)}
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.post{border-radius:24px;overflow:hidden;background:var(--navy-800);display:grid;grid-template-rows:auto 1fr;transition:transform .5s cubic-bezier(.2,.8,.2,1);min-width:0}
.post:hover{transform:translateY(-6px)}
.post figure{margin:0;aspect-ratio:4/3;overflow:hidden}
.post img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.post:hover img{transform:scale(1.05)}
.post div{padding:22px 24px 26px;display:grid;gap:10px;align-content:start}
.post .mono{color:var(--sky)}
.post h2{font-size:21px;font-weight:700;letter-spacing:-.015em;line-height:1.25}
.post p{color:var(--mist);font-size:15px}
.post .ler{color:var(--sky);font-weight:600;font-size:14px;margin-top:4px}
.post.grande{grid-column:span 2;grid-template-columns:1.2fr 1fr;grid-template-rows:auto}
.post.grande figure{aspect-ratio:auto;min-height:340px}
.post.grande div{padding:clamp(26px,4vw,52px);align-content:center}
.post.grande h2{font-size:clamp(26px,3vw,40px)}

/* artigo */
.artigo{padding-block:clamp(56px,8vw,112px)}
.artigo .in{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,6vw,96px);align-items:start}
.texto{max-width:70ch;display:grid;gap:20px;font-size:18px;color:#dfe7f4;min-width:0}
.texto h2{font-size:clamp(24px,2.4vw,32px);font-weight:800;color:#fff;margin-top:26px;scroll-margin-top:calc(var(--navh,80px) + 24px)}
.texto ul{margin:0;padding-left:22px;display:grid;gap:10px}
.texto li::marker{color:var(--sky)}
.texto b{color:#fff}
.texto .fonte{font-size:14px;color:var(--mist);border-top:1px solid var(--line);padding-top:16px}
.cap{border-radius:24px;overflow:hidden;margin-bottom:8px}
.aside-art{position:sticky;top:calc(var(--navh,80px) + 24px);display:grid;gap:14px}
.aside-art .bx{border-radius:22px;background:var(--brand);padding:24px;display:grid;gap:12px}
.aside-art .bx h3{font-size:20px;font-weight:800}
.aside-art .bx p{color:#dbe6ff;font-size:15px}
.lendo{position:fixed;left:0;top:calc(env(safe-area-inset-top,0px) + var(--navh,80px));height:2px;width:100%;background:var(--sky);transform-origin:left;transform:scaleX(0);z-index:49}

@media (max-width:1000px){
  .outros-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post.grande{grid-column:span 2;grid-template-columns:1fr}
  .post.grande figure{min-height:0;aspect-ratio:16/9}
}
@media (max-width:900px){
  .p-hero .in,.final-g,.orc .in,.artigo .in{grid-template-columns:1fr}
  .corpo .in{grid-template-columns:1fr}
  .sumario{position:static;display:flex;flex-wrap:wrap;gap:8px}
  .sumario .mono{width:100%;margin-bottom:0}
  .sumario a{border:1px solid var(--line);border-radius:99px;padding:6px 12px}
  .ficha .in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ficha .in > div:nth-child(3){border-left:0;padding-left:0}
  .ficha .in > div:nth-child(n+3){border-top:1px solid var(--line)}
  .lado,.aside-art{position:static}
}
@media (max-width:560px){
  .outros-g,.posts{grid-template-columns:1fr}
  .post.grande{grid-column:auto}
  .form .duo{grid-template-columns:1fr}
  .whats span{display:none}.whats{padding:13px}
  .p-photo{border-radius:22px 22px 22px 80px}
}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
