
/* Layout: faixa superior fixa, hero com picos triangulares da marca, serviços em colunas, galeria em mosaico, etapas da obra, contato em faixa escura. */
:root{
  --bg:#F5F7FB; --surface:#FFFFFF; --fg:#111A2E; --muted:#58637A; --line:#D8DEEA;
  --navy:#0A2C66; --red:#B42B2B; --red-fg:#FFFFFF; --band:#1A1040; --band-fg:#F2F4FA; --band-muted:#B9BFD6;
  --link:#0A2C66; --tile-a:#E3E8F3; --tile-b:#EFD9D9;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0D1120; --surface:#151A2E; --fg:#EDF0F8; --muted:#9AA4BD; --line:#283050;
  --navy:#7AA2FF; --red:#E4574F; --red-fg:#12060A; --band:#080A18; --band-fg:#F2F4FA; --band-muted:#A5AECB;
  --link:#8FB0FF; --tile-a:#1B2342; --tile-b:#35202A; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0D1120; --surface:#151A2E; --fg:#EDF0F8; --muted:#9AA4BD; --line:#283050;
  --navy:#7AA2FF; --red:#E4574F; --red-fg:#12060A; --band:#080A18; --band-fg:#F2F4FA; --band-muted:#A5AECB;
  --link:#8FB0FF; --tile-a:#1B2342; --tile-b:#35202A; color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font:400 17px/1.6 var(--body);margin:0}
a{color:inherit}
.wrap{max-width:1120px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.02;margin:0;text-wrap:balance;letter-spacing:.005em}
h2{font-size:clamp(34px,5vw,52px)}
h3{font-size:26px}
.eyebrow{font:600 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 14px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;font:700 17px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer}
.btn-red{background:var(--red);color:var(--red-fg)}
.btn-red:hover{filter:brightness(1.1)}
.btn-line{border-color:var(--fg);color:var(--fg);background:transparent}
.btn-line:hover{background:var(--fg);color:var(--bg)}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.brand img{width:48px;height:48px;background:#fff;border-radius:4px;flex:none}
.brand b{font:700 22px/1 var(--display);letter-spacing:.03em;text-transform:uppercase}
.brand small{display:block;font:500 12px/1.2 var(--body);color:var(--muted);letter-spacing:.06em}
nav{display:flex;gap:26px;align-items:center}
nav a{font:600 15px/1 var(--body);text-decoration:none;color:var(--muted)}
nav a:hover{color:var(--fg)}
nav .btn{padding:11px 16px;font-size:15px;color:var(--red-fg)}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.peaks{position:absolute;right:-40px;bottom:0;width:min(560px,70%);height:100%;pointer-events:none;opacity:.9}
.peaks i{position:absolute;bottom:0;width:36%;background:var(--navy);clip-path:polygon(0 100%,50% 0,100% 100%,78% 100%,50% 36%,22% 100%)}
.peaks i:nth-child(1){left:0;height:62%;background:var(--red)}
.peaks i:nth-child(2){left:30%;height:84%;background:var(--band)}
.peaks i:nth-child(3){left:60%;height:70%}
.hero .wrap{position:relative;padding-block:clamp(48px,9vw,110px)}
.hero h1{font-size:clamp(46px,9vw,104px);max-width:11ch;text-transform:uppercase}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p.lead{max-width:34em;font-size:19px;color:var(--muted);margin:22px 0 30px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.specs{display:flex;gap:10px 28px;flex-wrap:wrap;margin:38px 0 0;padding:0;list-style:none;font:600 14px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.specs li::before{content:"";display:inline-block;width:8px;height:8px;background:var(--red);margin-right:9px}

section{padding-block:clamp(56px,8vw,96px)}
.head{display:grid;gap:12px;margin-bottom:40px;max-width:46em}
.head p{margin:0;color:var(--muted)}

/* services */
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.svc{background:var(--surface);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:14px;min-width:0}
.svc.pu{border-top:6px solid var(--navy)}
.svc.ep{border-top:6px solid var(--red)}
.svc p{margin:0;color:var(--muted)}
.svc ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.svc li{padding-left:22px;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:3px;background:var(--red)}
.svc.pu li::before{background:var(--navy)}

/* gallery */
.gallery{background:var(--surface);border-block:1px solid var(--line)}
.grid{columns:3 260px;column-gap:14px}
.shot{break-inside:avoid;margin:0 0 14px;position:relative;background:var(--tile-a);cursor:zoom-in;border:0;padding:0;display:block;width:100%;text-align:left;font:inherit;color:inherit}
.shot img{display:block;width:100%;height:auto}
.shot span{display:block;background:var(--band);color:var(--band-fg);font:600 13px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;padding:10px 12px}
.shot:hover span{background:var(--red);color:var(--red-fg)}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(96vw,1100px);max-height:92vh;overflow:visible}
dialog.lb::backdrop{background:rgba(5,6,16,.86)}
dialog.lb img{display:block;max-width:100%;max-height:82vh;margin:auto;object-fit:contain}
dialog.lb p{margin:10px 0 0;color:#fff;text-align:center;font-size:15px}
dialog.lb button{position:absolute;top:-44px;right:0;background:#fff;color:#111;border:0;font:700 15px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;cursor:pointer}
.videos{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}
.vid{margin:0;flex:1 1 320px;min-width:0;background:var(--surface);border:1px solid var(--line)}
.vid.tall{flex:0 1 340px}
.vid video{display:block;width:100%;height:auto;background:#000;max-height:76vh}
.vid figcaption{padding:14px 16px;font-size:15px;color:var(--muted)}
.vid figcaption b{display:block;color:var(--fg);font:700 20px/1.1 var(--display);text-transform:uppercase;margin-bottom:4px}
.hero-img{margin:0;position:relative;min-width:0}
.hero-img img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.hero-img figcaption{background:var(--band);color:var(--band-fg);font:600 13px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;padding:10px 12px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center}
.prep{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;margin-top:44px}
.prep img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.prep p{margin:0;color:var(--muted)}
.prep h3{margin-bottom:10px;text-transform:uppercase}

/* process */
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:s;border-top:3px solid var(--fg)}
.step{padding:22px 18px 8px 0;counter-increment:s;min-width:0}
.step::before{content:counter(s);display:block;font:800 44px/1 var(--display);color:var(--red);margin-bottom:10px}
.step h3{font-size:22px;margin-bottom:8px;text-transform:uppercase}
.step p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}

/* contact */
.contact{background:var(--band);color:var(--band-fg)}
.contact .eyebrow{color:#FF8A82}
.contact .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px}
.contact p{color:var(--band-muted);margin:14px 0 0}
.card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);padding:26px;display:grid;gap:16px;align-self:start}
.card label{display:grid;gap:6px;font:600 13px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted)}
.card select,.card textarea{font:400 17px/1.4 var(--body);padding:12px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:var(--band-fg);width:100%}
.card select option{color:#111A2E}
.card textarea{min-height:92px;resize:vertical}
.card .btn{justify-content:center}
.info{margin:30px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.info li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;font-size:17px}
.info b{font:600 13px/1.8 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted)}
.info span{user-select:all;overflow-wrap:anywhere}
footer{background:var(--band);color:var(--band-muted);border-top:1px solid rgba(255,255,255,.12);font-size:14px}
footer .wrap{padding-block:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

@media (max-width:900px){
  nav a:not(.btn){display:none}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;border-top:0}
  .step{border-top:3px solid var(--fg)}
  .contact .wrap{grid-template-columns:minmax(0,1fr);gap:32px}
  .hero-grid,.prep{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  body{font-size:16px}
  .cols{grid-template-columns:minmax(0,1fr)}
  .grid{columns:2 140px;column-gap:10px}
  .shot{margin-bottom:10px}
  .shot span{font-size:11px;padding:8px}
  .peaks{opacity:.28;width:100%}
  .brand small{display:none}
  .info li{grid-template-columns:minmax(0,1fr)}
  .info b{line-height:1.2}
}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.tab{font:700 16px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;padding:11px 18px;border:2px solid var(--fg);background:transparent;color:var(--fg);cursor:pointer}
.tab[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.tab small{font:600 12px/1 var(--body);margin-left:6px;opacity:.75}
.chip{display:inline-block;font:700 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;padding:4px 7px;margin-left:8px;background:var(--red);color:var(--red-fg);vertical-align:1px}
.chip.pu{background:transparent;color:var(--band-fg);border:1px solid var(--band-muted)}
.empty{color:var(--muted);padding:30px 0}
.admin{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 22px;padding:12px 14px;border:1px dashed var(--navy)}
.admin .st{font-size:14px;color:var(--muted);flex:1 1 200px;min-width:0}
.admin .tools{display:flex;gap:10px;flex-wrap:wrap}
.mini{font:700 14px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;border:1px solid var(--fg);background:var(--surface);color:var(--fg);cursor:pointer}
.mini.go{background:var(--red);border-color:var(--red);color:var(--red-fg)}
.mini:disabled{opacity:.5;cursor:default}
.shot.edit{cursor:default;background:var(--surface);border:1px solid var(--line)}
.shot.edit .ctl{padding:10px;display:grid;gap:8px}
.shot.edit input,.shot.edit select{font:400 15px/1.3 var(--body);padding:9px;border:1px solid var(--line);background:var(--bg);color:var(--fg);width:100%}
.shot.edit .row{display:flex;gap:6px;flex-wrap:wrap}
.shot.edit .mini{padding:8px 10px;font-size:13px}
.shot.edit .mini.bad{border-color:var(--red);color:var(--red)}
.shot.edit .mini.bad.sure{background:var(--red);color:var(--red-fg)}
.info a{text-decoration:underline;text-underline-offset:3px}
.fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:25;display:inline-flex;align-items:center;gap:10px;background:#1FA855;color:#fff;text-decoration:none;font:700 16px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;padding:14px 18px;box-shadow:0 6px 20px rgba(0,0,0,.28)}
.fab:hover{filter:brightness(1.08)}
@media (max-width:640px){.fab span{display:none}.fab{padding:14px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* base (no claude.ai esse reset vinha do hospedeiro) */
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
