/* Shared editorial rhythm and native motion primitives. */
.unified-hero { padding:clamp(3rem,7vw,7rem) 0 0;background:#f8f6f2;color:#1e3b2d;overflow:clip; }
.unified-hero .page-head { max-width:none;padding-bottom:3rem; }
.unified-hero .page-head h1 { font-size:clamp(2.55rem,5.7vw,5.6rem);font-weight:500;line-height:1.06;letter-spacing:-.055em;max-width:20ch;margin:1.2rem 0 1.7rem;text-wrap:balance; }
.unified-hero .page-head>p:last-child { max-width:48ch;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7;color:#52634b; }
.editorial-hero-media { width:88%;margin:0 auto;position:relative;border-radius:24px;overflow:hidden;aspect-ratio:2.5; }
.editorial-hero-media img { width:100%;height:100%;object-fit:cover;display:block; }
.editorial-hero-media figcaption { position:absolute;bottom:1rem;right:1.5rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;background:#102a20a8;color:#fff;padding:.35rem .7rem;border-radius:3px; }
.unified-cta { background:#f8f6f2;padding-block:clamp(3rem,7vw,7rem); }
.gradient-cta { position:relative;isolation:isolate;overflow:hidden;padding:clamp(2rem,6vw,5rem);border-radius:18px;background:radial-gradient(ellipse at 100% 0,#58734380,transparent 65%),#1e3b2d;color:#f8f6f2; }
.gradient-cta::after { content:'';position:absolute;right:-12%;top:-50%;height:200%;width:50%;border:1px solid #b9cfa425;border-radius:50%;transform:rotate(-32deg);z-index:-1; }
.gradient-cta .editorial-kicker { color:#cbd5c4; }
.gradient-cta h2 { font-size:clamp(2rem,4.4vw,4rem);font-weight:400;line-height:1.12;max-width:22ch;margin:1.2rem 0;letter-spacing:-.04em; }
.gradient-cta>p:not(.editorial-kicker) { max-width:47ch;font-size:1rem;line-height:1.7;color:#d0dbca;margin:0 0 2rem; }
.gradient-cta .ha-cta { position:relative;margin:0; }
.home-introduction { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem); }
#introducao { padding-block:clamp(3rem,6vw,6rem); }
.home-introduction h2 { font-size:clamp(2rem,3.8vw,3.8rem);line-height:1.18;font-weight:400;max-width:24ch;letter-spacing:-.045em;margin:0; }
.intro-support { display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;max-width:38ch; }
.intro-support p { line-height:1.75;color:#62705c;margin:0; }
.intro-support .minimal-link { color:#1e3b2d; }
.home-services-head { display:grid;grid-template-columns:1fr .6fr;align-items:end;gap:4rem;margin-bottom:3rem; }
.home-services-head h2 { font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.15;max-width:22ch;letter-spacing:-.04em; }
.home-services-head>p { color:#62705c;line-height:1.75;margin:0; }
.home-service { display:grid;grid-template-columns:4rem 1fr;gap:1.5rem;position:relative;isolation:isolate;overflow:hidden;border-top:1px solid #bec8b8;padding:2.5rem 1rem;transition:color .35s; }
.home-service:last-child { border-bottom:1px solid #bec8b8; }
.home-service h3 { font-size:clamp(1.7rem,3.1vw,2.8rem);font-weight:400;letter-spacing:-.035em;line-height:1.15; }
.home-service p { max-width:52ch;font-size:1rem;line-height:1.7;color:#52634b; }
.home-service-image { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transform:scale(1.04);transition:opacity .5s,transform .6s; }
.home-service:after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102a20f5,#102a2099);opacity:0;z-index:-1;transition:opacity .4s; }
@media(hover:hover){.home-service:hover {color:#fff}.home-service:hover p,.home-service:hover .minimal-link {color:#e4ecdf}.home-service:hover .home-service-image,.home-service:hover:after {opacity:1}.home-service:hover .home-service-image{transform:none}}
.home-service:focus-within {outline:2px solid #7f9962;outline-offset:-2px;}
.sector-showcase { position:relative;margin-top:3.5rem;min-height:470px; }
.sector-option { border-top:1px solid #d4dfcd40; }
.sector-option:last-child {border-bottom:1px solid #d4dfcd40}
.sector-option summary { display:flex;align-items:center;gap:1rem;min-height:86px;list-style:none;cursor:pointer;font-size:clamp(1rem,1.5vw,1.3rem);padding:1.2rem 0;color:#dce5d6; }
.sector-option summary::-webkit-details-marker{display:none}
.sector-selection {margin-left:auto;color:#afc899;transition:transform .3s}
.sector-option[open] .sector-selection{transform:rotate(45deg)}
.sector-icon {display:grid;place-items:center;width:32px;flex:none;color:#a6bd91}
.sector-description>p {font-size:.95rem;color:#d2deca;line-height:1.75;max-width:44ch;margin:0 0 1.5rem;padding-left:3rem}
.sector-description figure {position:relative;margin:0 0 1.5rem}
.sector-description img{width:100%;display:block;aspect-ratio:1.4;object-fit:cover;border-radius:9px}
.sector-description figcaption,.sector-stage>span{position:absolute;bottom:1rem;right:1rem;font-size:.65rem;background:#102a20ae;color:#fff;padding:.35rem .6rem;border-radius:3px}
.sector-stage {display:none}
@media(min-width:900px){.sector-showcase.is-enhanced{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}.sector-showcase.is-enhanced .sector-description figure{display:none}.sector-showcase.is-enhanced .sector-stage{display:block;position:relative;border-radius:12px;overflow:hidden;min-height:470px}.sector-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s;}.sector-stage img.is-active{opacity:1}}
.circular-gallery{min-width:0}.circular-window{position:relative;overflow:hidden;min-height:480px;perspective:1100px;touch-action:pan-y;cursor:grab;padding-top:30px}.circular-window.is-dragging{cursor:grabbing}.circular-track{list-style:none;margin:0;padding:0;display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.circular-card{flex:0 0 310px;scroll-snap-align:center}.circular-track .project-card{grid-column:auto}.circular-window.is-enhanced .circular-track{display:block;overflow:visible;transform-style:preserve-3d;height:450px;position:relative;pointer-events:none}.circular-window.is-enhanced .circular-card{position:absolute;top:0;left:50%;width:clamp(240px,28vw,350px);height:400px;border-radius:12px;overflow:hidden;transform-origin:center;will-change:transform;pointer-events:auto;background:#1e3b2d;backface-visibility:hidden;user-select:none}.circular-card .project-card__art{height:100%;aspect-ratio:auto;min-height:0}.circular-card img{height:100%;width:100%;object-fit:cover;pointer-events:none}.circular-card .project-card__footer{position:absolute;bottom:0;left:0;right:0;color:#fff;padding:4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;background:linear-gradient(transparent,#102a20e6);pointer-events:none}.circular-card .project-card__footer span:first-child{font-size:1.5rem}.circular-card .project-card__footer span:last-child{color:#e4ecdf;font-size:.6rem}.gallery-bottom{align-items:center}.circular-status{font-size:.75rem;color:#52634b;margin:1rem auto 0 1rem}.gallery-instruction{font-size:.7rem;color:#52634b;margin-top:1rem}.circular-card:not(.is-active) .project-card__footer{opacity:.7}
.faq-question{border-top:1px solid #bdc7b8}.faq-question:last-child{border-bottom:1px solid #bdc7b8}.faq-question>h3{margin:0;font-size:1rem;font-weight:400;letter-spacing:0}.faq-trigger{width:100%;border:0;background:none;text-align:left;display:grid;grid-template-columns:2rem 1fr 1.5rem;gap:1rem;align-items:center;padding:1.65rem 0;font:inherit;line-height:1.45;color:#1e3b2d;cursor:pointer}.faq-panel{padding-left:3rem}.faq-panel>div>p{margin:0;padding-bottom:1.5rem;font-size:.95rem;line-height:1.75;color:#52634b}.faq-panel.is-enhanced{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .35s,visibility .35s}.faq-panel.is-enhanced>div{overflow:hidden}.faq-panel.is-open{grid-template-rows:1fr;visibility:visible}.faq-trigger[aria-expanded=true] .faq-plus{transform:rotate(45deg)}
button:focus-visible,summary:focus-visible{outline:3px solid #7f9962;outline-offset:4px}
.map-controls{position:absolute;right:12px;top:12px;display:flex;gap:4px}.map-controls button{min-width:36px;min-height:36px;border:1px solid #bcc9b4;background:#f8f6f2;color:#1e3b2d;cursor:pointer;border-radius:5px;font-size:1rem}.map-viewport{touch-action:pan-y}.map-pan-instruction{max-width:calc(100% - 140px)}
.ha-scroll-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:.65rem;color:#d8e3d3;letter-spacing:.06em;text-decoration:none;display:flex;align-items:center;gap:.7rem;min-height:32px}.ha-scroll-hint:after{content:'';width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-bottom:4px}
.video-pause{position:absolute;bottom:16px;right:22px;border:1px solid #d0ddc550;border-radius:50%;background:#102a2050;color:white;width:32px;height:32px;cursor:pointer;z-index:3;font-size:.7rem}
@media(max-width:899px){.home-introduction{grid-template-columns:1fr;gap:1.5rem}.intro-support{max-width:52ch}.intro-support .minimal-link{justify-self:start}.home-services-head{grid-template-columns:1fr;gap:1rem}.sector-showcase{min-height:0}.sector-description figure{max-width:100%}}
@media(max-width:767px){.unified-hero .page-head{padding-bottom:2rem}.editorial-hero-media{aspect-ratio:1.35;width:90%;border-radius:16px}.home-introduction h2{font-size:clamp(1.9rem,7vw,3rem)}.intro-support{margin:0}.home-service{grid-template-columns:1.5rem 1fr;padding:1.8rem 0;gap:.8rem}.home-service p{font-size:.95rem}.circular-window{min-height:390px;padding-top:10px}.circular-window.is-enhanced .circular-track{height:370px}.circular-window.is-enhanced .circular-card{height:330px;width:250px}.circular-status{display:none}.gallery-link{font-size:.8rem}.gallery-bottom{gap:1rem}.sector-description>p{padding-left:0}.faq-trigger{grid-template-columns:1.2rem 1fr 1rem;gap:.65rem;font-size:.95rem}.faq-panel{padding-left:1.8rem}.ha-scroll-hint{bottom:8px}.video-pause{bottom:8px;right:14px}}
@media(prefers-reduced-motion:reduce){.sector-stage img,.home-service,.home-service-image,.home-service:after,.faq-panel.is-enhanced{transition:none}.circular-window.is-enhanced .circular-card{will-change:auto}}

.faq-trigger>span:nth-child(2){text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px;transition:text-decoration-color .25s}.faq-trigger:is(:hover,:focus-visible)>span:nth-child(2){text-decoration-color:#7f9962}

.project-lightbox>img { touch-action:pan-y pinch-zoom; }
.bwf-soc[role="img"] { cursor:default; }
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.ha-nav,.site-header{backdrop-filter:none;background:#1e3b2d;}}
