@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');

:root{--ink:#142a25;--green:#17352f;--green-2:#214a40;--lime:#b7d28e;--cream:#f5f1e8;--paper:#fbfaf6;--terracotta:#c96d48;--line:rgba(20,42,37,.14);--white:#fff;--muted:#63716c;--radius:22px;--shadow:0 26px 70px rgba(20,42,37,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.skip-link{position:fixed;left:16px;top:-80px;background:#fff;padding:12px 18px;z-index:1000}.skip-link:focus{top:16px}.site-header{position:fixed;inset:0 0 auto;z-index:100;padding:18px 0;transition:.3s ease}.site-header.scrolled{background:rgba(251,250,246,.92);backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--line);padding:10px 0}.nav-wrap{display:flex;align-items:center;justify-content:space-between}.brand img{width:174px;height:62px;object-fit:contain;object-position:left}.main-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.main-nav>a:not(.nav-cta){position:relative}.main-nav>a:not(.nav-cta)::after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:.3s}.main-nav>a:hover::after{transform:scaleX(1);transform-origin:left}.nav-cta{background:var(--green);color:#fff;padding:13px 18px;border-radius:999px}.nav-cta span,.button span{margin-left:10px}.menu-toggle{display:none;width:46px;height:46px;border:0;background:var(--green);border-radius:50%;padding:13px}.menu-toggle span{height:1px;background:#fff;display:block;margin:5px 0}
.hero{min-height:100vh;padding:155px 0 48px;background:radial-gradient(circle at 75% 22%,rgba(183,210,142,.3),transparent 26%),linear-gradient(180deg,var(--cream),var(--paper));overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;min-height:620px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:28px;height:1px;background:var(--terracotta)}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.08;margin:0}h1{font-size:clamp(48px,6.1vw,86px);letter-spacing:-.055em;font-weight:500}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--terracotta)}.hero-lead{font-size:19px;max-width:630px;color:#475752;margin:28px 0 34px}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 22px;border-radius:999px;font-weight:600;transition:.25s}.button-primary{background:var(--green);color:white}.button-primary:hover{background:var(--terracotta);transform:translateY(-2px)}.text-link{font-weight:600;border-bottom:1px solid;padding-bottom:3px}.text-link span{margin-left:8px}.hero-visual{position:relative;min-height:540px;display:flex;align-items:center;justify-content:center}.hero-visual>img{position:relative;width:130%;max-width:none;margin-left:-4%;filter:drop-shadow(0 30px 24px rgba(20,42,37,.15));z-index:2}.orbit{position:absolute;border:1px solid rgba(23,53,47,.2);border-radius:50%}.orbit-one{width:480px;height:480px}.orbit-two{width:380px;height:380px}.hero-badge{position:absolute;right:12px;bottom:28px;background:var(--terracotta);color:white;width:164px;height:164px;border-radius:50%;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow)}.hero-badge strong{font-family:'Manrope';font-size:44px;line-height:1}.hero-badge span{font-size:12px;line-height:1.35;margin-top:7px}.signal-bar{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding-top:26px;gap:30px}.signal-bar>div{display:grid;grid-template-columns:34px 1fr;gap:12px}.signal-number{font-size:11px;color:var(--terracotta);font-weight:700}.signal-bar p{margin:0;font-size:13px;color:var(--muted)}.signal-bar strong{display:block;color:var(--ink);font-size:14px}
.section{padding:120px 0}.two-col,.why-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:100px}.kicker{color:var(--terracotta);margin:0 0 20px}.kicker.light{color:var(--lime)}h2{font-size:clamp(40px,4.6vw,66px);letter-spacing:-.045em;font-weight:500}.large-copy{font-family:'Manrope';font-size:24px;line-height:1.45;color:var(--ink);margin-top:4px}.intro-copy>p:not(.large-copy){color:var(--muted);max-width:720px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:48px;padding-top:26px}.mini-stats div{display:flex;flex-direction:column;padding-right:20px}.mini-stats strong{font-family:'Manrope';font-size:34px;color:var(--terracotta)}.mini-stats span{font-size:12px;color:var(--muted)}
.services-overview{background:var(--green);color:white}.heading-row{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:end;margin-bottom:55px}.heading-row>p,.centered>p{color:rgba(255,255,255,.66);margin:0}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.overview-card{position:relative;min-height:460px;border-radius:var(--radius);overflow:hidden}.overview-card img{position:absolute;width:100%;height:100%;object-fit:cover;transition:.6s}.overview-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(8,25,21,.88))}.overview-card:hover img{transform:scale(1.04)}.card-overlay{position:absolute;inset:auto 28px 26px;z-index:2;display:grid;grid-template-columns:48px 1fr;gap:12px}.card-overlay>span{font-size:12px;color:var(--lime)}.card-overlay h3{font-size:26px;margin-bottom:8px}.card-overlay p{margin:0;color:rgba(255,255,255,.72);font-size:14px;max-width:500px}
.centered{text-align:center;max-width:820px;margin:0 auto 56px}.centered>p{color:var(--muted);max-width:640px;margin:22px auto 0}.specialties{background:var(--cream)}.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.specialty-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:34px;display:flex;flex-direction:column;min-height:560px;transition:.3s}.specialty-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.specialty-card.featured{background:var(--green);color:#fff}.card-no{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--terracotta);margin-bottom:68px}.featured .card-no{color:var(--lime)}.specialty-card h3{font-size:27px;letter-spacing:-.03em}.specialty-card>p{color:var(--muted);font-size:14px}.featured>p{color:rgba(255,255,255,.68)}.specialty-card ul{list-style:none;padding:0;margin:22px 0 34px;border-top:1px solid var(--line)}.featured ul{border-color:rgba(255,255,255,.14)}.specialty-card li{font-size:13px;padding:10px 0;border-bottom:1px solid var(--line)}.featured li{border-color:rgba(255,255,255,.14)}.specialty-card li::before{content:'↳';color:var(--terracotta);margin-right:8px}.specialty-card>a{margin-top:auto;font-weight:600;font-size:14px}.specialty-card>a span{float:right}
.team-section{background:var(--paper)}.team-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.team-image{position:relative}.team-image img{height:670px;width:100%;object-fit:cover;border-radius:var(--radius)}.team-image span{position:absolute;left:22px;right:22px;bottom:20px;background:rgba(251,250,246,.88);backdrop-filter:blur(12px);padding:15px 18px;border-radius:12px;font-size:11px;text-align:center;letter-spacing:.06em}.team-copy>p:not(.kicker){color:var(--muted);margin:26px 0}.compare{margin-top:34px}.compare-row{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:20px 0;border-top:1px solid var(--line)}.compare-row>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.compare-row.muted>span{background:#e6e2da}.compare-row.good>span{background:var(--green);color:#fff}.compare-row p{margin:0;font-size:14px}.compare-row strong{display:block;color:var(--ink);margin-bottom:4px}
.method-section{background:#fff}.timeline{list-style:none;padding:0;margin:70px 0 0}.timeline li{display:grid;grid-template-columns:100px 1fr;padding:34px 0;border-top:1px solid var(--line)}.timeline li>span{font-family:'Manrope';font-size:18px;color:var(--terracotta)}.timeline li>div{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.timeline h3{font-size:24px}.timeline p{margin:0;color:var(--muted)}
.integrated-section{background:var(--green);color:white;position:relative;overflow:hidden}.integrated-section::before{content:'';position:absolute;width:650px;height:650px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-180px;top:-300px}.integrated-head{max-width:800px}.integrated-head>p:last-child{color:rgba(255,255,255,.65);max-width:650px;font-size:18px}.integrated-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.integrated-grid>div{padding:34px 26px 40px 0;border-right:1px solid rgba(255,255,255,.15);min-height:260px}.integrated-grid>div+div{padding-left:26px}.integrated-grid>div:last-child{border-right:0}.integrated-grid b{color:var(--lime);font-size:12px}.integrated-grid h3{font-size:22px;margin:46px 0 12px}.integrated-grid p{color:rgba(255,255,255,.62);font-size:14px;margin:0}.outcomes{display:flex;justify-content:space-between;gap:20px;margin-top:34px}.outcomes b{display:inline-grid;place-items:center;background:var(--lime);color:var(--green);width:25px;height:25px;border-radius:50%;margin-right:9px}
.applications{background:var(--cream)}.application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.application-card{background:var(--paper);border-radius:var(--radius);overflow:hidden}.application-card img{height:300px;width:100%;object-fit:cover;transition:.5s}.application-card:hover img{transform:scale(1.035)}.application-card>div{padding:28px}.application-card span{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--terracotta)}.application-card h3{font-size:24px;margin:12px 0}.application-card p{font-size:14px;color:var(--muted);margin:0}.why-section{background:#fff}.why-copy .large-copy{margin-top:0}.check-list{list-style:none;padding:0;margin:40px 0 0}.check-list li{padding:16px 0;border-top:1px solid var(--line)}.check-list li::before{content:'✓';display:inline-grid;place-items:center;width:25px;height:25px;background:var(--green);color:white;border-radius:50%;margin-right:12px;font-size:12px}
.technology-section{background:#102823;color:white}.tech-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.tech-grid article{grid-column:span 2;padding:30px;border:1px solid rgba(255,255,255,.13);border-radius:18px;min-height:220px;background:rgba(255,255,255,.025);transition:.3s}.tech-grid article:nth-child(4){grid-column:2/span 2}.tech-grid article:hover{background:var(--terracotta);border-color:var(--terracotta);transform:translateY(-5px)}.tech-grid span{font-size:11px;color:var(--lime)}.tech-grid h3{font-size:22px;margin:54px 0 12px}.tech-grid p{color:rgba(255,255,255,.62);font-size:13px;margin:0}.tech-grid article:hover p,.tech-grid article:hover span{color:#fff}
.clients-section{background:var(--paper)}.logos{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.logos a{height:180px;display:grid;place-items:center;padding:36px;border-right:1px solid var(--line);background:#fff;transition:.3s}.logos a:last-child{border:0}.logos a:hover{background:var(--cream)}.logos img{max-width:150px;max-height:85px;object-fit:contain;filter:grayscale(1);opacity:.75}.locations{margin-top:26px;padding:18px 24px;border-radius:14px;background:var(--cream);display:flex;justify-content:space-between;gap:20px;font-size:13px}.locations span{font-weight:700}.locations p{margin:0;color:var(--muted)}
.contact-section{background:var(--terracotta);color:white;padding:110px 0}.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end}.contact-main>p:not(.kicker){font-size:18px;color:rgba(255,255,255,.72);max-width:700px}.contact-main h2 em{color:#ffd6c4}.contact-actions{display:flex;align-items:center;gap:28px;margin-top:35px}.button-light{background:#fff;color:var(--green)}.button-light:hover{background:var(--green);color:#fff}.phone-link{font-weight:600;border-bottom:1px solid rgba(255,255,255,.5)}.contact-card{background:var(--green);padding:34px;border-radius:var(--radius)}.contact-card>span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--lime)}.contact-card h3{font-size:24px;margin:38px 0 14px}.contact-card p{font-size:14px;color:rgba(255,255,255,.62)}.contact-card>a{display:inline-block;font-weight:600;margin:18px 0}.contact-card address{font-style:normal;font-size:13px;color:rgba(255,255,255,.62);border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.site-footer{background:#0b1c18;color:white;padding:70px 0 26px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:70px;padding-bottom:60px}.footer-brand img{width:180px;height:70px;object-fit:contain;object-position:left;filter:brightness(0) invert(1)}.footer-brand p{color:rgba(255,255,255,.5);max-width:360px;font-size:13px}.footer-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--lime);margin-bottom:18px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:9px}.footer-grid a{font-size:13px;color:rgba(255,255,255,.7)}.footer-grid a:hover{color:white}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.4)}.footer-bottom p{margin:0}.footer-bottom a{margin-left:20px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal[data-delay="1"]{transition-delay:.1s}.reveal[data-delay="2"]{transition-delay:.2s}.reveal[data-delay="3"]{transition-delay:.3s}.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.overview-card img,.application-card img{transition:none}}
@media (max-width:980px){.container{width:min(100% - 36px,760px)}.menu-toggle{display:block}.main-nav{position:fixed;inset:0;background:var(--cream);z-index:-1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px 34px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s;font-family:'Manrope';font-size:32px}.main-nav.open{opacity:1;visibility:visible;transform:none}.main-nav .nav-cta{font-family:'DM Sans';font-size:15px;margin-top:16px}.hero{padding-top:130px}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-visual{min-height:400px;margin-top:25px}.hero-visual>img{width:108%;margin:0}.hero-badge{width:132px;height:132px;right:0}.signal-bar{margin-top:35px}.two-col,.why-grid,.team-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.heading-row{grid-template-columns:1fr;gap:24px}.specialty-grid,.application-grid{grid-template-columns:1fr}.specialty-card{min-height:auto}.card-no{margin-bottom:42px}.team-image img{height:520px}.timeline li>div{grid-template-columns:1fr;gap:10px}.integrated-grid{grid-template-columns:1fr 1fr}.integrated-grid>div:nth-child(2){border-right:0}.integrated-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}.tech-grid{grid-template-columns:1fr 1fr}.tech-grid article,.tech-grid article:nth-child(4){grid-column:span 1}.logos{grid-template-columns:1fr 1fr}.logos a:nth-child(2){border-right:0}.logos a:nth-child(-n+2){border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}.contact-card{max-width:520px}}
@media (max-width:640px){.container{width:calc(100% - 28px)}.site-header{padding:10px 0}.brand img{width:140px;height:52px}.hero{padding-top:105px}.hero-copy h1{font-size:45px}.hero-lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-visual{min-height:270px}.hero-badge{width:105px;height:105px;bottom:5px}.hero-badge strong{font-size:32px}.hero-badge span{font-size:9px}.orbit-one{width:300px;height:300px}.orbit-two{width:230px;height:230px}.signal-bar{grid-template-columns:1fr;gap:18px}.section{padding:80px 0}h2{font-size:39px}.large-copy{font-size:20px}.mini-stats{grid-template-columns:1fr;gap:16px}.mini-stats div{border-bottom:1px solid var(--line);padding-bottom:12px}.overview-grid{grid-template-columns:1fr}.overview-card{min-height:400px}.card-overlay{inset:auto 20px 22px}.team-image img{height:410px}.timeline li{grid-template-columns:50px 1fr;padding:25px 0}.timeline h3{font-size:20px}.timeline p{font-size:14px}.integrated-grid{grid-template-columns:1fr}.integrated-grid>div,.integrated-grid>div+div{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);padding:26px 0;min-height:auto}.integrated-grid h3{margin:25px 0 8px}.outcomes{align-items:flex-start;flex-direction:column}.application-card img{height:240px}.tech-grid{grid-template-columns:1fr}.tech-grid article,.tech-grid article:nth-child(4){grid-column:span 1;min-height:180px}.tech-grid h3{margin-top:35px}.logos{grid-template-columns:1fr 1fr}.logos a{height:130px;padding:24px}.locations{flex-direction:column}.contact-section{padding:80px 0}.contact-actions{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}.footer-bottom a{margin:0 18px 0 0}}

/* Keep the original white-backed brand artwork visually integrated with the page. */
.brand img,.hero-visual>img{mix-blend-mode:multiply}
.hero-copy{position:relative;z-index:4}

/* Dal campo — real work from SoGEArch's public activity archive */
.field-section{background:#f8f5ed;overflow:hidden}.field-section .heading-row>p{color:var(--muted)}.field-feature{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.field-feature-image{position:relative;margin:0;min-height:620px;border-radius:var(--radius);overflow:hidden}.field-feature-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.field-feature-image::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(9,28,23,.78))}.field-feature-image figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;color:#fff;display:flex;justify-content:space-between;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.field-feature-image figcaption span:first-child{font-weight:700;color:var(--lime)}.field-quote{background:var(--terracotta);color:#fff;border-radius:var(--radius);padding:40px;display:flex;flex-direction:column}.field-index{font-size:10px;font-weight:700;letter-spacing:.16em;color:#ffe0d2}.field-quote blockquote{font-family:Georgia,serif;font-size:clamp(35px,3.6vw,53px);line-height:1.06;letter-spacing:-.035em;margin:80px 0 28px}.field-quote>p{color:rgba(255,255,255,.75);font-size:15px}.field-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.field-facts span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:8px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px}.field-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.field-story{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.field-story img{width:100%;height:330px;object-fit:cover;transition:transform .55s ease}.field-story:hover img{transform:scale(1.035)}.field-story>div{padding:26px}.field-story span,.field-panorama>div>span{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--terracotta)}.field-story h3{font-size:23px;margin:11px 0}.field-story p{font-size:13px;color:var(--muted);margin:0}.field-panorama{position:relative;margin-top:18px;min-height:520px;border-radius:var(--radius);overflow:hidden;color:#fff}.field-panorama>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.field-panorama::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,28,23,.88),rgba(9,28,23,.2) 66%,transparent)}.field-panorama>div{position:relative;z-index:2;padding:56px;max-width:570px}.field-panorama h3{font-size:clamp(36px,4.4vw,60px);margin:105px 0 16px;letter-spacing:-.04em}.field-panorama p{color:rgba(255,255,255,.72);font-size:15px}.outreach-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;margin-top:18px;border-radius:var(--radius);overflow:hidden;background:var(--green);color:#fff}.outreach-card>img{width:100%;height:100%;min-height:460px;object-fit:cover}.outreach-card>div{padding:52px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.outreach-card h3{font-size:clamp(32px,3.5vw,48px);letter-spacing:-.04em}.outreach-card>div>p:not(.kicker){color:rgba(255,255,255,.66);font-size:15px}.outreach-card a{margin-top:24px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}.outreach-card a span{margin-left:10px}
@media (max-width:980px){.field-feature{grid-template-columns:1fr}.field-feature-image{min-height:560px}.field-quote{min-height:460px}.field-quote blockquote{margin-top:60px}.field-stories{grid-template-columns:1fr}.field-story{display:grid;grid-template-columns:.8fr 1.2fr}.field-story img{height:100%;min-height:280px}.outreach-card{grid-template-columns:1fr}.outreach-card>img{min-height:400px}}
@media (max-width:640px){.field-feature-image{min-height:440px}.field-feature-image figcaption{flex-direction:column;gap:4px}.field-quote{min-height:440px;padding:28px}.field-quote blockquote{font-size:39px}.field-story{display:block}.field-story img{height:310px;min-height:0}.field-panorama{min-height:600px}.field-panorama::after{background:linear-gradient(180deg,rgba(9,28,23,.18),rgba(9,28,23,.9) 68%)}.field-panorama>div{padding:28px;position:absolute;bottom:0}.field-panorama h3{margin:16px 0}.outreach-card>img{min-height:300px}.outreach-card>div{padding:32px 28px}.outreach-card h3{font-size:34px}}

/* Brochure aziendale e navigazione mobile aggiornata */
section[id]{scroll-margin-top:96px}.main-nav{gap:22px}.nav-backdrop{display:none}.specialty-grid{grid-template-columns:repeat(2,1fr)}.specialty-card{min-height:0}.specialty-card .card-no{margin-bottom:42px}.team-roster{display:grid;grid-template-columns:1.1fr repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.team-roster>*{padding:34px 24px;border-right:1px solid var(--line)}.team-roster>*:first-child{padding-left:0}.team-roster>*:last-child{border-right:0;padding-right:0}.team-roster .roster-intro h3{font-size:27px}.team-roster article>span{font-size:12px;color:var(--terracotta);font-weight:700}.team-roster article h3{font-size:20px;margin:38px 0 8px}.team-roster article p{font-size:14px;color:var(--muted);min-height:44px}.team-roster article a{font-size:13px;font-weight:600;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}.brochure-strip{margin-top:26px;padding:24px 28px;border-radius:18px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:30px}.brochure-strip span{font-size:12px;letter-spacing:.14em;color:var(--terracotta);font-weight:700}.brochure-strip p{font-family:'Manrope';font-size:20px;margin:4px 0 0}.contact-card>a{display:block;width:max-content}

@media (max-width:980px){body.nav-open .site-header{background:rgba(251,250,246,.97);backdrop-filter:blur(18px)}.menu-toggle{position:relative;z-index:110;transition:background .25s ease}.menu-toggle span{transition:transform .25s ease,opacity .2s ease}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-backdrop{display:block;position:fixed;inset:0;border:0;background:rgba(8,25,21,.46);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;z-index:101;transition:opacity .25s ease,visibility .25s ease}.nav-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}.main-nav{position:fixed;inset:82px 18px auto;background:#fff;z-index:105;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:14px;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px rgba(8,25,21,.24);max-height:calc(100dvh - 100px);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.985);transition:opacity .25s ease,visibility .25s ease,transform .25s ease;font-family:'Manrope';font-size:20px}.main-nav.open{opacity:1;visibility:visible;transform:none}.main-nav>a{padding:13px 12px;border-bottom:1px solid var(--line)}.main-nav>a:not(.nav-cta)::after{display:none}.main-nav .nav-cta{font-family:'DM Sans';font-size:16px;margin:10px 0 0;text-align:center;padding:15px 18px;border:0}.team-roster{grid-template-columns:1fr 1fr}.team-roster>*:first-child{padding-left:24px}.team-roster>*:nth-child(2){border-right:0}.team-roster>*:nth-child(-n+2){border-bottom:1px solid var(--line)}.team-roster>*:last-child{padding-right:24px}.brochure-strip{margin-top:22px}.specialty-grid{grid-template-columns:1fr}}

@media (max-width:640px){body{font-size:17px}.eyebrow,.kicker{font-size:13px;line-height:1.45}.hero-lead{font-size:17px}.hero-badge span{font-size:11px}.signal-number{font-size:12px}.signal-bar p{font-size:15px}.signal-bar strong{font-size:16px}.heading-row>p,.centered>p,.intro-copy>p:not(.large-copy){font-size:16px}.card-overlay>span,.card-no{font-size:12px}.card-overlay p,.specialty-card>p,.specialty-card li,.specialty-card>a{font-size:16px}.team-image span{font-size:13px;line-height:1.45}.team-copy>p:not(.kicker),.compare-row p,.timeline p,.integrated-head>p:last-child,.integrated-grid p,.application-card p,.tech-grid p,.field-story p,.field-quote>p,.field-panorama p,.outreach-card>div>p:not(.kicker),.contact-card p{font-size:16px}.integrated-grid b,.tech-grid span,.application-card span,.field-index,.field-story span,.field-panorama>div>span,.field-facts span,.contact-card>span{font-size:12px}.field-feature-image figcaption{font-size:13px;line-height:1.4}.footer-brand p,.footer-grid a,.contact-card address{font-size:15px}.footer-grid h3,.footer-bottom{font-size:13px}.main-nav{inset:74px 14px auto;font-size:19px;max-height:calc(100dvh - 88px)}.team-roster{grid-template-columns:1fr;margin-top:48px}.team-roster>*{border-right:0;border-bottom:1px solid var(--line);padding:26px 4px}.team-roster>*:first-child,.team-roster>*:last-child{padding-left:4px;padding-right:4px}.team-roster>*:nth-child(2){border-right:0}.team-roster>*:last-child{border-bottom:0}.team-roster article h3{margin-top:24px;font-size:22px}.team-roster article p{font-size:16px;min-height:0}.team-roster article a{font-size:15px}.brochure-strip{align-items:flex-start;flex-direction:column;padding:24px}.brochure-strip span{font-size:13px}.brochure-strip p{font-size:19px}.brochure-strip .button{width:100%}}

/* Box servizi con immagini tematiche */
.specialty-card.visual-card{position:relative;isolation:isolate;overflow:hidden;background:#102823;color:#fff;border-color:rgba(255,255,255,.16);min-height:680px;box-shadow:0 18px 48px rgba(13,38,32,.14);text-shadow:0 2px 18px rgba(0,0,0,.28)}.specialty-card.visual-card::before{content:'';position:absolute;z-index:-2;inset:0;background-image:var(--service-image);background-size:cover;background-position:var(--service-position,center);transform:scale(1.01);transition:transform .7s ease}.specialty-card.visual-card::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(7,25,21,.38) 0%,rgba(7,25,21,.68) 44%,rgba(7,25,21,.94) 100%)}.specialty-card.visual-card:hover::before{transform:scale(1.055)}.visual-card.service-archeology{--service-image:url('assets/bg-servizio-archeologia.jpg');--service-position:center}.visual-card.service-topography{--service-image:url('assets/bg-servizio-topografia.jpg');--service-position:center}.visual-card.service-geophysics{--service-image:url('assets/bg-servizio-geofisica.jpg');--service-position:center}.visual-card.service-uas{--service-image:url('assets/bg-servizio-uas.jpg');--service-position:center}.specialty-card.visual-card .card-no{color:var(--lime)}.specialty-card.visual-card>p{color:rgba(255,255,255,.86)}.specialty-card.visual-card ul{border-color:rgba(255,255,255,.24)}.specialty-card.visual-card li{color:rgba(255,255,255,.94);border-color:rgba(255,255,255,.2)}.specialty-card.visual-card li::before{color:var(--lime)}.specialty-card.visual-card>a{color:#fff}.specialty-card.visual-card>a::after{content:'';display:block;width:100%;height:1px;margin-top:6px;background:rgba(255,255,255,.42)}

@media (max-width:640px){.specialty-card.visual-card{min-height:0;padding:30px 26px}.specialty-card.visual-card::after{background:linear-gradient(180deg,rgba(7,25,21,.74),rgba(7,25,21,.94) 48%,rgba(7,25,21,.98))}}

/* Soci e collaboratori */
.team-roster article{display:flex;flex-direction:column}.person-photo{width:100%;aspect-ratio:4/5;margin:0 0 24px;border-radius:16px;overflow:hidden;background:var(--cream)}.person-photo img{width:100%;height:100%;object-fit:cover}.person-photo-francesca img{object-position:center 28%}.person-photo-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,var(--green),var(--green-2));color:var(--lime)}.person-photo-placeholder span{font-family:'Manrope',sans-serif;font-size:44px;font-weight:500;letter-spacing:-.05em}.team-roster article h3{margin:0 0 8px}.team-roster article p{min-height:0;margin:0 0 18px}.team-roster article a{margin-top:auto}.collaborators-roster{margin-top:34px}.contact-card .contact-detail{color:#fff;font-weight:600;margin:18px 0}

@media (max-width:640px){.person-photo{max-height:520px}.person-photo-placeholder span{font-size:54px}.collaborators-roster{margin-top:30px}}

/* Infografica orizzontale del processo */
.territory-flow{position:relative;isolation:isolate;overflow:hidden;margin-top:54px;padding:30px 34px 34px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.66);box-shadow:0 24px 65px rgba(20,42,37,.07)}.territory-flow::before{content:'';position:absolute;z-index:-1;width:360px;height:360px;right:-145px;top:-225px;border:1px solid rgba(23,53,47,.12);border-radius:50%;box-shadow:0 0 0 48px rgba(23,53,47,.035),0 0 0 96px rgba(23,53,47,.025)}.territory-flow-head{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end}.territory-flow-head>div>span{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;color:var(--terracotta)}.territory-flow-head h2{margin-top:8px;font-size:clamp(27px,2.5vw,36px);letter-spacing:-.04em}.territory-flow-head>p{max-width:420px;margin:0;color:var(--muted);font-size:14px}.territory-flow-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:31px}.territory-flow-line{position:absolute;left:20px;right:20px;top:19px;height:2px;background:rgba(20,42,37,.11)}.territory-flow-line>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--terracotta),var(--lime),var(--green));transform:scaleX(0);transform-origin:left}.territory-flow-line::after{content:'';position:absolute;top:50%;left:0;width:12px;height:12px;border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 7px rgba(201,109,72,.14),0 0 24px rgba(201,109,72,.6);opacity:0;transform:translate(-50%,-50%)}.territory-flow-step{position:relative;padding-top:52px;opacity:.15;transform:translateY(16px)}.territory-flow-step::before{content:'';position:absolute;z-index:1;top:10px;left:0;width:20px;height:20px;border:6px solid var(--paper);border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 1px rgba(20,42,37,.12)}.territory-flow-step:nth-of-type(3)::before{background:#b1ca87}.territory-flow-step:nth-of-type(4)::before{background:#678b76}.territory-flow-step:nth-of-type(5)::before{background:var(--green)}.territory-flow-step b{font-family:'Manrope',sans-serif;font-size:10px;letter-spacing:.14em;color:var(--terracotta)}.territory-flow-step h3{margin:5px 0 6px;font-size:19px}.territory-flow-step p{max-width:210px;margin:0;color:var(--muted);font-size:12px;line-height:1.45}.territory-flow.visible .territory-flow-line>span{animation:flow-line-reveal 1.55s cubic-bezier(.22,.8,.24,1) .2s forwards}.territory-flow.visible .territory-flow-line::after{animation:flow-pulse 3.6s cubic-bezier(.45,0,.2,1) 1.1s infinite}.territory-flow.visible .territory-flow-step{animation:flow-step-in .62s cubic-bezier(.22,.8,.24,1) forwards}.territory-flow.visible .territory-flow-step:nth-of-type(2){animation-delay:.28s}.territory-flow.visible .territory-flow-step:nth-of-type(3){animation-delay:.5s}.territory-flow.visible .territory-flow-step:nth-of-type(4){animation-delay:.72s}.territory-flow.visible .territory-flow-step:nth-of-type(5){animation-delay:.94s}@keyframes flow-line-reveal{to{transform:scaleX(1)}}@keyframes flow-pulse{0%{left:0;opacity:0}10%,88%{opacity:1}100%{left:100%;opacity:0}}@keyframes flow-step-in{to{opacity:1;transform:none}}

@media (min-width:981px){.team-roster>*:last-child{padding-right:24px}.collaborators-roster{grid-template-columns:repeat(3,1fr)}.collaborators-roster>*:nth-child(3n){border-right:0}.collaborators-roster>*:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media (max-width:980px){.territory-flow-head{grid-template-columns:1fr;gap:14px}.territory-flow-track{gap:20px}.territory-flow-step p{font-size:11px}}
@media (max-width:640px){.territory-flow{margin-top:38px;padding:26px 22px}.territory-flow-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.territory-flow-line{display:none}.territory-flow-step{flex:0 0 205px;scroll-snap-align:start;padding:18px;border-top:2px solid var(--line);border-radius:14px;background:rgba(245,241,232,.72)}.territory-flow-step::before{top:-11px;left:18px}.territory-flow-step p{font-size:13px}}
@media (prefers-reduced-motion:reduce){.territory-flow-line>span{transform:scaleX(1)}.territory-flow-line::after{display:none}.territory-flow-step{opacity:1;transform:none}.territory-flow.visible .territory-flow-line>span,.territory-flow.visible .territory-flow-line::after,.territory-flow.visible .territory-flow-step{animation:none}}

.territory-flow-step:nth-of-type(2)::before{background:#b1ca87}.territory-flow-step:nth-of-type(3)::before{background:#678b76}.territory-flow-step:nth-of-type(4)::before{background:var(--green)}

/* Infografica immersiva — territorio, dati e decisione */
.territory-flow{min-height:342px;padding:38px 36px 34px;border:0;background:radial-gradient(circle at 8% 10%,rgba(201,109,72,.27),transparent 26%),linear-gradient(125deg,#0c241f 0%,#173b33 58%,#214a40 100%);color:#fff;box-shadow:0 28px 75px rgba(10,34,28,.22)}.territory-flow::before{z-index:0;width:500px;height:500px;right:-205px;top:-330px;border-color:rgba(255,255,255,.12);box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.022)}.territory-flow::after{content:'';position:absolute;z-index:0;inset:-40% auto -40% -28%;width:18%;background:linear-gradient(90deg,transparent,rgba(183,210,142,.12),rgba(255,255,255,.22),transparent);transform:skewX(-16deg);pointer-events:none}.territory-flow.visible::after{animation:territory-scan 5.8s cubic-bezier(.45,0,.2,1) 1.4s infinite}.territory-flow-head,.territory-flow-track{position:relative;z-index:1}.territory-flow-head>div>span{color:var(--lime)}.territory-flow-head h2{color:#fff;font-size:clamp(30px,3vw,43px)}.territory-flow-head>p{color:rgba(255,255,255,.68);font-size:15px}.territory-flow-track{gap:14px;margin-top:38px}.territory-flow-line{z-index:1;left:8%;right:8%;top:30px;height:1px;background:rgba(255,255,255,.18)}.territory-flow-line>span{background:linear-gradient(90deg,var(--terracotta),#edb68e,var(--lime),#7ca894);box-shadow:0 0 18px rgba(183,210,142,.38)}.territory-flow-line::after{background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.1),0 0 28px rgba(183,210,142,.85)}.territory-flow-step{z-index:2;min-height:195px;padding:78px 22px 22px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:linear-gradient(155deg,rgba(255,255,255,.10),rgba(255,255,255,.035));opacity:0;transform:translateY(22px);transition:border-color .3s ease,background .3s ease,transform .3s ease,box-shadow .3s ease}.territory-flow-step::before{content:none}.territory-flow-step:hover{border-color:rgba(183,210,142,.45);background:linear-gradient(155deg,rgba(255,255,255,.15),rgba(255,255,255,.055));transform:translateY(-6px)!important;box-shadow:0 18px 38px rgba(0,0,0,.16)}.territory-flow-icon{position:absolute;z-index:3;top:0;left:22px;display:grid;place-items:center;width:60px;height:60px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:#c96d48;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 7px rgba(201,109,72,.11)}.territory-flow-step:nth-of-type(2) .territory-flow-icon{background:#a9c77d;color:#17352f;box-shadow:0 12px 30px rgba(0,0,0,.2),0 0 0 7px rgba(183,210,142,.1)}.territory-flow-step:nth-of-type(3) .territory-flow-icon{background:#5f8977}.territory-flow-step:nth-of-type(4) .territory-flow-icon{background:#fff;color:#17352f}.territory-flow-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.territory-flow-copy>span{font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--lime)}.territory-flow-copy h3{margin:7px 0 8px;color:#fff;font-size:22px}.territory-flow-copy p{max-width:230px;margin:0;color:rgba(255,255,255,.62);font-size:12px;line-height:1.5}.territory-flow.visible .territory-flow-step{animation:territory-card-in .72s cubic-bezier(.22,.8,.24,1) forwards}.territory-flow.visible .territory-flow-step:nth-of-type(2){animation-delay:.18s}.territory-flow.visible .territory-flow-step:nth-of-type(3){animation-delay:.34s}.territory-flow.visible .territory-flow-step:nth-of-type(4){animation-delay:.5s}@keyframes territory-card-in{to{opacity:1;transform:none}}@keyframes territory-scan{0%{left:-28%;opacity:0}12%,76%{opacity:1}100%{left:118%;opacity:0}}

@media (max-width:980px){.territory-flow{padding:34px 30px}.territory-flow-track{grid-template-columns:repeat(2,1fr)}.territory-flow-line{display:none}.territory-flow-step{min-height:180px}}
@media (max-width:640px){.territory-flow{padding:28px 22px 26px}.territory-flow-track{display:flex;gap:14px}.territory-flow-step{flex-basis:225px;min-height:192px;padding:78px 20px 22px;border-top:1px solid rgba(255,255,255,.11);background:linear-gradient(155deg,rgba(255,255,255,.10),rgba(255,255,255,.035))}.territory-flow-icon{left:20px}.territory-flow-copy p{font-size:13px}}
@media (prefers-reduced-motion:reduce){.territory-flow.visible::after,.territory-flow.visible .territory-flow-step{animation:none}.territory-flow::after{display:none}.territory-flow-step{opacity:1;transform:none}}

/* Hero video */
.hero-visual{isolation:isolate}.hero-video-frame{position:relative;z-index:2;width:128%;max-width:none;aspect-ratio:16/10;margin-left:-4%;border:1px solid rgba(20,42,37,.14);border-radius:30px;overflow:hidden;background:var(--cream);box-shadow:0 34px 70px rgba(15,42,35,.22)}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.025)}.hero-video-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(23,53,47,.08),transparent 42%,rgba(201,109,72,.08));box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}.hero-video::cue{display:none}

@media (max-width:980px){.hero-video-frame{width:108%;margin-left:0}}
@media (max-width:640px){.hero-video-frame{width:100%;height:300px;aspect-ratio:auto;margin:0;border-radius:22px}.hero-badge{right:-4px}}
@media (prefers-reduced-motion:reduce){.hero-video{filter:none}}

/* Hero a copertina con video originale */
.hero{position:relative;isolation:isolate;background:#0b1c18;color:#fff}.hero-cover{position:absolute;z-index:0;inset:0;overflow:hidden;background:#0b1c18}.hero-cover .hero-video{width:100%;height:100%;opacity:0;filter:saturate(1.04) contrast(1.035);transition:opacity .45s ease}.hero-cover.video-ready .hero-video{opacity:1}.hero-cover .hero-video-shade{background:linear-gradient(90deg,rgba(5,20,17,.86) 0%,rgba(8,28,23,.74) 38%,rgba(8,28,23,.42) 72%,rgba(8,28,23,.54) 100%),linear-gradient(180deg,rgba(5,20,17,.25),rgba(5,20,17,.18) 58%,rgba(5,20,17,.72));box-shadow:none}.hero-grid{position:relative;z-index:1;display:flex;align-items:center;min-height:620px}.hero-copy{max-width:790px;text-shadow:0 3px 28px rgba(0,0,0,.5)}.hero .eyebrow{color:rgba(255,255,255,.86)}.hero .eyebrow span{background:#f19a72}.hero h1{color:#fff}.hero h1 em{color:#f29a72;text-shadow:0 4px 32px rgba(0,0,0,.42)}.hero .hero-lead{color:rgba(255,255,255,.84);max-width:680px}.hero .button-primary{background:#fff;color:var(--green);text-shadow:none}.hero .button-primary:hover{background:var(--terracotta);color:#fff}.hero .text-link{color:#fff;border-color:rgba(255,255,255,.62)}.hero .signal-bar{position:relative;z-index:1;padding:22px 24px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(8,28,23,.38);backdrop-filter:blur(12px)}.hero .signal-bar p{color:rgba(255,255,255,.7)}.hero .signal-bar strong{color:#fff}.hero .signal-number{color:#f29a72}.site-header:not(.scrolled) .brand img{filter:brightness(0) invert(1);mix-blend-mode:normal}.site-header:not(.scrolled) .main-nav>a:not(.nav-cta){color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.45)}.site-header:not(.scrolled) .nav-cta{background:#fff;color:var(--green)}

/* Infografica: un solo movimento, senza riflesso né loop */
.territory-flow::after{display:none!important}.territory-flow-step,.territory-flow.visible .territory-flow-step{opacity:1;transform:none;animation:none}.territory-flow-line>span,.territory-flow.visible .territory-flow-line>span{transform:scaleX(1);animation:none}.territory-flow-line::after{opacity:0}.territory-flow.visible .territory-flow-line::after{animation:territory-dot-once 9s cubic-bezier(.42,0,.2,1) .8s 1 forwards}@keyframes territory-dot-once{0%{left:0;opacity:0}8%{opacity:1}100%{left:100%;opacity:1}}

@media (max-width:980px){.hero-grid{min-height:650px}.site-header:not(.scrolled) .main-nav.open>a{color:var(--ink);text-shadow:none}.site-header:not(.scrolled) .main-nav.open .nav-cta{background:var(--green);color:#fff}}
@media (max-width:640px){.hero{padding-top:105px}.hero-grid{min-height:590px}.hero .hero-lead{color:rgba(255,255,255,.88)}.hero .signal-bar{margin-top:20px;padding:20px}.hero-cover .hero-video{object-position:center}}
@media (prefers-reduced-motion:reduce){.territory-flow.visible .territory-flow-line::after{animation:none;left:100%;opacity:1}}

/* Nei nostri lavori — galleria editoriale */
.works-section{padding:92px 0 104px}.works-section>.container{width:min(1040px,calc(100% - 48px))}.works-section::before{width:660px;height:660px;right:-270px;top:-390px;border-color:rgba(183,210,142,.12);box-shadow:0 0 0 64px rgba(255,255,255,.018)}.works-heading{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:68px;align-items:end;margin-bottom:46px}.works-heading h2{color:#fff;font-size:58px}.works-heading>p{max-width:460px;margin:0 0 6px;color:rgba(255,255,255,.7);font-size:16px}.works-masonry{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.work-card{position:relative;display:block;width:100%;margin:0;overflow:hidden;border:1px solid rgba(183,210,142,.38);border-radius:17px;background:#0c241f;box-shadow:0 14px 34px rgba(3,16,13,.2)}.work-card-wide{grid-column:1/-1}.work-media{height:340px}.work-card-tall .work-media{height:420px}.work-card-wide .work-media{height:380px}.work-media>img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.8,.24,1),filter .5s ease}.work-media-casavatore,.work-media-pontecagnano,.work-media-maratea{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:#071511}.work-media-satriano{display:grid;grid-template-columns:1.18fr .82fr;grid-template-rows:1fr 1fr;gap:4px;background:#071511}.work-media-satriano img:first-child{grid-row:1/-1}.work-media-maratea img:first-child{object-position:58% center}.work-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,22,18,.02) 20%,rgba(5,22,18,.2) 55%,rgba(5,22,18,.96) 100%)}.work-caption{position:absolute;z-index:2;inset:auto 25px 23px;max-width:620px;text-shadow:0 2px 16px rgba(0,0,0,.45)}.work-caption h3{max-width:590px;color:#fff;font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.02;letter-spacing:-.04em}.work-caption h3 small{font-size:.42em;font-weight:500;letter-spacing:-.01em;color:rgba(255,255,255,.72)}.work-caption span{display:block;margin:8px 0 6px;color:var(--lime);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.work-caption strong{display:block;color:#fff;font-family:'Manrope',sans-serif;font-size:clamp(15px,1.45vw,19px);line-height:1.25}.work-caption p{max-width:560px;margin:6px 0 0;color:rgba(255,255,255,.76);font-size:12px;line-height:1.45}.work-card:hover .work-media>img{transform:scale(1.035);filter:saturate(1.08) contrast(1.03)}.work-card:hover{border-color:rgba(183,210,142,.72)}

@media (max-width:980px){.works-section>.container{width:min(100% - 36px,760px)}.works-heading{grid-template-columns:1fr;gap:18px}.works-heading h2{font-size:52px}.works-heading>p{max-width:560px}.work-media{height:330px}.work-card-wide .work-media{height:360px}}
@media (max-width:640px){.works-section{padding:70px 0 76px}.works-section>.container{width:calc(100% - 28px)}.works-heading{margin-bottom:32px}.works-heading h2{font-size:43px}.works-heading>p{font-size:15px}.works-masonry{grid-template-columns:1fr;gap:15px}.work-card-wide{grid-column:auto}.work-media,.work-card-wide .work-media{height:315px}.work-card-tall .work-media{height:370px}.work-media-casavatore,.work-media-pontecagnano,.work-media-maratea{gap:3px}.work-caption{inset:auto 18px 18px}.work-caption h3{font-size:29px}.work-caption span{font-size:8px}.work-caption strong{font-size:15px}.work-caption p{font-size:12px}}

/* Schede servizi: immagine quasi integrale, ancorata in basso e solo leggermente velata */
.specialty-card.visual-card::before{inset:0;height:100%;background-size:cover;background-position:center bottom!important;transform-origin:center bottom;filter:brightness(1.12) saturate(1.06)}
.specialty-card.visual-card::after{background:linear-gradient(180deg,rgba(7,25,21,.68) 0%,rgba(7,25,21,.56) 42%,rgba(7,25,21,.28) 70%,rgba(7,25,21,.06) 100%)}

@media (max-width:640px){.specialty-card.visual-card::before{height:100%}.specialty-card.visual-card::after{background:linear-gradient(180deg,rgba(7,25,21,.74) 0%,rgba(7,25,21,.62) 46%,rgba(7,25,21,.34) 72%,rgba(7,25,21,.1) 100%)}}
