@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter/inter-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter/inter-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter/inter-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter/inter-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter/inter-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/manrope/manrope-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/manrope/manrope-latin-variable.woff2") format("woff2");
}

:root{
  --navy:#12213D;
  --blue:#2875E5;
  --blue-text:#1F63BC;
  --white:#FFFFFF;
  --red:#DB1D46;
  --blue-light:#B4C6E7;
  --ink:#182033;
  --muted:#667085;
  --line:#E3E8F0;
  --surface:#F6F8FB;
  --radius:22px;
  --shadow:0 18px 50px rgba(18,33,61,.10);
  --section-spacing:70px;
  --header-height:78px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:calc(var(--header-height) + 3px)}
.intro-content-screen,#sobre,#servicos,#portefolio,#contacto{min-height:calc(100svh - var(--header-height) - 3px)}
.contact-section{--contact-content-gap:clamp(20px,2.5svh,36px);height:auto;min-height:calc(100svh - var(--header-height) - 3px);background:var(--navy)}
.intro-content-screen{background:#fbfcfe}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
}
p{text-align:justify;hyphens:none;word-break:normal;overflow-wrap:normal}
img{max-width:100%;display:block;-webkit-user-drag:none;user-select:none}
video{-webkit-user-drag:none;user-select:none}
a{text-decoration:none;color:inherit}
.container{width:min(1320px,calc(100% - 64px));margin-inline:auto}

