/* Seções novas no padrão do tema escuro: linha do tempo da obra,
   "Como contratamos", contato com perguntas frequentes, régua do rodapé,
   menu do celular em tela cheia e profundidade dos cartões. */

/* Cabeçalhos das seções novas */
.trace-sec .trace-eyebrow,.hire .hire-eyebrow{display:block;margin-bottom:4px;font:600 .875rem/1.25rem var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--d-gold-2,#e8b92a)!important}
.trace-sec .section-title{color:var(--d-text,#eef4f6)!important}
.hire .live-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px}
.hire .live-head>div{display:grid;gap:4px;max-width:34rem}
.trace-sec,.hire{padding-block:clamp(4.5rem,9vw,7rem)}

/* ════════ Linha do tempo da obra ════════ */
.trace-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.trace-lede{margin:18px 0 0;font-size:1.1rem;line-height:1.65;color:var(--d-muted,#adc1c9)}
.trace-points{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.trace-points li{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:14px;padding-top:14px;border-top:1px solid var(--d-line,rgba(205,228,236,.12));color:var(--d-muted,#adc1c9);font-size:1.02rem;line-height:1.55}
.trace-points li span{padding-top:2px;font:600 .78rem/1.4 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--d-gold-2,#e8b92a)}
.trace-sheet{min-width:0;padding:22px;border-radius:20px;background:#0e2a35;color:#eef4f6;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(205,228,236,.1),0 30px 50px -30px rgba(0,0,0,.85)}
.trace-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(205,228,236,.12)}
.trace-head strong{font:700 1.05rem/1.2 var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:#fff}
.trace-head span{font-size:.86rem;color:#9fb5bd;text-align:right}
.trace-scroll{margin:16px 0 14px;padding:10px 8px 6px;border-radius:14px;background:#061a22;box-shadow:inset 0 2px 8px rgba(0,0,0,.55),0 0 0 1px rgba(205,228,236,.08)}
.trace-svg{display:block;width:100%;height:auto;overflow:visible}
.trace-svg text{font-family:var(--font-body);letter-spacing:0}
.tr-axis{fill:rgba(205,228,236,.5);font-size:10px}
.tr-grid{stroke:rgba(205,228,236,.08);stroke-width:1}
.tr-lane-bg{fill:rgba(205,228,236,.03)}
.tr-lane-l{fill:rgba(205,228,236,.72);font-size:11px;font-weight:600}
.tr-lane-l.you{fill:#ffcf7d}
.tr-bar-bg{fill:none;stroke:rgba(205,228,236,.3);stroke-width:1;stroke-dasharray:3 3}
.tr-bar-fg{fill:#e8b92a}
.tr-bar.gate .tr-bar-bg{stroke:rgba(255,195,90,.6)}
.tr-bar.gate .tr-bar-fg{fill:#ffc35a}
.tr-bar.now .tr-bar-bg{stroke:#fff;stroke-dasharray:none}
.tr-name{fill:#fff;font-size:11.5px;font-weight:600}
.tr-name-bg{fill:rgba(6,22,29,.92)}
.tr-conf-area{fill:rgba(111,211,154,.12)}
.tr-conf-line{fill:none;stroke:#8ee2b0;stroke-width:1.8;stroke-linejoin:round}
.tr-conf-ghost{fill:none;stroke:rgba(205,228,236,.18);stroke-width:1.2;stroke-dasharray:2 3}
.tr-thresh{stroke:rgba(111,211,154,.5);stroke-dasharray:4 4}
.tr-thresh-l{fill:rgba(142,226,176,.85);font-size:10px}
.tr-conf-l{fill:rgba(205,228,236,.6);font-size:10.5px;font-weight:600}
.tr-dot{fill:#fff;stroke:#0e2a35;stroke-width:2}
.tr-note{opacity:0;transition:opacity .4s ease}
.tr-note.on{opacity:1}
.tr-note text{fill:#ffcf7d;font-size:10px}
.tr-note line{stroke:rgba(255,195,90,.6)}
.tr-head-line{stroke:#fff;stroke-width:1.4}
.tr-head-knob{fill:#e8b92a}
.tr-head-t{fill:#06161d;font-size:10px;font-weight:700}
.tr-wait{opacity:0;transition:opacity .35s ease}
.tr-wait.on{opacity:1}
.tr-wait rect{fill:rgba(255,195,90,.16);stroke:rgba(255,195,90,.7)}
.tr-wait text{fill:#ffd99a;font-size:11px;font-weight:700}
.tr-ok rect{fill:rgba(111,211,154,.16);stroke:rgba(111,211,154,.7)}
.tr-ok text{fill:#8ee2b0}
.tr-ring{fill:none;stroke:#ffc35a;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:tr-ring 1.6s ease-out infinite}
@keyframes tr-ring{from{transform:scale(.6);opacity:.9}to{transform:scale(2.2);opacity:0}}
.trace-read{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-radius:12px;background:#061a22;box-shadow:inset 0 2px 8px rgba(0,0,0,.5);overflow:hidden}
.trace-read div{display:grid;gap:3px;padding:10px 12px}
.trace-read div+div{border-left:1px solid rgba(205,228,236,.06)}
.trace-read dt{font:600 .7rem/1.2 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#8ea6af}
.trace-read dd{margin:0;font:600 .95rem/1.3 var(--font-body);color:#fff}
.trace-ctl{display:flex;align-items:center;gap:14px;margin:16px 0 6px}
.trace-play{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:none;border:0;border-radius:50%;background:#e8b92a;color:#06161d;cursor:pointer;box-shadow:0 6px 16px -6px rgba(232,185,42,.6)}
.trace-play svg{width:1rem;height:1rem}
.trace-play .i-play{display:none}
.trace-play[aria-pressed="false"] .i-play{display:block}
.trace-play[aria-pressed="false"] .i-pause{display:none}
.trace-steps{position:relative;flex:1;display:flex;justify-content:space-between}
.trace-steps::before{content:"";position:absolute;left:1rem;right:1rem;top:50%;border-top:1px dashed rgba(205,228,236,.25)}
.trace-steps button{position:relative;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid rgba(205,228,236,.28);background:#0a2430;color:#fff;font:700 .85rem var(--font-body);cursor:pointer;transition:background .3s ease,color .3s ease,transform .3s ease}
.trace-steps button:hover{transform:scale(1.08)}
.trace-steps button[aria-pressed="true"]{background:#e8b92a;color:#06161d;border-color:#e8b92a;box-shadow:0 0 0 4px rgba(232,185,42,.2)}
.trace-steps button:focus-visible,.trace-play:focus-visible{outline:2px solid #fff;outline-offset:3px}
.trace-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 14px;padding-top:12px;font-size:.86rem;color:#9fb5bd}
.trace-foot b{color:#fff}
@media (max-width:980px){.trace-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .trace-sheet{padding:14px}
  .trace-scroll{overflow-x:auto}
  .trace-svg{min-width:34rem}
  .trace-read{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trace-read div:nth-child(3){border-left:0}
  .trace-read div:nth-child(n+3){border-top:1px solid rgba(205,228,236,.06)}
  .trace-ctl{gap:8px}
  .trace-steps button{width:1.9rem;height:1.9rem}
  .trace-points li{grid-template-columns:minmax(0,1fr);gap:4px}
}

/* ════════ Como contratamos ════════ */
.hire .section-title,.hire-card h3{color:var(--d-text,#eef4f6)}
.hire .live-head .section-subtitle{max-width:40ch;color:var(--d-muted,#adc1c9)}
.hire-card p,.hire-list li{color:var(--d-muted,#adc1c9)}
.hire-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:none}
.hire-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 22px 26px;border-radius:18px;background:var(--d-surface,#0e2a35);
  border:1px solid var(--d-line,rgba(205,228,236,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 50px -30px rgba(0,0,0,.85)}
.hire-card:not(:last-child)::after{content:"";position:absolute;top:44px;right:-19px;width:20px;height:1px;background:rgba(232,185,42,.55)}
.hire-card-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--d-line,rgba(205,228,236,.12));font:600 .76rem/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--d-muted,#adc1c9)}
.hire-ico{display:grid;place-items:center;width:2.6rem;height:2.6rem;flex:none;border-radius:50%;background:rgba(232,185,42,.14);box-shadow:0 0 0 1px rgba(232,185,42,.4)}
.hire-ico .sol-icon{width:1.2rem;height:1.2rem;color:#fff!important}
.hire-card h3{margin:4px 0 0;font:600 1.45rem/1.2 var(--font-heading)}
.hire-card p{margin:0;font-size:1rem;line-height:1.6}
.hire-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:8px}
.hire-list li{position:relative;padding-left:1.2rem;font-size:.95rem}
.hire-list li::before{content:"";position:absolute;left:0;top:.72em;width:.6rem;height:1px;background:var(--d-gold-2,#e8b92a)}
.hire-card--featured{background:#eef4f6;border-color:#eef4f6}
.hire-card--featured,.hire-card--featured :is(h3,p,li,span){color:#0d3340!important}
.hire-card--featured .hire-card-head{border-color:rgba(13,51,64,.14)}
.hire-card--featured .hire-ico{background:#0d3340;box-shadow:none}
.hire-card--featured .hire-list li::before{background:#0d3340}
.hire-card--featured .hire-cta{margin-top:auto;align-self:flex-start}
.hire-card--featured .hire-cta span:first-child{color:#06161d!important}
.hire-card--featured .hire-cta .hp-cta-disc{color:#fff}
@media (max-width:1100px){.hire-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hire-card::after{display:none}}
@media (max-width:640px){.hire-grid{grid-template-columns:minmax(0,1fr)}}

/* ════════ Contato e perguntas frequentes lado a lado ════════ */
main>section.contato-faq{background-image:linear-gradient(180deg,rgba(6,22,29,.9),rgba(6,22,29,.97)),url('../../img/fundo-planta-tecnica.webp')!important;background-size:cover!important;background-position:center!important;padding-block:clamp(4.5rem,9vw,7rem)}
.contato-faq-grid{width:min(1240px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,4.5vw,4rem);align-items:start}
.contato-faq-grid>.cta,.contato-faq-grid>.faq{background:none!important;padding:0!important;text-align:left!important;overflow:visible}
.contato-faq-grid .container{width:auto!important;max-width:none!important;padding:0!important;margin:0!important}
.contato-faq-grid .cta h2{margin:0;font:600 clamp(1.9rem,3vw,2.6rem)/1.15 var(--font-heading);color:#fff!important;text-align:left}
.contato-faq-grid .cta>.container>p{margin:14px 0 0;max-width:46ch;text-align:left}
.contato-faq-grid .orc-form{margin:28px 0 0;max-width:none}
.contato-faq-grid .orc-or{text-align:left!important;margin-left:0!important}
.contato-faq-grid .cta-buttons{justify-content:flex-start}
.contato-faq-grid .faq .section-header{margin-bottom:22px}
.contato-faq-grid .faq-grid{display:grid;gap:10px;max-width:none}
.contato-faq-grid .faq-item{border-radius:14px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important}
.contato-faq-grid .faq-item.active,.contato-faq-grid .faq-item.open{border-color:rgba(232,185,42,.45)!important}
@media (max-width:980px){.contato-faq-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.contato-faq-grid{width:calc(100% - 32px)}}

/* ════════ Régua do rodapé ════════ */
.footer-scale{display:flex;justify-content:space-between;margin-top:48px;padding-top:12px;font:600 .72rem/1 var(--font-body);letter-spacing:.08em;color:rgba(205,228,236,.45);
  border-top:1px solid rgba(205,228,236,.26);
  background:repeating-linear-gradient(to right,rgba(205,228,236,.3) 0 1px,transparent 1px calc(100% / 30)) top/100% 6px no-repeat,
             repeating-linear-gradient(to right,rgba(232,185,42,.7) 0 1px,transparent 1px calc(100% / 6)) top/100% 11px no-repeat}
.footer-scale span{transform:translateX(-50%)}
.footer-scale span:first-child,.footer-scale span:last-child{transform:none}
.footer-contact-item a{color:inherit;text-decoration:none}
.footer-contact-item a:hover{color:var(--d-gold-2,#e8b92a)}

/* ════════ Cabeçalho: seção atual e menu do celular em tela cheia ════════ */
.site-header-link.is-current,.site-header-item--dropdown.is-current>.site-header-link{color:#fff!important;background:rgba(255,255,255,.1);border-radius:999px;box-shadow:inset 0 0 0 1px rgba(232,185,42,.35)}
@media (min-width:901px){.site-header-link.is-current,.site-header-item--dropdown.is-current>.site-header-link{padding:6px 12px;margin:-6px -12px}}
@media (max-width:900px){
  .site-header-nav.open .site-header-links{position:fixed;inset:0;top:0;left:0;right:0;max-height:none;height:100dvh;padding:96px max(20px,env(safe-area-inset-right)) 32px max(20px,env(safe-area-inset-left));
    border:0;border-radius:0;gap:2px;background:radial-gradient(60% 50% at 85% 10%,rgba(232,185,42,.12),transparent 70%),#06161d;box-shadow:none;
    animation:menu-in .55s cubic-bezier(.7,0,.2,1) both}
  .site-header-nav.open .site-header-links>li{border-bottom:1px solid rgba(205,228,236,.12)}
  .site-header-nav.open .site-header-links>li>.site-header-link{min-height:0;padding:14px 4px;font:600 clamp(1.6rem,7vw,2.4rem)/1.1 var(--font-heading);color:#fff;border-radius:0;background:none}
  .site-header-nav.open .site-header-links>li>.site-header-link--cta{margin-top:16px;padding:16px 20px;border-radius:999px;background:#e8b92a;color:#06161d;text-align:center;font-size:1.25rem}
  .site-header-nav.open .site-header-dropdown a{font-size:1.05rem}
  .site-header{z-index:1001}
  .site-header-toggle{position:relative;z-index:2}
  .site-header-brand{position:relative;z-index:2}
}
@keyframes menu-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}

/* ════════ Profundidade dos cartões do resto do site ════════ */
main :is(.diferencial-card,.servico-card,.segmento-card,.sobre-feature,.proposito-card,.depoimento-card,.home-article-card,.norma-card){
  border-radius:18px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 50px -30px rgba(0,0,0,.85)!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 45%)!important;transition:transform .25s ease,border-color .25s ease,background-color .25s ease}
main :is(.diferencial-card,.servico-card,.segmento-card,.home-article-card,.norma-card):hover{transform:translateY(-3px)!important}

@media (prefers-reduced-motion:reduce){
  .dot--run,.st--run .st-ic,.tr-ring,.st--fresh{animation:none}
  .site-header-nav.open .site-header-links{animation:none}
  main :is(.diferencial-card,.servico-card,.segmento-card,.home-article-card,.norma-card):hover{transform:none!important}
}
.desembargo-teaser-visual img.foto-real-obra{object-position:70% 50%!important}

/* ════════ SOL em campo: vídeos reais verticais ════════ */
.campo{padding-block:clamp(4.5rem,9vw,7rem)}
.campo .campo-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px}
.campo .campo-head>div{display:grid;gap:4px;max-width:34rem}
.campo .campo-head .section-subtitle{max-width:40ch}
.campo-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.campo-item figure{position:relative;margin:0;aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#041118;
  box-shadow:inset 0 0 0 1px rgba(205,228,236,.12),0 30px 50px -30px rgba(0,0,0,.85)}
.campo-video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.campo-item:hover .campo-video{transform:scale(1.04)}
.campo-item figcaption{position:absolute;left:0;right:0;bottom:0;display:grid;gap:8px;justify-items:start;padding:46px 14px 14px;
  background:linear-gradient(180deg,rgba(4,17,24,0) 0%,rgba(4,17,24,.85) 55%);font:600 .95rem/1.3 var(--font-body);color:#fff!important}
.campo-tag{padding:3px 10px;border-radius:999px;background:#e8b92a;color:#06161d;font:700 .72rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
@media (max-width:1100px){
  .campo-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-inline:-20px;padding-inline:20px;scrollbar-width:thin}
  .campo-item{flex:0 0 clamp(200px,42vw,260px);scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){.campo-video{transition:none}.campo-item:hover .campo-video{transform:none}}
