/*
Theme Name: ETILED Studio
Version: 24.0.0
Description: Energia, impianti e costruzioni. Identità e documentazione aziendale ETILED.
Author: Alexino Computer Services
Text Domain: etiled-studio
*/
@font-face{font-family:EtiledDisplay;src:url(fonts/manrope-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:EtiledSans;src:url(fonts/inter-latin-variable.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--brand:#61a336;--ink:#242424;--muted:#656560;--paper:#fdfdfb;--surface:#f2f2ee;--line:#deded7;--radius:4px 28px 4px 4px;--header:96px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:var(--paper);font-family:EtiledSans,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open,body.photo-viewer-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:EtiledDisplay,Arial,sans-serif}h1{font-weight:800;font-size:clamp(44px,5.5vw,76px);letter-spacing:-.045em;line-height:1.1}h2{font-weight:650;font-size:clamp(32px,3.8vw,49px);letter-spacing:-.035em;line-height:1.16}h3{font-weight:650;font-size:24px;letter-spacing:-.025em;line-height:1.25}h1 em,h2 em{font-style:normal;color:var(--brand)}p{color:var(--muted)}svg{width:22px;height:22px;flex:none}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.section.compact{padding-top:18px}.surface{background:var(--surface)}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}.eyebrow>span{width:25px;height:2px;background:var(--brand);flex:none}.lead{font-size:19px;line-height:1.7;max-width:750px;margin-top:26px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:44px}.section-heading>p{max-width:400px;font-size:17px}.section-heading h2{max-width:700px}.small-note{font-size:12px;line-height:1.7;margin-top:25px;max-width:850px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-90px;z-index:999;background:#fff;padding:12px 20px;border:2px solid var(--brand)}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(253,253,251,.97);border-bottom:1px solid var(--line);transition:box-shadow .25s}.site-header.is-scrolled{box-shadow:0 6px 24px #24242408}.brand{display:block;margin-right:auto;flex:none}.brand img{width:202px;height:59px;object-fit:contain}.desktop-nav{display:flex;gap:27px;align-items:center;font-size:14px;font-weight:500}.nav-link{padding-block:12px}.nav-link svg{display:none}.desktop-nav [aria-current=page],.desktop-nav [aria-current=location]{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:8px}.nav-solutions{position:relative}.nav-solutions summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;min-height:44px}.nav-solutions summary::-webkit-details-marker{display:none}.nav-solutions summary svg{width:14px;height:14px;transition:transform .2s}.nav-solutions[open] summary svg{transform:rotate(180deg)}.solutions-menu{position:absolute;right:-110px;top:56px;width:340px;padding:15px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px #24242412}.solutions-menu a{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.solutions-menu a:last-child{border:0;font-weight:650}.solutions-menu a svg{width:17px;color:var(--brand)}.header-contact{display:flex;align-items:center;gap:16px;border-left:1px solid var(--line);padding-left:28px;font-weight:600;font-size:14px;min-height:44px}.header-contact svg{color:var(--brand);width:19px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;font-weight:600;line-height:1.45}.text-link:hover svg{transform:translateX(4px)}.text-link{min-height:44px;border-bottom:1px solid var(--line);padding-block:8px}.text-link svg{width:19px;color:var(--brand);transition:transform .2s}.text-link:hover{border-color:var(--brand)}.section-link{margin-top:34px}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;padding-block:38px 34px}.hero-copy{padding-block:42px 20px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;min-width:0}.hero-copy>.eyebrow{margin-bottom:30px;font-size:10px}.hero h1{font-size:clamp(43px,4.65vw,67px);line-height:1.08;letter-spacing:-.05em;white-space:nowrap}.hero-intro{font-family:EtiledDisplay,sans-serif;font-size:24px;font-weight:600;line-height:1.4;color:var(--ink);letter-spacing:-.02em;margin-top:27px}.hero-description{font-size:16px;line-height:1.75;max-width:440px;margin-top:17px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:27px;flex-wrap:wrap}.hero-actions .text-link{font-size:13px;gap:15px}.hero-meta{display:flex;align-items:center;gap:20px;margin-top:35px;padding-top:22px;border-top:1px solid var(--line);width:100%;max-width:440px}.hero-meta>span{font-size:10px;letter-spacing:.09em;font-weight:600;color:var(--muted);white-space:nowrap}.hero-meta>p{font-size:11px;line-height:1.6;color:var(--ink)}.energy-flow{position:relative;margin-left:auto;width:80px;height:1px;background:var(--line);overflow:visible}.energy-flow:before,.energy-flow:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border:1px solid var(--brand);border-radius:50%;background:var(--paper)}.energy-flow:after{right:0}.energy-flow i{position:absolute;height:3px;top:-1px;width:18px;background:var(--brand);animation:flow 4s ease-in-out infinite}@keyframes flow{0%,100%{transform:translateX(3px);opacity:.3}50%{transform:translateX(58px);opacity:1}}.hero-photo{position:relative;min-height:590px;overflow:hidden;border-radius:4px 48px 4px 4px;background:var(--surface)}.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 50%}.hero-photo figcaption{position:absolute;inset:auto 0 0;padding:110px 30px 29px;background:linear-gradient(transparent,rgba(20,20,20,.85));color:#fff}.hero-photo figcaption>span:first-child{font-size:9px;letter-spacing:.1em;display:block;margin-bottom:12px}.hero-photo strong{font-family:EtiledDisplay,sans-serif;font-size:29px;font-weight:650;line-height:1.2;letter-spacing:-.025em;display:block}.photo-marker{display:block;font-size:9px;letter-spacing:.07em;margin-top:20px;color:#e3e3dd}.hero-copy{animation:enter .7s both}.hero-photo{animation:enter .9s .1s both}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sector-nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px}.sector-nav>a{display:flex;gap:16px;align-items:center;padding-inline:28px;border-right:1px solid var(--line);min-height:44px}.sector-nav>a:first-child{padding-left:0}.sector-nav>a:last-child{padding-right:0;border:0}.sector-nav span{font-size:10px;color:var(--muted)}.sector-nav strong{font-size:14px;font-weight:550}.sector-nav svg{color:var(--brand);width:18px;margin-left:auto;transition:transform .2s}.sector-nav a:hover svg{transform:translateX(4px)}
.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.focus-grid figure{height:310px;overflow:hidden;border-radius:var(--radius);margin-bottom:23px}.focus-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.focus-grid a:hover img{transform:scale(1.025)}.focus-grid>a>span{font-size:10px;letter-spacing:.07em;color:var(--muted)}.focus-grid h3{margin-top:10px;margin-bottom:14px;font-size:27px}.focus-grid p{font-size:15px;line-height:1.75}.focus-grid b{margin-top:21px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:17px}.focus-grid b svg{color:var(--brand);width:18px}.competence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.etiled-home .competence-grid{margin-top:44px}.competence-card{display:flex;gap:22px;align-items:flex-start;padding:29px 0;border-top:1px solid var(--line)}.competence-card .index{padding-top:5px}.index{font-size:11px;letter-spacing:.05em;color:var(--muted);flex:none}.competence-card h3{font-size:23px}.competence-card p{font-size:14px;margin-top:12px;line-height:1.8}.competence-card svg{color:var(--brand);width:20px;margin-left:auto;margin-top:3px;transition:transform .2s}.competence-card:hover svg{transform:translateX(4px)}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}.project-card figure{position:relative;aspect-ratio:1.12;overflow:hidden;border-radius:var(--radius);background:#e7e7e1}.project-card img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.project-card figure>span{display:grid;place-items:center;position:absolute;bottom:17px;right:17px;width:40px;height:40px;background:white;border-radius:4px 12px 4px 4px}.project-card figure>span svg{color:var(--brand);width:19px}.project-card:hover img{transform:scale(1.035)}.project-card>div{padding-top:22px}.project-card small{font-size:10px;letter-spacing:.1em;color:var(--muted)}.project-card h3{margin-top:10px;font-size:26px}.project-card p{font-size:14px;margin-top:12px}.legacy-projects{margin-top:38px}.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}.project-filters button{background:transparent;border:1px solid var(--line);border-radius:4px;min-height:44px;padding:10px 18px;font-size:13px;color:var(--ink)}.project-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps article{border-top:1px solid var(--line);padding-top:23px}.steps article>span{color:var(--brand);font-size:24px;font-weight:500;font-family:EtiledDisplay,sans-serif}.steps h3{font-size:21px;margin-block:23px 15px}.steps p{font-size:14px;line-height:1.8}.quality-strip{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:center;gap:32px;padding-block:42px;border-top:1px solid var(--line);margin-bottom:80px}.quality-strip h2{font-size:32px}.quality-strip .eyebrow{font-size:9px;margin-bottom:17px}.quality-strip>div>strong{font-family:EtiledDisplay,sans-serif;font-weight:650;font-size:25px}.quality-strip>div>span{display:block;font-size:13px;color:var(--muted);margin-top:10px;line-height:1.6}.quality-strip>.text-link{font-size:12px;gap:12px}
.page-head{padding-block:60px 52px}.page-head h1{max-width:1050px;font-size:clamp(42px,5.1vw,68px);font-weight:750}.page-head .lead{max-width:800px;font-size:18px}.service-hero,.legacy-case{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:80px}.service-hero figure{height:540px;overflow:hidden;border-radius:var(--radius)}.service-hero img{width:100%;height:100%;object-fit:cover}.service-hero h2{font-size:38px}.service-hero p:not(.eyebrow){margin-top:22px;font-size:16px}.service-hero .text-link{margin-top:27px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.detail-grid article{border-top:1px solid var(--line);padding-top:22px}.detail-grid h3{margin-block:19px 17px}.detail-grid p{font-size:15px}.editorial-copy>p:not(.eyebrow){font-size:18px;max-width:850px;margin-top:24px}.editorial-copy>.text-link{margin-top:25px}.editorial-copy .projects-grid,.editorial-copy .gallery{margin-top:40px}.editorial-copy .projects-grid{grid-template-columns:1fr 1fr}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-size:17px;font-weight:550;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:24px;font-weight:300;color:var(--brand)}.faq details[open] summary>span{transform:rotate(45deg)}.faq details>p{padding:0 38px 24px 0;font-size:15px;line-height:1.8}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 30px}.gallery figure{min-width:0}.gallery-open{padding:0;background:var(--surface);width:100%;aspect-ratio:1.28;display:block;position:relative;border-radius:var(--radius);overflow:hidden;text-align:left}.gallery-open img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-open:hover img{transform:scale(1.025)}.photo-action{position:absolute;right:14px;bottom:14px;display:flex;gap:18px;align-items:center;background:white;padding:8px 12px;border-radius:3px;font-size:10px;color:var(--ink)}.photo-action>span{font-size:18px;color:var(--brand);line-height:1.3}.gallery figcaption{padding-top:18px;display:flex;flex-direction:column;gap:7px}.gallery figcaption strong{font-size:17px;font-weight:550}.gallery figcaption>span{font-size:13px;color:var(--muted)}.photo-viewer{border:0;border-radius:6px;width:min(1100px,calc(100% - 32px));max-height:94dvh;padding:16px;background:#fdfdfb;color:var(--ink)}.photo-viewer::backdrop{background:#111e}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 0 10px;font-size:11px}.viewer-top button,.viewer-controls button{min-width:44px;min-height:44px;background:var(--surface);color:var(--ink);border-radius:4px;padding:8px 14px;font-size:13px}.photo-viewer img{height:min(72dvh,820px);width:100%;object-fit:contain;background:#eeeee9}.photo-viewer figcaption{font-size:13px;padding-top:12px}.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.viewer-controls span{font-size:12px;color:var(--muted)}.video-story{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;margin-bottom:100px}.video-story p:not(.eyebrow){margin-top:23px}.video-story video{width:min(100%,400px);max-height:540px;justify-self:center;border-radius:var(--radius);background:var(--ink)}.client-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.client-grid>div{background:white;display:grid;place-items:center;padding:26px 20px;height:126px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.client-grid img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:70px}.documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 38px}.documents>a{display:flex;gap:23px;align-items:flex-start;padding-block:28px;border-top:1px solid var(--line)}.file-type{font-size:10px;font-weight:650;padding:6px 8px;border:1px solid var(--line);border-radius:3px;margin-top:5px}.documents small{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.documents h3{font-size:22px;margin-block:9px 13px}.documents p{font-size:14px;line-height:1.7}.documents svg{color:var(--brand);width:20px;margin-top:7px}.cert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.cert-grid article{border:1px solid var(--line);padding:28px 24px;border-radius:var(--radius);background:white}.cert-sign{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:30px}.cert-grid h2{font-size:22px;letter-spacing:-.025em;line-height:1.25}.cert-grid p{font-size:13px;margin-top:14px}.document-callout{padding:32px 0 0;margin-top:44px;border-top:1px solid var(--line)}.document-callout h2{font-size:29px}.document-callout p{max-width:800px;margin-block:16px 24px}.legacy-case{align-items:start;margin-bottom:90px;gap:55px}.legacy-case figure{overflow:hidden;border-radius:var(--radius)}.legacy-case img{width:100%;height:auto}.legacy-case p:not(.eyebrow){margin-top:22px}.legacy-case .text-link{margin-top:25px}.case-data{margin-top:26px}.case-data>div{border-top:1px solid var(--line);padding-block:12px;display:flex;align-items:center;justify-content:space-between;gap:22px}.case-data dt{font-size:13px;color:var(--muted)}.case-data dd{font-size:19px;font-weight:600;margin:0}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;padding-bottom:100px}.contact-details>a,.contact-details>div:not(.contact-prep){display:block;position:relative;border-bottom:1px solid var(--line);padding:24px 0}.contact-details small{font-size:10px;letter-spacing:.08em;display:block;color:var(--muted);margin-bottom:10px}.contact-details strong{font-family:EtiledDisplay,sans-serif;font-size:26px;line-height:1.3;font-weight:600}.contact-details>a svg{position:absolute;right:0;bottom:28px;color:var(--brand);width:19px}.contact-prep{margin-top:35px}.contact-prep h2{font-size:23px}.contact-prep p{margin-top:16px;font-size:14px}.contact-layout form{background:var(--surface);padding:38px;border-radius:var(--radius)}.contact-layout form h2{font-size:32px}.contact-layout form>p:first-of-type{font-size:14px;margin-top:18px}.contact-layout label{display:block;font-size:13px;font-weight:550;margin:24px 0 8px}.contact-layout label span{font-weight:400;color:var(--muted)}.contact-layout input,.contact-layout select,.contact-layout textarea{display:block;width:100%;max-width:100%;border:1px solid #c4c4bc;border-radius:3px;background:white;color:var(--ink);padding:12px 13px;font-size:16px;line-height:1.5;min-height:48px}.contact-layout textarea{resize:vertical}.form-note{font-size:12px;line-height:1.7;margin:22px 0}.form-note a{text-decoration:underline;text-underline-offset:3px}.contact-layout #brief-status{font-size:13px;line-height:1.7;margin-top:20px}.contact-layout #brief-status a{text-decoration:underline}.sitemap-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.sitemap-list a{font-weight:450;padding-block:17px}.legal-copy{max-width:900px}.legal-copy h2{font-size:26px;margin-block:30px 16px}.legal-copy p{margin-block:16px}.legal-copy a{color:var(--ink);text-decoration:underline}.legal-copy ul{color:var(--muted)}

@media(min-width:1600px){.hero-photo{min-height:640px}.hero h1{font-size:72px}.hero-intro{font-size:27px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:20px;font-size:13px}.brand img{width:178px;height:52px}.header-contact{padding-left:18px;font-size:13px;gap:12px}.hero{gap:32px}.hero h1{font-size:4.9vw}.hero-copy>.eyebrow{font-size:9px}.hero-photo{min-height:580px}.hero-intro{font-size:22px}.hero-actions{gap:16px}.hero-meta{gap:14px}.hero-description{font-size:15px}.hero-actions .text-link{font-size:12px}.focus-grid{gap:24px}.focus-grid figure{height:260px}.focus-grid h3{font-size:23px}.sector-nav>a{padding-inline:20px}.sector-nav strong{font-size:12px}.quality-strip{gap:24px;grid-template-columns:1.3fr 1fr 1fr}.quality-strip>.text-link{grid-column:1/-1;justify-self:start}.service-hero,.legacy-case{gap:42px}.service-hero figure{height:480px}.service-hero h2{font-size:32px}.contact-layout{gap:48px}.cert-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid .project-card:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:940px){:root{--header:82px}.desktop-nav{display:none}.header-contact{border-left:0;padding-left:0;margin-left:auto}.brand{margin-right:0}.section{padding-block:75px}.focus-grid{grid-template-columns:1fr 1fr}.focus-grid>a:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-content:center}.focus-grid>a:last-child figure{grid-row:1/5;margin-bottom:0;height:300px}.focus-grid>a:last-child h3{margin-top:0}.focus-grid>a:last-child b{margin-top:15px}.focus-grid>a:last-child>span{align-self:end}.steps{grid-template-columns:repeat(2,1fr);gap:35px}.section-heading{gap:30px}.section-heading>p{max-width:330px;font-size:15px}.client-grid{grid-template-columns:repeat(3,1fr)}.faq{gap:35px;grid-template-columns:1fr 1.3fr}}
@media(max-width:680px){:root{--header:80px}.wrap{width:calc(100% - 40px)}html{scroll-padding-top:96px}body{font-size:16px}.brand img{width:166px;height:48px}.header-contact{font-size:12px;gap:7px;font-weight:550}.header-contact svg{width:16px}.section{padding-block:58px}.section.compact{padding-top:0}.eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:18px;gap:10px}.eyebrow>span{width:20px}h2{font-size:34px;line-height:1.16}h3{font-size:23px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;margin-top:20px;font-size:16px;line-height:1.75}.text-link{font-size:14px}.hero{display:flex;flex-direction:column;gap:29px;padding-block:30px 25px}.hero-copy{padding:0;display:block}.hero-copy>.eyebrow{font-size:8.5px;letter-spacing:.075em;margin-bottom:23px}.hero h1{font-size:clamp(37px,10.5vw,65px);font-weight:800;line-height:1.08;letter-spacing:-.045em}.hero-intro{font-size:22px;line-height:1.4;margin-top:24px}.hero-description{font-size:16px;line-height:1.7;margin-top:16px;max-width:100%}.hero-actions{margin-top:23px;gap:15px 20px;align-items:center}.hero-actions .text-link{font-size:12px;gap:9px}.hero-meta{margin-top:24px;padding-top:18px;gap:20px;max-width:100%}.hero-meta>span{font-size:9px}.hero-meta>p{font-size:10px}.energy-flow{width:68px}@keyframes flow{0%,100%{transform:translateX(3px);opacity:.3}50%{transform:translateX(46px);opacity:1}}.hero-photo{height:390px;min-height:0;border-top-right-radius:32px}.hero-photo>img{object-position:50% 49%}.hero-photo figcaption{padding:90px 22px 23px}.hero-photo strong{font-size:28px}.hero-photo figcaption>span:first-child{font-size:8px}.photo-marker{display:none}.sector-nav{grid-template-columns:1fr;padding-block:0;border-top:1px solid var(--line)}.sector-nav>a,.sector-nav>a:first-child,.sector-nav>a:last-child{min-height:64px;padding:14px 0;border-right:0;border-bottom:1px solid var(--line);gap:20px}.sector-nav>a:last-child{border-bottom:0}.sector-nav strong{font-size:15px;font-weight:500}.sector-nav span{font-size:10px}.sector-nav svg{width:19px}.focus-grid{grid-template-columns:1fr;gap:35px}.focus-grid figure{height:auto;aspect-ratio:1.3;margin-bottom:21px;border-top-right-radius:24px}.focus-grid h3{font-size:26px;margin-top:9px}.focus-grid p{font-size:15px}.focus-grid>a:last-child{display:block;grid-column:auto}.focus-grid>a:last-child figure{height:auto;margin-bottom:21px}.focus-grid>a:last-child h3{margin-top:9px}.focus-grid b{font-size:13px}.competence-grid{grid-template-columns:1fr;gap:0}.etiled-home .competence-grid{margin-top:35px}.competence-card{gap:16px;padding-block:24px}.competence-card h3{font-size:22px}.competence-card p{font-size:14px;line-height:1.75}.competence-card svg{width:18px}.competence-card .index{font-size:10px}.projects-grid{grid-template-columns:1fr;gap:33px}.project-card figure{aspect-ratio:1.25;border-top-right-radius:24px}.project-card>div{padding-top:19px}.project-card h3{font-size:26px;margin-top:8px}.project-card p{font-size:15px}.project-card small{font-size:9px}.project-filters{gap:8px;margin-bottom:27px}.project-filters button{font-size:12px;padding-inline:12px}.steps{grid-template-columns:1fr 1fr;gap:28px 22px}.steps h3{font-size:20px;margin-block:16px 12px}.steps p{font-size:14px;line-height:1.7}.steps article>span{font-size:23px}.quality-strip{grid-template-columns:1fr 1fr;gap:30px;padding-block:30px;margin-bottom:45px}.quality-strip>div:first-child{grid-column:1/-1}.quality-strip h2{font-size:32px}.quality-strip>div>strong{font-size:23px}.quality-strip>div>span{font-size:13px}.quality-strip>.text-link{font-size:13px}.page-head{padding-block:37px 33px}.page-head h1{font-size:clamp(36px,9.4vw,55px);line-height:1.12;letter-spacing:-.04em;overflow-wrap:break-word}.page-head .lead{font-size:17px;line-height:1.7;margin-top:23px}.service-hero,.legacy-case{grid-template-columns:1fr;gap:30px}.service-hero figure{height:360px;border-top-right-radius:25px}.service-hero h2{font-size:31px}.service-hero p:not(.eyebrow){font-size:16px;margin-top:18px}.service-hero .eyebrow{font-size:9px}.detail-grid{grid-template-columns:1fr;gap:27px}.detail-grid h3{font-size:23px;margin-block:14px 13px}.detail-grid p{font-size:15px}.editorial-copy>p:not(.eyebrow){font-size:16px;line-height:1.8}.editorial-copy .projects-grid{grid-template-columns:1fr}.faq{grid-template-columns:1fr;gap:25px}.faq h2{font-size:32px}.faq summary{font-size:16px;padding-block:21px}.faq details>p{font-size:15px;padding-right:15px}.gallery{grid-template-columns:1fr;gap:31px}.gallery-open{aspect-ratio:1.15;border-top-right-radius:24px}.gallery figcaption{padding-top:16px}.gallery figcaption strong{font-size:17px}.gallery figcaption>span{font-size:14px}.photo-action{font-size:10px;right:12px;bottom:12px}.photo-viewer{width:calc(100% - 20px);padding:12px}.photo-viewer img{height:64dvh}.photo-viewer figcaption{font-size:12px}.video-story{grid-template-columns:1fr;gap:28px;margin-bottom:58px}.video-story video{max-height:480px}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-grid>div{height:95px;padding:18px 12px}.client-grid img{max-height:52px}.documents{grid-template-columns:1fr;gap:0}.documents>a{gap:16px;padding-block:24px}.documents h3{font-size:22px}.documents p{font-size:14px}.documents small{font-size:9px}.file-type{font-size:9px;padding:5px 7px}.documents svg{width:18px}.cert-grid{gap:13px}.cert-grid article{padding:22px 16px}.cert-grid h2{font-size:19px}.cert-grid p{font-size:12px}.cert-sign{margin-bottom:22px}.document-callout h2{font-size:26px}.document-callout p{font-size:15px}.legacy-case{margin-bottom:55px}.case-data dt{font-size:12px}.case-data dd{font-size:16px}.contact-layout{grid-template-columns:1fr;gap:35px;padding-bottom:60px}.contact-details strong{font-size:25px}.contact-layout form{padding:27px 22px}.contact-layout form h2{font-size:29px}.contact-layout label{font-size:13px}.contact-layout form>p:first-of-type{font-size:14px}.form-note{font-size:12px}.sitemap-list{grid-template-columns:1fr}.sitemap-list a{font-size:14px}.legal-copy h2{font-size:24px}.small-note{font-size:11px}}
@media(max-width:365px){.brand img{width:145px;height:43px}.header-contact{font-size:11px;gap:4px}.header-contact svg{display:none}.hero h1{font-size:10.4vw}.hero-intro{font-size:20px}.hero-copy>.eyebrow{font-size:7.8px;letter-spacing:.04em}.hero-actions .text-link{font-size:12px}.hero-photo{height:340px}.steps{grid-template-columns:1fr}.cert-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-copy,.hero-photo{opacity:1;transform:none}.focus-grid a:hover img,.project-card:hover img,.gallery-open:hover img{transform:none}}

body.admin-bar .site-header{top:32px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}


/* ETILED 12 — editorial architecture, authentic photography, one brand colour. */
:root{--brand:#61a336;--ink:#191c1b;--muted:#626764;--paper:#fff;--surface:#f4f5f2;--line:#dfe3dd;--radius:3px;--header:108px}
body{font-size:17px;line-height:1.7;background:var(--paper)}h1,h2,h3{font-family:EtiledSans,Arial,sans-serif}h2{font-size:clamp(34px,3.6vw,54px);font-weight:600;line-height:1.12;letter-spacing:-.045em}h3{font-weight:600;letter-spacing:-.025em}.wrap{width:min(1400px,calc(100% - 96px))}.section{padding-block:112px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.11em;line-height:1.5}.eyebrow>span{height:3px;width:24px}.section-heading{margin-bottom:48px}.section-heading>p{font-size:17px;line-height:1.75;max-width:405px}.section-heading .text-link{flex:none}.small-note{font-size:13px}
.site-header{background:rgba(255,255,255,.97);border:0;backdrop-filter:blur(16px)}.brand img{width:78px;height:78px;object-fit:contain}.desktop-nav{gap:36px;font-size:14px;font-weight:500}.nav-link{position:relative}.desktop-nav .nav-link:after{content:"";position:absolute;left:0;bottom:5px;width:100%;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav .nav-link:hover:after{transform:scaleX(1)}.header-contact{border:1px solid var(--line);padding:10px 18px;gap:28px;border-radius:3px;min-height:46px;font-size:14px;font-weight:600;transition:border-color .2s}.header-contact:hover{border-color:var(--brand)}.header-contact svg{width:18px;color:var(--ink)}.solutions-menu{border-radius:3px;box-shadow:0 24px 60px #17201712;top:55px;background:white;padding:15px 26px;width:370px}.solutions-menu a{padding-block:14px}.solutions-menu a:hover{color:var(--ink);background:var(--surface)}.reading-progress{position:absolute;height:2px;bottom:0;left:0;width:100%;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:var(--brand);transform:scaleX(0);transform-origin:left}.site-header.is-scrolled{box-shadow:0 5px 24px #17201708}
.text-link{font-size:14px;font-weight:550;gap:25px;min-height:46px;border-bottom:1px solid #bfc7bc}.text-link svg{color:var(--ink);width:20px}.text-link:hover svg{color:var(--brand)}
/* Opening: a strong typographic introduction and a full-width photographic stage. */
.home-intro{display:grid;grid-template-columns:1.45fr 1fr;gap:70px;align-items:end;padding-block:54px 46px}.home-intro .eyebrow{margin-bottom:26px;font-size:10px;letter-spacing:.12em}.home-intro h1{font-size:clamp(60px,6.55vw,102px);font-weight:780;line-height:1.01;letter-spacing:-.058em;word-spacing:.07em;white-space:nowrap}.title-dot{color:var(--brand)}.intro-summary{max-width:410px;justify-self:end;padding-bottom:4px}.intro-summary .intro-service{font-size:25px;line-height:1.27;font-weight:550;letter-spacing:-.025em;color:var(--ink);margin-bottom:14px}.intro-summary>p:not(.intro-service){font-size:16px;line-height:1.65}.showcase{margin-inline:24px;position:relative}.showcase-media{height:clamp(430px,39vw,600px);overflow:hidden;border-radius:4px 80px 4px 4px;background:var(--surface)}.showcase-panel{position:relative;width:100%;height:100%;overflow:hidden;background:#263330}.showcase-panel>img{width:100%;height:100%;object-fit:cover;object-position:50% 63%;animation:image-arrive .8s cubic-bezier(.2,.6,.2,1) both}.showcase-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#111b18cc,transparent 65%);pointer-events:none}.showcase-caption{position:absolute;bottom:38px;left:max(24px,calc((100vw - 1400px)/2 - 24px));z-index:1;color:#fff;max-width:560px}.showcase-caption>span{font-size:10px;font-weight:550;letter-spacing:.12em}.showcase-caption h2{font-size:35px;line-height:1.15;letter-spacing:-.035em;margin-top:12px}.showcase-caption .text-link{color:white;border-color:#ffffff66;margin-top:13px;font-size:13px;gap:36px}.showcase-caption .text-link svg{color:white}.showcase-bottom{margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:25px;width:calc(100% - 48px);min-height:88px;border-bottom:1px solid var(--line)}.showcase-bottom>p{font-size:10px;letter-spacing:.09em;display:flex;gap:12px;align-items:center}.live-dot{width:7px;height:7px;background:var(--brand);border-radius:50%;display:inline-block;box-shadow:0 0 0 5px #61a33610}.showcase-tabs{display:flex;gap:0;align-self:stretch}.showcase-tabs button{position:relative;display:flex;align-items:center;gap:22px;min-height:72px;background:transparent;padding:20px 26px;font-size:15px;color:var(--muted);border-top:3px solid transparent;transition:color .2s,background .2s}.showcase-tabs button small{font-size:10px;color:var(--muted)}.showcase-tabs button svg{width:17px}.showcase-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--brand);background:var(--surface)}.showcase-tabs button:hover{background:var(--surface)}@keyframes image-arrive{from{transform:scale(1.04);filter:brightness(.85)}to{transform:scale(1);filter:brightness(1)}}
/* Editorial service and project grids. */
.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.expertise-card figure{height:360px;position:relative;overflow:hidden;border-radius:3px;background:var(--surface)}.expertise-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.2,1)}.expertise-card:nth-child(1) img{object-position:50% 63%}.expertise-card:nth-child(3) figure{border-top-right-radius:60px}.image-index{position:absolute;top:20px;left:20px;background:#fff;padding:5px 11px;font-size:11px;font-weight:550}.round-arrow{position:absolute;bottom:20px;right:20px;display:grid;place-items:center;width:48px;height:48px;background:#fff;border-radius:50%;color:var(--ink);transition:background .25s,transform .25s}.round-arrow svg{width:23px;transform:rotate(-45deg)}.expertise-card:hover img,.selected-project:hover img{transform:scale(1.035)}.expertise-card:hover .round-arrow,.selected-project:hover .round-arrow{background:var(--brand);transform:rotate(45deg)}.expertise-card>div{padding-top:24px}.expertise-card h3{font-size:26px;font-weight:600}.expertise-subtitle{color:var(--ink);font-size:15px;font-weight:500;margin-top:10px}.expertise-card p:last-child{font-size:15px;line-height:1.75;margin-top:12px}.more-expertise{display:grid;grid-template-columns:1fr 3fr;gap:35px;margin-top:54px;padding-top:30px;border-top:1px solid var(--line)}.more-expertise>p{font-size:10px;letter-spacing:.1em;padding-top:12px}.more-expertise>div{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}.more-expertise .text-link{font-size:15px;border-bottom-color:var(--line)}.project-stage{background:var(--surface)}.selected-projects{display:grid;grid-template-columns:1.35fr 1fr;gap:55px 36px}.selected-project:first-child{grid-row:span 2}.selected-project figure{position:relative;height:230px;overflow:hidden;background:#dce0d8;border-radius:3px}.selected-project:first-child figure{height:625px;border-top-right-radius:65px}.selected-project img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;transition:transform .7s}.selected-project>div{padding-top:20px}.selected-project small{font-size:10px;letter-spacing:.1em;color:var(--muted)}.selected-project h3{font-size:27px;margin-top:8px}.selected-project p{font-size:15px;margin-top:7px}.selected-project:first-child h3{font-size:35px}.company-story{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.company-visual{position:relative;padding-bottom:50px}.company-visual figure{height:630px;border-top-right-radius:70px;overflow:hidden}.company-visual img{height:100%;width:100%;object-fit:cover;object-position:48%}.company-stamp{position:absolute;bottom:0;right:-25px;display:flex;gap:30px;align-items:center;background:var(--ink);color:#fff;padding:32px 38px;box-shadow:0 12px 35px #0001}.company-stamp strong{font-size:32px;font-weight:600;letter-spacing:-.03em;white-space:nowrap}.company-stamp span{font-size:12px;line-height:1.6;color:#e4e7e1;padding-left:25px;border-left:2px solid var(--brand)}.company-copy>p:not(.eyebrow){font-size:16px;margin-top:24px;line-height:1.8}.method-list{list-style:none;padding:0;margin:26px 0}.method-list li{display:flex;gap:30px;border-top:1px solid var(--line);padding:21px 0}.method-list li>span{font-size:11px;color:var(--muted);padding-top:7px}.method-list h3{font-size:23px}.method-list p{font-size:14px;margin-top:7px}.quality-strip{border-top:1px solid var(--line);padding-block:45px;margin-bottom:55px}.quality-strip h2{font-size:34px}.quality-strip>div>strong{font-family:EtiledSans,sans-serif;font-size:30px;font-weight:600}.quality-strip>.text-link{font-size:13px}
/* All inner pages share the same architecture, rhythm and typography. */
.breadcrumbs{display:flex;gap:12px;font-size:11px;color:var(--muted);padding-top:28px;line-height:1.5}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-head{padding-block:34px 56px;border-bottom:1px solid var(--line);margin-bottom:52px}.page-head h1{font-weight:650;font-size:clamp(42px,5.4vw,80px);line-height:1.06;letter-spacing:-.05em;max-width:1120px}.page-head h1 em{color:var(--ink)}.page-head h1 em:after{content:"";display:inline-block;background:var(--brand);width:11px;height:11px;margin-left:13px;vertical-align:baseline}.page-head .lead{font-size:19px;line-height:1.75;max-width:850px;margin-top:28px}.service-hero{grid-template-columns:1.2fr 1fr;gap:75px}.service-hero figure{height:570px;border-radius:3px 60px 3px 3px}.service-hero h2{font-size:40px;line-height:1.15}.service-hero p:not(.eyebrow){font-size:17px;line-height:1.8}.detail-grid{gap:34px}.detail-grid article{border-top:3px solid var(--brand);padding:26px 28px 30px;background:var(--surface)}.detail-grid h3{font-size:26px;margin-top:35px}.detail-grid p{font-size:16px}.competence-grid{gap:0 60px}.competence-card{padding-block:34px;gap:25px;transition:background .25s}.competence-card h3{font-size:26px}.competence-card p{font-size:16px;line-height:1.75}.competence-card:hover{background:var(--surface)}.competence-card .index{font-size:12px;color:var(--brand)}.projects-grid{gap:45px 30px}.project-card figure{border-radius:3px;aspect-ratio:1.25}.project-card figure>span{border-radius:50%;width:48px;height:48px}.project-card h3{font-size:27px}.project-card p{font-size:16px;line-height:1.7}.project-card:hover figure{box-shadow:none}.project-filters{gap:8px;border-bottom:1px solid var(--line);padding-bottom:22px}.project-filters button{font-size:14px;min-height:46px;border-radius:3px;padding-inline:24px}.project-filters button[aria-pressed=true]{background:var(--ink)}.gallery{gap:42px 30px}.gallery-open{aspect-ratio:1.25;border-radius:3px}.gallery figcaption strong{font-size:18px}.gallery figcaption>span{font-size:14px}.photo-action{font-size:11px;font-weight:550;padding:10px 15px;gap:22px}.gallery-open:hover img{transform:scale(1.025)}.editorial-copy>p:not(.eyebrow){font-size:18px;max-width:900px;line-height:1.85}.cert-grid article{border:0;border-top:2px solid var(--brand);padding:30px;background:var(--surface);border-radius:3px}.cert-grid h2{font-size:25px}.cert-grid p{font-size:14px}.documents h3{font-size:25px}.documents p{font-size:16px}.documents>a{padding-block:32px}.client-grid{border:0;gap:1px;background:var(--line)}.client-grid>div{border:0;height:145px;padding:30px}.contact-layout{gap:80px}.contact-layout form{padding:45px;background:var(--surface);border-radius:3px 45px 3px 3px}.contact-layout form h2{font-size:37px}.contact-layout label{font-size:14px}.contact-layout form>p:first-of-type{font-size:16px}.contact-details strong{font-family:EtiledSans,sans-serif;font-size:29px}.contact-prep p{font-size:16px}.faq summary{font-size:18px}.faq details>p{font-size:16px}
/* Motion is progressive enhancement: content always remains visible. */
.reveal-in{animation:reveal-in .65s cubic-bezier(.2,.6,.2,1) both}@keyframes reveal-in{from{transform:translateY(22px)}to{transform:translateY(0)}}
@media(min-width:1600px){.home-intro{padding-block:65px 55px}.showcase-caption{left:calc((100vw - 1400px)/2 - 24px)}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:24px}.home-intro{gap:38px;grid-template-columns:1.4fr 1fr}.home-intro h1{font-size:6.7vw}.intro-summary .intro-service{font-size:23px}.intro-summary>p:not(.intro-service){font-size:15px}.showcase-bottom>p{display:none}.showcase-tabs{margin-left:auto;width:100%;justify-content:space-between}.showcase-tabs button{flex:1;justify-content:space-between}.expertise-grid{gap:22px}.expertise-card figure{height:300px}.expertise-card h3{font-size:23px}.selected-project:first-child figure{height:570px}.selected-project figure{height:210px}.company-story{gap:55px}.company-visual figure{height:580px}.company-stamp{right:-15px;padding:25px;gap:20px}.company-stamp strong{font-size:27px}.company-stamp span{padding-left:17px}.service-hero{gap:42px}.service-hero figure{height:490px}.service-hero h2{font-size:34px}.detail-grid article{padding:22px}.detail-grid h3{font-size:23px}.contact-layout{gap:45px}.contact-layout form{padding:32px}.contact-details strong{font-size:25px}}
@media(max-width:940px){:root{--header:94px}.brand img{width:68px;height:68px}.desktop-nav{display:none}.header-contact{margin-left:auto}.section{padding-block:80px}.home-intro{grid-template-columns:1fr;gap:25px;padding-block:40px 35px}.home-intro h1{font-size:clamp(64px,9.2vw,89px)}.intro-summary{max-width:none;justify-self:stretch;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;align-items:start}.intro-summary .intro-service{grid-column:1;margin:0;font-size:23px}.intro-summary>p:not(.intro-service){grid-column:2;grid-row:1/3;font-size:16px}.showcase-media{height:450px}.expertise-grid{gap:20px}.expertise-card figure{height:270px}.expertise-card h3{font-size:22px}.expertise-card p:last-child{font-size:14px}.expertise-subtitle{font-size:14px}.more-expertise{grid-template-columns:1fr;gap:12px}.company-story{grid-template-columns:1fr 1fr;gap:40px}.company-visual figure{height:570px}.company-stamp{display:block;right:-15px;padding:24px}.company-stamp span{display:block;margin-top:12px;padding-left:12px}.company-copy h2{font-size:36px}.company-copy>p:not(.eyebrow){font-size:15px}.method-list{margin-block:20px}.method-list li{gap:20px;padding-block:17px}.method-list h3{font-size:21px}.quality-strip{grid-template-columns:1.3fr 1fr 1fr}.quality-strip>.text-link{grid-column:1/-1}.page-head{padding-block:30px 40px;margin-bottom:40px}.page-head h1{font-size:60px}.page-head .lead{font-size:18px}.service-hero{gap:35px}.service-hero p:not(.eyebrow){font-size:16px}.service-hero figure{height:470px}.detail-grid{gap:18px}.detail-grid article{padding:22px 18px}.detail-grid h3{font-size:22px}.detail-grid p{font-size:15px}.client-grid>div{height:120px}}
@media(max-width:700px){:root{--header:88px}.wrap{width:calc(100% - 40px)}body{font-size:16px}.brand img{width:64px;height:64px}.header-contact{border:0;padding:0;gap:12px;font-size:13px;min-height:44px}.header-contact svg{color:var(--brand);width:19px}.section{padding-block:64px}.section.compact{padding-top:0}h2{font-size:36px;line-height:1.13}.eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:20px}.section-heading{margin-bottom:32px;display:block}.section-heading>p{font-size:16px;margin-top:22px;line-height:1.75;max-width:none}.section-heading>.text-link{margin-top:24px}.text-link{font-size:14px}.home-intro{padding-block:32px 30px;gap:25px}.home-intro .eyebrow{font-size:8px;letter-spacing:.08em;gap:9px;margin-bottom:24px}.home-intro .eyebrow>span{width:15px}.home-intro h1{font-size:clamp(43px,10.7vw,73px);line-height:1.045;letter-spacing:-.058em;font-weight:780;word-spacing:.07em}.intro-summary{display:block}.intro-summary .intro-service{font-size:21px;line-height:1.35;font-weight:550}.intro-summary .intro-service br{display:none}.intro-summary>p:not(.intro-service){font-size:15px;line-height:1.7;margin-top:12px;max-width:440px}.showcase{margin-inline:12px}.showcase-media{height:380px;border-radius:3px 48px 3px 3px}.showcase-panel>img{object-position:53% 56%}.showcase-caption{left:20px;right:20px;bottom:25px;max-width:390px}.showcase-caption>span{font-size:8px;letter-spacing:.09em}.showcase-caption h2{font-size:28px;line-height:1.16;margin-top:9px;max-width:320px}.showcase-caption .text-link{font-size:12px;margin-top:10px;min-height:38px}.showcase-bottom{width:100%;min-height:68px}.showcase-tabs{width:100%;margin:0}.showcase-tabs button{font-size:12px;padding:16px 10px;min-height:65px;gap:8px;justify-content:center;white-space:nowrap}.showcase-tabs button small{font-size:8px}.showcase-tabs button svg{display:none}.expertise-grid{grid-template-columns:1fr;gap:38px}.expertise-card figure{height:auto;aspect-ratio:1.25;border-radius:3px}.expertise-card:nth-child(3) figure{border-top-right-radius:40px}.expertise-card>div{padding-top:20px}.expertise-card h3{font-size:27px}.expertise-subtitle{font-size:15px;margin-top:10px}.expertise-card p:last-child{font-size:15px;line-height:1.75;margin-top:10px}.image-index{top:16px;left:16px}.round-arrow{width:44px;height:44px;bottom:16px;right:16px}.more-expertise{margin-top:38px;padding-top:23px;gap:10px}.more-expertise>p{padding:0}.more-expertise>div{grid-template-columns:1fr;gap:6px}.more-expertise .text-link{font-size:15px;min-height:52px}.selected-projects{grid-template-columns:1fr;gap:34px}.selected-project:first-child{grid-row:auto}.selected-project figure,.selected-project:first-child figure{height:auto;aspect-ratio:1.2;border-radius:3px}.selected-project:first-child figure{border-top-right-radius:45px}.selected-project h3,.selected-project:first-child h3{font-size:28px}.selected-project>div{padding-top:18px}.selected-project small{font-size:9px}.selected-project p{font-size:15px}.company-story{display:flex;flex-direction:column;gap:38px;align-items:stretch}.company-visual{padding-bottom:35px}.company-visual figure{height:390px;border-top-right-radius:45px}.company-stamp{display:flex;right:0;bottom:0;padding:24px;gap:22px}.company-stamp strong{font-size:27px}.company-stamp span{margin:0;font-size:11px;padding-left:19px}.company-copy h2{font-size:36px}.company-copy>p:not(.eyebrow){font-size:16px;margin-top:22px}.method-list{margin-block:25px}.method-list li{padding-block:20px;gap:25px}.method-list h3{font-size:23px}.method-list p{font-size:14px}.quality-strip{grid-template-columns:1fr 1fr;gap:28px;padding-block:30px;margin-bottom:35px}.quality-strip h2{font-size:32px}.quality-strip>div>strong{font-size:27px}.quality-strip>div>span{font-size:13px}.breadcrumbs{padding-top:20px;font-size:10px}.page-head{padding-block:27px 32px;margin-bottom:30px}.page-head .eyebrow{font-size:9px}.page-head h1{font-size:clamp(36px,9.2vw,54px);line-height:1.09;font-weight:650;letter-spacing:-.045em}.page-head h1 em:after{width:7px;height:7px;margin-left:8px}.page-head .lead{font-size:16px;line-height:1.8;margin-top:22px}.service-hero{grid-template-columns:1fr;gap:28px}.service-hero figure{height:340px;border-radius:3px 45px 3px 3px}.service-hero h2{font-size:32px}.service-hero p:not(.eyebrow){font-size:16px;line-height:1.8;margin-top:19px}.detail-grid{grid-template-columns:1fr;gap:20px}.detail-grid article{padding:25px}.detail-grid h3{font-size:25px;margin-block:24px 15px}.detail-grid p{font-size:15px}.competence-grid{grid-template-columns:1fr;gap:0}.competence-card{padding-block:26px;gap:18px}.competence-card h3{font-size:24px}.competence-card p{font-size:15px}.projects-grid{grid-template-columns:1fr;gap:34px}.project-card h3{font-size:27px}.project-card p{font-size:15px}.project-card figure{aspect-ratio:1.25;border-radius:3px}.project-filters{gap:8px;padding-bottom:20px}.project-filters button{padding:10px 13px;font-size:12px;min-height:44px}.gallery{grid-template-columns:1fr;gap:30px}.gallery-open{aspect-ratio:1.15;border-radius:3px}.gallery figcaption strong{font-size:18px}.gallery figcaption>span{font-size:14px}.photo-action{font-size:10px;padding:9px 12px}.editorial-copy>p:not(.eyebrow){font-size:16px;line-height:1.85}.cert-grid{grid-template-columns:1fr 1fr;gap:14px}.cert-grid article{padding:23px 17px}.cert-grid h2{font-size:21px}.cert-grid p{font-size:13px}.documents{grid-template-columns:1fr}.documents h3{font-size:24px}.documents p{font-size:15px}.documents>a{padding-block:25px}.client-grid>div{height:90px;padding:16px 12px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout form{padding:28px 22px;border-top-right-radius:35px}.contact-layout form h2{font-size:31px}.contact-layout form>p:first-of-type{font-size:15px}.contact-details strong{font-size:25px}.contact-prep p{font-size:15px}.faq summary{font-size:16px}.faq details>p{font-size:15px}.small-note{font-size:12px}}
@media(max-width:365px){.brand img{width:62px;height:62px}.header-contact{font-size:12px;gap:7px}.header-contact svg{display:block}.home-intro .eyebrow{font-size:7px}.home-intro h1{font-size:10.5vw}.intro-summary .intro-service{font-size:20px}.showcase-tabs button{font-size:11px;padding-inline:8px;gap:6px}.showcase-media{height:340px}.showcase-caption h2{font-size:26px}.company-stamp{padding:20px;gap:15px}.company-stamp strong{font-size:24px}.cert-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-in,.showcase-panel>img{animation:none!important}.expertise-card img,.selected-project img,.round-arrow,.text-link svg{transition:none!important}.expertise-card:hover img,.selected-project:hover img{transform:none!important}}

.home-intro h1{word-spacing:.15em}
/* A fixed mobile menu must not inherit a filtered containing block. */
.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}

/* ETILED 13 — luce, materia, precisione. Original identity, considered composition. */
:root{--brand:#61a336;--ink:#202422;--muted:#626965;--paper:#fff;--surface:#f5f5f2;--line:#e0e3de;--header:116px;--ease:cubic-bezier(.22,.68,0,1.01)}
body{font-size:16px;line-height:1.75}h1,h2,h3{font-family:EtiledDisplay,Arial,sans-serif;text-wrap:balance}h2{font-weight:620;font-size:clamp(32px,3.2vw,49px);line-height:1.16;letter-spacing:-.045em}h3{font-weight:650;letter-spacing:-.03em}.wrap{width:min(1320px,calc(100% - 96px))}.section{padding-block:100px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:600;gap:14px}.eyebrow>span{width:30px;height:2px}.section-heading{gap:60px;margin-bottom:44px}.section-heading>p{font-size:16px;line-height:1.8;max-width:370px}.section-heading>.text-link{margin-bottom:4px}
/* The original logo has its own clear space and optical presence. */
.site-header{background:#fff;box-shadow:none}.brand{padding:0;line-height:0;position:relative}.brand img{width:88px;height:88px;object-fit:contain;transition:opacity .25s}.brand:hover img{opacity:.92}.desktop-nav{gap:34px;font-size:13px;letter-spacing:.01em}.desktop-nav .nav-link:after{height:1px;bottom:7px}.header-contact{min-height:44px;padding:10px 0 10px 23px;border:0;border-left:1px solid var(--line);border-radius:0;gap:22px;font-size:13px;font-weight:550}.header-contact:hover{border-color:var(--line)}.header-contact svg{color:var(--brand)}.site-header.is-scrolled{box-shadow:0 6px 20px #20242206}.solutions-menu{top:53px;right:-90px;padding:15px 24px;width:360px;border-radius:2px 24px 2px 2px;box-shadow:0 14px 40px #20242210}.solutions-menu a{font-size:13px;padding-block:13px}.reading-progress{height:1px}
/* Actions: considered size, shared rhythm and a distinct arrow compartment. */
.text-link{font-size:13px;line-height:1.5;font-weight:550;gap:25px;min-height:44px;border-bottom:1px solid #bfc5be;transition:border-color .25s}.text-link:hover{border-color:var(--brand)}.text-link svg{width:19px;transition:transform .25s}.text-link:hover svg{transform:translateX(3px);color:var(--brand)}
/* Opening: a wordmark-led composition, light surfaces and a real work photograph. */
.signature-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:52px;align-items:center;padding-block:38px 0}.signature-copy{padding:24px 0 32px;min-width:0}.signature-copy .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:35px}.signature-copy h1{font-size:clamp(48px,5.25vw,77px);font-weight:760;line-height:1.065;letter-spacing:-.052em;word-spacing:.07em;margin:0 0 27px}.signature-copy h1>span{display:block;white-space:nowrap}.signature-copy h1 em{font-style:normal;color:var(--brand)}.signature-lead{font-family:EtiledDisplay,sans-serif;font-size:22px;line-height:1.5;letter-spacing:-.025em;color:var(--ink);font-weight:550;max-width:460px}.signature-description{font-size:15px;line-height:1.85;max-width:435px;margin-top:17px}.signature-actions{display:flex;flex-wrap:wrap;gap:19px 24px;margin-top:28px;align-items:center}.signature-actions .text-link{font-size:12px;gap:17px}.signature-foot{display:flex;align-items:center;gap:24px;margin-top:39px;padding-top:23px;border-top:1px solid var(--line);max-width:440px}.signature-year{font-family:EtiledDisplay,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.035em}.signature-foot p{font-size:11px;line-height:1.65;border-left:1px solid var(--line);padding-left:23px}.signature-visual{position:relative;align-self:stretch;min-width:0}.signature-visual .showcase-media{height:100%;min-height:550px;max-height:650px;border-radius:3px 52px 3px 3px;overflow:hidden;background:var(--surface);position:relative}.signature-visual .showcase-panel{position:absolute;inset:0;background:var(--surface)}.signature-visual .showcase-panel>img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-x,50%) var(--photo-y,50%);animation:photo-in .7s var(--ease) both}.signature-visual .showcase-panel:after{display:none}.visual-caption{position:absolute;inset:auto 18px 18px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fffffff5;backdrop-filter:blur(10px);padding:24px 25px;color:var(--ink);border-radius:2px}.visual-caption small{font-size:8px;letter-spacing:.12em;color:var(--muted);font-weight:600;display:block;margin-bottom:9px}.visual-caption h2{font-family:EtiledDisplay,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.035em;line-height:1.28;max-width:320px}.caption-arrow{display:grid;place-items:center;border:1px solid var(--line);width:43px;height:43px;flex:none;border-radius:50%;transition:background .25s,border-color .25s,transform .25s}.caption-arrow svg{width:19px;color:var(--brand);transform:rotate(-45deg)}.visual-caption:hover .caption-arrow{background:var(--surface);border-color:var(--brand);transform:rotate(45deg)}.signature-visual .showcase-tabs{position:relative;display:flex;gap:0;background:#fff;min-height:60px;margin-top:0}.signature-visual .showcase-tabs button{padding:18px 15px;min-height:60px;font-size:12px;gap:12px;flex:1;justify-content:center;border:0;background:#fff;color:var(--muted);position:relative}.signature-visual .showcase-tabs button:after{content:"";position:absolute;bottom:0;left:15px;right:15px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s}.signature-visual .showcase-tabs button[aria-selected=true]{background:#fff;color:var(--ink);font-weight:650}.signature-visual .showcase-tabs button[aria-selected=true]:after{transform:scaleX(1)}.signature-visual .showcase-tabs button small{font-size:9px;color:var(--brand);font-weight:500}.signature-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:22px}.signature-strip>p{font-size:9px;letter-spacing:.1em;display:flex;align-items:center;gap:13px}.signature-strip>p>span{height:6px;width:6px;border-radius:50%;background:var(--brand)}.signature-strip>a{display:flex;gap:24px;align-items:center;font-size:12px}.signature-strip svg{width:18px;color:var(--brand)}
@keyframes photo-in{from{opacity:.8;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}
/* Different photographic formats for different content, always at native resolution. */
img[data-photo]{object-position:var(--photo-x,50%) var(--photo-y,50%)}.expertise-grid{gap:30px}.expertise-card figure{height:auto;aspect-ratio:1.18;border-radius:3px;overflow:hidden}.expertise-card:nth-child(3) figure{border-radius:3px 36px 3px 3px}.expertise-card figure img{object-position:var(--photo-x,50%) var(--photo-y,50%)}.expertise-card>div{padding-top:22px}.expertise-card h3{font-family:EtiledDisplay,sans-serif;font-size:26px;font-weight:650}.expertise-subtitle{font-size:13px;color:var(--ink);font-weight:550;margin-top:12px}.expertise-card p:last-child{font-size:14px;line-height:1.8;margin-top:8px}.image-index{font-size:10px;top:16px;left:16px;padding:7px 12px}.round-arrow{width:43px;height:43px;border-radius:50%;bottom:16px;right:16px;background:#fff;box-shadow:0 3px 14px #00000008}.round-arrow svg{width:19px;color:var(--ink)}.expertise-card:hover .round-arrow,.selected-project:hover .round-arrow{background:white;transform:rotate(45deg)}.expertise-card:hover .round-arrow svg,.selected-project:hover .round-arrow svg{color:var(--brand)}.more-expertise{margin-top:38px;padding-top:24px;grid-template-columns:1fr 2.5fr}.more-expertise>p{font-size:9px}.more-expertise .text-link{font-size:14px}.more-expertise>div{gap:10px 35px}.selected-projects{grid-template-columns:1.12fr 1fr;gap:34px 48px}.selected-project:first-child figure{height:600px;border-radius:3px 42px 3px 3px}.selected-project figure{height:220px;border-radius:3px}.selected-project img{object-position:var(--photo-x,50%) var(--photo-y,50%)}.selected-project small{font-size:9px;letter-spacing:.12em}.selected-project h3,.selected-project:first-child h3{font-size:28px;font-weight:620}.selected-project p{font-size:14px;line-height:1.7}.selected-project>div{padding-top:17px}.project-stage{background:var(--surface)}.company-story{gap:75px;grid-template-columns:1.1fr 1fr}.company-visual{padding-bottom:28px}.company-visual figure{height:460px;border-radius:3px 38px 3px 3px}.company-visual img{object-position:35% 50%}.company-stamp{right:-18px;bottom:0;background:white;color:var(--ink);border:1px solid var(--line);box-shadow:none;padding:25px 30px;gap:24px}.company-stamp strong{font-family:EtiledDisplay,sans-serif;font-size:29px;font-weight:600}.company-stamp span{color:var(--muted);font-size:11px;padding-left:24px;border-left:1px solid var(--brand)}.company-copy>p:not(.eyebrow){font-size:15px;margin-top:22px}.method-list li{padding-block:17px;gap:25px}.method-list h3{font-family:EtiledDisplay,sans-serif;font-size:21px}.method-list p{font-size:13px}.method-list li>span{color:var(--brand);font-size:10px}.quality-strip{padding-block:35px;margin-bottom:48px}.quality-strip h2{font-size:30px}.quality-strip>div>strong{font:600 27px EtiledDisplay,sans-serif}.quality-strip>div>span{font-size:12px}
/* Interior pages: aligned headlines, captions and an editorial photo gallery. */
.breadcrumbs{font-size:10px;padding-top:25px;gap:10px;align-items:center}.breadcrumbs span:last-child{max-width:70%;text-overflow:ellipsis}.page-head{padding-block:31px 41px;margin-bottom:42px;position:relative}.page-head h1{font-size:clamp(38px,5.2vw,73px);font-weight:650;line-height:1.1;letter-spacing:-.045em;max-width:1050px}.page-head h1 em{color:var(--ink)}.page-head h1 em:after{display:none}.page-head .eyebrow{margin-bottom:24px}.page-head .lead{font-size:18px;line-height:1.8;max-width:820px;margin-top:23px}.service-hero{grid-template-columns:1.13fr 1fr;gap:70px;align-items:center}.service-hero figure{height:auto;border-radius:0;overflow:visible;min-width:0}.service-hero figure>img{width:100%;height:430px;object-fit:cover;object-position:var(--photo-x,50%) var(--photo-y,50%);border-radius:3px 36px 3px 3px}.service-hero figure>img[data-photo="cantiere-nolli"]{height:520px}.service-hero figcaption{font-size:10px;letter-spacing:.02em;color:var(--muted);line-height:1.6;display:flex;align-items:center;gap:10px;margin-top:14px}.service-hero figcaption>span{width:19px;height:1px;background:var(--brand);flex:none}.service-hero h2{font-size:35px;line-height:1.2;letter-spacing:-.04em}.service-hero p:not(.eyebrow){font-size:16px;line-height:1.85}.detail-grid{gap:30px}.detail-grid article{background:white;border-top:1px solid var(--line);padding:24px 0}.detail-grid .index{font-size:12px;color:var(--brand)}.detail-grid h3{font-size:25px;margin-top:27px}.detail-grid p{font-size:15px;line-height:1.85;max-width:360px}.competence-grid{column-gap:55px}.competence-card{padding-block:31px;transition:background .2s}.competence-card:hover{background:#f7f8f5}.competence-card h3{font-size:24px}.competence-card p{font-size:14px;line-height:1.85}.competence-card .index{font-size:10px}.projects-grid{gap:40px 30px}.project-card figure{aspect-ratio:1.35;border-radius:3px;overflow:hidden}.project-card img{object-position:var(--photo-x,50%) var(--photo-y,50%)}.project-card h3{font-size:26px}.project-card p{font-size:14px;line-height:1.85}.project-card figure>span{width:42px;height:42px}.project-filters{gap:6px;border:0;padding-bottom:12px}.project-filters button{font-size:12px;padding:11px 20px;border:1px solid var(--line);min-height:44px;background:white;border-radius:3px}.project-filters button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:white}.gallery{display:block;columns:2;column-gap:32px}.gallery>figure{break-inside:avoid;margin:0 0 38px;display:inline-block;width:100%}.gallery-open{display:block;width:100%;aspect-ratio:auto!important;background:var(--surface);border-radius:3px;overflow:hidden}.gallery-open>img{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain;max-height:none;transition:transform .6s var(--ease)}.gallery-open:hover img{transform:scale(1.015)}.photo-action{font-size:10px;padding:9px 12px;bottom:15px;right:15px;background:#fffffff2;backdrop-filter:blur(8px);color:var(--ink);border-radius:2px}.gallery figcaption{display:flex;align-items:start;gap:16px;margin-top:16px;padding-top:0}.gallery-number{color:var(--brand)!important;font-size:10px!important;font-weight:500;margin:4px 0 0!important;min-width:18px}.gallery figcaption>div{display:grid;gap:5px}.gallery figcaption strong{font-family:EtiledDisplay,sans-serif;font-size:19px;font-weight:650;letter-spacing:-.02em}.gallery figcaption>div>span{font-size:13px;line-height:1.75;color:var(--muted)}.editorial-copy>p:not(.eyebrow){font-size:17px;line-height:1.9}.steps h3{font-size:23px}.steps p{font-size:14px;line-height:1.8}.cert-grid article{border-top:1px solid var(--brand);background:var(--surface);padding:27px}.cert-grid h2{font-size:25px}.cert-grid p{font-size:14px}.documents h3{font-size:25px}.documents p{font-size:15px}.contact-layout form{background:var(--surface);border-radius:3px 35px 3px 3px;padding:37px}.contact-layout input,.contact-layout select,.contact-layout textarea{background:white;border-radius:3px;border:1px solid #cdd3cc;font-size:15px}.contact-layout label{font-size:13px}.contact-layout form h2{font-size:33px}.contact-details strong{font-family:EtiledDisplay,sans-serif;font-size:27px}.contact-prep p{font-size:15px}.faq{gap:65px}.faq summary{font-size:17px;padding-block:23px}.faq details>p{font-size:15px;line-height:1.85}
@media(min-width:1500px){.signature-hero{gap:70px}.signature-copy h1{font-size:80px}.signature-copy{padding-block:45px}.signature-visual .showcase-media{min-height:600px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.signature-hero{gap:34px;grid-template-columns:1.12fr 1fr}.signature-copy h1{font-size:5.4vw}.signature-copy .eyebrow{font-size:8px}.signature-lead{font-size:20px}.signature-description{font-size:14px}.signature-actions{gap:17px;margin-top:24px}.signature-foot{margin-top:27px}.signature-visual .showcase-media{min-height:550px}.visual-caption{padding:20px;inset:auto 14px 14px;gap:14px}.visual-caption h2{font-size:22px}.signature-visual .showcase-tabs button{font-size:11px;padding:16px 8px;gap:8px}.signature-strip{margin-top:60px}.selected-project:first-child figure{height:550px}.selected-project figure{height:200px}.selected-projects{gap:34px}.company-story{gap:50px}.company-stamp{padding:23px;right:-10px}.service-hero{gap:44px}.service-hero figure>img{height:390px}.service-hero h2{font-size:32px}}
@media(max-width:940px){:root{--header:100px}.brand img{width:74px;height:74px}.header-contact{margin-left:auto;border:0;padding:8px 0}.section{padding-block:75px}.signature-hero{grid-template-columns:1fr 1fr;gap:30px;padding-top:30px}.signature-copy .eyebrow{font-size:7px;gap:8px;margin-bottom:28px}.signature-copy .eyebrow>span{width:20px}.signature-copy h1{font-size:5.35vw}.signature-lead{font-size:19px}.signature-description{font-size:14px;line-height:1.8}.signature-visual .showcase-media{min-height:540px}.visual-caption{padding:18px}.visual-caption h2{font-size:20px}.visual-caption small{font-size:7px}.caption-arrow{width:34px;height:34px}.signature-visual .showcase-tabs button{font-size:10px;gap:6px}.signature-strip{margin-top:55px}.expertise-card h3{font-size:23px}.expertise-card p:last-child{font-size:13px}.expertise-subtitle{font-size:12px}.company-story{gap:35px}.company-visual figure{height:450px}.company-stamp{display:block}.company-stamp span{margin-top:12px;padding-left:15px}.company-copy h2{font-size:34px}.page-head h1{font-size:52px}.service-hero{gap:32px}.service-hero figure>img{height:410px}.service-hero h2{font-size:30px}.service-hero p:not(.eyebrow){font-size:15px}.gallery{column-gap:25px}}
@media(max-width:700px){:root{--header:94px}.wrap{width:calc(100% - 40px)}.brand img{width:70px;height:70px}.header-contact{font-size:12px;gap:12px;padding:0}.header-contact svg{width:18px}.section{padding-block:58px}h2{font-size:33px;letter-spacing:-.04em;line-height:1.19}.eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:20px}.section-heading{margin-bottom:29px}.section-heading>p{font-size:15px;margin-top:20px;line-height:1.85}.text-link{font-size:13px}.signature-hero{display:flex;flex-direction:column;gap:0;padding-top:0}.signature-copy{padding:31px 0 29px;width:100%}.signature-copy .eyebrow{font-size:8px;letter-spacing:.09em;margin-bottom:25px;gap:11px}.signature-copy .eyebrow>span{width:22px}.signature-copy h1{font-size:clamp(39px,10.2vw,66px);font-weight:760;line-height:1.08;letter-spacing:-.05em;margin-bottom:23px;word-spacing:.06em}.signature-lead{font-size:20px;line-height:1.5;max-width:450px;letter-spacing:-.025em}.signature-description{font-size:14px;line-height:1.85;max-width:450px;margin-top:13px}.signature-actions{margin-top:23px;gap:15px 22px}.signature-actions .text-link{font-size:11px;gap:12px;min-height:42px}.signature-actions .text-link svg{width:17px}.signature-foot{display:none}.signature-visual{width:100%;align-self:auto}.signature-visual .showcase-media{height:425px;min-height:0;max-height:none;border-radius:3px 40px 3px 3px}.signature-visual .showcase-panel>img{object-position:var(--photo-x,50%) var(--photo-y,50%)}.visual-caption{inset:auto 12px 12px;padding:19px;gap:15px}.visual-caption small{font-size:7px;letter-spacing:.1em;margin-bottom:8px}.visual-caption h2{font-size:22px;line-height:1.25;max-width:260px}.caption-arrow{width:36px;height:36px}.caption-arrow svg{width:18px}.signature-visual .showcase-tabs{min-height:55px}.signature-visual .showcase-tabs button{min-height:55px;font-size:11px;padding:16px 6px;gap:7px;white-space:nowrap}.signature-visual .showcase-tabs button small{font-size:8px}.signature-visual .showcase-tabs button:after{left:8px;right:8px}.signature-strip{margin-top:26px;gap:12px;padding-block:19px}.signature-strip>p{font-size:8px;letter-spacing:.04em;gap:8px;max-width:180px;line-height:1.6}.signature-strip>p>span{flex:none;width:5px;height:5px}.signature-strip>a{font-size:10px;gap:12px}.signature-strip>a svg{width:16px}.expertise-grid{gap:33px}.expertise-card figure{aspect-ratio:1.24}.expertise-card:nth-child(3) figure{border-top-right-radius:34px}.expertise-card>div{padding-top:19px}.expertise-card h3{font-size:26px}.expertise-subtitle{font-size:13px;margin-top:10px}.expertise-card p:last-child{font-size:14px;line-height:1.85;margin-top:8px}.image-index{top:13px;left:13px;padding:6px 10px}.round-arrow{width:40px;height:40px;bottom:13px;right:13px}.more-expertise{grid-template-columns:1fr;margin-top:30px;padding-top:21px;gap:11px}.more-expertise .text-link{font-size:14px;min-height:49px}.more-expertise>div{gap:4px}.project-stage{padding-block:58px}.selected-projects{grid-template-columns:1fr;gap:31px}.selected-project:first-child figure{height:auto;aspect-ratio:.9;border-radius:3px 38px 3px 3px}.selected-project figure{height:auto;aspect-ratio:1.22}.selected-project h3,.selected-project:first-child h3{font-size:27px}.selected-project p{font-size:14px}.selected-project>div{padding-top:17px}.company-story{display:flex;gap:30px}.company-visual{padding-bottom:30px}.company-visual figure{height:330px;border-radius:3px 35px 3px 3px}.company-stamp{right:0;display:flex;padding:21px 23px;gap:20px}.company-stamp strong{font-size:25px}.company-stamp span{font-size:10px;margin:0;padding-left:20px}.company-copy h2{font-size:33px}.company-copy>p:not(.eyebrow){font-size:15px;line-height:1.85}.method-list li{padding-block:18px}.method-list h3{font-size:22px}.method-list p{font-size:13px}.quality-strip{margin-bottom:31px;padding-block:27px;gap:24px}.quality-strip h2{font-size:28px}.quality-strip>div>strong{font-size:25px}.quality-strip>div>span{font-size:12px}.breadcrumbs{font-size:9px;padding-top:21px;gap:8px}.breadcrumbs span:last-child{max-width:60%}.page-head{padding-block:27px 30px;margin-bottom:29px}.page-head h1{font-size:clamp(34px,8.8vw,52px);line-height:1.15;letter-spacing:-.04em}.page-head .lead{font-size:15px;line-height:1.85;margin-top:21px}.page-head .eyebrow{font-size:8px;margin-bottom:20px}.service-hero{grid-template-columns:1fr;gap:26px}.service-hero figure{height:auto}.service-hero figure>img{height:auto;aspect-ratio:1.15;border-radius:3px 32px 3px 3px}.service-hero figure>img[data-photo="cantiere-nolli"]{height:auto;aspect-ratio:.95}.service-hero figcaption{font-size:9px;margin-top:11px}.service-hero h2{font-size:30px}.service-hero p:not(.eyebrow){font-size:15px;line-height:1.85}.detail-grid{gap:10px}.detail-grid article{padding:24px 0 18px}.detail-grid h3{font-size:24px;margin-top:20px}.detail-grid p{font-size:14px;line-height:1.85}.competence-card{padding-block:25px;gap:16px}.competence-card h3{font-size:23px}.competence-card p{font-size:14px}.projects-grid{gap:31px}.project-card h3{font-size:25px}.project-card p{font-size:14px}.project-filters{gap:6px;flex-wrap:wrap}.project-filters button{font-size:11px;min-height:44px;padding:11px 13px}.gallery{columns:1}.gallery>figure{margin-bottom:29px}.gallery figcaption{gap:13px;margin-top:14px}.gallery figcaption strong{font-size:19px}.gallery figcaption>div>span{font-size:13px}.photo-action{font-size:9px;bottom:12px;right:12px}.editorial-copy>p:not(.eyebrow){font-size:15px;line-height:1.85}.steps h3{font-size:23px}.steps p{font-size:14px}.cert-grid article{padding:23px 18px}.cert-grid h2{font-size:22px}.cert-grid p{font-size:13px}.documents h3{font-size:23px}.documents p{font-size:14px}.contact-layout form{padding:28px 22px}.contact-layout form h2{font-size:29px}.contact-layout input,.contact-layout select,.contact-layout textarea{font-size:16px}.contact-details strong{font-size:24px}.contact-prep p{font-size:14px}.faq{gap:27px}.faq summary{font-size:16px;padding-block:20px}.faq details>p{font-size:14px;line-height:1.85}}
@media(max-width:365px){.brand img{width:66px;height:66px}.signature-copy h1{font-size:10.1vw}.signature-copy .eyebrow{font-size:7px}.signature-lead{font-size:19px}.signature-actions{gap:10px 20px}.signature-visual .showcase-media{height:385px}.visual-caption{padding:16px}.visual-caption h2{font-size:20px}.signature-visual .showcase-tabs button{font-size:10px}.signature-strip>a{font-size:9px;gap:7px}.signature-strip>p{font-size:7px;max-width:150px}.company-stamp{padding:20px;gap:14px}.company-stamp strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.signature-visual .showcase-panel>img{animation:none}.text-link,.text-link svg,.caption-arrow,.brand img,.gallery-open>img,.signature-visual .showcase-tabs button:after{transition:none}.text-link:hover svg,.visual-caption:hover .caption-arrow,.gallery-open:hover img{transform:none}}

/* Photographic focal positions, derived from individual images. */
img[data-photo="fv-terra-moduli"]{--photo-x:55%;--photo-y:72%}
img[data-photo="fv-terra-filari"]{--photo-x:50%;--photo-y:78%}
img[data-photo="fv-terra-strutture"]{--photo-x:50%;--photo-y:69%}
img[data-photo="fv-terra-supporti"]{--photo-x:50%;--photo-y:63%}
img[data-photo="fv-terra-materiali"]{--photo-x:50%;--photo-y:67%}
img[data-photo="fv-terra-preparazione"]{--photo-x:50%;--photo-y:69%}
img[data-photo="fv-terra-area"]{--photo-x:50%;--photo-y:65%}
img[data-photo="fv-copertura-moduli"]{--photo-x:45%;--photo-y:73%}
img[data-photo="fv-copertura-lavorazioni"]{--photo-x:50%;--photo-y:73%}
img[data-photo="fv-copertura-squadra"]{--photo-x:50%;--photo-y:69%}
img[data-photo="fv-copertura-posa"]{--photo-x:50%;--photo-y:69%}
img[data-photo="pensiline-fotovoltaiche"]{--photo-x:50%;--photo-y:44%}
img[data-photo="pensiline-struttura"]{--photo-x:50%;--photo-y:40%}
img[data-photo="pensiline-parcheggio"]{--photo-x:50%;--photo-y:41%}
img[data-photo="pensiline-lavorazioni"]{--photo-x:50%;--photo-y:35%}
img[data-photo="impianti-quadri"]{--photo-x:42%;--photo-y:57%}
img[data-photo="impianti-componenti"]{--photo-x:50%;--photo-y:52%}
img[data-photo="impianti-cablaggi"]{--photo-x:50%;--photo-y:47%}
img[data-photo="edilizia-fondazioni"]{--photo-x:50%;--photo-y:67%}
img[data-photo="edilizia-lavorazioni"]{--photo-x:50%;--photo-y:68%}
img[data-photo="visita-stabilimento"]{--photo-x:47%;--photo-y:50%}
img[data-photo="incontro-tecnico"]{--photo-x:50%;--photo-y:55%}
img[data-photo="cantiere-nolli"]{--photo-x:48%;--photo-y:42%}
img[data-photo="cantiere-nolli-facciata"]{--photo-x:50%;--photo-y:48%}
img[data-photo="cantiere-cave"]{--photo-x:52%;--photo-y:38%}
img[data-photo="cantiere-latina"]{--photo-x:50%;--photo-y:57%}
img[data-photo="cantiere-de-gasperi"]{--photo-x:53%;--photo-y:44%}
img[data-photo="cantiere-lustrissimi"]{--photo-x:50%;--photo-y:49%}

/* Reading comfort: primary copy and actions stay legible on real mobile screens. */
.signature-description{font-size:16px;line-height:1.8}.signature-actions .text-link{font-size:13px}.header-contact,.desktop-nav{font-size:14px}.expertise-card p:last-child,.selected-project p,.project-card p{font-size:15px}
@media(max-width:700px){.signature-description{font-size:15px;line-height:1.8}.signature-actions .text-link{font-size:12px}.header-contact{font-size:13px}.expertise-card p:last-child,.selected-project p,.project-card p{font-size:15px}.signature-visual .showcase-media{height:390px}.signature-visual .showcase-tabs button{font-size:12px}}
@media(max-width:365px){.signature-visual .showcase-tabs button{font-size:11px}.signature-description{font-size:14px}.signature-actions{gap:12px 20px}}

@media(max-width:700px){.signature-actions .text-link{display:none}.signature-copy{padding-bottom:26px}}
/* ETILED 14 — a graphic identity derived from the original open corner. */
:root{--brand:#61a336;--ink:#202422;--surface:#f4f4f0;--line:#dedfd8;--header:124px;--cut:64px}
body{background:#fff;color:var(--ink)}.wrap{width:min(1376px,calc(100% - 96px))}.site-header{border-bottom:1px solid var(--line)}.brand img{width:94px;height:94px;opacity:1;transition:transform .4s}.brand:hover img{opacity:1;transform:translateY(-2px)}.desktop-nav{gap:38px;font-size:14px;font-weight:550}.header-contact{border:1px solid #d7dbd3;padding:12px 19px;min-height:46px;gap:22px;border-radius:3px 17px 3px 3px;transition:border-color .2s,background .2s}.header-contact:hover{background:var(--surface);border-color:var(--brand)}.reading-progress{height:2px}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:.115em}.eyebrow>span{position:relative;width:31px;height:1px}.eyebrow>span:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border:1px solid var(--brand);background:var(--paper)}
.text-link{font-size:14px;font-weight:550;border-color:#bfc3ba;gap:25px;padding-bottom:3px}.text-link svg{color:var(--brand)}
/* Oversized typography and a photographic plate with the mark's open corner. */
.signature-hero{grid-template-columns:1fr 1.04fr;gap:48px;align-items:stretch;padding-block:36px 0;isolation:isolate}.signature-copy{padding:38px 0 32px;display:flex;flex-direction:column;justify-content:center;position:relative}.signature-copy .eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:42px}.signature-copy h1{font-size:clamp(48px,5.6vw,84px);font-weight:800;line-height:1.045;letter-spacing:-.06em;margin-bottom:29px;word-spacing:.08em;text-wrap:nowrap}.signature-copy h1>span+span{margin-top:5px}.signature-copy h1 em{position:relative}.signature-copy h1 em:after{content:"";display:block;position:absolute;height:1px;background:var(--brand);width:52%;right:4%;bottom:-5px;transform-origin:left;animation:energy-line 1.1s .3s both}.signature-lead{font-size:23px;line-height:1.45;font-weight:600;letter-spacing:-.03em;max-width:480px}.signature-description{font-size:16px;line-height:1.8;max-width:440px;margin-top:18px}.signature-actions{margin-top:30px;gap:24px}.signature-actions .text-link{font-size:13px}.signature-foot{margin-top:37px;padding-top:22px;max-width:440px;gap:26px}.signature-year{font-size:23px;font-weight:650}.signature-foot p{font-size:11px;line-height:1.7;padding-left:26px}.signature-visual{display:flex;flex-direction:column;align-self:stretch;position:relative}.signature-visual:before{content:"";position:absolute;inset:12px -12px -12px 12px;background:var(--surface);z-index:-1}.signature-visual .showcase-media{height:600px;min-height:0;max-height:none;border-radius:0;mask:radial-gradient(circle at 100% 0,transparent 0 56px,#000 57px);-webkit-mask:radial-gradient(circle at 100% 0,transparent 0 56px,#000 57px)}.signature-visual .showcase-panel>img{object-position:var(--photo-x,50%) 57%;animation:photo-in .8s var(--ease) both}.signature-visual .showcase-panel:after{display:block;content:"";position:absolute;inset:50% 0 0;background:linear-gradient(0deg,#141c1ce6,transparent);pointer-events:none;z-index:1}.visual-caption{z-index:3;inset:auto 0 0;padding:30px 32px;background:transparent;backdrop-filter:none;border:0;border-radius:0;color:white;gap:24px}.visual-caption small{font-size:9px;color:#fff;opacity:.85;letter-spacing:.11em;margin-bottom:12px}.visual-caption h2{font-size:30px;line-height:1.2;font-weight:550;letter-spacing:-.04em;max-width:350px;color:white}.caption-arrow{border:1px solid #ffffff60;width:44px;height:44px;border-radius:50%;background:#ffffff0a}.caption-arrow svg{color:#fff}.visual-caption:hover .caption-arrow{background:#ffffff18;border-color:white}.signature-visual .showcase-tabs{margin-top:0;min-height:64px;padding:0;background:var(--surface);border-bottom:1px solid var(--line)}.signature-visual .showcase-tabs button{background:transparent;min-height:64px;font-size:12px;padding:15px 17px;border-right:1px solid var(--line);gap:13px}.signature-visual .showcase-tabs button:last-child{border-right:0}.signature-visual .showcase-tabs button[aria-selected=true]{background:#fff}.signature-visual .showcase-tabs button:after{left:0;right:0;bottom:-1px;height:3px}.signature-visual .showcase-tabs button small{font-size:9px}.signature-strip{margin-top:42px;padding-block:20px;border-top:0}.signature-strip>p{font-size:9px}.signature-strip>p>span{border-radius:0;width:4px;height:16px}.signature-strip>a{font-size:12px}.signature-strip a:hover svg{transform:translateX(4px)}
/* Every photographic signature is the original etiLED letterform, not a substitute font. */
.photo-branded{position:relative}.photo-signature{position:absolute;top:20px;right:20px;display:block;width:78px;height:31px;padding-bottom:7px;border-bottom:1px solid #ffffffa6;z-index:2;pointer-events:none;filter:drop-shadow(0 1px 4px #0008);opacity:.92}.photo-signature img{display:block!important;width:100%!important;height:24px!important;object-fit:contain!important;transform:none!important;border-radius:0!important;animation:none!important;max-height:none!important;filter:none!important}.showcase-panel .photo-signature{top:27px;right:auto;left:27px;width:85px;height:34px}.showcase-panel .photo-signature img{height:26px!important}.service-hero figure.photo-branded>.photo-signature{top:22px;right:22px}.photo-viewer figure:after{content:"";display:block;position:absolute;right:22px;top:22px;width:76px;height:24px;background:url(etiled-photo-signature.svg) center/contain no-repeat;filter:drop-shadow(0 1px 4px #0008);pointer-events:none;opacity:.9}.photo-viewer figure{position:relative}
/* Brand rhythm across services, projects and inner pages. */
.section{padding-block:105px}.section-heading h2{font-size:clamp(34px,3.7vw,54px);line-height:1.12;letter-spacing:-.05em;font-weight:650}.section-heading{margin-bottom:48px}.expertise-grid{gap:28px}.expertise-card{position:relative}.expertise-card figure,.expertise-card:nth-child(3) figure{border-radius:3px 36px 3px 3px;aspect-ratio:1.14}.expertise-card>div{padding:23px 2px 0;border-bottom:0}.expertise-card h3{font-size:27px;letter-spacing:-.035em;line-height:1.2}.expertise-subtitle{font-size:14px;margin-top:13px}.expertise-card p:last-child{font-size:15px;line-height:1.8;max-width:350px}.expertise-card .image-index{background:white;color:var(--ink);width:32px;height:32px;padding:0;display:grid;place-items:center;font:500 10px EtiledSans,sans-serif;border-radius:0}.round-arrow{border-radius:3px 16px 3px 3px;background:#fff;width:43px;height:43px}.more-expertise{padding-top:27px;margin-top:40px}.more-expertise>p{letter-spacing:.1em;font-size:9px}.more-expertise .text-link{font-size:14px}
.project-stage{background:var(--ink);color:#fff;position:relative;overflow:hidden}.project-stage:before{content:"";position:absolute;top:0;right:0;width:90px;height:90px;border-bottom-left-radius:100%;background:#fff}.project-stage h2,.project-stage h3{color:#fff}.project-stage .eyebrow{color:#cbd1c7}.project-stage .eyebrow>span:after{background:var(--ink)}.project-stage .text-link{color:#fff;border-color:#ffffff44}.project-stage .text-link svg{color:#8dc068}.project-stage .selected-project small{color:#cbd1c7}.project-stage .selected-project p{color:#bac1b7}.selected-projects{gap:36px 48px;grid-template-columns:1.16fr 1fr}.selected-project:first-child figure{height:595px;border-radius:3px 50px 3px 3px}.selected-project figure{border-radius:3px 30px 3px 3px;height:220px}.selected-project h3,.selected-project:first-child h3{font-size:29px;font-weight:550}.selected-project>div{padding-top:20px}.selected-project small{font-size:9px}.company-stamp{padding:24px 32px;background:#fff;border:0;border-left:3px solid var(--brand);box-shadow:0 12px 40px #2024220b}.company-visual figure{border-radius:3px 50px 3px 3px}.company-copy h2{font-size:clamp(34px,3.4vw,48px);font-weight:650;line-height:1.14}.method-list li{padding-block:20px}.method-list li>span{font-size:11px;width:25px}.method-list h3{font-size:22px}.method-list p{font-size:14px}.quality-strip{padding-block:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quality-strip h2{font-size:31px}
.page-head{padding-block:34px 45px;border-bottom:1px solid var(--line)}.page-head:after{content:"";position:absolute;width:42px;height:3px;background:var(--brand);bottom:-2px;left:0}.page-head h1{font-size:clamp(40px,5.3vw,76px);font-weight:720;letter-spacing:-.055em;max-width:1060px}.page-head .lead{font-size:18px;line-height:1.8;max-width:790px}.service-hero figure>img{border-radius:3px 52px 3px 3px}.service-hero h2{font-size:38px;font-weight:650}.detail-grid article{padding:30px 0}.detail-grid h3{font-size:27px}.detail-grid .index{width:32px;height:32px;background:var(--surface);display:grid;place-items:center;font-size:10px}.project-card figure{border-radius:3px 30px 3px 3px}.project-card figure>span:not(.photo-signature){border-radius:3px 15px 3px 3px}.gallery-open{border-radius:3px 34px 3px 3px}.gallery-open>.photo-signature{top:20px;right:20px}.gallery-open .photo-action{font-size:11px;border-radius:3px 12px 3px 3px}.gallery-number{color:var(--muted)!important;width:26px;padding-top:3px;border-top:2px solid var(--brand)}.gallery figcaption strong{font-size:20px}.contact-layout form{border-radius:3px 45px 3px 3px;border-top:2px solid var(--brand)}.cert-grid article{border-radius:3px 25px 3px 3px}.solutions-menu{border-top:2px solid var(--brand)}
@keyframes energy-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1600px){.signature-visual .showcase-media{height:650px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.signature-hero{gap:30px}.signature-copy h1{font-size:5.5vw}.signature-visual .showcase-media{height:570px}.signature-copy .eyebrow{font-size:8px;letter-spacing:.08em}.signature-lead{font-size:21px}.signature-actions{gap:15px}.signature-actions .text-link{font-size:12px}.visual-caption{padding:27px 24px}.visual-caption h2{font-size:26px}.signature-foot{margin-top:30px}.signature-visual .showcase-tabs button{font-size:11px;padding-inline:10px;gap:8px}.desktop-nav{gap:26px}.service-hero{gap:40px}.selected-project:first-child figure{height:540px}.selected-project figure{height:193px}}
@media(max-width:940px) and (min-width:701px){.signature-copy h1{font-size:5.35vw}.signature-copy .eyebrow{max-width:290px}.signature-visual .showcase-media{height:580px}.signature-lead{font-size:20px}.signature-description{font-size:15px}.signature-actions .text-link{display:none}.signature-foot{gap:18px}.signature-foot p{padding-left:18px}.signature-year{font-size:21px}.visual-caption h2{font-size:24px}.visual-caption .caption-arrow{display:none}.expertise-card h3{font-size:23px}.selected-project:first-child figure{height:500px}.selected-project figure{height:173px}}
@media(max-width:700px){:root{--header:96px}.wrap{width:calc(100% - 40px)}.brand img{width:72px;height:72px}.header-contact{font-size:12px;min-height:42px;padding:9px 12px;gap:13px;margin-left:auto;border-radius:3px 14px 3px 3px}.header-contact svg{width:17px;height:17px}.signature-hero{display:flex;flex-direction:column;gap:0;padding-top:0}.signature-copy{padding:37px 0 30px}.signature-copy .eyebrow{font-size:8px;letter-spacing:.065em;gap:10px;margin-bottom:27px}.signature-copy .eyebrow>span{width:23px}.signature-copy h1{font-size:clamp(35px,10.5vw,69px);letter-spacing:-.06em;line-height:1.04;margin-bottom:26px;font-weight:800}.signature-copy h1>span+span{margin-top:4px}.signature-copy h1 em:after{bottom:-4px;width:46%}.signature-lead{font-size:20px;line-height:1.45;letter-spacing:-.03em;max-width:100%}.signature-description{font-size:15px;line-height:1.75;margin-top:13px;max-width:490px}.signature-actions{margin-top:24px}.signature-foot{display:none}.signature-visual:before{inset:8px -8px -8px 8px}.signature-visual .showcase-media{height:390px;min-height:0;mask:radial-gradient(circle at 100% 0,transparent 0 34px,#000 35px);-webkit-mask:radial-gradient(circle at 100% 0,transparent 0 34px,#000 35px)}.signature-visual .showcase-panel>img{object-position:50% 64%}.visual-caption{padding:23px 22px;gap:18px}.visual-caption small{font-size:8px;letter-spacing:.08em;margin-bottom:9px}.visual-caption h2{font-size:27px;line-height:1.16;max-width:270px}.caption-arrow{width:38px;height:38px}.caption-arrow svg{width:17px}.signature-visual .showcase-tabs{min-height:56px}.signature-visual .showcase-tabs button{min-height:56px;padding:14px 10px;font-size:11px;gap:8px;line-height:1.35}.signature-visual .showcase-tabs button small{font-size:8px}.signature-strip{margin-top:24px;padding-block:19px;gap:18px}.signature-strip>p{font-size:7px;letter-spacing:.06em;max-width:180px;gap:10px;line-height:1.6}.signature-strip>a{font-size:10px;gap:10px}.signature-strip>p>span{height:16px;width:3px}.photo-signature{width:65px;height:27px;top:16px;right:16px}.photo-signature img{height:20px!important}.showcase-panel .photo-signature{top:22px;left:22px;width:73px;height:30px}.showcase-panel .photo-signature img{height:23px!important}.section{padding-block:65px}.section-heading{margin-bottom:30px;gap:20px}.section-heading h2{font-size:36px;line-height:1.13}.section-heading>p{font-size:15px;line-height:1.8}.expertise-grid{gap:35px}.expertise-card figure,.expertise-card:nth-child(3) figure{aspect-ratio:1.22;border-radius:3px 35px 3px 3px}.expertise-card>div{padding-top:20px}.expertise-card h3{font-size:28px}.expertise-subtitle{font-size:14px;margin-top:11px}.expertise-card p:last-child{font-size:15px;margin-top:8px;line-height:1.8}.more-expertise{margin-top:30px;gap:20px}.more-expertise .text-link{font-size:14px}.project-stage:before{height:48px;width:48px}.selected-projects{grid-template-columns:1fr;gap:36px}.selected-project:first-child figure{height:auto;aspect-ratio:1.05;border-radius:3px 35px 3px 3px}.selected-project figure{height:auto;aspect-ratio:1.24;border-radius:3px 28px 3px 3px}.selected-project h3,.selected-project:first-child h3{font-size:28px}.selected-project p{font-size:14px}.selected-project>div{padding-top:18px}.company-story{gap:32px}.company-visual figure{height:335px;border-radius:3px 38px 3px 3px}.company-stamp{padding:20px 22px;right:0}.company-copy h2{font-size:35px}.company-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}.method-list li{padding-block:18px;gap:18px}.method-list h3{font-size:22px}.method-list p{font-size:13px}.quality-strip{padding-block:30px;margin-bottom:35px}.quality-strip h2{font-size:29px}.page-head{padding-block:28px 32px;margin-bottom:30px}.page-head h1{font-size:clamp(36px,9.6vw,56px);line-height:1.1}.page-head .lead{font-size:16px;line-height:1.8}.service-hero{gap:30px}.service-hero figure>img{border-radius:3px 35px 3px 3px}.service-hero h2{font-size:33px}.service-hero p:not(.eyebrow){font-size:15px}.detail-grid article{padding:26px 0}.detail-grid h3{font-size:26px}.gallery{columns:1}.gallery-open>.photo-signature{top:16px;right:16px}.gallery figcaption strong{font-size:20px}.gallery-number{font-size:10px!important}.gallery-open{border-radius:3px 30px 3px 3px}.photo-viewer figure:after{width:65px;height:21px;right:16px;top:16px}}
@media(max-width:365px){.header-contact{font-size:11px;padding-inline:10px;gap:9px}.brand img{width:67px;height:67px}.signature-copy .eyebrow{font-size:7px;letter-spacing:.04em}.signature-copy h1{font-size:10.35vw}.signature-lead{font-size:18px}.signature-description{font-size:14px}.signature-visual .showcase-media{height:350px}.visual-caption{padding:20px}.visual-caption h2{font-size:24px}.signature-visual .showcase-tabs button{padding-inline:7px;font-size:10px;gap:6px}.signature-strip>p{max-width:145px}.section-heading h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.signature-copy h1 em:after{animation:none}.brand img{transition:none}.brand:hover img{transform:none}}
/* Optical title spacing and signature dimensions at every breakpoint. */
.signature-copy h1{font-size:clamp(48px,6.2vw,88px);word-spacing:.14em}.signature-copy h1>span+span{word-spacing:.16em}.photo-branded>.photo-signature{width:78px;height:31px;border-radius:0;background:none;box-shadow:none;display:block}.showcase-panel.photo-branded>.photo-signature{width:85px;height:34px}
@media(max-width:1100px) and (min-width:701px){.signature-copy h1{font-size:5.9vw}}
@media(max-width:700px){.signature-copy h1{font-size:clamp(39px,12.4vw,75px);letter-spacing:-.06em}.photo-branded>.photo-signature{width:65px;height:27px}.showcase-panel.photo-branded>.photo-signature{width:73px;height:30px}}
@media(max-width:365px){.signature-copy h1{font-size:12vw}}
/* ETILED 15 — optical refinement of the approved identity. */
:root{--detail-ease:cubic-bezier(.2,.7,.2,1)}
.signature-copy .eyebrow{font-size:10px;letter-spacing:.095em;margin-bottom:35px}
.signature-copy h1{line-height:1.07;letter-spacing:-.057em}
.signature-copy h1>span+span{margin-top:7px}
.signature-copy h1 em:after{width:44%;height:2px;bottom:-6px;opacity:.75}
.signature-description{font-size:17px;line-height:1.75;max-width:460px}
.signature-foot p{font-size:12px;line-height:1.65}
.signature-strip{border-bottom:1px solid var(--line);padding-block:21px}
.signature-strip>p{font-size:10px;letter-spacing:.075em}
.signature-strip>a{font-size:13px;min-height:44px}
.signature-visual:before{border-bottom:1px solid var(--line)}
.signature-visual .showcase-tabs button{font-size:13px;font-weight:500;gap:11px}
.signature-visual .showcase-tabs .sector-symbol{display:block;flex:none;width:23px;height:23px;color:var(--muted);stroke-width:1.45}
.signature-visual .showcase-tabs [aria-selected=true] .sector-symbol{color:var(--ink)}
.signature-visual .showcase-tabs button:after{height:2px}
.visual-caption small{font-size:10px;letter-spacing:.08em}
.visual-caption h2{font-weight:600;line-height:1.18}
.caption-arrow{width:46px;height:46px;border-color:#ffffff90;flex:none}
.caption-arrow svg{width:20px;height:20px}





.text-link{font-weight:600;line-height:1.5;position:relative;border-bottom-color:var(--line);padding-block:10px 8px;min-height:44px}
.text-link:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--detail-ease)}
.text-link:hover:after{transform:scaleX(1)}
.text-link svg,.header-contact svg{width:19px;height:19px;stroke-width:1.8;flex:none}
.header-contact{font-weight:550;letter-spacing:0}
.solutions-menu{border-radius:3px 25px 3px 3px;padding-inline:24px;box-shadow:0 16px 40px #2024220b}
.solutions-menu a{font-size:14px;line-height:1.5;transition:padding .2s var(--detail-ease),background .2s}
.solutions-menu a svg{flex:none}
.solutions-menu .nav-all{font-weight:650}
.section-heading h2,.company-copy h2,.service-hero h2{text-wrap:balance}
.section-heading>p{line-height:1.8}
.expertise-card>div{position:relative;padding-top:25px}
.expertise-card h3{font-size:28px;font-weight:650;letter-spacing:-.035em;line-height:1.22;max-width:350px;text-wrap:balance}
.expertise-card .expertise-subtitle{font-size:14px;font-weight:600;line-height:1.65;margin-top:14px}
.expertise-card p:last-child{line-height:1.75;margin-top:9px}
.expertise-card figure:after,.selected-project figure:after{content:"";position:absolute;inset:0;border:1px solid #20242212;border-radius:inherit;pointer-events:none;z-index:1}
.expertise-card figure,.selected-project figure{position:relative}
.expertise-card .round-arrow{width:44px;height:44px;box-shadow:0 2px 16px #2024220c}
.expertise-card .round-arrow svg{width:20px;height:20px;stroke-width:1.8}
.selected-project small{font-size:10px;line-height:1.6;letter-spacing:.085em}
.selected-project h3,.selected-project:first-child h3{font-weight:600;line-height:1.25;letter-spacing:-.035em}
.selected-project p{font-size:15px;line-height:1.7}
.project-stage .text-link:after{background:#fff}
.more-expertise>p{font-size:10px}
.method-list li>span{font-variant-numeric:tabular-nums;color:var(--ink);border-top:2px solid var(--brand);padding-top:6px}
.method-list h3{font-weight:600;letter-spacing:-.025em}
.quality-strip>div>span{line-height:1.65}
.photo-signature{filter:drop-shadow(0 1px 3px #0006);opacity:.96}
.photo-branded>.photo-signature{border-bottom-color:#ffffff70}
.gallery figcaption{line-height:1.6}
.gallery figcaption strong{font-weight:600;line-height:1.4;letter-spacing:-.02em}
.gallery-open .photo-action{font-size:12px;padding:10px 14px;background:#fff;color:var(--ink);box-shadow:0 2px 14px #0001}
.gallery-open:focus-visible,.expertise-card:focus-visible,.selected-project:focus-visible{outline-offset:7px}
.project-filters button{font-size:13px;font-weight:550;border-radius:3px 14px 3px 3px;transition:background .2s,border-color .2s}
.project-filters button:hover{border-color:var(--ink)}
.contact-layout input,.contact-layout textarea,.contact-layout select{border-radius:3px;background:#fff;transition:border-color .2s,box-shadow .2s}
.contact-layout :is(input,textarea,select):focus{outline:2px solid var(--ink);outline-offset:3px;border-color:var(--ink)}
:is(a,button,summary):focus-visible{outline:2px solid var(--ink);outline-offset:5px;box-shadow:0 0 0 2px #fff}
.project-stage :is(a,button):focus-visible{outline-color:#fff;box-shadow:none}
.signature-visual .showcase-tabs button:focus-visible{outline-offset:-5px;box-shadow:none}





@media(hover:hover) and (pointer:fine){
 
 
 
 
 
 .header-contact:hover{border-color:var(--ink);background:var(--ink);color:#fff}
 .header-contact:hover svg{color:#fff;transform:translateX(2px)}
 .solutions-menu a:hover{padding-left:6px}
 .expertise-card>figure>img,.selected-project>figure>img{transition:transform .65s var(--detail-ease)}
 .expertise-card:hover>figure>img,.selected-project:hover>figure>img{transform:scale(1.025)}
 .expertise-card .round-arrow{transition:background .25s,transform .25s var(--detail-ease)}
 .expertise-card:hover .round-arrow{background:var(--brand);transform:translate(-2px,-2px)}
 .expertise-card:hover .round-arrow svg{color:var(--ink)}
 .signature-visual .showcase-tabs button:hover{background:#eaece5;color:var(--ink)}
 .signature-visual .showcase-tabs button[aria-selected=true]:hover{background:#fff}
}
@media(max-width:1100px) and (min-width:701px){
 .signature-copy .eyebrow{font-size:9px;line-height:1.6;letter-spacing:.05em}
 .signature-description{font-size:16px}
 .signature-visual .showcase-tabs button{font-size:11px;gap:7px;padding-inline:8px}
 .signature-visual .showcase-tabs .sector-symbol{width:19px;height:19px}
 .expertise-card h3{font-size:25px}
 .visual-caption h2{font-size:26px}
 .signature-foot p{font-size:11px}
}
@media(max-width:700px){
 .signature-copy{padding-top:32px;padding-bottom:31px}
 .signature-copy .eyebrow{font-size:9px;letter-spacing:.07em;line-height:1.6;margin-bottom:25px}
 .signature-copy h1{line-height:1.075;letter-spacing:-.06em;margin-bottom:26px}
 .signature-copy h1>span+span{margin-top:5px}
 .signature-copy h1 em:after{height:1px;bottom:-4px}
 .signature-description{font-size:16px;line-height:1.75;margin-top:12px}
 
 
 .signature-strip{display:flex;align-items:center;gap:16px;margin-top:22px;padding-block:15px}
 .signature-strip>p{font-size:9px;letter-spacing:.045em;max-width:185px;line-height:1.65}
 .signature-strip>a{font-size:11px;line-height:1.5;flex:none;gap:9px}
 .signature-visual .showcase-tabs button{font-size:11px;gap:8px;padding-inline:8px;min-height:57px}
 .signature-visual .showcase-tabs .sector-symbol{width:20px;height:20px}
 .visual-caption small{font-size:9px;line-height:1.5;letter-spacing:.06em}
 .visual-caption h2{font-size:27px;line-height:1.18}
 .caption-arrow{width:40px;height:40px}
 .expertise-card>div{padding-top:21px}
 .expertise-card h3{font-size:28px;line-height:1.22}
 .expertise-card .expertise-subtitle{margin-top:12px}
 .selected-project small{font-size:10px}
 .selected-project p{font-size:15px}
 .more-expertise>p{font-size:9px;line-height:1.7}
 
 
 
 
 
 
 .project-filters button{font-size:12px}
 .gallery-open .photo-action{font-size:11px;padding:9px 12px}
 
 
 
}
@media(max-width:365px){
 .signature-copy .eyebrow{font-size:8px;letter-spacing:.04em}
 .signature-description{font-size:15px}
 .signature-strip>p{font-size:8px;max-width:148px}
 .signature-strip>a{font-size:10px;gap:7px}
 .signature-visual .showcase-tabs button{gap:5px;font-size:10px;padding-inline:6px}
 .signature-visual .showcase-tabs .sector-symbol{width:18px;height:18px}
 .visual-caption h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .brand:hover img,.expertise-card:hover>figure>img,.selected-project:hover>figure>img,.expertise-card:hover .round-arrow{transform:none}
}
/* ETILED 16 — proportional photography, clear controls, precise vector identity. */
/* Explicit ratios also prevent the 1500px fallback used by lazy images with sizes=auto. */
img[data-photo]{contain-intrinsic-size:none}
.gallery{--gallery-photo-height:560px;display:grid;columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 38px;align-items:start}
.gallery>figure{display:block;break-inside:auto;width:min(100%,calc(var(--gallery-photo-height) * var(--image-ratio)));max-width:100%;min-width:0;margin:0;justify-self:center}
.gallery-open{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:var(--image-ratio)!important;background:transparent;border-radius:3px 22px 3px 3px;overflow:hidden;padding:0;border:0;isolation:isolate}
.gallery-open>img[data-photo]{display:block;width:100%;height:100%!important;max-width:none;max-height:none;aspect-ratio:var(--image-ratio)!important;object-fit:contain;object-position:50% 50%;contain-intrinsic-size:none;transform:none!important;transition:none}
.gallery-open:hover>img{transform:none!important}
.gallery-open:after{content:"";position:absolute;inset:0;border:1px solid #20242218;border-radius:inherit;pointer-events:none;z-index:2}
.gallery figcaption{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:15px;margin-top:17px;padding:0 1px}
.gallery figcaption strong{font-size:19px;font-weight:600;line-height:1.35}
.gallery figcaption>div>span{font-size:14px;line-height:1.65}
.gallery-number{padding-top:5px;font-variant-numeric:tabular-nums}
.gallery-open .photo-action{position:absolute;bottom:13px;right:13px;display:inline-flex;align-items:center;gap:13px;min-height:39px;padding:9px 12px;background:#fffffff0;border:1px solid #ffffff70;border-radius:3px 13px 3px 3px;color:var(--ink);font-size:12px;font-weight:550;line-height:1.4;letter-spacing:0;box-shadow:0 3px 16px #0000000c;z-index:3;transition:background .2s}
.gallery-open .photo-action svg{width:17px;height:17px;flex:none;stroke-width:1.7}
.gallery-open:hover .photo-action{background:#fff}
.gallery-open>.photo-signature{top:16px;right:16px;opacity:.9;width:65px;height:27px}
.gallery-open>.photo-signature img{height:20px!important}
/* Service photographs use their entire original frame as well. */
.service-hero figure.photo-branded{width:min(100%,calc(560px * var(--image-ratio)));height:auto;min-height:0;aspect-ratio:var(--image-ratio);justify-self:center;align-self:center;border-radius:3px 30px 3px 3px;overflow:hidden;background:transparent}
.service-hero figure.photo-branded>img[data-photo]{width:100%;height:100%;aspect-ratio:var(--image-ratio);object-fit:contain;object-position:center;border-radius:inherit;contain-intrinsic-size:none}
/* Restrained action buttons; the brand green is a precise accent. */






.header-contact{border-color:#cbd0c8;min-height:46px;padding:10px 16px;gap:19px;border-radius:3px 16px 3px 3px}
.header-contact>svg{width:18px;height:18px}
/* The seven original contours and brand colour remain intact. */
.brand{line-height:0;isolation:isolate}
.brand img{filter:drop-shadow(0 5px 8px #20242210);transition:filter .3s var(--detail-ease),transform .3s var(--detail-ease)}
.brand:after{content:"";position:absolute;left:0;bottom:-5px;height:1px;width:36%;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--detail-ease)}
.brand:hover:after,.brand:focus-visible:after{transform:scaleX(1)}
.brand:hover img{transform:translateY(-1px);filter:drop-shadow(0 6px 9px #20242218)}
@media(max-width:1100px){.gallery{--gallery-photo-height:500px;gap:40px 28px}.service-hero figure.photo-branded{width:min(100%,calc(500px * var(--image-ratio)))}}
@media(max-width:700px){
 .gallery{--gallery-photo-height:510px;grid-template-columns:1fr;gap:34px;columns:auto}
 .gallery>figure{margin:0;width:min(100%,calc(var(--gallery-photo-height) * var(--image-ratio)))}
 .gallery-open{border-radius:3px 20px 3px 3px}
 .gallery figcaption{grid-template-columns:23px minmax(0,1fr);gap:12px;margin-top:15px}
 .gallery figcaption strong{font-size:19px;line-height:1.4}
 .gallery figcaption>div>span{font-size:14px;line-height:1.7}
 .gallery-open .photo-action{bottom:11px;right:11px;font-size:11px;gap:10px;padding:8px 10px;min-height:35px}
 .gallery-open>.photo-signature{top:14px;right:14px;width:61px;height:25px}
 .gallery-open>.photo-signature img{height:19px!important}
 .service-hero figure.photo-branded{width:min(100%,calc(510px * var(--image-ratio)));border-radius:3px 24px 3px 3px}
 
 
 .header-contact{font-size:12px;padding:9px 12px;min-height:42px;gap:12px}
 .brand img{filter:drop-shadow(0 3px 5px #20242210)}
}
@media(max-width:365px){.header-contact{font-size:11px;padding:8px 10px;gap:8px}}
@media(prefers-reduced-motion:reduce){.brand img,.brand:after,.gallery-open .photo-action{transition:none}.brand:hover img{transform:none}}
/* The enlarged view keeps its watermark attached to the photograph itself. */
.photo-viewer figure:after{content:none}
.photo-viewer .viewer-photo{position:relative;width:fit-content;max-width:100%;margin-inline:auto;line-height:0}
.photo-viewer .viewer-photo>img{display:block;width:auto;height:auto;max-width:100%;max-height:68dvh;object-fit:contain;object-position:center}
.photo-viewer .viewer-photo:after{content:"";position:absolute;top:17px;right:17px;width:70px;height:23px;background:url(etiled-photo-signature.svg) center/contain no-repeat;filter:drop-shadow(0 1px 3px #0006);opacity:.9;pointer-events:none}
.photo-viewer figcaption{margin-top:15px;line-height:1.6}
@media(max-width:700px){.photo-viewer .viewer-photo>img{max-height:62dvh}.photo-viewer .viewer-photo:after{width:60px;height:20px;top:13px;right:13px}}
/* ETILED 17 — a complete brand lockup, naturally sized photographs. */

.brand{display:flex;align-items:center;gap:19px;min-width:0;margin-right:auto;line-height:1.4}
.brand:after{content:none}
.brand-mark{position:relative;display:block;flex:none;width:112px;height:112px;overflow:hidden;isolation:isolate}
.brand .brand-mark>img{display:block;width:112px;height:112px;object-fit:contain;filter:none;transform:none;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.brand-mark:after{content:"";position:absolute;inset:10%;background:linear-gradient(110deg,transparent 28%,#ffffff00 35%,#ffffff35 48%,#ffffff00 61%,transparent 70%);transform:translateX(-160%);pointer-events:none;animation:brand-light 2.6s .5s ease-in-out 1;clip-path:polygon(0 0,90% 0,74% 22%,74% 35%,100% 21%,100% 100%,0 100%)}
.brand-copy{display:grid;gap:7px;padding:3px 0 3px 21px;border-left:1px solid var(--line);line-height:1.4;color:var(--ink)}
.brand-copy strong{font-family:EtiledDisplay,sans-serif;font-size:17px;font-weight:650;letter-spacing:-.025em;max-width:230px}
.brand-copy small{font-size:10px;letter-spacing:.025em;line-height:1.6;color:var(--muted);font-weight:450}
.desktop-nav{gap:29px;flex:none}
.header-contact{flex:none;min-height:45px}
.reading-progress{height:1px}


@keyframes brand-light{0%,15%{transform:translateX(-160%)}80%,100%{transform:translateX(160%)}}
@media(hover:hover) and (pointer:fine){.brand:hover .brand-mark>img{transform:perspective(600px) rotateY(-5deg) translateY(-1px)}.brand:hover .brand-copy strong{color:var(--ink)}}
/* WordPress sizes=auto must never impose its 3000x1500 intrinsic box. */
.gallery-open>img[data-photo],.gallery-open>img:first-child,.service-hero figure.photo-branded>img[data-photo]{contain:none!important;contain-intrinsic-size:none!important;display:block;width:100%;height:100%!important;max-height:none;aspect-ratio:var(--image-ratio)!important;object-fit:contain;transform:none!important;opacity:1;visibility:visible}
.gallery-open{height:auto!important;aspect-ratio:var(--image-ratio)!important;min-height:0;max-height:none}
.gallery>figure,.gallery>figure.reveal-in{animation:none!important;opacity:1!important;transform:none!important;visibility:visible;content-visibility:visible}
.service-hero figure.photo-branded{height:auto;aspect-ratio:var(--image-ratio);min-height:0}
.gallery{column-count:auto!important;grid-auto-flow:row}
@media(max-width:1180px) and (min-width:941px){.desktop-nav{gap:22px;font-size:13px}.brand{gap:10px}.brand-copy{padding-left:15px}.brand-copy strong{font-size:15px;max-width:177px}.brand-copy small{font-size:9px;max-width:177px}.brand-mark,.brand .brand-mark>img{width:100px;height:100px}.header-contact{font-size:13px;padding-inline:13px;gap:13px}}
@media(max-width:940px){.brand{margin-right:auto}.brand-copy strong{font-size:17px;max-width:240px}.brand-copy small{font-size:10px}}
@media(max-width:700px){.brand{gap:10px;max-width:calc(100% - 57px)}.brand-mark,.brand .brand-mark>img{width:84px;height:84px}.brand-copy{padding-left:13px;gap:4px;max-width:185px}.brand-copy strong{font-size:14px;line-height:1.35;max-width:185px;letter-spacing:-.02em}.brand-copy small{font-size:9px;line-height:1.5;max-width:170px}.header-contact{display:none}.gallery{grid-template-columns:1fr;column-count:auto!important}}
@media(max-width:365px){.brand{gap:5px;max-width:calc(100% - 52px)}.brand-mark,.brand .brand-mark>img{width:74px;height:74px}.brand-copy{padding-left:10px;gap:4px}.brand-copy strong{font-size:12px;max-width:125px}.brand-copy small{font-size:8px;max-width:125px}}
@media(prefers-reduced-motion:reduce){.brand-mark:after{animation:none;display:none}.brand .brand-mark>img{transition:none}.brand:hover .brand-mark>img{transform:none}}

/* ETILED 18 — an editorial signature beside the original mark. */
.brand{gap:18px}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:1px 0 1px 22px;border-left:1px solid #dfe3dd;max-width:none}
.brand-copy strong{display:flex;flex-direction:column;gap:0;max-width:none;font-family:EtiledSans,Arial,sans-serif;font-size:23px;line-height:1.08;font-weight:640;letter-spacing:-.045em;text-transform:none;color:var(--ink)}
.brand-copy strong>span{display:block;white-space:nowrap}
.brand-copy .brand-dot{color:var(--brand);font-weight:750;padding-left:.03em}
.brand-copy small{display:flex;align-items:center;gap:8px;max-width:none;font-family:EtiledSans,Arial,sans-serif;font-size:8px;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;font-weight:550;color:#626764;white-space:nowrap}
.brand-copy small:before{content:"";display:block;flex:none;width:14px;height:2px;background:var(--brand)}
@media(max-width:1180px) and (min-width:941px){.brand{gap:10px}.brand-copy{padding-left:15px;gap:8px}.brand-copy strong{font-size:21px;max-width:none}.brand-copy small{font-size:7px;letter-spacing:.055em;max-width:none;gap:6px}.brand-copy small:before{width:10px}}
@media(max-width:940px){.brand-copy strong{font-size:23px;max-width:none}.brand-copy small{font-size:8px;max-width:none}}
@media(max-width:700px){.brand{gap:8px}.brand-copy{padding-left:14px;gap:0;max-width:none}.brand-copy strong{font-size:17px;line-height:1.12;letter-spacing:-.035em;gap:0;max-width:none}.brand-copy small{display:none}}
@media(max-width:365px){.brand{gap:5px}.brand-copy{padding-left:12px}.brand-copy strong{font-size:16px;line-height:1.1;max-width:none}}




/* ETILED 19: one definition for buttons, closing callout and footer. */
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:52px;max-width:100%;padding:13px 20px;border:1px solid var(--ink);border-radius:4px 18px 4px 4px;background:var(--ink);color:#fff;font:600 14px/1.45 EtiledSans,Arial,sans-serif;letter-spacing:0;text-decoration:none;box-shadow:none;transition:background .2s,border-color .2s,transform .2s}
.button>svg{box-sizing:content-box;flex:none;width:19px;height:19px;padding:0 0 0 16px;border:0;border-left:1px solid #ffffff40;background:none;color:var(--brand);stroke-width:1.8;transition:transform .2s}
.button-light{background:#fff;color:var(--ink);border-color:#fff}
.button-light>svg{color:var(--ink);border-left-color:#dfe3dd}
.button:hover{background:#353d37;border-color:#353d37;color:#fff;transform:translateY(-1px)}
.button:hover>svg{color:#a6d77d;transform:translateX(2px)}
.button-light:hover{background:#edf0e9;border-color:#edf0e9;color:var(--ink)}
.button-light:hover>svg{color:var(--ink)}
.button:active{transform:translateY(0)}
.button:focus-visible{outline:2px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 2px #fff}
.contact-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px 60px;padding:48px 52px;margin-block:40px 72px;background:#f4f5f2;color:var(--ink);border:1px solid #dfe3dd;border-radius:4px 28px 4px 4px;position:relative}
.contact-banner:after{content:none}
.contact-banner .eyebrow{font-size:11px;letter-spacing:.09em;line-height:1.5;color:#58625b;margin-bottom:18px}
.contact-banner h2{font-size:clamp(34px,3.5vw,49px);font-weight:600;line-height:1.12;letter-spacing:-.04em;color:var(--ink);text-wrap:balance;max-width:570px}
.contact-banner p:not(.eyebrow){font-size:16px;line-height:1.75;color:#58625b;max-width:540px;margin-top:18px}
.contact-banner .button{align-self:end;justify-self:start;margin:0 0 5px}
.site-footer{background:#202422;color:#f7f9f5;padding:60px 0 22px;border-top:2px solid var(--brand)}
.footer-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:44px 8%;align-items:start;padding:0;border:0}
.footer-brand>a{display:inline-block;line-height:0}
.footer-brand img{display:block;width:116px;height:116px;margin:-10px;object-fit:contain}
.site-footer p,.site-footer .footer-bottom p{color:#c8d0c9;font-size:14px;line-height:1.8}
.footer-brand p{margin-top:22px;max-width:265px}
.site-footer h2{font:650 11px/1.5 EtiledSans,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#b8c3b8;margin:4px 0 20px}
.site-footer a,.site-footer a:visited{color:#f7f9f5;text-decoration:none}
.footer-grid>div:not(.footer-brand)>a{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:36px;margin:0;font-size:15px;font-weight:450;line-height:1.5}
.footer-link svg{display:none}
.site-footer a:hover{color:#fff;text-decoration:underline;text-decoration-color:#a6d77d;text-decoration-thickness:1px;text-underline-offset:6px}
.site-footer .footer-brand>a:hover{text-decoration:none}
.site-footer a:focus-visible{outline:2px solid #a6d77d;outline-offset:5px;box-shadow:none;border-radius:2px}
.footer-grid>div:not(.footer-brand)>a.footer-phone{font:550 clamp(24px,2.3vw,30px)/1.25 EtiledSans,Arial,sans-serif;letter-spacing:-.03em;min-height:44px;margin-bottom:4px;white-space:nowrap}
.footer-grid>div:not(.footer-brand)>p{margin-top:22px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px 32px;margin-top:48px;padding-top:20px;border-top:1px solid #ffffff26}
.site-footer .footer-bottom p{font-size:12px;line-height:1.7;margin:0}
.footer-bottom>div{display:flex;align-items:center;flex-wrap:wrap;gap:4px 25px}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5}
.site-footer ::selection{background:#c4e4ab;color:#202422}
@media(max-width:940px){.contact-banner{gap:28px;padding:36px}.footer-grid{column-gap:40px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:700px){.contact-banner{grid-template-columns:1fr;padding:30px 25px;margin-block:24px 48px;gap:25px}.contact-banner h2{font-size:35px;max-width:450px}.contact-banner p:not(.eyebrow){font-size:15px;margin-top:16px}.contact-banner .button{margin:0}.button{font-size:14px;gap:20px;min-height:51px;padding:12px 18px}.site-footer{padding-top:40px;padding-bottom:20px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-brand{display:flex;align-items:center;gap:27px}.footer-brand img{width:100px;height:100px;margin:-8px}.footer-brand p{font-size:13px;margin:0}.site-footer h2{margin:0 0 10px}.footer-grid>div:not(.footer-brand)>a{font-size:15px;min-height:44px}.footer-grid>div:not(.footer-brand)>a.footer-phone{font-size:28px}.footer-grid>div:not(.footer-brand)>p{margin-top:12px}.footer-bottom{margin-top:30px;padding-top:18px;gap:10px}.footer-bottom>div{gap:0 20px}.footer-bottom a{font-size:12px}.site-footer .footer-bottom p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.button,.button>svg{transition:none}.button:hover,.button:hover>svg{transform:none}}

/* Small editorial numerals need text contrast, the brand stays in the accents. */
.detail-grid .index,.competence-card .index{color:#4b6540;font-size:11px}
.steps article>span{color:#4b6540}

/* ETILED 20 — home access, compact mobile navigation and return to top. */
.header-inner{display:flex;align-items:center;gap:22px;height:var(--header);border:0}
.home-control{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:4px 14px 4px 4px;color:var(--ink);background:#fff;transition:background .2s,border-color .2s}
.home-control svg{width:21px;height:21px;stroke-width:1.7}
.home-control[aria-current=page]{background:#f2f6ee;border-color:var(--brand)}
.home-control:hover{background:#f2f6ee;border-color:var(--brand)}
.menu-toggle{display:none;flex:none;width:44px;height:44px;position:relative;border:1px solid var(--line);border-radius:4px 14px 4px 4px;background:#f4f5f2;color:var(--ink);margin:0}
.menu-toggle span{position:absolute;width:20px;height:2px;left:11px;top:16px;background:currentColor;transition:transform .2s,top .2s}
.menu-toggle span+span{top:24px}
.menu-toggle[aria-expanded=true] span{top:20px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}
.mobile-menu{display:none}
.mobile-home-icon{width:21px;height:21px;color:var(--ink);stroke-width:1.7}
.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #c7cec2;border-radius:4px 16px 4px 4px;background:#fff;color:var(--ink);box-shadow:0 5px 22px #20242216;transition:background .2s,border-color .2s,transform .2s}
.back-to-top svg{width:23px;height:23px;stroke-width:1.8}
.back-to-top:hover{background:#f2f6ee;border-color:var(--brand);transform:translateY(-2px)}
.menu-open .back-to-top,.photo-viewer-open .back-to-top{display:none}
#page-top:focus{outline:none}
.site-footer{padding-bottom:78px}
@media(max-width:1180px) and (min-width:941px){
 .header-inner{gap:14px}.desktop-nav{gap:20px;font-size:13px}
 .brand-mark,.brand .brand-mark>img{width:88px;height:88px}
 .brand{gap:8px}.brand-copy{padding-left:12px}.brand-copy strong{font-size:19px}
 .brand-copy small{font-size:7px;letter-spacing:0}.header-contact{padding-inline:12px;gap:10px}
}
@media(max-width:940px){
 :root{--header:112px}
 .header-inner{gap:14px}.desktop-nav{display:none}.menu-toggle{display:block}
 .mobile-menu:not([hidden]){display:block;position:fixed;inset:calc(var(--header) + var(--admin-offset,0px) + 1px) 0 0;z-index:60;padding:12px 32px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:#fff;border-top:1px solid var(--line)}
 .mobile-menu>a,.mobile-menu>.nav-solutions>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:14px 0;font:600 21px/1.35 EtiledSans,Arial,sans-serif;letter-spacing:-.025em;border-bottom:1px solid var(--line)}
 .mobile-menu>.mobile-home{justify-content:flex-start;gap:12px}
 .mobile-menu>a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:6px}
 .mobile-menu>a.nav-link>svg{display:block;width:18px;height:18px;color:#626965}
 .mobile-menu .nav-solutions>summary>svg{width:16px;height:16px}
 .mobile-menu .solutions-menu{position:static;width:auto;margin:8px 0 16px 6px;padding:0 0 0 15px;border:0;border-left:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
 .mobile-menu .solutions-menu a{min-height:48px;padding:12px 0;font:450 15px/1.5 EtiledSans,Arial,sans-serif;letter-spacing:0}
 .mobile-menu .solutions-menu a:last-child{font-weight:600}
 body.admin-bar{--admin-offset:32px}
}
@media(max-width:782px){body.admin-bar{--admin-offset:46px}}
@media(max-width:700px){
 :root{--header:92px}
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:9px;height:var(--header)}
 .brand{gap:7px;max-width:none;margin:0;min-width:0}
 .brand-mark,.brand .brand-mark>img{width:76px;height:76px}
 .brand-copy{padding-left:10px;min-width:0;gap:0}
 .brand-copy strong{font-size:clamp(14px,3.6vw,18px);line-height:1.14;letter-spacing:-.04em}
 .brand-copy small{display:none}.header-contact{display:none}
 .mobile-menu:not([hidden]){padding:8px 22px calc(24px + env(safe-area-inset-bottom))}
 .mobile-menu>a,.mobile-menu>.nav-solutions>summary{font-size:20px;min-height:56px;padding:13px 0}
 .back-to-top{right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));width:48px;height:48px}
 .signature-copy{padding-top:28px;padding-bottom:28px}
 .signature-description{font-size:16px;line-height:1.75}
 .signature-actions{margin-top:24px}
 .page-head{padding-top:34px;padding-bottom:32px}
 .page-head h1{text-wrap:balance}
 .page-head .lead{font-size:16px;line-height:1.75}
 .section-heading{gap:22px}
 .contact-banner .button{width:100%}
 .site-footer{padding-bottom:80px}
}
@media(max-width:365px){
 :root{--header:84px}
 .header-inner{gap:6px}.brand{gap:4px}
 .brand-mark,.brand .brand-mark>img{width:64px;height:64px}
 .brand-copy{padding-left:8px}.brand-copy strong{font-size:13px}
 .signature-copy .eyebrow{font-size:9px;letter-spacing:.045em}
 .signature-copy h1{font-size:11.9vw}
 .contact-banner{padding:26px 20px}.contact-banner h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.home-control,.menu-toggle span,.back-to-top{transition:none}.back-to-top:hover{transform:none}}

/* ETILED 21 — full photographic frames and a balanced mobile introduction. */
.signature-hero{align-items:center}
.signature-visual{--hero-image-height:clamp(320px,31vw,450px);align-self:center;border:1px solid var(--line);background:#fff}
.signature-visual:before{display:none}
.signature-visual .showcase-media{height:auto;min-height:0;max-height:none;overflow:visible;mask:none;-webkit-mask:none;background:transparent}
.signature-visual .showcase-panel{position:relative;inset:auto;display:grid;grid-template-rows:auto auto;height:auto;overflow:hidden;background:#f0f1ed}
.signature-visual .showcase-panel[hidden]{display:none!important}
.signature-visual .showcase-panel>img[data-photo]{display:block;position:static;inset:auto;width:100%;height:auto!important;max-height:none;aspect-ratio:4 / 3!important;object-fit:contain;object-position:center;transform:none!important;animation:none;contain:none!important;contain-intrinsic-size:none!important}
.signature-visual .showcase-panel:after{display:none}
.signature-visual .visual-caption{position:static;inset:auto;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:114px;padding:22px 26px;background:#fff;color:var(--ink);border-top:1px solid var(--line);gap:20px}
.signature-visual .visual-caption small{color:var(--muted);opacity:1;font-size:10px;line-height:1.5;letter-spacing:.08em;margin-bottom:8px}
.signature-visual .visual-caption h2{color:var(--ink);font-size:27px;line-height:1.15;max-width:340px;letter-spacing:-.035em}
.signature-visual .caption-arrow{width:44px;height:44px;min-width:44px;border:1px solid var(--line);border-radius:4px 14px 4px 4px;background:#fff;transition:border-color .2s,background .2s}
.signature-visual .caption-arrow svg{color:var(--brand)}
.signature-visual .visual-caption:hover .caption-arrow{border-color:var(--brand);background:#f2f6ee}
.signature-visual .showcase-panel>.photo-signature{top:14px;left:auto;right:14px;width:67px;height:31px;padding:6px 8px;border:0;border-radius:3px;background:#202422c9;filter:none;opacity:1}
.signature-visual .showcase-panel>.photo-signature img{height:19px!important}
.signature-visual .showcase-tabs{border-bottom:0;background:#f7f8f5}
.signature-visual .showcase-tabs button{font-size:12px;min-height:62px;padding:14px 12px;gap:9px}
@media(min-width:1600px){.signature-visual{--hero-image-height:500px}}
@media(min-width:701px) and (max-width:1100px){.signature-visual{--hero-image-height:370px}.signature-visual .visual-caption{padding:20px;min-height:110px}.signature-visual .visual-caption h2{font-size:24px}.signature-visual .showcase-tabs button{font-size:11px;padding-inline:9px;gap:7px}}
@media(max-width:700px){
 .signature-hero{padding-top:0;gap:0;align-items:stretch}
 .signature-copy{padding:25px 0 24px}
 .signature-copy .eyebrow{font-size:8px;line-height:1.5;letter-spacing:.075em;margin-bottom:20px;gap:10px}
 .signature-copy h1{font-size:clamp(37px,11.5vw,72px);line-height:1.045;letter-spacing:-.055em;margin-bottom:20px;word-spacing:.13em}
 .signature-copy h1>span+span{margin-top:6px}
 .signature-copy h1 em:after{height:1px;bottom:-4px}
 .signature-lead{font-size:20px;line-height:1.35;letter-spacing:-.025em}
 .signature-description{font-size:15px;line-height:1.6;margin-top:12px;max-width:100%}
 .signature-actions{margin-top:19px}
 .signature-actions .button{min-height:46px;padding:12px 17px;font-size:13px;line-height:1.5;gap:19px;border-radius:3px 17px 3px 3px}
 .signature-actions .button svg{width:18px;height:18px;padding-left:0;border-left:0}
 .signature-visual{--hero-image-height:clamp(205px,67vw,400px);align-self:stretch}
 .signature-visual .visual-caption{padding:17px 18px;min-height:100px;gap:14px}
 .signature-visual .visual-caption small{font-size:8px;margin-bottom:6px;letter-spacing:.065em}
 .signature-visual .visual-caption h2{font-size:23px;line-height:1.15;max-width:280px}
 .signature-visual .caption-arrow{width:40px;height:40px;min-width:40px}
 .signature-visual .showcase-tabs{min-height:58px}
 .signature-visual .showcase-tabs button{min-height:58px;padding:12px 8px;font-size:11px;gap:7px}
 .signature-visual .showcase-tabs .sector-symbol{width:20px;height:20px}
 .signature-strip{margin-top:22px}
}
@media(max-width:365px){.signature-copy .eyebrow{font-size:7px}.signature-lead{font-size:18px}.signature-description{font-size:14px}.signature-visual .visual-caption h2{font-size:21px}.signature-visual .showcase-tabs button{font-size:10px;padding-inline:5px;gap:5px}.signature-visual .showcase-tabs .sector-symbol{width:18px;height:18px}}

/* ETILED 22 — complete photographs, compact introductions, documentary detail. */
/* Neutral frames preserve the whole image, including portrait originals. */
.project-card figure{height:clamp(205px,19vw,270px);aspect-ratio:auto;background:#f3f4f0;border:1px solid var(--line);border-radius:3px 18px 3px 3px}
.project-card figure>img{display:block;width:100%;height:100%!important;object-fit:contain!important;object-position:center;transform:none!important;contain:none!important;contain-intrinsic-size:none!important;aspect-ratio:auto!important}
.project-card figure>.photo-signature{background:#202422c9;border:0;border-radius:3px;padding:5px 7px;width:63px;height:29px;top:12px;right:12px;filter:none}
.project-card figure>.photo-signature img{height:19px!important}
.service-hero figure,.service-hero figure.photo-branded,.legacy-case figure{--photo-height:clamp(300px,46svh,440px);width:min(100%,calc(var(--photo-height) * var(--image-ratio,1.333)));height:auto;min-height:0;aspect-ratio:auto;max-height:none;justify-self:center;align-self:start;overflow:visible;background:transparent;border-radius:3px 18px 3px 3px}
.service-hero figure>img,.service-hero figure.photo-branded>img[data-photo],.legacy-case figure>img{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:var(--image-ratio,auto)!important;object-fit:contain!important;transform:none!important;contain:none!important;contain-intrinsic-size:none!important;border-radius:3px 18px 3px 3px}
.service-hero figure>figcaption{position:static;font-size:11px;line-height:1.5;color:var(--muted);margin-top:10px}
.gallery{--gallery-photo-height:min(490px,62svh)}
.expertise-card figure,.expertise-card:nth-child(3) figure,.selected-project figure,.selected-project:first-child figure,.company-visual figure{height:auto;aspect-ratio:var(--image-ratio,4/3);background:#f3f4f0}
.expertise-card figure>img,.selected-project figure>img,.company-visual figure>img{width:100%;height:100%;object-fit:contain!important;transform:none!important}
.dossier-section{border-top:1px solid var(--line)}
.dossier-section .detail-grid article{padding-bottom:0}
.document-source{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:550;color:#405a30;border-bottom:1px solid #cbd5c5;margin-top:22px;line-height:1.5;padding-block:8px}
.document-source:hover{color:var(--ink);border-color:var(--brand)}
.archive-note{border-left:2px solid var(--brand);padding:12px 18px;background:var(--surface);font-size:14px;line-height:1.7;margin-bottom:28px;max-width:850px}
.case-dossiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.case-dossiers article{padding:28px;border:1px solid var(--line);border-radius:3px 20px 3px 3px;background:#fff;min-width:0}
.case-context{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:12px}
.case-dossiers h3{font-size:25px;line-height:1.2;min-height:60px}
.case-dossiers dl{margin:18px 0 0}.case-dossiers dl>div{padding-block:14px;border-top:1px solid var(--line)}
.case-dossiers dt{font-size:12px;color:var(--muted)}.case-dossiers dd{margin:5px 0 0;font-size:21px;font-weight:550;line-height:1.4;letter-spacing:-.025em}.case-dossiers dd small{font-size:13px;font-weight:400}
.case-dossiers .document-source{margin-top:10px}
@media(min-width:941px){
 :root{--header:94px}
 .brand-mark,.brand .brand-mark>img{width:90px;height:90px}
 .brand{gap:12px}.brand-copy{padding-left:16px;gap:7px}.brand-copy strong{font-size:20px}.brand-copy small{font-size:7px}
 .breadcrumbs{padding-top:14px;font-size:11px;line-height:1.5}
 .page-head{padding-block:22px 24px;margin-bottom:28px}
 .page-head .eyebrow{margin-bottom:13px;font-size:9px}
 .page-head h1{font-size:clamp(38px,3.6vw,55px);line-height:1.12;letter-spacing:-.045em;max-width:1000px}
 .page-head .lead{font-size:16px;line-height:1.65;margin-top:15px;max-width:850px}
 .project-filters{margin-bottom:22px;padding-bottom:0;gap:8px}
 .project-filters button{min-height:42px;padding:9px 16px;font-size:12px}
 .project-card>div{padding-top:16px}.project-card h3{font-size:24px;margin-top:7px}.project-card p{margin-top:8px;font-size:14px;line-height:1.6}
 .service-hero,.legacy-case{gap:clamp(32px,5vw,72px);align-items:start}
 .service-hero>div,.legacy-case>div{padding-top:12px}.service-hero h2{font-size:32px;line-height:1.2}.service-hero p:not(.eyebrow){font-size:15px;line-height:1.75;margin-top:17px}
 .service-hero .eyebrow{margin-bottom:16px}.service-hero .text-link{margin-top:18px}
 .section{padding-block:72px}.section.compact{padding-top:0}
 .section-heading{margin-bottom:32px;gap:40px}.section-heading h2{font-size:38px}
}
@media(min-width:941px) and (max-height:800px){
 :root{--header:84px}.brand-mark,.brand .brand-mark>img{width:80px;height:80px}.brand-copy strong{font-size:18px}
 .page-head{padding-top:16px;padding-bottom:20px;margin-bottom:22px}.page-head h1{font-size:clamp(36px,3.3vw,49px)}
 .page-head .eyebrow{margin-bottom:10px}.page-head .lead{margin-top:12px}
 .project-card figure{height:clamp(190px,29svh,230px)}
 .service-hero figure,.service-hero figure.photo-branded,.legacy-case figure{--photo-height:clamp(260px,43svh,345px)}
}
@media(min-width:701px) and (max-width:940px){.case-dossiers{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head h1{font-size:44px}.page-head{padding-block:24px;margin-bottom:28px}.service-hero{gap:28px}.service-hero h2{font-size:29px}}
@media(max-width:700px){
 .project-card figure{height:auto;aspect-ratio:var(--image-ratio,4/3);max-height:460px}
 .project-card figure>img{max-height:460px}
 .service-hero figure,.service-hero figure.photo-branded,.legacy-case figure{--photo-height:460px}
 .gallery{--gallery-photo-height:460px}
 .case-dossiers{grid-template-columns:1fr;gap:18px}.case-dossiers article{padding:23px}.case-dossiers h3{min-height:0;font-size:25px}
 .dossier-section .section-heading{display:block}.dossier-section .section-heading>p{margin-top:18px}
 .archive-note{font-size:13px}.document-source{font-size:12px}
}

.expertise-card figure,.expertise-card:nth-child(3) figure{height:300px;aspect-ratio:auto}.selected-project:first-child figure{height:480px;aspect-ratio:auto}.selected-project figure{height:210px;aspect-ratio:auto}.company-visual figure{height:380px;aspect-ratio:auto}
@media(max-width:700px){.expertise-card figure,.expertise-card:nth-child(3) figure,.selected-project figure,.selected-project:first-child figure,.company-visual figure{height:auto;aspect-ratio:var(--image-ratio,4/3);max-height:460px}.expertise-card figure>img,.selected-project figure>img,.company-visual figure>img{max-height:460px}}

@media(min-width:941px){.gallery{--gallery-photo-height:min(430px,44svh)}}

/* ETILED 23 — edge-to-edge previews, consistent service photographs. */
/* Thumbnails frame the subject; gallery/lightbox retain the complete original. */
.project-card figure{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4 / 3;background:transparent;border:0;border-radius:3px 18px 3px 3px}
.project-card figure>img{width:100%;height:100%!important;max-height:none;aspect-ratio:4 / 3!important;object-fit:cover!important;object-position:var(--photo-focus,50% 50%);transform:none!important}
.project-card figure>span:not(.photo-signature){bottom:13px;right:13px;width:38px;height:38px;border:1px solid #ffffff80;background:#fffffff5}
.project-card figure>.photo-signature{background:#2024229c;top:12px;right:12px}
.expertise-card figure,.expertise-card:nth-child(3) figure{height:auto;min-height:0;max-height:none;aspect-ratio:4 / 3;background:transparent}
.expertise-card figure>img{width:100%;height:100%!important;max-height:none;aspect-ratio:4 / 3!important;object-fit:cover!important;object-position:var(--photo-focus,50% 50%)}
.selected-project figure,.selected-project:first-child figure,.company-visual figure{background:transparent}
.selected-project figure>img,.company-visual figure>img{object-fit:cover!important;object-position:var(--photo-focus,50% 50%)}
.signature-visual .showcase-panel>img[data-photo]{object-fit:cover;object-position:var(--photo-focus,50% 50%)}
/* Per-photo framing, without stretching or changing the source photographs. */
.project-card [data-photo=fv-terra-moduli],.selected-project [data-photo=fv-terra-moduli]{--photo-focus:50% 67%}
.project-card [data-photo=pensiline-fotovoltaiche],.selected-project [data-photo=pensiline-fotovoltaiche]{--photo-focus:50% 48%}
.project-card [data-photo=cantiere-nolli],.expertise-card [data-photo=cantiere-nolli],.showcase-panel [data-photo=cantiere-nolli]{--photo-focus:50% 43%}
.expertise-card [data-photo=fv-terra-filari]{--photo-focus:50% 75%}
.service-hero:has(.service-photo){grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(30px,4vw,64px)}
.service-hero figure:has(.service-photo),.service-hero figure.photo-branded:has(.service-photo){--service-photo-height:clamp(300px,calc(100svh - 390px),460px);width:100%;max-width:calc(var(--service-photo-height) * 4 / 3);height:auto;min-height:0;max-height:none;aspect-ratio:auto;justify-self:start;background:transparent;overflow:visible}
.service-hero .service-photo{display:block;width:100%;height:auto!important;min-height:0;max-height:none;aspect-ratio:4 / 3!important;background:transparent;border-radius:3px 20px 3px 3px;overflow:hidden;cursor:zoom-in}
.service-hero .service-photo>img{display:block;width:100%;height:100%!important;min-height:0;max-height:none;aspect-ratio:4 / 3!important;object-fit:cover!important;object-position:var(--photo-focus,50% 50%);transform:none!important;contain:none!important;contain-intrinsic-size:none!important;visibility:visible;opacity:1}
.service-photo [data-photo=fv-copertura-moduli]{--photo-focus:50% 75%}
.service-photo [data-photo=cantiere-nolli]{--photo-focus:50% 43%}
.service-photo [data-photo=impianti-cablaggi]{--photo-focus:50% 45%}
.service-photo img[src*="illuminazione-stradale"]{--photo-focus:50% 68%}
.service-hero .service-photo>.photo-signature{top:13px;right:13px;width:63px;height:29px;padding:5px 7px;background:#2024229c;border-radius:3px;filter:none;opacity:1}
.service-hero .service-photo>.photo-signature img{height:19px!important}
.service-hero .service-photo .photo-action{min-height:36px;padding:7px 11px;bottom:13px;right:13px;font-size:11px;gap:13px}
.service-hero figure>figcaption{display:block;min-height:18px;margin-top:11px;padding:0;font-size:11px;line-height:1.5;color:var(--muted)}
.service-hero figure>figcaption>span:empty{display:none}
.service-hero .service-photo:focus-visible{outline:2px solid var(--brand);outline-offset:5px}
@media(min-width:941px){
 .service-hero:has(.service-photo)>div{padding-top:8px}
 .service-hero:has(.service-photo) h2{font-size:clamp(28px,2.4vw,34px)}
 .service-hero:has(.service-photo) .button{margin-top:23px}
}
@media(min-width:701px) and (max-width:940px){
 .project-card figure{aspect-ratio:4 / 3}
 .service-hero figure:has(.service-photo){max-width:none}
 .service-hero:has(.service-photo){gap:28px}
}
@media(max-width:700px){
 .project-card figure,.expertise-card figure,.expertise-card:nth-child(3) figure{height:auto;max-height:none;aspect-ratio:4 / 3}
 .project-card figure>img,.expertise-card figure>img{max-height:none}
 .service-hero:has(.service-photo){grid-template-columns:1fr;gap:25px}
 .service-hero figure:has(.service-photo),.service-hero figure.photo-branded:has(.service-photo){width:100%;max-width:none;justify-self:stretch}
 .service-hero:has(.service-photo)>div{padding-top:0}
 .service-hero figure>figcaption{font-size:10px;margin-top:9px}
 .service-hero:has(.service-photo) h2{font-size:29px}
 .project-card>div{padding-top:16px}.project-card h3{font-size:25px;margin-top:8px}.project-card p{margin-top:9px}
}

/* ISO qualifications, visible in the opening and immediately after the hero. */
.hero-certifications{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin-top:13px;font-size:12px;line-height:1.4;font-weight:550;color:var(--ink);text-decoration:none}
.hero-certifications>svg{width:19px;height:19px;color:#4b7535;flex:none}.hero-certifications span span{color:#4b7535;padding-left:7px}
.hero-certifications:hover{text-decoration:underline;text-underline-offset:4px}
.hero-certifications+.signature-foot{margin-top:20px}
.home-certifications{padding-top:28px;padding-bottom:28px;margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.certifications-heading{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:22px}
.certifications-heading .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:10px}
.certifications-heading h2{font-size:28px;line-height:1.2;letter-spacing:-.035em;font-weight:600}
.certifications-heading .text-link{min-height:38px;flex:none;font-size:12px;gap:16px}
.iso-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.iso-item{display:flex;flex-direction:column;padding:17px 22px 19px;border-left:1px solid var(--line);position:relative;color:var(--ink);transition:background .2s}
.iso-item:first-child{border-left:0;padding-left:0}
.iso-label{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.4;letter-spacing:.1em;font-weight:600;color:#4b7535}
.iso-label>span{color:var(--muted);font-size:10px;font-weight:400;letter-spacing:.03em}
.iso-item strong{font-size:35px;font-weight:600;line-height:1.15;letter-spacing:-.045em;margin-top:5px}
.iso-description{font-size:12px;line-height:1.55;margin-top:8px;color:#535c55;min-height:36px}
.iso-item:hover{background:#f5f7f2}.iso-item:hover strong{color:#4b7535}
.certifications-bottom{display:flex;align-items:start;justify-content:space-between;gap:16px 30px;padding-top:18px;margin-top:7px;border-top:1px solid var(--line)}
.certifications-bottom p,.certifications-bottom>a{font-size:10px;line-height:1.65;color:#626a63}.certifications-bottom>a{color:#3e4940}.certifications-bottom>a:hover{text-decoration:underline;text-underline-offset:4px}.certifications-bottom>a>span{padding-inline:10px;color:#b7bfb4}
#home-certifications-title{scroll-margin-top:calc(var(--header) + 24px)}
.home-certifications+.home-expertise{padding-top:64px}
@media(max-width:940px){.iso-item{padding-inline:15px}.iso-item strong{font-size:30px}.certifications-bottom{flex-direction:column;gap:9px}.certifications-heading h2{font-size:26px}}
@media(max-width:700px){
 .hero-certifications{font-size:11px;margin-top:11px;min-height:32px}.hero-certifications+.signature-foot{margin-top:16px}
 .home-certifications{margin-top:25px;padding-block:24px}
 .certifications-heading{display:block;margin-bottom:16px}.certifications-heading h2{font-size:26px;max-width:300px}.certifications-heading .text-link{margin-top:13px;font-size:12px}.certifications-heading .eyebrow{font-size:8px}
 .iso-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .iso-item,.iso-item:first-child{padding:18px 16px;border:0;border-top:1px solid var(--line)}
 .iso-item:nth-child(odd){padding-left:0}.iso-item:nth-child(even){border-left:1px solid var(--line)}
 .iso-item:last-child{grid-column:1/-1;display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;column-gap:12px;padding-left:0}
 .iso-item:last-child .iso-label{grid-column:1;grid-row:1}.iso-item:last-child strong{grid-column:1;grid-row:2}.iso-item:last-child .iso-description{grid-column:2;grid-row:1/3;margin:0;min-height:0}
 .iso-item strong{font-size:34px}.iso-description{font-size:12px;min-height:0}
 .certifications-bottom{padding-top:15px;margin-top:0}.certifications-bottom>a>span{padding-inline:5px}
 .home-certifications+.home-expertise{padding-top:45px}
}
@media(prefers-reduced-motion:reduce){.iso-item{transition:none}}

/* ETILED 24 — stronger ISO labels and a one-time departure-board reveal. */
.iso-label{font-size:17px;line-height:1.25;font-weight:800;letter-spacing:.035em;color:var(--ink)}
.iso-label>span{font-size:11px;font-weight:500;letter-spacing:.01em;color:#626a63}
.iso-item strong{font-variant-numeric:tabular-nums}
.iso-odometer{display:inline-flex;align-items:flex-start;vertical-align:top;line-height:1.15;letter-spacing:-.045em}
.iso-digit{display:block;position:relative;overflow:hidden;width:.64em;height:1.15em;flex:none;isolation:isolate}
.iso-reel{display:flex;flex-direction:column;will-change:transform;animation:iso-station-roll 1250ms cubic-bezier(.18,.7,.18,1) both;animation-delay:var(--reel-delay,0ms)}
.iso-reel>span{display:block;flex:none;height:1.15em;line-height:1.15;white-space:nowrap}
@keyframes iso-station-roll{from{transform:translateY(0)}to{transform:translateY(var(--reel-end))}}
@media(max-width:700px){.iso-label{font-size:16px}.iso-label>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.iso-reel{animation:none;transform:translateY(var(--reel-end))}}
