*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:#17345b;font-family:"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(48px,5vw,76px)}h2{font-size:clamp(36px,3.6vw,54px)}h3{font-size:26px}em{font-style:normal;color:#4c78a4}p+p{margin-top:18px}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding:104px 0}.eyebrow{display:block;font-size:11px;font-weight:650;letter-spacing:.15em;line-height:1.5;margin-bottom:26px}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px}.lead{font-size:25px;line-height:1.45;letter-spacing:-.02em}.intro-copy{padding-top:6px}.intro-copy>p:not(.lead){color:#566271;font-size:17px}.intro-copy>.text-link{margin-top:28px}.text-link{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid #8eabc6;padding:9px 0;font-size:14px;font-weight:600;line-height:1.5}.text-link span{font-size:22px;font-weight:400}.text-link:hover{color:#e21b36;border-color:#e21b36}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:15px 24px;border:0;font-size:13px;font-weight:650;line-height:1.5;letter-spacing:.01em;transition:background .2s}.button>span{font-size:23px;font-weight:400;line-height:1}.button-red{background:#d91b35;color:#fff}.button-red:hover{background:#b51128}.button-blue{background:#17345b;color:#fff}.button-blue:hover{background:#285d91}.skip{position:absolute;top:-80px;left:10px;padding:15px;background:white;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #ea982c;outline-offset:5px}.utility{background:#17345b;color:#dbe6f0;font-size:10px;letter-spacing:.04em}.utility .wrap{display:flex;justify-content:space-between;align-items:center;min-height:32px}.utility a{display:flex;align-items:center;gap:12px}.header{position:relative;background:#fff;z-index:20;border-bottom:1px solid #e7ebef}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:104px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:62px;height:62px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1}.brand b{font-size:32px;letter-spacing:.055em;font-weight:700}.brand small{font-size:8px;letter-spacing:.23em;margin-top:8px;font-weight:600}.header nav{display:flex;align-items:center;gap:32px}.header nav>a{font-size:12px;font-weight:550;position:relative;padding:13px 0}.header nav>a:not(.nav-contact):after{content:"";position:absolute;bottom:5px;left:0;width:0;height:2px;background:#d91b35;transition:width .2s}.header nav>a:hover:after,.header nav>a[aria-current]:after{width:100%}.header nav>a.nav-contact{display:inline-flex;align-items:center;gap:30px;border:1px solid #17345b;padding:11px 19px;margin-left:10px}.nav-contact span{font-size:20px}.header nav>a.nav-contact:hover{background:#17345b;color:white}.menu-toggle{display:none}.hero{position:relative;min-height:630px;isolation:isolate;background:#17345b;color:white;overflow:hidden}.hero-image{position:absolute;inset:0 0 0 auto;width:76%;height:100%;object-position:66% 50%;z-index:-4;filter:saturate(.92) contrast(1.02)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,32,57,.15),rgba(12,32,57,.04) 65%,rgba(12,32,57,.2));z-index:-3}.hero-plane{position:absolute;inset:0;background:linear-gradient(115deg,#17345b 15%,#214c80 100%);clip-path:polygon(0 0,61% 0,80% 100%,0 100%);z-index:-2}.hero-line{position:absolute;inset:0;background:#5985af55;clip-path:polygon(61% 0,65% 0,84% 100%,80% 100%);z-index:-1}.hero-content{padding-top:66px;padding-bottom:65px}.hero .eyebrow{font-size:10px;letter-spacing:.18em;color:#d5e3ef;margin-bottom:27px}.hero h1{font-size:clamp(56px,5.8vw,86px);font-weight:500;line-height:.99;letter-spacing:-.055em;max-width:700px}.hero h1 em{color:#a9c8e4}.hero-description{font-size:15px;line-height:1.7;color:#dfE8f1;margin-top:28px;max-width:550px}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:30px}.hero-about{display:inline-flex;gap:22px;align-items:center;font-size:12px}.hero-about:hover{color:#b7d4ed}.hero-caption{position:absolute;right:56px;bottom:45px;display:flex;gap:13px;align-items:center;font-size:9px;font-weight:650;letter-spacing:.14em;text-shadow:0 1px 6px #00152d}.caption-line{width:30px;height:1px;background:#fff}.hero-caption small{display:block;font-size:10px;font-weight:400;letter-spacing:.02em;margin-top:5px}.facts-strip{background:#f1f4f7;border-bottom:1px solid #e1e7ed}.facts-strip>.wrap{display:grid;grid-template-columns:1fr 1fr 1fr;padding-top:29px;padding-bottom:29px}.facts-strip .wrap>div{border-right:1px solid #cfd9e3;padding-left:38px}.facts-strip .wrap>div:first-child{padding-left:0}.facts-strip .wrap>div:last-child{border:0}.fact-value{font-size:23px;font-weight:500;letter-spacing:-.035em;display:block;line-height:1.25}.fact-label{font-size:11px;color:#617080;display:block;margin-top:7px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:17px}.section-heading>p{font-size:14px;color:#667380;line-height:1.6}.expertise-section{background:#f2f5f8}.expertise-list{border-top:1px solid #c9d4e0}.expertise-list>a{display:grid;grid-template-columns:65px 1.2fr 1fr 25px;gap:20px;align-items:center;border-bottom:1px solid #c9d4e0;padding:29px 14px 29px 0;transition:padding .2s,background .2s}.expertise-list>a:hover{background:#e6edf4;padding-left:12px}.row-number{font-size:11px;letter-spacing:.08em;color:#6b819b}.expertise-list h3{font-size:29px}.expertise-list p{font-size:13px;color:#667380}.expertise-list>a>span:last-child{font-size:26px}.home-project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:26px}.project-stack{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-content:start}.project-card{min-width:0}.project-open{display:block;width:100%;text-align:left;background:none;border:0;padding:0}.project-image{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:#e8edf2}.project-image>img{width:100%;height:100%;transition:transform .6s}.project-open:hover .project-image>img{transform:scale(1.045)}.project-tag{position:absolute;top:16px;left:16px;background:#fff;color:#17345b;padding:5px 11px;font-size:9px;line-height:1.6;font-weight:650;letter-spacing:.02em}.project-arrow{position:absolute;bottom:0;right:0;width:44px;height:44px;display:grid;place-items:center;background:#17345b;color:#fff;font-size:24px;transition:background .2s}.project-open:hover .project-arrow{background:#d91b35}.project-content{display:block;padding:19px 0 0}.project-location{display:block;color:#647486;font-size:9px;letter-spacing:.09em;text-transform:uppercase}.project-title{display:block;font-size:22px;line-height:1.25;letter-spacing:-.035em;margin-top:10px;font-weight:500;max-width:480px}.project-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;margin-top:18px;border-top:1px solid #d9e1e9;padding-top:11px}.project-bottom>span{font-size:17px}.project-card.large .project-image{aspect-ratio:1.42}.project-card.large .project-title{font-size:32px;max-width:520px}.project-stack .project-image{aspect-ratio:1/1.35}.project-stack .project-tag{left:10px;top:10px;padding:4px 6px;font-size:8px}.project-stack .project-title{font-size:21px}.values-section{padding:95px 0 100px;background:#17345b;color:white;position:relative;overflow:hidden}.values-section:before{content:"";position:absolute;right:-16%;top:0;width:40%;height:100%;background:#254b763b;transform:skewX(24deg);pointer-events:none}.values-section .wrap{position:relative}.values-section em{color:#a9c8e4}.values-section h2{font-size:48px}.text-link.light{border-color:#738ba8;margin-top:30px;color:#fff}.text-link.light:hover{color:#a9c8e4}.value-list>article{display:flex;gap:26px;border-bottom:1px solid #55708f;padding:0 0 27px;margin-bottom:27px}.value-list>article:last-child{margin-bottom:0}.value-list>article>span{font-size:10px;color:#a9c8e4;line-height:2.7}.value-list h3{font-size:24px;letter-spacing:-.025em}.value-list p{font-size:14px;color:#c5d4e3;line-height:1.65;margin-top:10px;max-width:340px}.contact-band{background:#e8eef4;padding:65px 0}.contact-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-band .eyebrow{margin-bottom:18px}.contact-band h2{font-size:44px}.circle-link{border:1px solid #17345b;border-radius:100%;width:92px;height:92px;display:grid;place-items:center;font-size:45px;line-height:1;flex:none;transition:background .2s,color .2s}.circle-link:hover{background:#17345b;color:#fff}.footer{background:#fff}.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:70px;padding-top:62px;padding-bottom:60px}.footer-brand{font-weight:700;font-size:33px;letter-spacing:.02em;line-height:1;display:block}.footer-brand span{display:block;font-size:8px;letter-spacing:.26em;margin-top:9px}.footer p{font-size:12px;line-height:1.8;color:#647181;margin-top:22px}.footer .eyebrow{font-size:9px;margin-bottom:18px;color:#60748c}.footer-top>div>a:not(.footer-brand){font-size:13px;display:table;line-height:2}.footer-top>div>a.text-link{font-size:11px;display:inline-flex;line-height:1.5;gap:24px;margin-top:13px}.footer-top>div>p{margin-top:0}.footer-top>div:first-child>p{margin-top:22px}.footer-bottom{padding:21px 0;border-top:1px solid #dce3ea;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#66798e}.subhero{padding:39px 0 68px;background:#edf2f7;position:relative;overflow:hidden}.subhero>.wrap{position:relative;z-index:1}.breadcrumb{display:block;font-size:10px;color:#5d748e;margin-bottom:44px}.breadcrumb span{margin-left:16px}.subhero .eyebrow{margin-bottom:21px}.subhero h1{max-width:1000px;font-size:clamp(44px,4.6vw,66px)}.subhero p{font-size:17px;line-height:1.7;max-width:650px;color:#53687d;margin-top:26px}.subhero-line{position:absolute;inset:0;background:#dbe6f2;clip-path:polygon(88% 0,93% 0,100% 100%,95% 100%)}.wide-photo{position:relative}.wide-photo>img{width:100%;height:540px;object-position:center 48%}.wide-photo>p{font-size:9px;letter-spacing:.12em;padding-top:13px;color:#60748c}.method-list article{padding:0 0 32px;border-bottom:1px solid #d1dce7;margin-bottom:28px}.method-list article:last-child{margin-bottom:0}.method-list article>span{font-size:10px;letter-spacing:.1em;color:#667c96}.method-list h3{font-size:25px;margin-top:13px}.method-list p{font-size:15px;color:#617080;margin-top:12px}.quote-section{padding:80px 0;background:#17345b;color:white;text-align:center}.quote-section blockquote{font-size:clamp(30px,4vw,57px);line-height:1.18;letter-spacing:-.04em;margin:0}.quote-section blockquote em{color:#aac9e4}.quote-section p{font-size:14px;color:#c1d2e3;margin-top:27px}.quote-section .eyebrow{color:#b4c9dd}.service-details>article{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:70px 0;border-bottom:1px solid #d5dfe8;align-items:center;scroll-margin-top:0}.service-details>article:first-child{padding-top:0}.service-details>article:last-child{padding-bottom:0;border:0}.service-details h2{font-size:44px}.service-details .lead{font-size:22px;margin-top:26px}.service-details .lead+p{font-size:16px;color:#607184}.service-details img{width:100%;height:440px}.service-details details{margin-top:25px;border-top:1px solid #bcccdc;border-bottom:1px solid #bcccdc}.service-details summary{cursor:pointer;font-size:13px;font-weight:600;padding:15px 0;display:flex;justify-content:space-between}.service-details summary span{font-size:18px;font-weight:400}.service-details details[open] summary span{transform:rotate(45deg)}.service-details details ul{font-size:14px;color:#5e7185;margin-top:4px;padding-left:20px;padding-bottom:15px}.service-details .text-link{margin-top:26px}.portfolio-section{padding-top:56px}.portfolio-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-bottom:28px;border-bottom:1px solid #d3dfe9;margin-bottom:42px}.filters{display:flex;gap:9px;flex-wrap:wrap}.filters button{font-size:12px;padding:10px 17px;border:1px solid #bbcbdc;background:#fff;transition:all .2s}.filters button[aria-pressed="true"],.filters button:hover{background:#17345b;color:white;border-color:#17345b}.portfolio-toolbar>p{font-size:11px;white-space:nowrap;color:#60748c}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 30px}.portfolio-grid .project-title{font-size:29px}.portfolio-grid .project-bottom{font-size:11px}.portfolio-grid .project-tag{font-size:10px}.portfolio-grid .project-location{font-size:10px}.other-projects{background:#f1f5f8}.project-index>p{font-size:14px;color:#5d7085;margin-bottom:25px}.project-index ul{list-style:none;margin:0;padding:0}.project-index li{padding:17px 0;border-top:1px solid #cdd9e5;display:grid;grid-template-columns:1fr 1.2fr;gap:25px;font-size:12px;color:#5d7085}.project-index li>span{font-size:14px;font-weight:500;color:#17345b}.responsibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:68px 100px}.responsibility-grid article{border-top:1px solid #bdcedf;padding-top:25px}.responsibility-grid h2{font-size:36px;margin-top:18px}.responsibility-grid p{font-size:16px;color:#60748c;margin-top:21px}.document-contact{background:#f1f5f8;padding:62px 0}.document-contact>.wrap{display:flex;align-items:center;gap:60px;justify-content:space-between}.document-contact h2{font-size:31px}.document-contact .eyebrow{margin-bottom:18px}.document-contact p{font-size:14px;max-width:650px;margin-top:15px;color:#60748c}.document-contact .button{flex:none}.contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:100px}.contact-lines{margin-top:38px}.contact-lines>div{border-top:1px solid #cbd8e5;padding:21px 0}.contact-lines>div>span{display:block;font-size:9px;letter-spacing:.12em;color:#667c96;margin-bottom:10px}.contact-lines>div>a:not(.text-link){display:flex;align-items:center;justify-content:space-between;font-size:21px;letter-spacing:-.025em}.contact-lines>div>a>span{font-size:25px}.contact-lines p{font-size:17px;line-height:1.6}.contact-lines .text-link{font-size:12px;margin-top:6px}.contact-form-panel{background:#edf2f7;padding:36px}.contact-form-panel>h3{font-size:30px}.contact-form-panel>p{font-size:13px;color:#60748c;margin-top:16px}.contact-form-panel form{margin-top:30px}.contact-form-panel label{display:block;font-size:11px;font-weight:550;margin-bottom:21px}.contact-form-panel input,.contact-form-panel textarea{display:block;width:100%;border:1px solid #bacadb;background:#fff;color:#17345b;border-radius:0;padding:12px 13px;font-size:16px;line-height:1.5;margin-top:7px}.contact-form-panel textarea{resize:vertical;min-height:135px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-note{font-size:10px;color:#5f7389;line-height:1.7;margin-bottom:22px}.form-note a{text-decoration:underline}.contact-form-panel #contact-status{font-size:12px;line-height:1.7;margin-top:17px}.prose{max-width:780px}.prose h2{font-size:28px;margin-top:42px}.prose h2:first-child{margin-top:0}.prose p{font-size:16px;color:#5a7087;margin-top:18px}.prose a{text-decoration:underline}dialog{border:0;padding:25px 35px 38px;color:#17345b;background:white;width:min(1150px,calc(100% - 64px));max-height:calc(100dvh - 70px);overflow-y:auto}dialog::backdrop{background:#091a30bd;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d3dfe8;padding-bottom:17px;margin-bottom:26px;gap:20px}.dialog-top .eyebrow{margin:0;font-size:9px}.close-dialog{display:flex;align-items:center;gap:18px;background:none;border:0;padding:6px;font-size:11px}.close-dialog span{font-size:25px;line-height:1}.dialog-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:45px}.gallery-main{position:relative;background:#edf2f7}.gallery-main>img{width:100%;height:430px;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;background:#17345b;color:white;padding:8px 12px}.gallery-controls button{background:none;color:#fff;border:1px solid #708caa;width:38px;height:30px;line-height:1;font-size:20px}.gallery-controls>span{font-size:10px}.gallery-controls button:hover{background:#2c5885}#gallery-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}#gallery-thumbs button{border:2px solid transparent;background:none;padding:0;opacity:.65}#gallery-thumbs button[aria-pressed="true"]{border-color:#17345b;opacity:1}#gallery-thumbs img{width:75px;height:55px}.dialog-copy{padding-top:9px}.dialog-copy .eyebrow{font-size:10px}.dialog-copy h2{font-size:35px;line-height:1.12}.dialog-copy>p{font-size:14px;color:#5f7389;margin-top:22px}.dialog-copy dl{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:10px;border-top:1px solid #cfdae5;padding-top:20px}.dialog-copy dt{color:#6f839a}.dialog-copy dd{margin:0}.dialog-copy .text-link{font-size:11px;gap:18px;margin-top:20px}[hidden]{display:none!important}
@media(min-width:1600px){.hero-image{object-position:center 45%}.hero{min-height:700px}.hero-content{padding-top:85px}}
@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.header nav{gap:22px}.header nav>a.nav-contact{margin-left:0;gap:16px}.brand b{font-size:27px}.brand img{width:53px;height:53px}.header-inner{min-height:92px}.split{gap:65px}.hero-plane{clip-path:polygon(0 0,65% 0,89% 100%,0 100%)}.hero-line{clip-path:polygon(65% 0,69% 0,93% 100%,89% 100%)}.hero h1{font-size:72px}.hero-description{font-size:14px;max-width:490px}.hero-caption{right:35px;bottom:30px}.home-project-grid{grid-template-columns:1fr 1fr}.project-stack{gap:18px}.project-stack .project-title{font-size:18px}.values-section h2{font-size:42px}.service-details>article{gap:65px}.contact-layout{gap:65px}.contact-form-panel{padding:27px}.dialog-grid{gap:27px}.dialog-copy h2{font-size:30px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.utility{font-size:9px}.header-inner{min-height:86px}.header nav{gap:16px}.header nav>a{font-size:11px}.header nav>a.nav-contact{gap:12px;padding:10px 12px}.brand img{width:44px;height:44px}.brand b{font-size:25px}.brand small{font-size:7px}.hero{min-height:590px}.hero h1{font-size:65px}.hero-content{padding-top:65px}.hero .eyebrow{font-size:9px}.hero-description{font-size:13px}.hero-caption{right:24px;font-size:8px}.hero-about{display:none}.facts-strip .wrap>div{padding-left:25px}.fact-value{font-size:20px}.fact-label{font-size:10px}.section{padding:75px 0}.split{gap:45px}h2{font-size:39px}.intro-copy>.lead{font-size:22px}.intro-copy>p:not(.lead){font-size:15px}.expertise-list>a{grid-template-columns:36px 1.2fr 1fr 20px;gap:18px}.expertise-list h3{font-size:25px}.expertise-list p{font-size:11px}.home-project-grid{grid-template-columns:1fr}.project-stack{grid-template-columns:1fr 1fr;gap:25px}.project-stack .project-image{aspect-ratio:4/3}.project-card.large .project-image{aspect-ratio:1.8}.project-stack .project-title{font-size:24px}.project-stack .project-tag{left:16px;top:16px;font-size:9px;padding:5px 11px}.values-section{padding:75px 0}.values-section h2{font-size:35px}.footer-top{gap:40px}.footer-top>div>a:not(.footer-brand){font-size:11px}.subhero h1{font-size:52px}.subhero p{font-size:15px;max-width:590px}.service-details>article{gap:42px}.service-details h2{font-size:35px}.service-details .lead{font-size:20px}.service-details .lead+p{font-size:14px}.service-details img{height:370px}.wide-photo>img{height:400px}.responsibility-grid{gap:45px}.contact-layout{gap:40px}.contact-layout h2{font-size:39px}.contact-lines>div>a:not(.text-link){font-size:17px}.contact-form-panel{padding:24px}.contact-form-panel>h3{font-size:25px}.form-row{display:block}.portfolio-grid .project-title{font-size:24px}.document-contact .wrap{gap:30px}.document-contact h2{font-size:27px}.document-contact .button{font-size:11px;padding:14px 16px;gap:20px}.dialog-grid{grid-template-columns:1fr 1fr}.gallery-main>img{height:340px}.dialog-copy h2{font-size:27px}dialog{width:calc(100% - 40px);padding:20px 25px 30px}}
@media(max-width:700px){html{scroll-padding-top:30px}.wrap{width:calc(100% - 40px)}.utility>.wrap{min-height:29px}.utility .wrap>span{font-size:8px;letter-spacing:0}.utility a{font-size:0;gap:0}.utility a>span{font-size:15px}.brand img{width:46px;height:46px}.brand b{font-size:26px}.brand small{font-size:7px}.header-inner{min-height:82px}.menu-toggle{display:flex;align-items:center;gap:15px;background:none;border:0;padding:10px 0 10px 14px;font-size:12px}.menu-toggle i{display:block;width:21px;height:10px;border-top:1px solid #17345b;border-bottom:1px solid #17345b;position:relative}.menu-toggle[aria-expanded="true"] i{height:1px;transform:rotate(45deg);border-bottom:0}.menu-toggle[aria-expanded="true"] i:after{content:"";height:1px;width:21px;position:absolute;left:0;top:-1px;background:#17345b;transform:rotate(90deg)}.header nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;box-shadow:0 20px 25px #17345b22;padding:16px 20px 25px;border-top:1px solid #e3e9f0;flex-direction:column;align-items:stretch;gap:0}.header nav.menu-open{display:flex}.header nav>a{font-size:16px;padding:13px 0}.header nav>a:not(.nav-contact):after{display:none}.header nav>a[aria-current]{color:#b71c32}.header nav>a.nav-contact{font-size:14px;justify-content:space-between;padding:12px 15px;margin-top:12px}.hero{min-height:720px;display:flex;align-items:flex-start}.hero-image{width:100%;height:100%;object-position:65% 50%;filter:saturate(.88)}.hero-plane{background:linear-gradient(180deg,#17345bf5 0%,#17345bf5 70%,#17345bbd 100%);clip-path:polygon(0 0,100% 0,100% 58%,48% 100%,0 100%)}.hero-line{background:#7296b942;clip-path:polygon(100% 58%,100% 69%,58% 100%,48% 100%)}.hero-content{padding:53px 0 160px}.hero .eyebrow{max-width:285px;font-size:8px;letter-spacing:.15em;line-height:1.8;margin-bottom:26px}.hero h1{font-size:clamp(51px,12vw,76px);line-height:1.01}.hero-description{font-size:13px;line-height:1.8;max-width:340px;margin-top:25px}.hero-description br{display:none}.hero-actions{margin-top:27px}.hero-actions .button{font-size:11px;padding:14px 20px;gap:28px;min-height:50px}.hero-caption{right:20px;bottom:28px;font-size:8px}.hero-caption small{font-size:9px}.caption-line{width:21px}.facts-strip>.wrap{grid-template-columns:1fr;padding:9px 0}.facts-strip .wrap>div,.facts-strip .wrap>div:first-child{padding:14px 0;border-right:0;border-bottom:1px solid #d0dbe5;display:flex;align-items:center;justify-content:space-between;gap:20px}.facts-strip .wrap>div:last-child{border-bottom:0}.fact-value{font-size:17px}.fact-label{font-size:9px;margin-top:0;text-align:right}.section{padding:61px 0}.split{grid-template-columns:1fr;gap:32px}h2{font-size:39px}.eyebrow{font-size:9px;margin-bottom:20px}.intro-copy{padding:0}.intro-copy>.lead{font-size:23px}.intro-copy>p:not(.lead){font-size:15px}.intro-copy>.text-link{margin-top:21px}.section-heading{display:block;margin-bottom:30px}.section-heading>.text-link{margin-top:16px}.section-heading>p{font-size:13px;margin-top:21px}.section-heading>p br{display:none}.expertise-list>a{grid-template-columns:26px 1fr 20px;gap:13px;padding:24px 0}.expertise-list h3{font-size:24px}.expertise-list p{grid-column:2;font-size:11px;line-height:1.6;margin-top:-6px}.expertise-list>a>span:last-child{grid-column:3;grid-row:1 / span 2;align-self:center}.expertise-list>a:hover{padding-left:0}.home-project-grid{gap:33px}.project-stack{gap:31px;grid-template-columns:1fr}.project-card.large .project-image{aspect-ratio:4/3}.project-stack .project-image{aspect-ratio:1.5}.project-card.large .project-title{font-size:28px}.project-stack .project-title{font-size:26px}.project-location{font-size:9px}.project-content{padding-top:17px}.project-bottom{font-size:11px;margin-top:16px}.project-stack .project-tag,.project-tag{font-size:9px}.values-section{padding:62px 0}.values-section h2{font-size:38px}.values-section .split{gap:45px}.text-link.light{margin-top:23px}.value-list h3{font-size:24px}.value-list p{font-size:14px}.value-list article{margin-bottom:23px;padding-bottom:23px}.contact-band{padding:46px 0}.contact-band>.wrap{gap:14px}.contact-band h2{font-size:30px;line-height:1.17}.contact-band .eyebrow{font-size:8px}.circle-link{width:61px;height:61px;font-size:32px}.footer-top{grid-template-columns:1fr 1fr;gap:36px 22px;padding-top:47px;padding-bottom:35px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div>a:not(.footer-brand){font-size:11px}.footer .eyebrow{font-size:8px;margin-bottom:11px}.footer-brand{font-size:31px}.footer p{font-size:11px}.footer-bottom{flex-wrap:wrap;gap:13px 20px;font-size:8px;justify-content:flex-start;padding:19px 0}.footer-bottom span{flex-basis:100%}.footer-bottom a:last-child{margin-left:auto}.subhero{padding:28px 0 48px}.breadcrumb{font-size:9px;margin-bottom:34px}.subhero .eyebrow{font-size:9px;margin-bottom:18px}.subhero h1{font-size:clamp(36px,8.8vw,52px);line-height:1.1}.subhero h1 br{display:none}.subhero p{font-size:14px;line-height:1.7;margin-top:23px}.subhero-line{clip-path:polygon(85% 0,92% 0,100% 90%,100% 100%)}.wide-photo>img{height:280px}.wide-photo>p{font-size:8px;padding-top:12px}.method-list article{padding-bottom:25px;margin-bottom:24px}.method-list h3{font-size:25px}.method-list p{font-size:14px}.quote-section{padding:55px 0}.quote-section blockquote{font-size:34px}.quote-section p{font-size:12px;max-width:270px;margin:23px auto 0}.service-details>article{grid-template-columns:1fr;gap:29px;padding:45px 0}.service-details h2{font-size:36px}.service-details .lead{font-size:21px;margin-top:23px}.service-details .lead+p{font-size:15px}.service-details img{height:280px}.service-details .eyebrow{margin-bottom:17px}.portfolio-section{padding-top:30px}.portfolio-toolbar{display:block;margin-bottom:29px;padding-bottom:21px}.filters{gap:7px}.filters button{font-size:10px;padding:9px 12px}.portfolio-toolbar>p{font-size:10px;margin-top:19px}.portfolio-grid{grid-template-columns:1fr;gap:37px}.portfolio-grid .project-title{font-size:27px}.portfolio-grid .project-image{aspect-ratio:1.42}.portfolio-grid .project-tag{font-size:9px}.project-index li{grid-template-columns:1fr;gap:4px;padding:16px 0;font-size:12px}.project-index li>span{font-size:15px}.responsibility-grid{grid-template-columns:1fr;gap:35px}.responsibility-grid article{padding-top:20px}.responsibility-grid h2{font-size:33px;margin-top:14px}.responsibility-grid p{font-size:15px;margin-top:18px}.document-contact{padding:48px 0}.document-contact>.wrap{display:block}.document-contact h2{font-size:30px}.document-contact p{font-size:14px}.document-contact .button{margin-top:26px;font-size:12px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout h2{font-size:39px}.contact-lines{margin-top:28px}.contact-lines>div>a:not(.text-link){font-size:20px}.contact-form-panel{padding:25px 22px}.contact-form-panel>h3{font-size:28px}.contact-form-panel>p{font-size:13px}.contact-form-panel input,.contact-form-panel textarea{font-size:16px}.form-row{display:block}.contact-form-panel label{font-size:12px}.form-note{font-size:10px}.prose h2{font-size:27px}.prose p{font-size:15px}dialog{width:calc(100% - 24px);max-height:calc(100dvh - 26px);padding:17px 17px 26px}.dialog-top{margin-bottom:17px;padding-bottom:12px}.dialog-top .eyebrow{font-size:7px;letter-spacing:.08em}.close-dialog{font-size:10px;gap:12px}.dialog-grid{grid-template-columns:1fr;gap:24px}.gallery-main>img{height:250px}.dialog-copy{padding-top:0}.dialog-copy .eyebrow{margin-bottom:15px}.dialog-copy h2{font-size:29px}.dialog-copy p{font-size:14px;margin-top:18px}.dialog-copy dl{margin-top:20px;padding-top:16px}.dialog-copy .text-link{font-size:12px}.gallery-controls>span{font-size:10px}#gallery-thumbs img{width:63px;height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* R04 — Persone e territorio. Gerarchie e corpi di lettura rivisti. */
:root{--meic-ink:#17345b;--meic-green:#466449;--meic-paper:#f5f3ed;--meic-muted:#526373;--meic-line:#cbd4cb}
body{font-size:17px;line-height:1.7}em{color:var(--meic-green)}
.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:650}
.utility{font-size:12px}.utility .wrap{min-height:34px}.header-inner{min-height:100px}.header nav{gap:29px}.header nav>a{font-size:14px;min-height:46px}.header nav>a.nav-contact{gap:27px;padding:11px 20px}
.hero-human{color:var(--meic-ink);background:var(--meic-paper);min-height:650px}
.hero-human .hero-image{width:48%;height:100%;object-position:42% 50%;filter:saturate(.9) contrast(1.01)}
.hero-human:after{left:52%;background:linear-gradient(0deg,#0c302e38,transparent 48%);z-index:-3}
.hero-human .hero-plane{background:var(--meic-paper);clip-path:polygon(0 0,51% 0,58% 100%,0 100%)}
.hero-human .hero-line{background:#6a855947;clip-path:polygon(51% 0,52.5% 0,59.5% 100%,58% 100%)}
.hero-human .hero-content{padding-top:65px;padding-bottom:65px}.hero-human .eyebrow{color:#4d6658;font-size:11px;margin-bottom:25px}
.hero-human h1{font-size:clamp(52px,4.8vw,71px);line-height:1.05;letter-spacing:-.045em;max-width:640px}.hero-human h1 em{display:block;color:#466449;font-size:clamp(30px,2.8vw,42px);line-height:1.2;letter-spacing:-.035em;margin-top:16px}
.hero-human .hero-description{font-size:18px;line-height:1.75;color:#42546a;max-width:515px;margin-top:27px}.hero-human .hero-actions{gap:27px;margin-top:28px}.hero-human .hero-about{color:#17345b;font-size:14px}.hero-human .hero-caption{color:#fff;background:#183f36;padding:12px 16px;text-shadow:none;font-size:11px;letter-spacing:.09em;bottom:32px;right:32px}.hero-human .hero-caption small{font-size:12px;color:#fff;letter-spacing:0}
.button{font-size:14px;min-height:54px}.text-link{font-size:15px;gap:25px;min-height:44px}.text-link:hover{color:#b4152d}
.facts-strip{background:#fff;border-color:#e0e5df}.fact-value{font-size:23px}.fact-label{font-size:13px;color:#526373}.facts-strip>.wrap{padding-block:28px}
.people-section{background:#fff}.people-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:76px;align-items:center}.people-photo>img{width:100%;height:520px;object-position:57% 50%}.people-photo>span{display:block;font-size:11px;letter-spacing:.09em;color:#53665c;margin-top:13px}.people-grid .intro-copy{max-width:54ch}.people-grid h2{font-size:46px;margin-bottom:25px;line-height:1.1}.intro-copy>.lead{font-size:25px;line-height:1.45}.intro-copy>p:not(.lead){font-size:17px;line-height:1.8;color:#526373}.intro-copy{max-width:58ch}.leadership-section{padding:80px 0;background:var(--meic-paper)}
.expertise-section,.other-projects,.subhero,.contact-form-panel{background:var(--meic-paper)}.subhero-line{background:#dce4d5}.subhero p{font-size:18px;line-height:1.75;color:#526373}.breadcrumb{font-size:12px;color:#526373}.section-heading>p{font-size:16px;color:#526373}.row-number{font-size:12px;color:#4b6552}.expertise-list{border-color:var(--meic-line)}.expertise-list>a{padding-block:31px;border-color:var(--meic-line);grid-template-columns:55px 1.15fr 1.05fr 25px}.expertise-list>a:hover{background:#e8ece3}.expertise-list p{font-size:15px;color:#526373}.expertise-list h3{font-size:29px}
.project-tag,.project-stack .project-tag{font-size:11px;padding:6px 12px}.project-location,.portfolio-grid .project-location{font-size:12px;line-height:1.6;color:#526373;letter-spacing:.065em}.project-title{font-weight:500}.project-bottom,.portfolio-grid .project-bottom{font-size:13px;line-height:1.6}.project-content{padding-top:20px}.project-stack .project-title{font-size:23px}.project-stack .project-image{aspect-ratio:1/1.2}
.values-section{background:#254b40}.values-section:before{background:#58734a2b}.values-section .eyebrow{color:#e0e9dc}.values-section em{color:#d4e2c9}.values-section h2{font-size:46px;line-height:1.12}.value-list>article{border-color:#90a58c}.value-list>article>span{font-size:12px;color:#e0e9dc}.value-list p{font-size:16px;color:#e0e9dc;max-width:40ch}.value-list h3{font-size:25px}.text-link.light{border-color:#cad9c2;font-size:15px}
.contact-band{background:#e8ede1}.contact-band h2{font-size:45px;line-height:1.13}.contact-band .eyebrow{font-size:11px}.footer-top{gap:55px}.footer p,.footer-top>div>a:not(.footer-brand){font-size:14px;line-height:1.9}.footer .eyebrow{font-size:11px;margin-bottom:15px}.footer-top>div>a.text-link{font-size:13px}.footer-bottom{font-size:12px;line-height:1.8;color:#526373}.footer-bottom>a{padding-block:6px;min-height:34px}.footer-bottom span{padding-block:6px}
.method-list article>span{font-size:12px;color:#53665b}.method-list p{font-size:16px;line-height:1.8;color:#526373}.wide-photo>p{font-size:11px;color:#526373}.service-details .lead+p,.service-details .lead+p+p{font-size:17px;line-height:1.8;color:#526373}.service-details summary{font-size:15px;min-height:50px;align-items:center}.service-details details ul{font-size:16px}.service-details .lead{font-size:23px}.responsibility-grid p{font-size:17px;line-height:1.8;color:#526373}.document-contact p{font-size:16px;color:#526373}.document-contact .button{font-size:14px}.project-index>p{font-size:16px}.project-index li{font-size:14px}.project-index li>span{font-size:16px}.filters button{font-size:14px;min-height:46px;padding:10px 18px}.portfolio-toolbar>p{font-size:13px;color:#526373}
.contact-lines>div>span{font-size:12px;color:#53665b}.contact-lines address,.map-address address{font-style:normal;line-height:1.7;font-size:18px}.contact-form-panel>p{font-size:16px;line-height:1.7;color:#526373}.contact-form-panel label{font-size:14px;line-height:1.6}.contact-form-panel input,.contact-form-panel textarea{border-color:#85978b}.form-note{font-size:13px;line-height:1.7;color:#526373}.contact-form-panel #contact-status{font-size:14px}.contact-layout{grid-template-columns:1fr 1.08fr;gap:80px}.contact-form-panel>h3{line-height:1.2}.contact-lines>div>a:not(.text-link){font-size:23px}
.location-section{background:#f5f3ed}.map-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:50px;align-items:center}.map-address h3{font-size:30px;margin-bottom:20px}.map-address>p{font-size:16px;max-width:32ch;color:#526373;margin-top:20px}.map-address>.text-link{margin-top:20px}.map-shell{min-height:440px;background:#e4eadd;border:1px solid #c1cebd;position:relative}.map-placeholder{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#294a3f}.map-placeholder>svg{margin-bottom:21px}.map-placeholder h3{font-size:30px}.map-placeholder p{font-size:16px;margin-top:10px}.map-placeholder .button{margin-top:23px}.map-placeholder small{font-size:12px;color:#526373;margin-top:16px}.map-shell iframe{width:100%;height:440px;border:0;display:block}.location-section .section-heading{align-items:center}
.prose p{font-size:17px;line-height:1.85;color:#526373}.project-facts{display:grid;grid-template-columns:1fr 1.3fr;gap:0 30px;align-content:start;margin:0;border-top:1px solid #b8c9b9;padding-top:15px}.project-facts dt,.project-facts dd{border-bottom:1px solid #d1dacf;padding:18px 0;font-size:16px;margin:0}.project-facts dt{color:#53665b}.project-detail h2{font-size:35px;line-height:1.16;margin-bottom:25px}.project-gallery{background:#f5f3ed}.project-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:40px}.project-gallery-grid figure{margin:0}.project-gallery-grid figure:first-child{grid-column:1/-1}.project-gallery-grid img{width:100%;height:430px;object-fit:contain;background:#e8e9e2}.project-gallery-grid figure:first-child img{height:570px}.project-gallery-grid figcaption{font-size:12px;line-height:1.7;color:#526373;margin-top:11px}.dialog-top .eyebrow{font-size:11px}.close-dialog{font-size:14px;min-height:44px}.gallery-controls button{min-width:44px;min-height:44px}.gallery-controls>span{font-size:12px}.dialog-copy>.eyebrow{font-size:12px}.dialog-copy>p{font-size:16px;line-height:1.75}.dialog-copy dl{font-size:14px;line-height:1.7}.dialog-copy .text-link{font-size:14px;line-height:1.6;gap:18px}.dialog-copy dt{color:#53665b}.dialog-grid{grid-template-columns:1.1fr 1fr;gap:40px}
@media(max-width:1150px){.header nav{gap:19px}.header nav>a{font-size:13px}.hero-human h1{font-size:57px}.hero-human h1 em{font-size:34px}.hero-human .hero-description{font-size:17px;max-width:440px}.hero-human .hero-content{padding-block:60px}.hero-human .hero-actions{gap:22px}.hero-human .hero-about{font-size:13px}.people-grid{gap:50px}.people-grid h2{font-size:41px}.people-photo>img{height:510px}.values-section h2{font-size:40px}.expertise-list p{font-size:14px}.expertise-list h3{font-size:26px}.footer-top{gap:35px}.footer p,.footer-top>div>a:not(.footer-brand){font-size:13px}.contact-layout{gap:55px}.contact-lines>div>a:not(.text-link){font-size:20px}}
@media(max-width:900px){.header nav{gap:13px}.header nav>a{font-size:12px}.header nav>a.nav-contact{padding:10px 13px;gap:15px}.utility{font-size:11px}.hero-human .hero-plane{clip-path:polygon(0 0,57% 0,64% 100%,0 100%)}.hero-human .hero-line{clip-path:polygon(57% 0,59% 0,66% 100%,64% 100%)}.hero-human .hero-image{width:44%}.hero-human h1{font-size:50px;max-width:480px}.hero-human h1 em{font-size:29px}.hero-human .hero-description{font-size:16px;max-width:400px}.hero-human .hero-about{display:none}.hero-human .hero-caption{right:20px;bottom:25px;font-size:10px;padding:10px 12px}.hero-human .hero-caption small{font-size:11px}.people-grid{gap:35px}.people-grid h2{font-size:35px}.people-photo>img{height:510px}.intro-copy>.lead{font-size:22px}.intro-copy>p:not(.lead){font-size:16px}.fact-value{font-size:19px}.fact-label{font-size:12px}.expertise-list h3{font-size:23px}.expertise-list>a{grid-template-columns:30px 1.2fr 1fr 20px;gap:15px}.expertise-list p{font-size:13px}.values-section h2{font-size:35px}.value-list h3{font-size:23px}.value-list p{font-size:15px}.footer-bottom{font-size:11px}.footer p,.footer-top>div>a:not(.footer-brand){font-size:12px}.service-details .lead+p,.service-details .lead+p+p{font-size:16px}.service-details .lead{font-size:21px}.contact-layout{gap:37px}.contact-lines>div>a:not(.text-link){font-size:17px}.map-layout{gap:30px}.map-address h3{font-size:26px}.map-address address{font-size:16px}.map-address>p{font-size:15px}.map-address>.text-link{font-size:13px}.dialog-grid{gap:25px}.dialog-copy dl{font-size:13px}.dialog-copy>p{font-size:15px}.project-facts{grid-template-columns:1fr 1.1fr}.project-facts dt,.project-facts dd{font-size:14px}}
@media(max-width:700px){.utility{font-size:10px}.utility .wrap>span{font-size:10px;letter-spacing:0}.utility .wrap{min-height:30px}.header-inner{min-height:84px}.menu-toggle{font-size:14px;min-height:44px}.header nav>a{font-size:18px;min-height:48px}.header nav>a.nav-contact{font-size:16px}.hero-human{min-height:0}.hero-human .hero-image{width:100%;height:270px;top:auto;bottom:0;object-position:45% 48%}.hero-human .hero-plane{top:0;bottom:270px;background:#f5f3ed;clip-path:none}.hero-human:after{left:0;top:auto;height:270px;background:linear-gradient(0deg,#173b3429,transparent 60%)}.hero-human .hero-line{display:none}.hero-human .hero-content{padding:42px 0 310px}.hero-human .eyebrow{font-size:10px;line-height:1.7;max-width:none;margin-bottom:20px}.hero-human h1{font-size:clamp(37px,10.6vw,54px);line-height:1.07;letter-spacing:-.045em;max-width:100%}.hero-human h1 em{font-size:clamp(25px,7vw,32px);margin-top:14px;line-height:1.25}.hero-human .hero-description{font-size:16px;line-height:1.75;max-width:none;margin-top:23px}.hero-human .hero-actions{margin-top:25px}.hero-human .hero-actions .button{font-size:14px;min-height:52px;padding:14px 20px}.hero-human .hero-caption{bottom:18px;right:20px;font-size:10px}.hero-human .hero-caption small{font-size:11px}.facts-strip>.wrap{padding-block:7px}.facts-strip .wrap>div,.facts-strip .wrap>div:first-child{padding-block:15px;gap:16px}.fact-value{font-size:17px}.fact-label{font-size:11px;max-width:165px}.section{padding:58px 0}.eyebrow{font-size:11px;letter-spacing:.1em}.people-grid{grid-template-columns:1fr;gap:31px}.people-photo>img{height:310px;object-position:54% center}.people-photo>span{font-size:10px;line-height:1.7}.people-grid h2{font-size:36px;margin-bottom:23px}.people-grid .intro-copy{max-width:none}.intro-copy>.lead{font-size:22px;line-height:1.5}.intro-copy>p:not(.lead){font-size:16px;line-height:1.8}.text-link{font-size:14px;min-height:44px}.section-heading>p{font-size:16px}.expertise-list>a{grid-template-columns:25px 1fr 20px;gap:12px;padding-block:24px}.expertise-list h3{font-size:24px}.expertise-list p{font-size:14px;line-height:1.7;grid-column:2}.expertise-list>a>span:last-child{grid-row:1 / span 2}.project-location,.portfolio-grid .project-location{font-size:11px}.project-tag,.project-stack .project-tag,.portfolio-grid .project-tag{font-size:11px;padding:6px 11px}.project-stack .project-image{aspect-ratio:1.5}.project-stack .project-title,.portfolio-grid .project-title{font-size:27px}.project-card.large .project-title{font-size:28px}.project-bottom,.portfolio-grid .project-bottom{font-size:13px}.values-section h2{font-size:35px;line-height:1.17}.value-list p{font-size:16px}.value-list h3{font-size:24px}.text-link.light{font-size:14px}.contact-band h2{font-size:31px}.contact-band .eyebrow{font-size:10px}.footer-top{gap:30px 24px}.footer .eyebrow{font-size:10px}.footer p,.footer-top>div>a:not(.footer-brand){font-size:13px;line-height:1.9}.footer-top>div>a.text-link{font-size:12px}.footer-bottom{font-size:11px;gap:13px 16px}.footer-bottom span{padding:0}.footer-bottom>a{min-height:36px}.breadcrumb{font-size:11px}.subhero .eyebrow{font-size:11px}.subhero h1{font-size:clamp(35px,8.8vw,47px);line-height:1.12}.subhero p{font-size:17px;line-height:1.75}.leadership-section{padding:52px 0}.method-list article>span{font-size:11px}.method-list p{font-size:16px}.wide-photo>p{font-size:10px;line-height:1.7}.service-details .lead{font-size:22px}.service-details .lead+p,.service-details .lead+p+p{font-size:16px;line-height:1.8}.service-details summary{font-size:15px}.service-details details ul{font-size:16px}.filters{gap:8px}.filters button{font-size:12px;min-height:44px;padding:10px 13px}.portfolio-toolbar>p{font-size:13px}.project-index>p{font-size:16px}.project-index li{font-size:14px;gap:6px}.project-index li>span{font-size:16px}.responsibility-grid p{font-size:16px}.document-contact p{font-size:16px}.document-contact .button{font-size:14px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout h2{font-size:36px}.contact-lines>div>span{font-size:11px}.contact-lines>div>a:not(.text-link){font-size:21px}.contact-lines address{font-size:18px}.contact-form-panel{padding:27px 22px}.contact-form-panel>h3{font-size:28px;line-height:1.15}.contact-form-panel>p{font-size:16px}.contact-form-panel label{font-size:14px}.form-note{font-size:12px;line-height:1.8}.form-row{display:block}.contact-form-panel .button{font-size:14px}.location-section .section-heading{display:block}.location-section .section-heading>.button{margin-top:24px}.map-layout{grid-template-columns:1fr;gap:28px}.map-address h3{font-size:29px}.map-address address{font-size:18px}.map-address>p{font-size:16px;max-width:none}.map-address>.text-link{font-size:14px}.map-shell,.map-placeholder{min-height:390px}.map-shell iframe{height:390px}.map-placeholder{padding:27px 20px}.map-placeholder h3{font-size:28px}.map-placeholder small{font-size:12px;line-height:1.6}.prose p{font-size:16px;line-height:1.85}.project-detail h2{font-size:31px;line-height:1.2}.project-facts{grid-template-columns:1fr 1.4fr;gap:0 20px}.project-facts dt,.project-facts dd{font-size:15px}.project-gallery h2{font-size:35px}.project-gallery-grid{grid-template-columns:1fr;gap:29px;margin-top:29px}.project-gallery-grid img,.project-gallery-grid figure:first-child img{height:auto;max-height:470px;object-fit:contain}.project-gallery-grid figcaption{font-size:11px}.dialog-top .eyebrow{font-size:9px}.close-dialog{font-size:13px;gap:13px}.dialog-grid{grid-template-columns:1fr;gap:23px}.gallery-controls button{min-width:44px;min-height:44px}.dialog-copy>.eyebrow{font-size:11px}.dialog-copy>p{font-size:16px;line-height:1.7}.dialog-copy dl{font-size:14px}.dialog-copy .text-link{font-size:14px}}

/* R05 — testate fotografiche, monocromia neutra e diagonale verde. */
h1,h2,h3{font-weight:500;letter-spacing:-.035em}
h2{font-size:clamp(34px,3.25vw,46px);line-height:1.13}
h3{line-height:1.2}
.brand{gap:13px;flex-shrink:0}
.brand img{width:72px;height:72px}
.brand b{font-size:35px;letter-spacing:.05em}
.brand small{font-size:8.5px;letter-spacing:.23em}
.header nav>a{font-weight:500}
.header nav>a.nav-contact{display:block;border:0;padding:13px 0;margin:0;background:none;color:var(--meic-ink);font-size:14px;font-weight:500}
.header nav>a.nav-contact:after{content:"";position:absolute;bottom:5px;left:0;width:0;height:2px;background:#d91b35;transition:width .2s}
.header nav>a.nav-contact:hover{background:none;color:var(--meic-ink)}
.header nav>a.nav-contact:hover:after,.header nav>a.nav-contact[aria-current]:after{width:100%}
.photo-heading{position:relative;isolation:isolate;background:#f5f3ed;overflow:hidden}
.hero-visual,.hero-photo,.hero-slash,.hero-wash{position:absolute;inset:0;pointer-events:none}
.hero-visual{z-index:0;overflow:hidden}
.hero-photo,.hero-slash{overflow:hidden}
.hero-photo{z-index:0;background:#d8d8ce}
.hero-photo img,.hero-slash img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--hero-focus,50% 45%)}
.hero-photo img{filter:grayscale(1);opacity:.94}
.hero-slash{z-index:1;background:#2f6d3c;isolation:isolate;clip-path:polygon(76% 0,84% 0,94% 100%,86% 100%)}
.hero-slash img{filter:grayscale(1) contrast(1.02);mix-blend-mode:luminosity;opacity:.74}
.hero-wash{z-index:2;background:linear-gradient(90deg,rgba(245,243,237,.98) 0%,rgba(245,243,237,.97) 36%,rgba(245,243,237,.94) 50%,rgba(245,243,237,.90) 58%,rgba(245,243,237,.35) 63%,rgba(245,243,237,0) 68%)}
.subhero{padding:31px 0 53px;min-height:355px}
.subhero>.wrap{position:relative;z-index:2}
.subhero .breadcrumb{font-size:12px;color:#42546a;margin-bottom:31px}
.subhero .eyebrow{font-weight:600;font-size:11px;letter-spacing:.14em;margin-bottom:18px}
.subhero h1{font-size:clamp(40px,3.8vw,55px);font-weight:500;line-height:1.12;letter-spacing:-.015em;max-width:58%}
.subhero h1 em{color:#3f5c44}
.subhero p{font-size:18px;line-height:1.7;color:#42546a;max-width:min(650px,58%);margin-top:24px}
.hero-human{min-height:510px}
.hero-human:after{display:none}
.hero-human .hero-content{position:relative;z-index:2;padding-top:40px;padding-bottom:40px}
.hero-human h1{font-size:clamp(44px,4.2vw,60px);font-weight:500;line-height:1.1;letter-spacing:-.015em;max-width:740px}
.hero-human h1 em{font-size:clamp(28px,2.4vw,36px);font-weight:500;line-height:1.22;margin-top:17px;color:#3f5c44}
.hero-human .hero-description{font-size:18px;max-width:525px;line-height:1.75;margin-top:27px}
.hero-human .hero-slash{clip-path:polygon(68% 0,76% 0,91% 100%,83% 100%)}
.hero-human .hero-caption{z-index:3;font-weight:500;background:#244b40;bottom:25px;right:28px}
.hero-human .eyebrow{font-weight:600}
.people-grid h2{font-size:clamp(35px,3.1vw,46px);font-weight:500;line-height:1.15}
.intro-copy>.lead{font-size:24px;line-height:1.5;font-weight:400}
.expertise-list h3{font-size:28px;font-weight:500}
h3.project-title,.project-card.large .project-title,.project-stack .project-title,.portfolio-grid .project-title{font-weight:500;line-height:1.26}
.values-section h2{font-size:43px;line-height:1.17;font-weight:500}
.value-list h3{font-size:24px;font-weight:500}
.contact-band h2{font-size:40px;line-height:1.17;font-weight:500}
.contact-layout h2{font-size:42px;line-height:1.15;font-weight:500}
.contact-form-panel>h3{font-weight:500}
.service-details h2{font-size:42px;line-height:1.13}
.service-details .lead{font-size:23px;line-height:1.5}
.method-list h3,.responsibility-grid h2,.project-detail h2{font-weight:500;line-height:1.2}
@media(max-width:1150px){
 .brand img{width:64px;height:64px}.brand b{font-size:31px}.brand small{font-size:8px}
 .header nav>a.nav-contact{font-size:13px}
 .subhero h1{font-size:47px}.subhero .hero-wash{background:linear-gradient(90deg,rgba(245,243,237,.98) 0%,rgba(245,243,237,.96) 50%,rgba(245,243,237,.90) 61%,rgba(245,243,237,.30) 70%,rgba(245,243,237,0) 78%)}
 .hero-human h1{font-size:51px}.hero-human h1 em{font-size:31px}.hero-human .hero-description{max-width:470px;font-size:17px}
 .hero-human .hero-wash{background:linear-gradient(90deg,rgba(245,243,237,.98) 0%,rgba(245,243,237,.96) 42%,rgba(245,243,237,.88) 52%,rgba(245,243,237,.25) 64%,rgba(245,243,237,0) 73%)}
 .contact-layout h2,.values-section h2{font-size:38px}
}
@media(max-width:900px){
 .brand img{width:53px;height:53px}.brand b{font-size:29px}.brand small{font-size:7px}
 .header nav{gap:16px}.header nav>a,.header nav>a.nav-contact{font-size:12px;white-space:nowrap}
 .subhero h1{font-size:43px}.subhero p{font-size:17px;max-width:58%}
 .hero-human h1{font-size:45px}.hero-human h1 em{font-size:28px}.hero-human .hero-description{max-width:420px}
 .hero-human .hero-wash{background:linear-gradient(90deg,rgba(245,243,237,.98) 0%,rgba(245,243,237,.96) 55%,rgba(245,243,237,.90) 64%,rgba(245,243,237,.25) 73%,rgba(245,243,237,0) 82%)}
 .people-grid h2{font-size:36px}.intro-copy>.lead{font-size:22px}.contact-layout h2,.values-section h2{font-size:35px}
}
@media(max-width:700px){
 .brand img{width:53px;height:53px}.brand b{font-size:29px}.brand small{font-size:7.5px}
 .header-inner{min-height:88px}.header nav{gap:0}.header nav>a,.header nav>a.nav-contact{font-size:18px;padding:14px 0;font-weight:500;min-height:48px;margin:0;white-space:normal}
 .header nav>a.nav-contact:after{display:none}
 .subhero{padding:24px 0 145px;min-height:0}
 .subhero .breadcrumb{font-size:11px;margin-bottom:28px}
 .subhero .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:18px}
 .subhero h1{font-size:clamp(32px,8.1vw,43px);max-width:100%;line-height:1.16;letter-spacing:-.015em}
 .subhero p{font-size:17px;max-width:none;line-height:1.75;margin-top:23px}
 .subhero .hero-wash{background:linear-gradient(180deg,rgba(245,243,237,.98) 0%,rgba(245,243,237,.97) calc(100% - 160px),rgba(245,243,237,.88) calc(100% - 140px),rgba(245,243,237,.18) calc(100% - 90px),rgba(245,243,237,0) calc(100% - 55px))}
 .subhero .hero-slash{clip-path:polygon(65% 0,80% 0,100% 100%,85% 100%)}
 .hero-human{min-height:0}.hero-human .hero-content{padding:28px 0 170px}
 .hero-human h1{font-size:clamp(35px,9.4vw,50px);max-width:100%;line-height:1.12}
 .hero-human h1 em{font-size:clamp(24px,6.4vw,30px);margin-top:15px;line-height:1.23}
 .hero-human .hero-description{font-size:16px;line-height:1.75;max-width:none}
 .hero-human .hero-wash{background:linear-gradient(180deg,rgba(245,243,237,.98) 0%,rgba(245,243,237,.97) calc(100% - 190px),rgba(245,243,237,.94) calc(100% - 165px),rgba(245,243,237,.15) calc(100% - 110px),rgba(245,243,237,0) calc(100% - 75px))}
 .hero-human .hero-slash{clip-path:polygon(60% 0,76% 0,100% 100%,83% 100%)}
 .hero-human .hero-caption{bottom:18px;right:20px;font-size:10px}
 h2,.people-grid h2{font-size:34px;line-height:1.18}.intro-copy>.lead{font-size:22px;line-height:1.5}
 .expertise-list h3{font-size:24px}.values-section h2{font-size:33px}.value-list h3{font-size:23px}
 .contact-band h2{font-size:29px}.contact-layout h2,.service-details h2{font-size:34px}.project-detail h2{font-size:30px}
}

/* R07 — velatura limitata alla lettura; foto libera a destra e nella fascia inferiore mobile. */
.hero-photo img{filter:none;opacity:1}
.hero-slash img{filter:grayscale(1) contrast(1.02);mix-blend-mode:luminosity;opacity:.74}
.people-photo>span{letter-spacing:.07em;line-height:1.7}
@media(max-width:700px){.hero-photo img,.hero-slash img{object-position:var(--hero-focus-mobile,var(--hero-focus,50% 50%))}}

.gallery-controls button:disabled{opacity:.35;cursor:default}

/* R10 — cornice progressiva su cellulare, tablet in entrambi gli orientamenti e desktop. */
html{--meic-frame-gutter:clamp(6px,1.8vw,10px);--meic-frame-space:8px;--meic-frame-inset:max(var(--meic-frame-gutter),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));background:#3b5660}
body{width:min(1440px,calc(100% - 2 * var(--meic-frame-inset)));margin:0 auto var(--meic-frame-space);background:#fff;box-shadow:0 18px 52px rgba(5,19,26,.40),0 3px 12px rgba(5,19,26,.22),0 0 0 1px rgba(255,255,255,.15)}
@media(min-width:701px){html{--meic-frame-gutter:clamp(28px,4vw,48px);--meic-frame-space:clamp(16px,2.4vw,32px)}}
@media(min-width:1440px){html{--meic-frame-gutter:40px;--meic-frame-space:40px}}
@media print{
 html{background:#fff}
 body{width:100%;max-width:none;margin:0;box-shadow:none}
}

/* R11 — titoli e menu coerenti, foto riallineate al contenitore a ogni cambio formato. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.hero-human h1,.hero-human h1 em,.subhero h1{font-weight:600;letter-spacing:-.015em}
.hero-photo img,.hero-slash img{position:absolute;inset:0;min-width:100%;min-height:100%}
.header nav>a,.header nav>a.nav-contact{font-size:15px}
.gallery-controls button{font-size:13px;min-width:90px;min-height:44px}
@media(max-width:1150px){.header nav>a,.header nav>a.nav-contact{font-size:14px}}
@media(max-width:900px){.header nav>a,.header nav>a.nav-contact{font-size:13px}}
@media(max-width:700px){.header nav>a,.header nav>a.nav-contact{font-size:19px}.menu-toggle{font-size:15px}.gallery-controls button{min-width:80px;font-size:12px}}

/* R13 — link testuali riconoscibili e inviti all’azione senza simboli freccia. */
.text-link{display:inline-block;border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.24em}
.hero-about,.utility a,.prose a,.form-note a,.footer-top a:not(.footer-brand),.footer-bottom a,.contact-lines a:not(.text-link),.project-bottom{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.text-link:hover,.hero-about:hover,.footer a:not(.footer-brand):hover,.prose a:hover,.contact-lines a:hover{text-decoration-thickness:2px}
.button{justify-content:center;gap:0}
.expertise-list>a{grid-template-columns:55px 1.15fr 1.05fr}
.expertise-list h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:#71877d}
.expertise-list>a:hover h3,.expertise-list>a:focus-visible h3{text-decoration-color:currentColor;text-decoration-thickness:2px}
.contact-band>.wrap{gap:28px}
.contact-band-link{flex-shrink:0}
@media(max-width:900px){.expertise-list>a{grid-template-columns:30px 1.2fr 1fr}}
@media(max-width:700px){.expertise-list>a{grid-template-columns:25px 1fr}.contact-band>.wrap{display:flex;flex-direction:column;align-items:flex-start;gap:24px}}


/* R14 — menu sempre visibile nella cornice, ombra discreta e ancore libere. */
html{scroll-padding-top:117px}
.header{position:sticky;top:0;box-shadow:0 5px 16px rgba(14,35,46,.10)}
@media(max-width:700px){
 html{scroll-padding-top:105px}
 .header nav{max-height:calc(100vh - 89px);max-height:calc(100dvh - 89px);overflow-y:auto;overscroll-behavior:contain}
}
@media print{.header{position:relative;box-shadow:none}}


/* R16 — barra ancora più compatta, voci più grandi e ombra più netta. */
html{scroll-padding-top:103px}
.header-inner{min-height:86px}
.header{box-shadow:0 3px 5px rgba(14,35,46,.26),0 10px 16px rgba(14,35,46,.14)}
.header nav>a,.header nav>a.nav-contact{font-size:17px}
@media(max-width:1150px){.header nav>a,.header nav>a.nav-contact{font-size:16px}}
@media(max-width:900px){.header nav{gap:14px}.header nav>a,.header nav>a.nav-contact{font-size:15px}}
@media(max-width:700px){
 html{scroll-padding-top:95px}
 .header-inner{min-height:78px}
 .header nav>a,.header nav>a.nav-contact{font-size:21px}
 .menu-toggle{font-size:17px}
 .header nav{gap:0;max-height:calc(100vh - 79px);max-height:calc(100dvh - 79px)}
}
@media print{.header{box-shadow:none}}