.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--navy);
  border-bottom:3px solid var(--blue);
}
.nav-wrap{height:var(--header-height);display:flex;align-items:center;gap:30px}
.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;min-width:auto}
.brand-symbol{width:69px;height:69px;object-fit:contain;display:block}
.brand-divider{
  width:2px;
  height:42px;
  background:linear-gradient(
    to bottom,
    rgba(255,255,255,.08) 0%,
    #fff 50%,
    rgba(255,255,255,.08) 100%
  );
  border-radius:999px;
}
.brand-wordmark{width:172px;height:52px;object-fit:contain;display:block}
.main-nav{display:flex;flex:1;align-items:center;justify-content:center;gap:28px;margin-left:0}
.main-nav a{color:#fff;font-weight:600;font-size:14px;opacity:.9;text-transform:uppercase;letter-spacing:.04em}
.main-nav a:hover{color:#ffffff}
.menu-toggle{
  display:none;margin-left:auto;width:48px;height:48px;padding:0;background:none;border:0;
  color:#fff;font-size:26px;cursor:pointer
}
.header-actions{display:flex;align-items:center;gap:18px;min-width:max-content}
.language-switcher{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:26px;height:46px;padding:3px 0;border:1px solid rgba(255,255,255,.11);border-radius:6px;background:rgba(255,255,255,.03)}
/* Seletor de idioma temporariamente oculto ate implementacao da versao inglesa. */
.language-switcher.language-switcher-temporarily-hidden{display:none}
.language-option{display:grid;place-items:center;width:20px;height:17px;padding:0;border:0;background:none;opacity:.45;cursor:pointer;transition:.2s ease}
.language-option:hover,.language-option.is-active{opacity:1}
.language-option.is-active{transform:translateY(-1px)}
.language-flag{display:block;width:16px;height:11px;border-radius:1px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.language-separator{width:13px;height:1px;background:rgba(255,255,255,.14)}
.header-phone{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;font-weight:600;white-space:nowrap}
.header-phone svg{width:20px;height:20px;color:var(--red);flex:none}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 22px;border-radius:10px;font-weight:700;
  border:1px solid transparent;transition:.2s ease;cursor:pointer
}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(219,29,70,.22)}
.hero-actions .btn-primary:hover{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 10px 26px rgba(40,117,229,.28)}
.btn-secondary{border-color:var(--blue);background:var(--blue);color:#fff}
.btn-secondary:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.btn-outline{border-color:rgba(255,255,255,.36);color:#fff}
.btn-outline:hover{background:#fff;color:var(--navy)}

.hero{
  padding:var(--section-spacing) 0 8px;
  background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)
}
.hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}
.eyebrow{margin:0 0 14px;color:var(--blue-text);font-size:13px;font-weight:800;letter-spacing:.12em}
h1,h2,h3{font-family:Manrope,sans-serif;color:var(--navy);margin-top:0}
h1{font-size:clamp(20px,2.25vw,32px);line-height:1.04;letter-spacing:-.04em;margin-bottom:24px;max-width:700px}
h1 span{color:var(--navy);font-size:inherit;font-weight:inherit}
.hero-title-pair{display:inline-block;line-height:.92}
.hero-lead{font-size:19px;font-weight:600;line-height:1.2;color:#2d3748;margin:0 0 14px;max-width:670px}
.hero-text{font-size:16px;line-height:1.42;color:var(--muted);max-width:680px;margin:0 0 28px}
.quality-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:18px 24px;margin:0 0 15px}
.quality-grid>div{position:relative;display:flex;min-height:48px;padding-left:46px;flex-direction:column;justify-content:center}
.quality-grid strong,.quality-grid span{display:block}
.quality-grid strong{color:var(--navy);font-size:14px}
.quality-grid span{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.45}
.quality-icon{position:absolute;left:0;top:50%;width:34px;height:34px;padding:7px;border:1px solid rgba(40,117,229,.2);border-radius:9px;background:rgba(40,117,229,.06);color:var(--blue);stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;transform:translateY(-50%)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

.hero-media{position:relative}
.hero-carousel{position:relative;min-height:460px;border:0;border-radius:16px;overflow:hidden;background:var(--navy);box-shadow:none}
.carousel-track,.carousel-slide{position:absolute;inset:0}
.carousel-slide{margin:0;opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .55s ease,transform .7s ease,visibility .55s}
.carousel-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.carousel-slide img{width:100%;height:100%;object-fit:cover}
.hero-carousel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(18,33,61,.28));pointer-events:none}
.carousel-button{position:absolute;z-index:2;bottom:6px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(18,33,61,.3);color:rgba(255,255,255,.78);font-size:18px;font-weight:400;cursor:pointer;backdrop-filter:blur(5px);transition:.2s ease}
.carousel-button:hover{border-color:rgba(255,255,255,.28);background:rgba(18,33,61,.55);color:#fff}
.carousel-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.carousel-previous{left:calc(50% - 78px)}
.carousel-next{right:calc(50% - 78px)}
.carousel-dots{position:absolute;z-index:2;left:50%;bottom:20px;display:flex;gap:8px;transform:translateX(-50%)}
.carousel-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;transition:.2s ease}
.carousel-dot.is-active{width:25px;border-radius:5px;background:#fff}
.intro-video-section{display:grid;width:100%;height:calc(100svh - var(--header-height) - 3px);min-height:0;background:var(--navy)}
.intro-video-frame{position:relative;display:grid;place-items:center;overflow:hidden;width:100%;height:100%;background:var(--navy)}
.intro-video{display:block;width:100%;height:auto;min-height:100%;object-fit:cover;object-position:center center;background:var(--navy);pointer-events:auto;cursor:pointer}
.video-audio-controls{position:absolute;right:24px;bottom:24px;z-index:2;display:flex;gap:8px}
.video-volume-control{position:relative;width:32px;height:32px}
.video-volume-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:rgba(18,33,61,.18);color:rgba(255,255,255,.68);opacity:.55;cursor:pointer;backdrop-filter:blur(6px);transition:.2s ease}
.video-volume-control:hover .video-volume-button,.video-volume-button:focus-visible{background:rgba(18,33,61,.7);border-color:rgba(255,255,255,.4);color:#fff;opacity:1}
.video-volume-control::after{content:"";position:absolute;left:0;bottom:100%;width:100%;height:10px}
.video-volume-popover{position:absolute;left:50%;bottom:calc(100% + 8px);display:grid;place-items:center;width:30px;height:88px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(18,33,61,.68);opacity:0;visibility:hidden;transform:translate(-50%,8px);backdrop-filter:blur(8px);transition:.2s ease;pointer-events:none}
.video-volume-control:hover .video-volume-popover,.video-volume-control:focus-within .video-volume-popover{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.video-volume-slider{width:4px;height:64px;margin:0;accent-color:#fff;cursor:pointer;writing-mode:vertical-lr;direction:rtl}
.sound-icon{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sound-audible{display:none}
.video-volume-button:not(.is-muted) .sound-muted{display:none}
.video-volume-button:not(.is-muted) .sound-audible{display:block}
#sobre{padding-bottom:var(--section-spacing)}
.commitments{padding:0 0 var(--section-spacing);background:#fbfcfe}
.commitments-panel{padding:8px 0 0}
.process-heading{max-width:760px}
.process-heading h2,#sobre h2,#servicos .section-heading h2,#portefolio .section-heading h2{font-size:clamp(20px,2.25vw,32px);line-height:1.1;margin-bottom:14px}
.contact h2{font-size:clamp(20px,2.25vw,32px);line-height:1.1;margin-bottom:14px}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:27px}
.process-step{min-width:0;padding:0}
.process-line{position:relative;display:flex;align-items:center;gap:12px;height:44px;margin:0 0 20px}
.process-line::after{content:"";align-self:center;height:1px;min-width:12px;flex:1;background:var(--line);transform:translateY(.5px)}
.process-icon{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(40,117,229,.25);border-radius:12px;background:#fff;color:var(--blue);box-shadow:0 8px 22px rgba(40,117,229,.1)}
.process-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.process-step:last-child{padding-right:0}
.process-step h3{margin:0;flex:none;font-size:19px;line-height:1.2;white-space:nowrap}
.process-step p{width:100%;max-width:none;margin:0;color:var(--muted);font-size:14px;line-height:1.4}

@media (min-width:981px) and (max-height:800px){
  #inicio .hero-carousel{min-height:340px}
  #inicio h1{margin-bottom:16px}
  #inicio .hero-lead{font-size:17px;line-height:1.15;margin-bottom:9px}
  #inicio .hero-text{font-size:14px;line-height:1.3;margin-bottom:18px}
  #inicio .quality-grid{gap:10px 24px;margin-bottom:8px}
  #inicio .quality-grid>div{min-height:40px}
  #inicio .quality-grid strong{font-size:13px}
  #inicio .quality-grid span{font-size:11px}
  #inicio .process-heading h2{margin-bottom:8px}
  #inicio .process-grid{margin-top:16px}
  #inicio .process-line{height:38px;margin-bottom:12px}
  #inicio .process-icon{width:38px;height:38px}
  #inicio .process-icon svg{width:20px;height:20px}
  #inicio .process-step h3{font-size:17px}
  #inicio .process-step p{font-size:12px;line-height:1.4}
}

.section{padding:var(--section-spacing) 0}
.section-muted{background:var(--surface)}
.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.body-copy{font-size:18px;color:#4b5563}
.body-copy p:first-child{margin-top:0}
.body-copy p{text-align:justify;hyphens:auto}
.body-copy strong{color:var(--navy);font-weight:700}
.about-grid{display:grid;gap:clamp(34px,4vw,58px);align-items:start}
.about-company .body-copy{margin-top:32px}
.about-company .body-copy p{hyphens:none;word-break:normal;overflow-wrap:normal}
.institutional-list{display:grid;gap:30px;padding:14px;background:var(--surface)}
.institutional-item{position:relative}
.institutional-list .institutional-item{padding-top:30px;border-top:1px solid var(--line)}
.institutional-list .institutional-item:first-child{padding-top:0;border-top:0}
.institutional-heading{display:flex;align-items:center;gap:18px;min-height:48px}
.institutional-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 var(--red)}
.institutional-icon svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 6px rgba(255,255,255,.65)) drop-shadow(0 0 11px rgba(255,255,255,.3))}
.institutional-item h3{display:flex;align-items:center;min-height:48px;margin:0;font-size:20px;line-height:1.2}
.institutional-item p{margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.65;text-align:left;hyphens:none;word-break:normal;overflow-wrap:normal}
.technical-direction{margin-top:clamp(42px,5vw,70px);padding-top:clamp(30px,3.5vw,50px);border-top:0;background:transparent}
.technical-direction-grid{display:grid;gap:26px;align-items:stretch}
.technical-main{display:grid;grid-template-areas:"identity" "photo" "bio";gap:26px;align-items:stretch}
.technical-identity{grid-area:identity}
.technical-identity .eyebrow{margin-bottom:10px}
.technical-person{width:max-content;max-width:100%}
.technical-person::after{content:"";display:block;width:100%;height:2px;margin-top:var(--technical-rule-space,16px);background:var(--red)}
.technical-name{margin:0!important;color:var(--navy)}
.technical-role{margin:3px 0 0;color:var(--muted);font-size:17px;line-height:1.2}
.technical-member{display:block;margin-top:1px;color:var(--muted);font-size:12px;font-weight:400;line-height:1.2;letter-spacing:.01em;opacity:.78}
.technical-profile{grid-area:bio}
.technical-profile>p{hyphens:none;word-break:normal;overflow-wrap:normal}
.technical-copy{grid-area:photo}
.technical-photo-placeholder{position:relative;width:100%;aspect-ratio:4/5;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#eef1f4;cursor:zoom-in;font:inherit}
.technical-photo-placeholder:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.profile-photo-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:clamp(20px,4vw,56px);background:rgba(7,20,43,.88)}
.profile-photo-modal[hidden]{display:none}
.profile-photo-modal img{display:block;max-width:min(92vw,1100px);max-height:88vh;width:auto;height:auto;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.profile-photo-modal-close{position:fixed;top:20px;right:24px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(7,20,43,.72);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.profile-photo-modal-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
body.profile-photo-modal-open{overflow:hidden}
.technical-photo-placeholder img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%}
.continuous-training{min-width:0}
.continuous-training h3{margin:0;color:var(--navy);font-size:clamp(17px,1.7vw,20px);line-height:1.2}
.training-list{display:grid;gap:18px;margin-top:24px}
.training-list p{position:relative;margin:0;padding-left:20px;color:var(--navy);font-size:14px;line-height:1.4;text-align:left;hyphens:none}
.training-list p::before{content:"";position:absolute;left:0;top:.675em;width:8px;height:8px;border:2px solid #d8e6fb;border-radius:50%;background:var(--blue);transform:translateY(-50%)}
.training-list strong,.training-list span{display:block}
.training-list strong{font-weight:700}
.training-list span{margin-top:4px;color:var(--muted);font-size:13px}
.services-heading{max-width:850px}
.services-intro{max-width:740px;margin:20px 0 0;color:var(--muted);font-size:17px;line-height:1.7}
.services-layout{--service-edge-space:46px;display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:52px;background:#fff}
.service-featured{display:flex;flex-direction:column;justify-content:space-between;min-height:430px;padding:var(--service-edge-space);background:var(--navy);color:#fff}
.service-number{display:block;color:var(--red);font-size:22px;font-weight:800;letter-spacing:.16em}
.service-content h3{margin:0 0 12px;font-size:22px}
.service-content>p:last-child{margin:22px 0 0;color:var(--muted);font-size:15px;line-height:1.75}
.service-content>p:last-child strong{color:var(--navy);font-weight:700}
.service-subtitle{margin:0;color:var(--blue);font-size:13px;font-weight:700;line-height:1.6}
.service-featured h3{color:#fff}
.service-featured .service-subtitle{color:var(--blue-light)}
.service-featured .service-content>p:last-child{max-width:520px;color:#fff}
.services-secondary{display:grid;grid-template-rows:1fr 1fr;padding-right:46px}
.service-item{display:grid;grid-template-columns:44px 1fr;gap:22px;align-content:start;align-items:baseline;padding:var(--service-edge-space) 0 20px;border-top:1px solid var(--line)}
.service-item:last-child{border-bottom:1px solid var(--line)}
.service-item .service-content h3{font-size:22px}
.split-heading{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end}
.split-heading>p{color:var(--muted);margin-bottom:12px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;margin-top:34px}
.portfolio-category+.portfolio-category{margin-top:var(--section-spacing)}
.portfolio-category-title{margin:34px 0 0;color:var(--navy);font-size:clamp(20px,2vw,28px);line-height:1.2}
.portfolio-category .project-grid{margin-top:24px}
.project-placeholder{
  min-height:280px;border-radius:20px;background:linear-gradient(145deg,#e8ebf0,#f7f8fa);
  display:grid;place-items:center;height:100%;color:#8b93a1;font-weight:700;border:1px solid var(--line)
}

.project-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(15,42,67,.08)}
.project-gallery{position:relative;flex:1 1 auto;min-height:0;width:100%;max-height:1200px;aspect-ratio:3/4;overflow:hidden;background:#eef1f4;opacity:1;transition:max-height .5s ease,opacity .3s ease}
.project-card.is-collapsed .project-gallery{max-height:0;opacity:0}
.project-card-wide{grid-column:span 2}
.project-gallery-landscape{aspect-ratio:1.42/1}
.project-gallery-landscape .project-gallery-image{object-fit:contain}
.project-gallery-empty{display:grid;place-items:center;background:linear-gradient(145deg,#e8ebf0,#f7f8fa);color:#8b93a1;font-weight:700}
.project-gallery-track,.project-gallery-image{position:absolute;inset:0;width:100%;height:100%}
.project-gallery-pdf{position:absolute;z-index:1;display:block;border:0;background:#fff;pointer-events:none}
.project-gallery-pdf.has-pdf-error{background:#fff}
.project-gallery-image{object-fit:cover;object-position:center;opacity:0;visibility:hidden;transition:opacity .35s ease}
.project-gallery-image.is-active{opacity:1;visibility:visible}
.project-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#0f2a43}
.project-gallery-button{position:absolute;z-index:2;top:50%;bottom:auto;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(15,42,67,.82);color:#fff;font-size:20px;cursor:pointer;transform:translateY(-50%);transition:background .2s ease,transform .2s ease}
.project-gallery-button:hover,.project-gallery-button:focus-visible{background:var(--blue);transform:translateY(-50%) scale(1.05)}
.project-gallery-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.project-gallery-previous{left:12px}.project-gallery-next{right:12px}
.project-gallery-count{position:absolute;z-index:2;right:12px;bottom:12px;padding:5px 9px;border-radius:999px;background:rgba(15,42,67,.82);color:#fff;font-size:12px;font-weight:700}
.project-card-copy{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px 13px;background:var(--blue)}.project-card-copy h3{margin:0;font-size:21px;color:var(--white)}
.project-card-toggle{display:grid;place-items:center;width:34px;height:34px;flex:none;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(18,33,61,.18);color:#fff;cursor:pointer;transition:background .2s ease,transform .2s ease}
.project-card-toggle:hover,.project-card-toggle:focus-visible{background:var(--navy)}
.project-card-toggle svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s ease}
.project-card-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
body.portfolio-modal-open{overflow:hidden}
body.portfolio-modal-open::before{content:"";position:fixed;inset:0;z-index:1000;background:rgba(7,18,35,.55);backdrop-filter:blur(6px)}
.project-card.is-modal-open{position:fixed;top:50%;left:50%;z-index:1001;width:min(var(--modal-card-width,92vw),92vw);height:auto;max-height:88dvh;transform:translate(-50%,-50%);box-shadow:0 30px 90px rgba(0,0,0,.48)}
.project-card.is-modal-open .project-gallery{flex:none;height:var(--modal-media-height,min(76dvh,900px));max-height:none;aspect-ratio:auto;background:#09172b}
.project-card.is-modal-open .project-gallery-image,.project-card.is-modal-open .project-video{object-fit:contain}
.project-card.is-modal-open .project-gallery.has-blurred-backdrop::before{content:"";position:absolute;inset:-24px;z-index:0;background-image:var(--gallery-backdrop);background-position:center;background-size:cover;filter:blur(20px) brightness(.68);transform:scale(1.08);pointer-events:none}
.project-card.is-modal-open .project-gallery.has-blurred-backdrop .project-gallery-track{z-index:1}
.project-card.is-modal-open .project-gallery.has-blurred-backdrop .project-gallery-image.is-active{top:0;right:auto;bottom:0;left:50%;z-index:1;width:auto;height:100%;max-width:100%;object-fit:contain;transform:translateX(-50%)}
.project-card.is-modal-open .project-gallery.has-video-backdrop{background:#09172b}
.project-card.is-modal-open .project-gallery.has-video-backdrop .project-video-blurred-backdrop{position:absolute;inset:-24px;z-index:0;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(20px) brightness(.68);transform:scale(1.08);pointer-events:none}
#portefolio .portfolio-category-primary .project-card.is-modal-open .project-gallery.has-video-backdrop>.project-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;background:transparent}

@media (prefers-reduced-motion:reduce){
  .project-gallery,.project-card-toggle svg{transition:none}
}

.contact{padding:0 0 var(--section-spacing);background:var(--navy);color:#fff}
.contact h2{color:#fff}
.contact .eyebrow{color:var(--blue-light)}
.contact-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
.contact-intro{max-width:720px;margin-bottom:0;color:#cbd5e1}
.contact-list{max-width:520px}
.contact-list h3,.contact-form h3{color:#fff;font-size:22px}
.contact-list h3{margin-bottom:20px}
.contact-item{display:grid;grid-template-columns:38px 1fr;gap:16px;align-items:start;padding:18px 0;border-top:1px solid rgba(255,255,255,.13)}
.contact-item:last-child{border-bottom:1px solid rgba(255,255,255,.13)}
.contact-icon{display:grid;place-items:start center;width:38px;height:38px;padding-top:1px;color:var(--red)}
.contact-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.contact-item div>span,.contact-item div>a,.contact-item div>strong{display:block}
.contact-item div>span{margin-bottom:2px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.contact-item div>a,.contact-item div>strong{color:#fff;font-size:15px;font-weight:600}
.contact-item div>a:hover{color:var(--blue-light)}
.contact-form{margin-top:calc(-1 * var(--contact-form-overlap,160px));padding:34px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:#fff;color:var(--ink)}
.contact-form h3{margin-bottom:22px;color:var(--navy)}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px}
.contact-form label,.contact-form legend{display:block;color:var(--navy);font-size:13px;font-weight:700}
.contact-form label>span[aria-hidden="true"],.contact-form legend>span{color:var(--red)}
.contact-form input:not([type="radio"]):not([type="checkbox"]),.contact-form select,.contact-form textarea{
  width:100%;margin-top:6px;border:1px solid #D8DDE6;border-radius:2px;padding:11px 14px;
  background:#fff;color:var(--ink);font:inherit;outline:none
}
.contact-form select{min-height:48px}
.contact-form textarea{height:clamp(90px,10svh,150px);min-height:90px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(40,117,229,.08)}
.client-type{min-width:0;margin:0;padding:0;border:0}
.radio-options{display:flex;align-items:center;gap:24px;min-height:48px;margin-top:6px;border-bottom:1px solid #D8DDE6}
.radio-options label{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;cursor:pointer}
.client-type-icon{display:grid;place-items:center;width:22px;height:22px;color:var(--muted);transition:.2s ease}
.client-type-icon svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.radio-options label:has(input:checked) .client-type-icon{color:var(--blue)}
.radio-options input,.privacy-consent input{width:23.375px;height:23.375px;margin:0;accent-color:var(--blue);flex:none}
.form-message{grid-column:1/-1}
.privacy-consent{display:flex!important;align-items:flex-start;gap:12px;margin:18px 0;color:var(--muted)!important;font-size:12px!important;font-weight:500!important;line-height:1.55}
.privacy-consent span{text-align:justify;hyphens:none;word-break:normal;overflow-wrap:normal}
.privacy-consent input{margin-top:2px}
.privacy-consent a{color:var(--blue-text);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.privacy-consent a:hover{color:var(--navy)}
.contact-form .btn{min-width:160px}
.contact-form .btn svg{width:18px;height:18px;margin-right:9px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-form small{display:block;color:var(--muted);margin-top:12px}

.footer-cta{padding:var(--section-spacing) 0 calc(var(--contact-content-gap) + var(--contact-form-overlap,160px));background:linear-gradient(110deg,var(--blue-text),var(--blue) 55%,#5aa3ff);color:#fff}
.footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}
.footer-cta .eyebrow{margin-bottom:10px;color:rgba(255,255,255,.72)}
.footer-cta h2{margin:0 0 9px;color:#fff;font-size:clamp(20px,2.25vw,32px);line-height:1.1}
.footer-cta p:last-child{margin:0;color:rgba(255,255,255,.82)}
.footer-cta-button{min-width:190px;border-color:#fff;background:#fff;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}
.footer-cta-button:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.site-footer{--footer-content-spacing:66px;height:auto;min-height:0;padding:0;background:var(--navy);color:#fff}
.footer-grid{display:grid;grid-template-columns:minmax(394px,1fr) 170px 300px;gap:36px;padding-top:var(--footer-content-spacing)}
.footer-grid,.footer-legal{border-top:1px solid rgba(255,255,255,.12)}
.footer-grid> :not(:first-child){padding-left:32px;border-left:1px solid rgba(255,255,255,.12)}
.footer-logo{width:190px;height:58px;object-fit:contain;object-position:left center;display:block}
.footer-brand{display:flex;align-items:center;gap:15px;height:104px}
.footer-brand img:first-child{width:104px;height:104px;object-fit:contain}
.footer-brand span{width:2px;height:63px;background:linear-gradient(to bottom,transparent,#fff 50%,transparent)}
.footer-brand img:last-child{width:258px;height:78px;object-fit:contain}
.footer-about>p:not(.brand-signature){max-width:330px;margin:26px 0 0;color:rgba(255,255,255,.68);font-size:14px;line-height:1.75}
.footer-socials{display:flex;align-items:center;gap:10px;margin-top:22px}
.footer-social-link{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.05);color:#fff;cursor:pointer;transition:.2s ease}
.footer-social-link:hover{border-color:var(--blue);background:var(--blue);transform:translateY(-2px)}
.footer-social-link svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.footer-column h2{margin:5px 0 17px;color:#fff;font-size:15px;font-weight:800;letter-spacing:.12em}
.footer-column>a{position:relative;color:rgba(255,255,255,.7);font-size:13px;line-height:1.55;transition:.2s ease}
.footer-column>a:hover{color:#fff}
.footer-column:not(.footer-contacts)>a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--red);transition:.2s ease}
.footer-column:not(.footer-contacts)>a:hover::after{right:0}
.footer-contacts{gap:18px}
.footer-contacts>a{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;width:100%}
.footer-contacts svg{width:20px;height:20px;margin-top:2px;color:var(--red);stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.footer-contacts span{color:#fff;font-size:14px;font-weight:600;line-height:1.5}
.footer-contacts small{display:block;margin-bottom:1px;color:rgba(255,255,255,.48);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.footer-contact-address{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;width:100%;margin-top:2px}
.footer-contact-address svg{width:20px;height:20px;margin-top:2px;color:var(--red);stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-address span{color:#fff;font-size:13px;font-weight:600;line-height:1.55}
.footer-contact-address small{display:block;margin-bottom:1px;color:rgba(255,255,255,.48);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.footer-legal{margin-top:var(--footer-content-spacing);padding:24px 0 28px}
.footer-legal p{margin:0;color:rgba(255,255,255,.7);font-size:12px}
.footer-legal p+p{margin-top:7px;color:rgba(255,255,255,.42);font-size:10px;letter-spacing:.02em}
.legal-separator{display:inline-block;margin:0 10px}

:focus-visible{outline:3px solid var(--blue-light);outline-offset:3px}

@media (max-width: 980px){
  .container{width:min(100% - 40px,1320px)}
  .main-nav,.header-actions{display:none}
  .menu-toggle{display:block}
  .main-nav.open{
    display:flex;position:absolute;top:78px;left:0;right:0;
    background:var(--navy);padding:22px 20px;flex-direction:column;align-items:flex-start
  }
  .hero-grid,.two-col,.about-grid,.technical-direction-grid,.contact-grid,.split-heading{grid-template-columns:1fr}
  .contact-grid{gap:32px}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-grid,.technical-direction-grid{gap:48px}
  .technical-copy{padding-top:0}
  .hero-grid{gap:36px}
  .process-grid{grid-template-columns:repeat(2,1fr);row-gap:48px}
  .services-layout,.project-grid{grid-template-columns:1fr}
  .project-card-wide{grid-column:auto}
  .services-layout{gap:0}
  .service-featured{min-height:360px}
  .services-secondary{padding:0 40px 16px}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:54px 64px}
  .footer-grid> :not(:first-child){padding-left:0;border-left:0}
  .footer-cta-inner{align-items:flex-start}
  .footer-brand{gap:12px;height:82px}
  .footer-brand img:first-child{width:82px;height:82px}
  .footer-brand span{width:1px;height:50px}
  .footer-brand img:last-child{width:210px;height:64px}
  .brand-symbol{width:65px;height:65px}
  .brand-divider{height:38px}
  .brand-wordmark{width:150px;height:46px}
}
@media (min-width:621px) and (max-width:980px){
  #sobre .about-company{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:0;align-items:start}
  #sobre .about-company>.eyebrow,#sobre .about-company>h2{grid-column:1}
  #sobre .about-company>.body-copy{grid-column:2;grid-row:1/3;margin-top:0;padding-left:22px}
  #sobre .institutional-list{--institutional-inline-space:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0}
  #sobre .institutional-list .institutional-item{padding:14px var(--institutional-inline-space);border:0}
  #sobre .institutional-list .institutional-item:first-child{border-left:0}
  #sobre .institutional-list .institutional-item:last-child{padding-right:var(--institutional-inline-space)}
  #sobre .institutional-heading{gap:12px}
  #sobre .institutional-item p{margin-top:14px;font-size:13px;line-height:1.5}
  #sobre .technical-direction-grid{grid-template-columns:1fr;gap:30px}
  #sobre .technical-main{--technical-rule-space:16px;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);grid-template-rows:auto 1fr;grid-template-areas:"identity photo" "bio photo";column-gap:40px;row-gap:var(--technical-rule-space)}
  #sobre .technical-copy{position:relative;min-height:0}
  #sobre .technical-photo-placeholder{position:absolute;inset:0;aspect-ratio:auto}
  #sobre .technical-profile{padding-top:0}
  #sobre .continuous-training{padding-top:28px;border-top:1px solid var(--line)}
  #sobre .training-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
}
@media (max-width: 620px){
  :root{--section-spacing:48px;--header-height:68px}
  .container{width:min(100% - 28px,1320px)}
  .nav-wrap{height:68px}
  .main-nav.open{top:68px}
  .hero{padding-top:var(--section-spacing)}
  .process-grid,.form-grid{grid-template-columns:1fr}
  .form-message{grid-column:auto}
  .quality-grid{grid-template-columns:1fr;gap:14px}
  .process-grid{row-gap:38px;margin-top:38px}
  .process-step{padding-right:0}
  .process-step h3{min-height:0}
  .hero-carousel{min-height:430px}
  .video-audio-controls{right:14px;bottom:14px;gap:6px}
  .video-volume-control,.video-volume-button{width:30px;height:30px}
  .commitments{padding-bottom:var(--section-spacing)}
  .commitments-panel{padding-top:8px}
  .section{padding:var(--section-spacing) 0}
  .contact{padding:0 0 var(--section-spacing)}
  .contact-form{padding:30px 22px}
  .services-layout{margin-top:38px}
  .service-featured{min-height:330px;padding:32px 26px}
  .services-secondary{padding:0 26px 10px}
  .service-item{grid-template-columns:1fr;gap:16px;padding:30px 0}
  .site-footer{--footer-content-spacing:50px;padding-top:0}
  .footer-grid{grid-template-columns:1fr;gap:44px}
  .footer-cta{padding:var(--section-spacing) 0 calc(var(--contact-content-gap) + var(--contact-form-overlap,160px))}
  .footer-cta-inner{flex-direction:column;gap:26px}
  .footer-brand{gap:10px;height:69px}
  .footer-brand img:first-child{width:69px;height:69px}
  .footer-brand span{width:1px;height:42px}
  .footer-brand img:last-child{width:172px;height:52px}

  .brand{gap:7px}
  .brand-symbol{width:57px;height:57px}
  .brand-divider{height:34px}
  .brand-wordmark{width:125px;height:40px}
}

/* Detalhes da identidade visual ALPHA */
.main-nav a{position:relative}
.main-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--red);transition:.2s ease
}
.main-nav a:hover::after{right:0}
.header-cta{
  border-color:var(--red);
  color:#fff;
  background:var(--red);
  box-shadow:0 8px 22px rgba(219,29,70,.24);
}
.header-cta:hover{
  border-color:var(--blue);
  background:var(--blue);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(40,117,229,.28)
}
.project-placeholder{border-top:3px solid var(--red)}
@media (min-width:1600px){
  :root{--header-height:clamp(78px,4.2vw,104px)}
  main{--section-spacing:clamp(70px,4vw,96px)}
  .contact-section{--contact-form-overlap:clamp(160px,8vw,210px)}
  main .container,.site-header .container,.site-footer .container{width:min(clamp(1320px,72vw,2040px),calc(100% - 96px))}
  .nav-wrap{gap:clamp(30px,1.6vw,42px)}
  .brand{gap:clamp(10px,.55vw,14px)}
  .brand-symbol{width:clamp(69px,3.4vw,88px);height:clamp(69px,3.4vw,88px)}
  .brand-divider{height:clamp(42px,2.15vw,56px)}
  .brand-wordmark{width:clamp(172px,8.2vw,220px);height:clamp(52px,2.5vw,66px)}
  .main-nav{gap:clamp(28px,1.3vw,38px)}
  .main-nav a{font-size:clamp(14px,.62vw,16px)}
  .header-actions{gap:clamp(18px,.95vw,26px)}
  .language-switcher{width:clamp(26px,1.15vw,32px);height:clamp(46px,2.15vw,58px);gap:clamp(2px,.12vw,4px)}
  .language-option{width:clamp(20px,.9vw,24px);height:clamp(17px,.75vw,20px)}
  .language-flag{width:clamp(16px,.72vw,20px);height:clamp(11px,.5vw,14px)}
  .language-separator{width:clamp(13px,.6vw,17px)}
  .header-phone{gap:clamp(8px,.4vw,11px);font-size:clamp(14px,.62vw,16px)}
  .header-phone svg{width:clamp(20px,.9vw,24px);height:clamp(20px,.9vw,24px)}
  .header-cta{min-height:clamp(48px,2.2vw,58px);padding-inline:clamp(22px,1.15vw,30px);font-size:clamp(14px,.62vw,16px)}
  h1,.process-heading h2,#sobre h2,#servicos .section-heading h2,#portefolio .section-heading h2,.contact h2,.footer-cta h2{font-size:clamp(32px,1.55vw,42px)}
  h1{max-width:clamp(700px,38vw,900px);margin-bottom:clamp(24px,1.35vw,32px)}
  .eyebrow{font-size:clamp(13px,.58vw,15px)}
  .hero-grid{gap:clamp(64px,4vw,100px)}
  .hero-lead{max-width:800px;font-size:clamp(19px,.9vw,22px)}
  .hero-text{max-width:820px;font-size:clamp(16px,.72vw,18px);margin-bottom:clamp(28px,1.5vw,38px)}
  .quality-grid{gap:clamp(18px,1.1vw,28px) clamp(24px,1.5vw,38px)}
  .hero-carousel{min-height:clamp(460px,24vw,620px)}
  .process-heading{max-width:900px}
  .process-grid{gap:clamp(30px,1.7vw,44px);margin-top:clamp(27px,1.5vw,38px)}
  .two-col{gap:clamp(80px,4.5vw,116px)}
  .about-grid,.technical-direction-grid{gap:clamp(80px,4.5vw,116px)}
  .technical-direction{margin-top:clamp(70px,4vw,96px);padding-top:clamp(70px,4vw,96px)}
  .body-copy{font-size:clamp(18px,.8vw,20px)}
  .institutional-grid{gap:clamp(42px,2.2vw,58px);margin-top:clamp(60px,3.2vw,82px);padding-top:clamp(42px,2.3vw,58px)}
  .services-heading{max-width:1000px}
  .services-intro{max-width:860px;font-size:clamp(17px,.76vw,19px)}
  .services-layout{gap:clamp(54px,3vw,78px);margin-top:clamp(52px,2.8vw,72px)}
  .split-heading{gap:clamp(50px,3vw,76px)}
  .project-grid{gap:clamp(20px,1.3vw,34px);margin-top:clamp(34px,1.8vw,46px)}
  .contact-grid{gap:clamp(32px,2vw,48px)}
  .form-grid{gap:clamp(14px,.8vw,20px) clamp(20px,1.2vw,30px)}
  .footer-cta-inner>div{max-width:clamp(720px,42vw,1040px)}
  .footer-cta p:last-child{font-size:clamp(16px,.76vw,19px);line-height:1.65}
  .contact-form{padding:clamp(34px,1.8vw,48px)}
  .contact-form label,.contact-form legend{font-size:clamp(13px,.6vw,15px)}
  .contact-form input:not([type="radio"]):not([type="checkbox"]),.contact-form select,.contact-form textarea{margin-top:clamp(6px,.32vw,9px);padding:clamp(11px,.58vw,15px) clamp(14px,.75vw,20px);font-size:clamp(14px,.66vw,17px);font-weight:400}
  .contact-form input:not([type="radio"]):not([type="checkbox"]),.contact-form select{min-height:clamp(48px,2.35vw,60px)}
  .contact-form textarea{height:clamp(90px,10svh,150px);min-height:90px}
  .radio-options{gap:clamp(24px,1.25vw,34px);min-height:clamp(48px,2.35vw,60px);margin-top:clamp(6px,.32vw,9px)}
  .radio-options input,.privacy-consent input{width:clamp(17px,.78vw,21px);height:clamp(17px,.78vw,21px)}
  .client-type-icon{width:clamp(22px,1vw,27px);height:clamp(22px,1vw,27px)}
  .client-type-icon svg{width:clamp(19px,.86vw,23px);height:clamp(19px,.86vw,23px)}
  .privacy-consent{gap:clamp(12px,.62vw,17px);margin:clamp(18px,1vw,26px) 0;font-size:clamp(12px,.54vw,14px)!important}
  .contact-form .btn{min-width:clamp(160px,8vw,210px);min-height:clamp(48px,2.35vw,60px);padding-inline:clamp(22px,1.15vw,30px);font-size:clamp(14px,.64vw,16px)}
  .contact-form .btn svg{width:clamp(18px,.82vw,22px);height:clamp(18px,.82vw,22px);margin-right:clamp(9px,.45vw,12px)}
  .contact-form small{margin-top:clamp(12px,.62vw,17px);font-size:clamp(12px,.54vw,14px)}
  .site-footer{--footer-content-spacing:clamp(66px,3.4vw,90px);padding-top:0}
  .footer-grid{grid-template-columns:minmax(440px,1.2fr) minmax(190px,.55fr) minmax(340px,.85fr);gap:clamp(36px,2.5vw,68px)}
  .footer-grid> :not(:first-child){padding-left:clamp(32px,1.6vw,44px)}
  .footer-brand{gap:clamp(15px,.8vw,21px);height:clamp(104px,5vw,132px)}
  .footer-brand img:first-child{width:clamp(104px,5vw,132px);height:clamp(104px,5vw,132px)}
  .footer-brand span{height:clamp(63px,3vw,80px)}
  .footer-brand img:last-child{width:clamp(258px,12vw,320px);height:clamp(78px,3.7vw,98px)}
  .footer-socials{gap:clamp(10px,.5vw,14px);margin-top:clamp(22px,1.15vw,30px)}
  .footer-social-link{width:clamp(38px,1.75vw,46px);height:clamp(38px,1.75vw,46px)}
  .footer-social-link svg{width:clamp(19px,.88vw,23px);height:clamp(19px,.88vw,23px)}
  .footer-column{gap:clamp(13px,.66vw,17px)}
  .footer-column h2{margin-bottom:clamp(17px,.9vw,24px);font-size:clamp(15px,.68vw,18px)}
  .footer-column>a{font-size:clamp(13px,.6vw,16px)}
  .footer-contacts{gap:clamp(18px,.9vw,24px)}
  .footer-contacts>a,.footer-contact-address{grid-template-columns:clamp(22px,1vw,27px) 1fr;gap:clamp(12px,.62vw,17px)}
  .footer-contacts svg,.footer-contact-address svg{width:clamp(20px,.9vw,24px);height:clamp(20px,.9vw,24px)}
  .footer-contacts span{font-size:clamp(14px,.64vw,17px)}
  .footer-contact-address span{font-size:clamp(13px,.6vw,16px)}
  .footer-legal{padding:clamp(24px,1.2vw,32px) 0 clamp(28px,1.4vw,38px)}
  .footer-legal p{font-size:clamp(12px,.55vw,14px)}
  .footer-legal p+p{margin-top:clamp(7px,.35vw,10px);font-size:clamp(10px,.47vw,12px)}
}

@media (min-width:2200px){
  .quality-grid strong{font-size:15px}
  .quality-grid span{font-size:13px}
  .process-step h3{font-size:20px}
  .process-step p,.institutional-item p{font-size:15px}
  .institutional-item h3{font-size:22px}
  .institutional-icon{width:54px;height:54px}
  .institutional-icon svg{width:28px;height:28px}
  .services-layout{--service-edge-space:clamp(46px,2.3vw,64px)}
  .service-featured{min-height:clamp(430px,20vw,560px)}
  .services-secondary{padding-right:clamp(46px,2.3vw,64px)}
  .service-number,.service-content h3{font-size:24px}
  .service-content>p:last-child{font-size:16px}
  .project-card-copy{padding:18px 24px 16px}
  .project-card-copy h3{font-size:23px}
  .footer-grid{grid-template-columns:minmax(500px,1.2fr) minmax(220px,.55fr) minmax(390px,.85fr)}
}
@media (min-width:981px){
  #sobre{--institutional-spacing:clamp(12px,1.8svh,20px);display:flex;flex-direction:column;height:calc(100svh - var(--header-height) - 3px);min-height:0;padding-block:var(--section-spacing)}
  #sobre .about-grid{grid-template-columns:1fr;gap:var(--institutional-spacing)}
  #sobre .about-company{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-template-rows:auto 1fr;column-gap:0}
  #sobre .about-company>.eyebrow{grid-column:1;grid-row:1}
  #sobre .about-company>h2{grid-column:1;grid-row:2}
  #sobre .about-company>.body-copy{grid-column:2;grid-row:1/3;margin-top:clamp(12px,1.7svh,20px);padding-left:clamp(22px,2vw,32px)}
  #sobre .body-copy{font-size:clamp(13px,1.65svh,16px);line-height:1.5}
  #sobre .body-copy p{margin:0 0 clamp(10px,1.3svh,15px)}
  #sobre .institutional-list{--institutional-inline-space:clamp(22px,2vw,32px);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0}
  #sobre .institutional-list .institutional-item{margin:0;padding:14px var(--institutional-inline-space);border:0}
  #sobre .institutional-list .institutional-item:first-child{border-left:0}
  #sobre .institutional-list .institutional-item:last-child{padding-right:var(--institutional-inline-space)}
  #sobre .institutional-heading{gap:14px;min-height:clamp(38px,4.8svh,48px)}
  #sobre .institutional-icon{width:clamp(30px,4svh,36px);height:clamp(30px,4svh,36px);border-radius:8px}
  #sobre .institutional-icon svg{width:clamp(16px,2.2svh,20px);height:clamp(16px,2.2svh,20px)}
  #sobre .institutional-item h3{min-height:0;font-size:clamp(18px,2.25svh,21px)}
  #sobre .institutional-item p{margin-top:clamp(10px,1.4svh,16px);font-size:clamp(12px,1.55svh,14px);line-height:1.5}
  #sobre .technical-direction{flex:1;min-height:0;margin-top:clamp(16px,2.4svh,26px);padding-top:0}
  #sobre .technical-direction-grid{height:100%;min-height:0;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:0}
  #sobre .technical-main{--technical-rule-space:clamp(12px,1.5svh,18px);display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);grid-template-rows:auto 1fr;grid-template-areas:"photo identity" "photo bio";column-gap:clamp(28px,3vw,48px);row-gap:var(--technical-rule-space);padding-right:clamp(28px,3vw,48px)}
  #sobre .technical-copy{position:relative;min-height:0}
  #sobre .technical-photo-placeholder{position:absolute;inset:0;aspect-ratio:auto;border-radius:14px}
  #sobre .technical-identity .eyebrow{margin-bottom:clamp(7px,1svh,11px)}
  #sobre .technical-name{font-size:clamp(27px,3.5svh,36px);line-height:1}
  #sobre .technical-role{margin-top:clamp(2px,.4svh,4px);font-size:clamp(15px,1.9svh,18px)}
  #sobre .technical-profile{padding-top:0}
  #sobre .technical-profile>p:last-child{margin-bottom:0}
  #sobre .technical-profile{position:relative;align-self:start}
  #sobre .technical-profile::after{content:"";position:absolute;right:calc(-1 * clamp(28px,3vw,48px));top:50%;width:1px;height:66.666%;background:var(--line);transform:translateY(-50%)}
  #sobre .continuous-training{position:relative;padding-top:clamp(92px,13.5svh,128px);padding-left:clamp(28px,3vw,48px);border-left:0}
  
  #sobre .continuous-training h3{font-size:clamp(16px,2svh,19px)}
  #sobre .training-list{gap:clamp(13px,1.8svh,20px);margin-top:clamp(16px,2.2svh,24px)}
  #sobre .training-list p{font-size:clamp(11.5px,1.45svh,14px);line-height:1.35}
  #sobre .training-list span{font-size:clamp(11px,1.35svh,13px)}
}
@media (min-width:981px) and (max-height:800px){
  #sobre .about-company h2{font-size:28px;line-height:1.05}
  #sobre{--institutional-spacing:8px}
  #sobre .body-copy{font-size:11.25px;line-height:1.25}
  #sobre .body-copy p{margin-bottom:6px}
  #sobre .about-company>.body-copy{margin-top:6px}
  #sobre .institutional-heading{min-height:30px}
  #sobre .institutional-icon{width:30px;height:30px}
  #sobre .institutional-icon svg{width:16px;height:16px}
  #sobre .institutional-item h3{font-size:16px}
  #sobre .institutional-item p{margin-top:4px;font-size:10.5px;line-height:1.22}
  #sobre .technical-direction{margin-top:10px;padding-top:0}
  #sobre .technical-direction-grid{row-gap:6px}
  #sobre .technical-main{--technical-rule-space:8px;row-gap:var(--technical-rule-space)}
  #sobre .technical-name{font-size:25px}
  #sobre .technical-role{font-size:14px}
  #sobre .technical-profile{padding-top:8px}
  #sobre .continuous-training{padding-top:78px}
  #sobre .continuous-training h3{font-size:15px}
  #sobre .training-list{gap:6px;margin-top:8px}
  #sobre .training-list p{font-size:10px;line-height:1.2}
  #sobre .training-list span{font-size:10px}
}
#sobre p{text-align:justify;text-justify:inter-word}
#sobre,#sobre *{hyphens:none;word-break:normal;overflow-wrap:normal}
@media (min-width:621px){
  #sobre .institutional-list .institutional-item:not(:first-child)::before{content:"";position:absolute;left:0;top:50%;width:1px;height:50%;background:var(--line);transform:translateY(-50%)}
}
/* Portfolio showcase layout */
#portefolio{background:#fbfcfe}
#portefolio>.container{min-width:0}
#portefolio .split-heading{display:block}
#portefolio .split-heading h2{margin-bottom:0}
#portefolio .split-heading h2::after{content:none}
#portefolio .portfolio-category{margin-top:clamp(14px,2dvh,24px)}
#portefolio .portfolio-category+.portfolio-category{margin-top:clamp(14px,2dvh,24px)}
#portefolio .portfolio-category-title{display:flex;align-items:center;gap:16px;margin:0;color:var(--navy);font-size:clamp(18px,2.2dvh,23px);line-height:1.2}
#portefolio .portfolio-category-title::after{content:"";height:1px;min-width:28px;flex:1;background:var(--line)}
#portefolio .portfolio-category-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--blue);color:#fff}
#portefolio .portfolio-category-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#portefolio .specialized-card-icon{display:grid;place-items:center;width:56px;height:56px;color:var(--blue)}
#portefolio .specialized-card-icon svg{width:42px;height:42px;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
#portefolio .specialized-card-icon svg.coating-application-icon{width:48px;height:48px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#portefolio .specialized-card-icon svg.plastering-icon{width:42px;height:42px;stroke-linecap:round;stroke-linejoin:round}
#portefolio .plastering-icon .plaster-bed,#portefolio .plastering-icon .plaster-motion{stroke:var(--blue);stroke-width:1.8}
#portefolio .plastering-icon .plaster-float,#portefolio .plastering-icon .plaster-handle{fill:var(--blue)}
#portefolio .portfolio-category-specialized .project-card:not(.is-modal-open):hover .plastering-icon .plaster-bed,#portefolio .portfolio-category-specialized .project-card:not(.is-modal-open):hover .plastering-icon .plaster-motion{stroke:#fff}
#portefolio .portfolio-category-specialized .project-card:not(.is-modal-open):hover .plastering-icon .plaster-float,#portefolio .portfolio-category-specialized .project-card:not(.is-modal-open):hover .plastering-icon .plaster-handle{fill:#fff}#portefolio .specialized-card-text{min-width:0}
#portefolio .portfolio-category-specialized .specialized-card-text h3{margin:0}
#portefolio .specialized-card-text p{margin:4px 0 0;color:var(--muted);font-size:clamp(11px,1.3dvh,12px);line-height:1.4}
#portefolio .portfolio-category .project-card.is-modal-open .specialized-card-icon,#portefolio .portfolio-category .project-card.is-modal-open .specialized-card-text p{display:none}
#portefolio .project-grid{margin-top:clamp(8px,1.2dvh,14px)}
#portefolio .portfolio-category-primary .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4dvh,16px) clamp(16px,1.5vw,24px)}
#portefolio .portfolio-category-primary .project-card{display:grid;grid-template-rows:minmax(0,1fr) clamp(38px,5dvh,50px);height:clamp(150px,20dvh,220px);border:1px solid var(--line);border-top:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(18,33,61,.08);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}
#portefolio .portfolio-category-primary .project-gallery{order:1;width:100%;height:100%;max-height:none;aspect-ratio:auto;border-radius:0;background:#eef1f4;opacity:1}
#portefolio .portfolio-category-primary .project-card.is-collapsed .project-gallery{max-height:none;opacity:1}
#portefolio .portfolio-category-primary .project-card-copy{order:2;display:flex;padding:8px 12px;background:#fff}
#portefolio .portfolio-category-primary .project-card-copy h3{min-width:0;color:var(--navy);font-size:clamp(13px,1.6dvh,16px);line-height:1.2}
#portefolio .portfolio-category-primary .project-gallery-image,#portefolio .portfolio-category-primary .project-video{object-fit:cover}
.project-card-static-cover{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;visibility:hidden;pointer-events:none}
#portefolio .project-card.is-collapsed .project-card-static-cover{opacity:1;visibility:visible}
#portefolio .project-card.is-modal-open .project-card-static-cover{display:none}
#portefolio .project-card.is-collapsed .project-gallery-button,#portefolio .project-card.is-collapsed .project-gallery-count{display:none}
#portefolio .project-card-toggle{width:28px;height:28px;border:0;background:var(--blue);color:#fff}
#portefolio .project-card-toggle svg{transform:rotate(-90deg)}
#portefolio .project-card-toggle[aria-expanded="true"] svg{transform:none}
#portefolio .portfolio-category-specialized .project-grid{grid-template-columns:1fr;gap:clamp(12px,1.25vw,20px)}
#portefolio .portfolio-category-specialized .project-card{display:block;height:clamp(94px,8.5dvh,104px);border:1px solid var(--line);border-top:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(18,33,61,.07);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}
#portefolio .portfolio-category-specialized .project-card-copy{display:grid;grid-template-columns:56px minmax(0,1fr) 36px;align-items:center;gap:14px;height:100%;padding:18px;background:#fff}
#portefolio .portfolio-category-specialized .project-card-copy h3{color:var(--navy);font-size:clamp(13px,1.6dvh,16px);line-height:1.2}
#portefolio .portfolio-category-specialized .project-card-toggle{justify-self:end;margin-left:8px}
#portefolio .portfolio-category-specialized .project-gallery{display:none}
#portefolio .portfolio-specialized-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:clamp(12px,1.25vw,20px);padding:11px 18px;border-radius:12px;background:var(--red);color:#fff;font-size:clamp(13px,1.6dvh,16px);font-weight:700;text-align:center;box-shadow:0 8px 20px rgba(219,29,70,.2);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
@media (hover:hover){#portefolio .portfolio-specialized-cta:hover{transform:translateY(-2px);background:var(--red);box-shadow:0 0 8px rgba(219,29,70,.95),0 0 20px rgba(219,29,70,.72),0 0 38px rgba(219,29,70,.48);filter:brightness(1.16) saturate(1.12);text-shadow:0 0 8px rgba(255,255,255,.72)}}
#portefolio .portfolio-category-primary .project-card-copy,#portefolio .portfolio-category-specialized .project-card,#portefolio .portfolio-category-specialized .project-card-copy{transition:background-color .22s ease,border-color .22s ease}
#portefolio .project-card-copy h3,#portefolio .specialized-card-icon,#portefolio .specialized-card-text p{transition:color .22s ease}
#portefolio .portfolio-category .project-card.is-modal-open{display:flex;grid-template-rows:none;height:auto;cursor:default}
#portefolio .portfolio-category .project-card.is-modal-open .project-card-copy{order:0;height:auto;min-height:52px;padding:10px 16px;background:var(--red)}
#portefolio .portfolio-category .project-card.is-modal-open .project-card-toggle,#portefolio .portfolio-category .project-card.is-modal-open .project-card-toggle:hover,#portefolio .portfolio-category .project-card.is-modal-open .project-card-toggle:focus-visible{background:var(--red)}
#portefolio .portfolio-category .project-card.is-modal-open .project-card-toggle svg{stroke-width:2.8}
#portefolio .portfolio-category .project-card.is-modal-open .project-card-copy h3{color:#fff;font-size:18px}
#portefolio .portfolio-category .project-card.is-modal-open .project-gallery{order:1;display:block;flex:none;width:100%;height:var(--modal-media-height,min(76dvh,900px));max-height:none;aspect-ratio:auto;border:0;outline:0;opacity:1;background:#09172b}
#portefolio .portfolio-category .project-card.is-modal-open .project-gallery:focus,#portefolio .portfolio-category .project-card.is-modal-open .project-gallery:focus-visible{outline:0;box-shadow:none}
#portefolio .portfolio-category .project-card.is-modal-open .project-gallery-button,#portefolio .portfolio-category .project-card.is-modal-open .project-gallery-count{display:grid}
#portefolio .portfolio-category .project-card.is-modal-open .project-gallery-count{display:block}
@media (hover:hover){
  #portefolio .portfolio-category-primary .project-card:not(.is-modal-open):hover .project-card-copy{background:var(--red)}
  #portefolio .portfolio-category-primary .project-card:not(.is-modal-open):hover .project-card-copy h3{color:#fff}
  #portefolio .portfolio-category-specialized .project-card:not(.is-modal-open):hover,#portefolio .portfolio-category-specialized .project-card:not(.is-modal-open):hover .project-card-copy{background:var(--red);border-color:var(--red)}
  #portefolio .portfolio-category-specialized .project-card:not(.is-modal-open):hover .specialized-card-icon,#portefolio .portfolio-category-specialized .project-card:not(.is-modal-open):hover .specialized-card-text h3,#portefolio .portfolio-category-specialized .project-card:not(.is-modal-open):hover .specialized-card-text p{color:#fff}
  #portefolio .project-card:not(.is-modal-open):hover .project-card-toggle{background:var(--navy)}
  #portefolio .project-card:not(.is-modal-open):hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(18,33,61,.13)}
  #portefolio .portfolio-category-primary .project-card:not(.is-modal-open):hover .project-gallery-image,#portefolio .portfolio-category-primary .project-card:not(.is-modal-open):hover .project-video{transform:scale(1.01)}
  #portefolio .project-card:not(.is-modal-open):hover .project-card-toggle{transform:translateX(2px)}
}
@media (prefers-reduced-motion:reduce){
  #portefolio .project-card,#portefolio .project-gallery-image,#portefolio .project-video,#portefolio .project-card-toggle{transition:none!important}
}
@media (min-width:981px){
  #portefolio{display:flex;align-items:stretch;height:calc(100dvh - var(--header-height) - 3px);min-height:0;padding-top:var(--section-spacing);padding-bottom:calc(var(--section-spacing) + 12px)}
  #portefolio>.container{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-template-rows:auto 1fr;align-content:space-between;gap:clamp(12px,2dvh,22px) clamp(24px,2.5vw,42px)}
  #portefolio .split-heading{grid-column:1/-1}
  #portefolio .portfolio-category-primary{grid-column:1}
  #portefolio .portfolio-category-specialized{grid-column:2}
  #portefolio .portfolio-category,#portefolio .portfolio-category+.portfolio-category{margin-top:0}

}
@media (min-width:981px) and (max-height:800px){
  #portefolio{padding-top:var(--section-spacing);padding-bottom:calc(var(--section-spacing) + 12px)}
  #portefolio .eyebrow{margin-bottom:8px;font-size:12px}
  #portefolio .split-heading h2{font-size:26px}
  #portefolio .split-heading h2::after{margin-top:0}
  #portefolio .portfolio-category,#portefolio .portfolio-category+.portfolio-category{margin-top:0}
  #portefolio .portfolio-category-title{font-size:17px}
  #portefolio .project-grid{margin-top:7px}
  #portefolio .portfolio-category-primary .project-grid{gap:8px 16px}
  #portefolio .portfolio-category-primary .project-card{height:125px;grid-template-rows:minmax(0,1fr) 36px}
  #portefolio .portfolio-category-primary .project-card-copy h3,#portefolio .portfolio-category-specialized .project-card-copy h3{font-size:13px}
  #portefolio .portfolio-category-specialized .project-card{height:94px}
}
@media (min-width:2000px){

  #portefolio .portfolio-category-primary .project-card{height:clamp(260px,22dvh,360px)}
  #portefolio .portfolio-category-specialized .project-card{height:clamp(94px,7dvh,104px)}
  #portefolio .portfolio-category-primary .project-grid{gap:clamp(16px,1.3dvh,24px) clamp(24px,1.4vw,40px)}
}
@media (min-width:3000px) and (min-height:1800px){
  #portefolio .portfolio-category-primary .project-card{height:440px}
  #portefolio .portfolio-category-specialized .project-card{height:104px}
  #portefolio .portfolio-category,#portefolio .portfolio-category+.portfolio-category{margin-top:32px}
  #portefolio .project-grid{margin-top:18px}
}@media (min-width:621px) and (max-width:980px){
  #portefolio .portfolio-category-primary .project-grid,#portefolio .portfolio-category-specialized .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #portefolio .portfolio-category-primary .project-card{height:clamp(190px,25dvh,260px)}
}
@media (max-width:620px){
  #portefolio .portfolio-category-primary .project-grid,#portefolio .portfolio-category-specialized .project-grid{grid-template-columns:1fr}
  #portefolio .portfolio-category-primary .project-card{height:clamp(200px,32dvh,280px)}
  #portefolio .portfolio-category-specialized .project-card{height:auto;min-height:94px}
  #portefolio .portfolio-category-title{align-items:flex-start;font-size:18px}
  #portefolio .portfolio-category-title::after{margin-top:.6em}
}
.contact-form select{padding-right:44px!important;-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312213d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px 16px}

.footer-call-note {
  margin: 16px 0 0;
  color: inherit;
  font-size: 0.75rem;
  line-height: 1.4;
}

.privacy-main{background:linear-gradient(180deg,#f6f8fb 0,#fff 260px)}
.privacy-document{padding-top:clamp(56px,7vw,94px);padding-bottom:clamp(64px,8vw,110px)}
.privacy-heading{margin-bottom:48px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.privacy-heading h1{max-width:none;margin-bottom:20px;font-size:clamp(34px,5vw,56px)}
.privacy-intro{max-width:780px;margin:0;color:#475467;font-size:clamp(17px,2vw,20px);line-height:1.7}
.privacy-updated{margin:18px 0 0;color:var(--muted);font-size:13px}
.privacy-document section{margin-top:42px}.privacy-document section:first-of-type{margin-top:0}
.privacy-document h2{margin-bottom:14px;font-size:clamp(21px,2.4vw,27px);line-height:1.25}
.privacy-document h3{margin:24px 0 8px;font-size:17px;line-height:1.4}
.privacy-document p{margin:0 0 14px;color:#475467;font-size:16px;line-height:1.8}
.privacy-document strong{color:var(--ink)}
.privacy-document a{color:var(--blue-text);font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.privacy-document a:hover{color:var(--navy)}
.privacy-document code{padding:.12em .38em;border-radius:4px;background:#edf2f8;color:var(--navy);font-size:.9em}
@media(max-width:620px){.privacy-document{padding-top:44px;padding-bottom:64px}.privacy-heading{margin-bottom:36px;padding-bottom:26px}.privacy-document section{margin-top:34px}.privacy-document p{font-size:15px;line-height:1.72}}
