/* TMA: identità originale, fotografie aziendali, gerarchia e impaginazione. */
:root{--paper:#fafaf7;--ink:#3e403c;--body:#5b605a;--muted:#72776e;--line:#dedfd7;--dark:#363a34;--accent:#afca06;--sand:#d8ccb5;--sand-light:#efefe7;--gutter:clamp(24px,6.2vw,110px)}
body{font-size:16px;background:var(--paper)}
h1,h2{letter-spacing:-.025em}h2{font-size:clamp(44px,4.1vw,66px);line-height:1.06}
.section{padding-block:clamp(70px,7.2vw,108px)}
.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:500;margin-bottom:23px;gap:12px}
.eyebrow::before{background:var(--accent);height:2px;width:28px;opacity:1}
.button{font-size:12px;padding:16px 21px;gap:30px;background:var(--ink);border-color:var(--ink);min-height:50px}
.button:hover{background:#555a4b;border-color:#555a4b;transform:none}
.button .arrow{color:var(--accent);transition:transform .2s}
.button:hover .arrow{transform:translate(2px,-2px)}
.text-link{font-size:12px;font-weight:500;gap:28px;border-color:#91998a}
.text-link:hover{gap:34px}
.site-header{height:118px;padding-inline:var(--gutter);border-bottom:1px solid var(--line);gap:28px;background:#fafaf7f5;backdrop-filter:blur(12px)}
.brand{display:block;width:102px;height:97px;flex-shrink:0}
.brand-logo{width:100%;height:100%;object-fit:contain;display:block}
.main-nav{gap:clamp(18px,2vw,32px)}
.nav-link{font-size:12px;font-weight:400;padding-block:14px}
.nav-link::after{height:2px;background:var(--accent);bottom:4px}
.header-actions{gap:24px;margin-left:16px}
.header-cta{font-size:11px;min-height:44px;padding:13px 17px;gap:24px}
.language-switch{font-size:10px}
.language-switch a:not([aria-current=true]){color:var(--muted)}
.menu-toggle span{background:var(--ink)}
.mobile-contact{display:none}

/* Première vue: proposition explicite, lecture sans texte sur la photographie. */
.hero-v2{padding-top:42px;padding-bottom:0;max-width:1800px}
.hero-v2-main{display:grid;grid-template-columns:1fr 1.14fr;gap:clamp(35px,5.5vw,90px);align-items:center}
.hero-v2-copy{padding-top:10px;padding-bottom:20px;min-width:0}
.hero-v2 .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:32px;line-height:1.9}
.hero-v2 h1{font-size:clamp(65px,6.3vw,101px);line-height:.99;letter-spacing:-.034em;max-width:650px;margin-bottom:27px}
.hero-emphasis{position:relative;display:inline-block;isolation:isolate}
.hero-emphasis::after{content:'';position:absolute;bottom:.035em;left:0;right:-.02em;height:.08em;background:var(--accent);z-index:-1}
.hero-v2-description{font-size:15px;line-height:1.85;color:var(--body);max-width:425px;margin-bottom:28px}
.hero-v2-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.hero-v2-actions .button{background:var(--accent);border-color:var(--accent);color:#30372c;min-height:52px;font-weight:500}
.hero-v2-actions .button:hover{background:#bfd71c;border-color:#bfd71c}
.hero-v2-actions .button .arrow{color:#30372c}
.hero-v2-actions .text-link{font-size:11px;padding-block:10px;gap:20px}
.hero-v2-email{margin-top:28px;font-size:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted)}
.hero-v2-email a{font-size:11px;color:var(--ink);border-bottom:1px solid #c2c7b8;line-height:1.7}
.hero-v2-visual{margin:0;position:relative;min-width:0}
.hero-v2-photo{width:100%;height:clamp(420px,41vw,650px);object-fit:cover;object-position:49% center}
.hero-v2-visual figcaption{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted);padding-top:13px;line-height:1.6;letter-spacing:.025em}
.photo-dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;flex-shrink:0}
.photo-index{font-size:8px;letter-spacing:.13em;margin-left:auto;color:#73796a;white-space:nowrap}
.hero-v2-bottom{margin-top:36px;padding-block:22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;justify-content:space-between;font-size:10px;line-height:1.7;letter-spacing:.045em}
.hero-v2-bottom>p{font-weight:500}.hero-v2-bottom>span{font-size:10px;color:var(--muted);margin-left:auto;letter-spacing:0}
.hero-v2-bottom>a{border:1px solid #d2d6c8;display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%}
.hero-v2-bottom>a .arrow{font-size:15px}

/* Mission et portfolio: davantage d'espace et de cohérence entre les images. */
.intro-grid{grid-template-columns:1fr 1fr;gap:10vw;align-items:center}
.intro-grid h2{max-width:640px;font-size:clamp(48px,4.8vw,76px);line-height:1.08}
.intro-copy{padding-top:0;max-width:520px;font-size:14px;line-height:1.9}
.intro-copy .mission-lead{font-size:20px;line-height:1.6;color:var(--ink);letter-spacing:-.015em}
.intro-copy .text-link{margin-top:19px}
.three-values{margin-top:49px;padding-top:25px;gap:30px}
.value{font-size:12px;gap:13px}.value svg{stroke:#7c8b41}
.portfolio-preview{background:#f0f1ea}
.section-heading{margin-bottom:40px;gap:36px}
.project-grid{grid-template-columns:1.13fr .87fr;gap:36px}
.project-item:nth-child(even){padding-top:66px}
.project-photo{aspect-ratio:1.42;background:#e6e7dc}
.project-item:nth-child(even) .project-photo{aspect-ratio:1.12}
.project-photo img{object-position:center;transition:transform .4s}
.project-card:hover img{transform:scale(1.02)}
.project-meta h3{font-size:34px;line-height:1.15}
.project-meta p{font-size:10px;line-height:1.7;color:#68715d;letter-spacing:.035em}
.project-plus{background:var(--paper);color:var(--ink);border:1px solid #ffffff8c;box-shadow:0 3px 25px #00000008}
.image-credit{font-size:10px;line-height:1.8;color:var(--muted);margin-top:22px}
.services-home{background:var(--paper)}
.service-cards{gap:32px}
.service-card{padding-top:20px;border-color:#c5ccba}
.card-top{font-size:10px;letter-spacing:.09em;color:#68715e;margin-bottom:26px}
.service-card h3{font-size:40px;min-height:84px;max-width:280px}
.service-card p{font-size:13px;line-height:1.9;margin:19px 0 27px;max-width:345px;min-height:98px}
.service-card .service-image{aspect-ratio:1.38}.service-card img{object-position:center}
.service-card .text-link{font-size:11px}
.method{background:var(--dark)}.method .eyebrow{color:#f0f2e5}.method .eyebrow::before{background:var(--accent)}
.method h2{font-size:clamp(47px,4.3vw,70px)}
.method-intro{font-size:14px;color:#dce0d4;line-height:1.9}
.method .text-link{border-color:#89947b;color:#f6f6ef}
.step summary h3{font-size:30px}.step p{font-size:13px;color:#d9ded1}
.step-number{color:var(--accent)}
.method::after{display:none}
.territory .image-frame img{height:530px;object-position:center}
.territory-copy{font-size:14px;line-height:1.9}
.image-badge{background:var(--paper);left:-18px;bottom:25px;box-shadow:none;border-left:3px solid var(--accent)}
.area-list{border-color:var(--line);font-size:10px;color:#626b57}

/* Pages intérieures. */
.page-head{padding-top:64px;padding-bottom:54px;grid-template-columns:1.4fr .6fr;gap:65px}
.page-head h1{font-size:clamp(60px,5.4vw,88px);line-height:1.03;max-width:990px}
.page-lead{font-size:14px;line-height:1.85;padding-bottom:6px;max-width:350px}
.page-head .eyebrow{margin-bottom:24px}
.archive-gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.archive-gallery figure{margin:0;min-width:0}
.archive-gallery img{height:310px;width:100%;object-fit:contain;background:#f2f2eb}
.archive-gallery figure:first-child img{object-fit:cover}
.archive-gallery figure:last-child img{background:#fff}
.archive-gallery figcaption{font-size:10px;padding-top:13px;color:var(--muted)}
.story-grid{gap:10vw;grid-template-columns:.9fr 1.1fr}
.story-copy{font-size:14px;line-height:1.9}
.story-title{max-width:470px;font-size:clamp(45px,4vw,64px)}
.mission-panel{background:#eef0e4;scroll-margin-top:135px;border-block:1px solid #e4e7d8}
.mission-panel>.container{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}
.mission-panel h2{font-size:clamp(44px,4.1vw,65px)}
.mission-panel-copy{font-size:14px;color:var(--body);line-height:1.85}
.mission-panel-copy .mission-statement{font-size:25px;color:var(--ink);line-height:1.5;letter-spacing:-.025em;margin-bottom:22px}
.mission-panel-copy .text-link{margin-top:21px}
.principles{background:var(--paper)}
.principle-grid{gap:42px}
.principle{border-color:#c9cebf}.principle span{color:#6b765a}.principle h3{font-size:33px;line-height:1.1;max-width:280px}
.principle p{font-size:13px;line-height:1.9}
.services-index{gap:10px;margin-bottom:42px}
.index-link{background:transparent;border-color:#d1d6c7;min-height:42px;display:inline-flex;align-items:center;font-size:11px;padding:10px 15px}
.index-link:hover{background:#eff2e4}
.service-row{gap:8vw;padding-block:57px}
.service-row-image{height:500px;background:#edf0e6}
.service-row-image img{object-position:center}
.service-row-copy>p{font-size:14px;line-height:1.9}
.service-row h2{font-size:clamp(46px,4.2vw,65px)}
.service-row li{font-size:12px;border-color:var(--line);padding-block:12px}
.service-row li::before{color:#718331}
.service-row .text-link{font-size:11px}
.banner-caption{font-size:8px;background:#363a34bd;color:white;padding:5px 8px;letter-spacing:.025em}
.portfolio-full .project-grid{gap:52px 35px}
.portfolio-full .project-photo,.portfolio-full .project-item:nth-child(even) .project-photo{aspect-ratio:1.35}
.portfolio-full .project-item:nth-child(3n) .project-photo{aspect-ratio:1.35}
.portfolio-full .project-item:nth-child(3) img{object-position:center 42%}
.filter{font-size:11px;min-height:42px;border-color:#cdd3c0}
.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white;box-shadow:inset 0 -3px var(--accent)}
.filter:not([aria-pressed=true]):hover{background:#edf1df}
.faq{background:#f0f2e9;gap:9vw;padding-block:75px}
.faq h2{font-size:clamp(44px,4vw,63px)}
.faq-list summary{font-size:14px;padding-block:22px;line-height:1.6}
.faq-list details p{font-size:13px;line-height:1.9}
.contact-layout{gap:9vw;padding-bottom:90px}
.contact-info h2{font-size:47px;line-height:1.06}
.contact-info>p{font-size:14px;line-height:1.9}
.contact-stamp img{height:300px;object-position:center 45%}
.quote-panel{background:#f0f2e8;padding:38px 40px;border-top:3px solid var(--accent)}
.form-intro{font-size:13px;line-height:1.8}.form-heading{font-size:34px!important}
.field label{font-size:11px}.field input,.field select,.field textarea{background:#fff7;border-color:#bdc7ad;font-size:13px;min-height:47px}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;box-shadow:0 1px 0 #7b8b47;border-color:#7b8b47}
.form-note{font-size:11px;color:#636c58;line-height:1.8}
.contact-block>a{font-size:15px;border-color:#a7b393}
.dialog-grid{grid-template-columns:1.15fr 1fr}
.dialog-image{object-fit:contain;padding:25px;background:#eeefe5;max-height:78svh;min-height:500px}
.dialog-copy h2{font-size:45px}.dialog-copy{padding:55px 33px 40px}
.dialog-description{font-size:13px;line-height:1.9}.dialog-disclaimer{font-size:10px;line-height:1.8}
.project-dialog::backdrop,.credits-dialog::backdrop{background:#252c24cc}
.dialog-close{border-color:#b8c3a8;background:var(--paper)}
.archive-source{margin-top:24px;font-size:11px!important;border-top:1px solid var(--line);padding-top:20px}

/* Footer et liens d'action. */
.footer-cta{padding-top:65px;padding-bottom:65px;gap:40px}
.footer-cta h2{font-size:clamp(47px,5vw,78px);line-height:1.04}
.footer-main{background:#eff0e8;padding-top:45px}
.footer-grid{grid-template-columns:1.2fr .8fr 1fr;gap:65px;padding-bottom:45px}
.footer-brand{display:block;width:133px;height:126px}
.footer-statement{font-size:12px;line-height:1.8;margin-top:16px}
.footer-label{font-size:9px;letter-spacing:.14em;color:#657052}
.footer-nav{font-size:12px;gap:12px 20px}
.footer-grid>div:not(:first-child){padding-top:20px}
.footer-email{font-size:14px;border-color:#a8b296}
.footer-region{font-size:12px;line-height:1.9}
.footer-bottom{font-size:9px;border-color:#d3d8c9}
.footer-tools{font-size:10px}
.back-top{border-color:#bcc6ac}
:focus-visible{outline-color:#7e9412}

@media(min-width:1600px){.hero-v2-main{grid-template-columns:1fr 1.14fr}.hero-v2{padding-top:50px}.hero-v2-copy{padding-right:30px}}
@media(max-width:1180px){.site-header{height:108px;gap:24px}.brand{width:92px;height:87px}.main-nav{gap:20px}.nav-link{font-size:11px}.header-actions{gap:19px;margin-left:0}.header-cta{font-size:10px;padding-inline:13px;gap:20px}.hero-v2{padding-top:33px}.hero-v2-main{gap:4vw;grid-template-columns:1fr 1.08fr}.hero-v2 h1{font-size:clamp(64px,6.5vw,83px)}.hero-v2 .eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:26px}.hero-v2-description{font-size:14px;line-height:1.8}.hero-v2-photo{height:clamp(420px,43vw,570px)}.hero-v2-actions{gap:17px}.hero-v2-actions .button{font-size:11px;padding-inline:17px;gap:22px}.hero-v2-actions .text-link{font-size:10px;gap:15px}.hero-v2-email{margin-top:22px}.hero-v2-bottom{margin-top:30px;font-size:9px}.hero-v2-bottom>span{font-size:9px}.service-card h3{font-size:36px;min-height:76px}.service-card p{font-size:13px;min-height:115px}.service-cards{gap:25px}.page-head{gap:40px}.contact-layout{gap:6vw}.quote-panel{padding:32px}.footer-grid{gap:40px}.footer-email{font-size:12px}}
@media(max-width:950px){.site-header{height:102px;padding-inline:30px}.brand{width:88px;height:84px}.main-nav{top:102px;gap:12px;padding:35px var(--gutter);background:var(--paper)}.nav-link{font-family:var(--serif);font-size:37px;padding-block:8px}.header-cta{font-size:11px;padding-inline:16px;gap:22px}.header-actions{gap:22px}.menu-toggle{width:42px;height:44px}.hero-v2{padding-top:30px}.hero-v2-main{gap:33px;grid-template-columns:1fr 1fr}.hero-v2 h1{font-size:62px}.hero-v2 .eyebrow{font-size:8px;letter-spacing:.1em;max-width:260px}.hero-v2-description{font-size:13px}.hero-v2-photo{height:440px}.hero-v2-email{font-size:9px;gap:6px}.hero-v2-email a{font-size:10px}.hero-v2-actions{flex-direction:column;align-items:start;gap:12px}.hero-v2-actions .button{font-size:11px}.hero-v2-visual figcaption{font-size:8px;align-items:start}.photo-index{display:none}.hero-v2-bottom>span{max-width:200px;text-align:right}.intro-grid{gap:7vw}.intro-grid h2{font-size:50px}.intro-copy{font-size:13px}.intro-copy .mission-lead{font-size:18px}.value{font-size:10px}.section-heading h2{font-size:48px}.project-meta h3{font-size:30px}.service-card h3{font-size:31px;min-height:69px}.service-card p{font-size:12px;min-height:127px}.service-card .service-image{aspect-ratio:1.15}.territory .image-frame img{height:450px}.page-head{grid-template-columns:1.3fr .7fr;gap:35px}.page-head h1{font-size:67px}.page-lead{font-size:13px}.archive-gallery{gap:25px}.archive-gallery img{height:250px}.mission-panel>.container{gap:7vw}.mission-panel h2{font-size:49px}.mission-panel-copy .mission-statement{font-size:21px}.principle h3{font-size:30px}.service-row-image{height:430px}.contact-layout{grid-template-columns:.75fr 1.25fr;gap:5vw}.contact-info h2{font-size:40px}.contact-info>p{font-size:13px}.contact-block>a{font-size:12px}.quote-panel{padding:27px}.form-fields{gap:20px 15px}.footer-grid{gap:32px}.footer-email{font-size:11px}.dialog-copy{padding-inline:27px}.dialog-copy h2{font-size:39px}}
@media(max-width:700px){:root{--gutter:24px}html{scroll-padding-top:98px}body{padding-bottom:72px}.site-header{height:93px;padding-inline:24px;gap:15px}.brand{width:77px;height:74px}.header-actions{gap:18px}.language-switch{font-size:10px}.main-nav{top:93px;padding-top:26px;padding-bottom:95px}.nav-link{font-size:37px;padding-block:8px}.header-cta{display:none}.mobile-cta{display:inline-flex;margin-top:20px;font-size:12px;min-height:50px}.hero-v2{padding-top:30px;padding-bottom:0}.hero-v2-main{grid-template-columns:1fr;gap:28px}.hero-v2-copy{padding:0}.hero-v2 .eyebrow{font-size:8px;max-width:none;margin-bottom:23px;gap:9px;letter-spacing:.115em}.hero-v2 .eyebrow::before{width:20px}.hero-v2 h1{font-size:clamp(53px,13vw,79px);line-height:1.015;margin-bottom:21px;letter-spacing:-.03em}.hero-v2-description{font-size:13px;line-height:1.8;max-width:430px;margin-bottom:23px}.hero-v2-actions{flex-direction:row;align-items:center;gap:16px 22px}.hero-v2-actions .button{padding:15px 18px;font-size:11px;gap:25px;min-height:48px}.hero-v2-actions .text-link{font-size:10px;gap:16px;padding-block:8px}.hero-v2-email{margin-top:19px;font-size:9px;gap:9px}.hero-v2-email a{font-size:10px}.hero-v2-photo{height:auto;aspect-ratio:1.42;width:100%;object-position:center}.hero-v2-visual figcaption{font-size:8px;padding-top:10px;align-items:center}.photo-index{display:block;font-size:7px}.hero-v2-bottom{margin-top:25px;padding-block:17px;font-size:8px;gap:13px;letter-spacing:.035em}.hero-v2-bottom>span{display:none}.hero-v2-bottom>a{width:27px;height:27px}.hero-v2-bottom>a .arrow{font-size:13px}.section{padding-block:62px}.eyebrow{font-size:9px;letter-spacing:.145em;margin-bottom:21px}.intro-grid{grid-template-columns:1fr;gap:28px}.intro-grid h2{font-size:49px;line-height:1.08}.intro-copy{font-size:13px;line-height:1.9;max-width:none}.intro-copy .mission-lead{font-size:18px;line-height:1.65}.intro-copy .text-link{margin-top:14px}.three-values{margin-top:32px;padding-top:23px;grid-template-columns:1fr;gap:20px}.value{font-size:11px}.value svg{width:21px;height:21px}.section-heading{margin-bottom:30px;display:block}.section-heading h2{font-size:45px;line-height:1.06}.section-heading .text-link{margin-top:15px}.project-grid{grid-template-columns:1fr;gap:34px}.project-item:nth-child(even){padding-top:0}.project-photo,.project-item:nth-child(even) .project-photo{aspect-ratio:1.23}.project-meta{padding-top:17px;gap:15px}.project-meta h3{font-size:30px}.project-meta p{font-size:9px;line-height:1.7;margin-top:7px}.project-plus{width:39px;height:39px}.image-credit{font-size:9px;line-height:1.8;margin-top:24px}.service-cards{grid-template-columns:1fr;gap:38px}.service-card h3{font-size:37px;min-height:0;max-width:none}.service-card p{font-size:13px;line-height:1.9;min-height:0;max-width:none;margin:16px 0 23px}.service-card .service-image{aspect-ratio:1.35}.service-card .text-link{font-size:11px;min-height:40px}.card-top{margin-bottom:18px}.method-grid{gap:32px}.method h2{font-size:47px}.method-intro{font-size:13px;line-height:1.9;max-width:none}.method .text-link{margin-top:21px}.step summary{padding-block:23px}.step summary h3{font-size:27px}.step p{font-size:12px;line-height:1.9;padding-bottom:24px}.territory{gap:38px}.territory .image-frame img{height:390px;object-position:center}.territory h2{font-size:47px;line-height:1.04}.territory-copy{font-size:13px;line-height:1.9;margin-top:23px;max-width:none}.image-badge{padding:21px 25px;left:-10px;bottom:22px;min-width:150px}.image-badge strong{font-size:33px}.area-list{font-size:9px;margin-top:28px;line-height:1.9}.page-head{padding-top:40px;padding-bottom:35px;grid-template-columns:1fr;gap:23px}.page-head h1{font-size:clamp(50px,11.7vw,76px);line-height:1.05}.page-head .eyebrow{margin-bottom:22px}.page-lead{font-size:13px;line-height:1.85;max-width:none;padding-bottom:0}.archive-gallery{grid-template-columns:1fr;gap:25px}.archive-gallery img{height:auto;aspect-ratio:1.85;object-fit:cover}.archive-gallery figure:last-child img{object-fit:contain}.archive-gallery figcaption{font-size:9px;padding-top:11px}.story-grid{grid-template-columns:1fr;gap:28px}.story-title{font-size:45px;max-width:none}.story-copy{font-size:13px;line-height:1.9}.mission-panel{scroll-margin-top:105px}.mission-panel>.container{grid-template-columns:1fr;gap:28px}.mission-panel h2{font-size:44px;line-height:1.07}.mission-panel-copy{font-size:13px}.mission-panel-copy .mission-statement{font-size:21px;line-height:1.55;margin-bottom:20px}.mission-panel-copy .text-link{margin-top:15px}.principle-grid{grid-template-columns:1fr;gap:29px}.principle h3{font-size:33px;line-height:1.1;margin-top:20px;max-width:none}.principle p{font-size:13px;line-height:1.9;margin-top:17px}.services-index{margin-bottom:30px;gap:8px}.index-link{font-size:10px;padding:9px 12px;min-height:42px}.service-row{grid-template-columns:1fr;gap:28px;padding-block:38px}.service-row:last-child{padding-bottom:60px}.service-row-image{height:335px}.service-row h2{font-size:46px}.service-row-copy>p{font-size:13px}.service-row li{font-size:12px;padding-block:12px;line-height:1.7}.service-row .text-link{font-size:11px;gap:20px;line-height:1.6}.banner-caption{font-size:8px;bottom:11px;right:11px}.portfolio-full{padding-bottom:60px}.portfolio-full .project-grid{grid-template-columns:1fr;gap:35px}.portfolio-full .project-photo,.portfolio-full .project-item:nth-child(even) .project-photo,.portfolio-full .project-item:nth-child(3n) .project-photo{aspect-ratio:1.23}.filters{gap:8px;margin-bottom:30px}.filter{min-height:42px;padding:9px 14px;font-size:11px}.faq{grid-template-columns:1fr;gap:28px;padding-block:55px}.faq h2{font-size:44px}.faq-list summary{font-size:13px;line-height:1.65;padding-block:21px}.faq-list details p{font-size:12px;line-height:1.9}.contact-layout{grid-template-columns:1fr;gap:38px;padding-bottom:60px}.contact-info h2{font-size:41px;max-width:none}.contact-info>p{font-size:13px;max-width:none;line-height:1.9}.contact-block>a{font-size:15px}.contact-stamp{display:none}.quote-panel{padding:28px 22px;margin-inline:-7px;scroll-margin-top:108px}.form-intro{font-size:12px;line-height:1.85}.form-heading{font-size:32px!important}.form-fields{grid-template-columns:1fr;gap:21px}.field label{font-size:11px}.field input,.field select,.field textarea{font-size:16px;min-height:48px}.field textarea{min-height:135px}.form-note{font-size:10px;line-height:1.8;margin-block:23px}.mail-actions{flex-direction:column}.dialog-grid{grid-template-columns:1fr}.dialog-image{height:260px;min-height:0;max-height:40svh;padding:15px}.dialog-copy{padding:28px 25px 32px}.dialog-copy h2{font-size:39px;line-height:1.1}.dialog-description{font-size:12px;line-height:1.85;margin-top:20px}.dialog-disclaimer{font-size:10px;line-height:1.8}.project-dialog{max-height:85svh}.dialog-copy .button{font-size:11px;min-height:47px;margin-top:21px;gap:20px}.credits-dialog h2{font-size:38px}.credits-dialog{padding:50px 25px 30px}.footer-cta{padding-block:43px;gap:24px}.footer-cta h2{font-size:48px;line-height:1.04}.footer-cta .button{font-size:11px}.footer-main{padding-top:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 25px;padding-bottom:34px}.footer-grid>div:first-child{grid-column:1/-1;display:grid;grid-template-columns:100px 1fr;gap:26px}.footer-brand{width:95px;height:90px}.footer-statement{font-size:11px;line-height:1.85;margin-top:0}.footer-grid>div:not(:first-child){padding-top:0}.footer-nav{font-size:11px;gap:10px}.footer-label{font-size:8px;margin-bottom:15px}.footer-email{font-size:11px;max-width:100%}.footer-region{font-size:11px;line-height:1.9}.footer-bottom{font-size:8px;gap:15px;padding-block:18px}.footer-tools{font-size:9px;gap:18px}.mobile-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fafaf7fa;backdrop-filter:blur(12px);padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #daddce;box-shadow:0 -3px 20px #353d2905}.mobile-contact>span{font-size:10px;color:var(--body);line-height:1.6;max-width:110px}.mobile-contact .button{font-size:10px;min-height:43px;padding:12px 15px;gap:20px;background:var(--accent);border-color:var(--accent);color:#30372c}.mobile-contact .button .arrow{color:#30372c}}
@media(max-width:360px){:root{--gutter:20px}.site-header{padding-inline:20px}.hero-v2 .eyebrow{font-size:7px;letter-spacing:.085em}.hero-v2 h1{font-size:53px}.hero-v2-description{font-size:12px}.hero-v2-actions{gap:12px}.hero-v2-actions .text-link{font-size:9px;gap:13px}.hero-v2-actions .button{font-size:10px}.hero-v2-email{gap:6px}.hero-v2-visual figcaption{font-size:7px}.photo-index{font-size:6px}.intro-grid h2{font-size:43px}.section-heading h2{font-size:40px}.mobile-contact{padding-inline:14px;gap:8px}.mobile-contact>span{font-size:9px;max-width:95px}.mobile-contact .button{font-size:9px;gap:14px;padding-inline:12px}.footer-grid{gap:28px 20px}.footer-email{font-size:10px}.page-head h1{font-size:47px}.project-meta h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){.button .arrow,.project-photo img{transition:none}html{scroll-behavior:auto}}

/* Dati societari e qualificazione SOA. */
.company-details{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.company-details p+p{margin-top:5px}.footer-bottom>.company-details{max-width:100%}.footer-bottom>div:first-child{min-width:0}.footer-bottom .company-details{margin-bottom:14px}.soa-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line)}.soa-description{font-size:15px;line-height:1.8;margin-top:22px;max-width:440px}.soa-data{margin:0;min-width:0}.soa-data>div{padding:16px 0;border-bottom:1px solid var(--line)}.soa-data dt{font-size:12px;color:var(--body)}.soa-data dd{font-size:18px;margin:4px 0 0;overflow-wrap:anywhere}@media(max-width:700px){.soa-section{grid-template-columns:1fr;gap:28px}.soa-section h2{font-size:42px}.company-details{font-size:12px}.footer-bottom{flex-wrap:wrap}}

.contact-person{font-size:13px;line-height:1.8;margin-top:18px}.contact-person a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #a8b296;font-size:15px}.contact-block .contact-person{margin-top:0}

.awards-section{display:grid;grid-template-columns:minmax(220px,.65fr) 1.35fr;align-items:center;gap:70px;border-top:1px solid var(--line)}.awards-visual{display:flex;justify-content:center;background:#fff}.awards-visual img{width:100%;max-width:340px;aspect-ratio:1;height:auto;object-fit:cover;object-position:center}.awards-section h2{font-size:clamp(36px,4vw,58px);max-width:650px}.awards-section p:not(.eyebrow){font-size:15px;line-height:1.85;margin-top:22px;max-width:620px}@media(max-width:700px){.awards-section{grid-template-columns:1fr;gap:30px}.awards-visual img{max-width:280px}.awards-section h2{font-size:40px}}
