/* Un solo aspetto, chiaro, per tutti.
   Il sito dichiara di gestire da sé il tema scuro («light dark» e una regola
   prefers-color-scheme): così Chrome e Samsung Internet non applicano la loro
   conversione automatica (testi gialli e verdi su nero). Nel tema scuro il sito
   resta identico a quello chiaro: sfondo e testo sono fissati qui. */
:root{color-scheme:light dark}
html,body{background:#fff;color:#102e33}
@media (prefers-color-scheme:dark){html,body{background:#fff;color:#102e33}}
/* Caratteri ospitati sul sito: nessuna richiesta a Google. */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/source-serif-4-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/source-serif-4-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/source-serif-4-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/source-serif-4-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--green:#0e5c63;--deep:#0a4046;--text:#102e33;--muted:#596e72;--mint:#a3d5d7;--line:#dce6e6;--pale:#f3f7f7;--sans:'Archivo','Helvetica Neue',Arial,sans-serif;--serif:'Source Serif 4',Georgia,serif;--space:clamp(4.5rem,8vw,8rem);--gutter:clamp(22px,4.2vw,56px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--text);font:400 1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;font-weight:500;letter-spacing:-.035em}h2{font-size:clamp(2rem,3.7vw,3.5rem)}h3{font-size:1.45rem;letter-spacing:-.025em}p{color:var(--muted)}em{font-family:var(--serif);font-weight:400}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a,button{touch-action:manipulation}svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5;flex-shrink:0}::selection{background:#c9e7e5;color:#102e33}:focus-visible{outline:3px solid #2d959d;outline-offset:6px}a.btn:focus-visible{outline-offset:4px}[id]{scroll-margin-top:95px}.wrap{width:min(calc(100% - var(--gutter)*2),1240px);margin-inline:auto}.section{padding-block:var(--space)}.eyebrow{display:block;font-size:.875rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--green);line-height:1.5;margin-bottom:1.5rem}.lead{font-size:clamp(1.125rem,1.35vw,1.25rem);line-height:1.75}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;padding:.9rem 1.4rem;min-height:50px;font-size:.9rem;font-weight:500;line-height:1.35;letter-spacing:.005em;border:1px solid var(--line);border-radius:3px;transition:background .2s,color .2s,border-color .2s,transform .2s}.primary{color:white;background:var(--green);border-color:var(--green)}.primary:hover{background:#11727a;border-color:#11727a}.outline-light{color:white;border-color:#ffffff80;background:transparent}.outline-light:hover{background:#ffffff15;border-color:white}.white{background:#fff;color:var(--deep);border-color:white}.white:hover{background:#dcefed;border-color:#dcefed}.text-link{display:inline-flex;gap:1rem;align-items:center;font-weight:500;color:var(--green);font-size:.9375rem;border-bottom:1px solid #aecbcb;padding-bottom:.4rem;line-height:1.5}.text-link svg{width:21px;transition:transform .2s}.text-link:hover svg{transform:translateX(4px)}.round-arrow{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:50%;border:1px solid #bfd4d4;color:var(--green);transition:background .2s,color .2s,transform .2s}.skip{position:fixed;z-index:1000;top:8px;left:20px;padding:12px 20px;background:white;color:var(--deep);transform:translateY(-200%)}.skip:focus{transform:translateY(0)}
/* Navigation shared by every page. */
.header{position:fixed;inset:0 0 auto;z-index:100;background:#fffffff5;border-bottom:1px solid #102e330d;transition:background .25s,box-shadow .25s}.nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:2rem}.brand{display:inline-flex;flex-direction:column;line-height:1.15;flex-shrink:0}.brand-name{font-size:1.5rem;font-weight:700;letter-spacing:-.055em}.brand-dot{color:var(--green)}.brand-claim{font-size:.8125rem;letter-spacing:.005em;line-height:1.5;font-family:var(--serif);font-style:italic;color:var(--muted)}.links{display:flex;align-items:center;gap:2rem}.links>a:not(.btn){font-size:.9rem;position:relative;padding:12px 0}.links>a:not(.btn)::after{content:'';height:1px;position:absolute;left:0;right:100%;bottom:7px;background:currentColor;transition:right .2s}.links>a:hover::after,.links>a[aria-current]::after{right:0}.nav-cta{min-height:44px;padding:.7rem 1.1rem;margin-left:.35rem}.nav-cta svg{width:18px}.menu{display:none;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:transparent;border:1px solid var(--line);border-radius:3px;width:46px;height:46px;color:inherit}.menu span{height:1.5px;width:21px;background:currentColor;transition:transform .2s}.menu[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.is-home .header:not(.is-stuck):not(.menu-open){color:var(--text);background:#fffffff5;border-color:#102e330d}.is-home .header:not(.is-stuck):not(.menu-open) .brand-claim{color:var(--muted)}.is-home .header:not(.is-stuck):not(.menu-open) .brand-dot{color:var(--green)}.is-home .header:not(.is-stuck) .menu{border-color:var(--line)}.header.is-stuck{box-shadow:0 3px 20px #12383e06}
/* Approved photograph with a bright veil and dark, readable typography. */
.hero{position:relative;display:grid;align-items:center;isolation:isolate;background:var(--pale)}.hero__in{padding-top:calc(76px + clamp(3rem,7vw,6.5rem));padding-bottom:clamp(3rem,7vw,6.5rem)}.hero__media{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:60% 46%;filter:none}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.80) 32%,rgba(255,255,255,.50) 52%,rgba(255,255,255,.10) 74%,rgba(255,255,255,0) 100%)}.hero__text{max-width:42rem;color:var(--text)}.hero__eyebrow{font-size:.8125rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--green);margin:0 0 1.5rem;padding-bottom:0;border-bottom:0;display:inline-block;line-height:1.6}.hero__title{text-transform:uppercase;letter-spacing:-.028em;color:var(--text)}.hero__title-a{display:block;font-size:clamp(2.15rem,1.15rem + 3.8vw,4.05rem);line-height:.99;font-weight:700;text-wrap:balance}.hero__title-b{display:block;margin-top:1.1rem;padding-top:0;max-width:40ch;border-top:0;font-size:clamp(1rem,.85rem + .45vw,1.26rem);font-weight:500;line-height:1.38;letter-spacing:.004em;color:var(--text)}.hero__lead{margin-top:clamp(1.4rem,2.4vw,2rem);font:400 clamp(1.08rem,1.01rem + .38vw,1.3rem)/1.68 var(--serif);color:#344f54;max-width:48ch}.hero .actions{margin-top:clamp(1.6rem,2.6vw,2.25rem)}
/* White opening with three concise points. */
.intro{background:white}.intro-top{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid var(--line)}.intro-top .eyebrow{margin:0}.intro-kicker{text-align:right;font-size:.875rem;line-height:1.6}.intro-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:5rem;padding-block:3rem 4rem;align-items:start}.statement{font-size:clamp(2.25rem,4vw,3.75rem);line-height:1.16;letter-spacing:-.045em}.statement em{color:var(--green)}.intro-description{padding-top:.4rem}.intro-description .text-link{margin-top:1.6rem}.intro-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}.intro-pillars article{border-top:1px solid var(--line);padding-top:1.5rem}.content-icon{display:block;color:var(--green);margin-bottom:1.2rem;line-height:1}.content-icon svg{display:block;width:28px;height:28px}.intro-pillars h3{font-size:1.375rem;margin-bottom:1rem}.intro-pillars p{font-size:1rem;line-height:1.75}
/* Two deep green moments, separated by generous white space. */
.why{background:var(--deep);color:#fff}.why .eyebrow,.cta .eyebrow{color:#e8eeee;}.why-head{display:grid;grid-template-columns:1fr 2fr;gap:3rem}.why-head h2{font-size:clamp(2rem,3.6vw,3.4rem)}.why-head h2 em{color:#fff}.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.5rem;margin-top:4rem}.why-grid article{border-top:1px solid #ffffff38;padding-top:1.5rem}.why-number{font-size:3rem;line-height:1;display:block;letter-spacing:-.055em;color:#e8eeee;font-family:var(--serif);font-style:italic;margin-bottom:2.3rem}.why h3{font-size:1.6rem;line-height:1.25;margin-bottom:1rem}.why-grid p{color:#e8eeee;font-size:1rem;max-width:32ch}.expertise-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:6rem;align-items:start}.expertise-intro{position:sticky;top:125px}.expertise-intro h2{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.17}.expertise-intro h2 em{color:var(--green)}.expertise-intro>p{margin-block:1.6rem;font-size:1.0625rem}.expertise-note{display:flex;gap:1.2rem;align-items:center;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.expertise-note strong{font-size:3.75rem;font-weight:400;line-height:1;color:var(--green);letter-spacing:-.07em}.expertise-note span{font-size:.875rem;color:var(--muted);line-height:1.6}.service-row{display:grid;grid-template-columns:30px 1fr 46px;gap:1.4rem;padding:2rem 0;border-top:1px solid var(--line);align-items:start}.service-row:last-child{border-bottom:1px solid var(--line)}.service-icon{display:block;color:var(--green);padding-top:.1rem;line-height:1}.service-icon svg{display:block;width:24px;height:24px}.service-row h3{font-size:1.5rem;line-height:1.23;letter-spacing:-.02em;transition:color .2s}.service-row p{font-size:.9375rem;line-height:1.65;margin-top:.8rem;max-width:42ch}.service-row .round-arrow{margin-top:.15rem}.service-row:hover h3{color:var(--green)}.service-row:hover .round-arrow,.product-card:hover .round-arrow{background:var(--green);border-color:var(--green);color:white;transform:rotate(-35deg)}
/* Product imagery with a deliberately asymmetric arrangement. */
.product-section{background:var(--pale);border-block:1px solid #e6eeee}.product-heading{display:flex;align-items:end;justify-content:space-between;gap:5rem;margin-bottom:3rem}.product-heading h2{font-size:clamp(2.1rem,3.7vw,3.4rem)}.product-heading em{color:var(--green)}.product-heading>p{max-width:32ch;font-size:1.0625rem;padding-bottom:.2rem}.product-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:2.2rem 2.5rem}.product-card{display:block;min-width:0}.product-card-1{grid-row:span 2}.product-image{position:relative;overflow:hidden;background:#d1dedb;border-radius:3px}.product-image img{width:100%;height:240px;object-fit:cover;transition:transform .55s cubic-bezier(.22,.61,.36,1)}.product-card-1 .product-image img{height:592px}.product-card:hover .product-image img{transform:scale(1.035)}.product-icon{position:absolute;top:1rem;left:1rem;display:grid;place-items:center;width:38px;height:38px;background:#ffffffed;color:var(--deep);border-radius:3px}.product-icon svg{width:22px;height:22px}.product-copy{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.3rem}.product-copy h3{font-size:1.625rem;letter-spacing:-.03em}.product-copy p{font-size:.9375rem;margin-top:.3rem;line-height:1.6}.product-card-1 .product-copy h3{font-size:2.25rem}.product-foot{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:2.5rem;padding-top:1.8rem;border-top:1px solid #cfdddd}.product-foot>span{font-size:.8125rem;color:var(--muted)}.story-grid{display:grid;grid-template-columns:.85fr 1.35fr;align-items:center;gap:5rem}.story-copy h2{font-size:clamp(2.25rem,3.75vw,3.75rem);line-height:1.15}.story-copy em{color:var(--green)}.story-copy p{margin-block:1.5rem 1.75rem;max-width:36ch}.video-placeholder{position:relative;isolation:isolate;min-height:500px;display:flex;align-items:end;border-radius:3px;overflow:hidden;color:white;background:var(--deep)}.video-placeholder>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.65)}.video-placeholder::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#062b31f2,#062b3180 60%,#062b3130)}.video-caption{padding:2.5rem}.video-caption .eyebrow{color:#c1e4e3;font-size:.8125rem}.video-caption strong{display:block;font-size:clamp(2.8rem,4vw,4rem);font-weight:500;letter-spacing:-.05em;line-height:1.06}.video-soon{display:inline-block;border-top:1px solid #ffffff50;margin-top:2.4rem;padding-top:1rem;font-size:.875rem;color:#d8ebeb}.cta{background:var(--green);color:white;padding-block:clamp(4rem,7vw,6.5rem)}.cta-inner{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:4rem}.cta h2{font-size:clamp(2.5rem,4.6vw,4.5rem);line-height:1.09;letter-spacing:-.04em}.cta p{color:#e8eeee;margin-top:1.5rem;max-width:45ch}.cta-actions{justify-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:1.4rem}.cta .white{padding:1.05rem 1.4rem;gap:2.2rem}.cta-phone{font-size:1.125rem;color:#fff;border-bottom:1px solid #ffffff70}
/* Secondary pages use the same typographic and spacing system. */
.page-hero{padding:calc(82px + var(--space)) 0 4rem;background:var(--pale);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.5rem,5.5vw,5rem);line-height:1.08;max-width:17ch}.page-hero p{font-size:1.125rem;max-width:62ch;margin-top:1.8rem}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:4rem;margin-bottom:3.5rem}.section-head .lead{margin-top:1.4rem}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:3.5rem 0;border-top:1px solid var(--line)}.feature-row:first-child{padding-top:0;border-top:0}.feature-row h2{font-size:clamp(1.8rem,3vw,2.75rem)}.feature-row .lead{margin-bottom:1.25rem}.feature-icon{color:var(--green);display:block;margin-bottom:1.25rem;line-height:1}.feature-icon svg{display:block;width:28px;height:28px}.service-tags{font-size:.875rem;margin-bottom:1.6rem;color:var(--green)}.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.split>img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:3px}.split h2{margin-bottom:1.1rem}.split .eyebrow{margin-bottom:1rem}.image-note{font-size:.8125rem;margin-top:1.25rem}.gallery{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem}.gallery img{width:100%;height:380px;object-fit:cover;border-radius:3px}.light{background:var(--pale)}.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}.pillar{border-top:1px solid var(--line);padding-top:1.5rem}.pillar b{display:block;color:var(--green);font-size:.875rem;margin-bottom:1.8rem;font-weight:500}.pillar h3{margin-bottom:1rem}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:start}.contact-grid>div>img{height:240px;width:100%;object-fit:cover;border-radius:3px}.contact-list{margin:2rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2rem 1rem}.contact-list b{font-size:.875rem;font-weight:500;color:var(--green)}.contact-list li{font-size:1rem;line-height:1.85}.contact-list small{font-size:.8125rem;color:var(--muted)}.contact-list a:hover{text-decoration:underline}.form-intro{margin-bottom:2rem}.form-intro h2{font-size:2rem;line-height:1.2}.form-note{font-size:.875rem;line-height:1.65;padding:1rem 1.2rem;border-left:2px solid var(--green);background:var(--pale);margin-top:1.5rem}.field{margin-bottom:1.3rem}.field label{display:block;font-size:.9375rem;margin-bottom:.5rem}.field input:not([type=checkbox]),.field textarea,.field select{display:block;width:100%;min-height:50px;border:1px solid #bfd0d0;border-radius:3px;padding:.75rem .85rem;background:white;color:var(--text);font-size:1rem}.field textarea{min-height:150px;resize:vertical}.field input[type=checkbox]{accent-color:var(--green);width:18px!important;height:18px;vertical-align:middle;margin:0 .45rem 0 0}.status{font-size:.9375rem;margin-top:1rem;color:var(--green)}.legal{max-width:850px}.legal h1{max-width:none}.legal h2{font-size:1.625rem;margin-top:3rem}.legal p{max-width:65ch}
/* Footer stays white to let the final green invitation breathe. */
.footer{background:white;padding:4rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1.55fr 1fr 1.1fr;gap:4rem;padding-bottom:3.5rem}.footer h2{font-size:.875rem;font-weight:500;letter-spacing:.02em;line-height:1.5;margin-bottom:1.1rem;color:var(--green)}.footer-grid>div>a:not(.brand){display:block;font-size:.9375rem;line-height:1.9;padding-block:.15rem;color:var(--muted)}.footer-grid>div>a:not(.brand):hover{color:var(--green);text-decoration:underline}.footer-description{font-size:.9375rem;margin-top:1.5rem;line-height:1.8}.footer-grid>div>p:not(.footer-description){font-size:.9375rem;margin-top:1rem}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);padding-top:1.5rem;font-size:.8125rem;color:var(--muted)}.footer-bottom>div{display:flex;gap:1.5rem}.footer-bottom a:hover{text-decoration:underline}
/* Progressive enhancement: content remains visible even without JavaScript. */
@keyframes arrive{from{opacity:.55;transform:translateY(14px)}to{opacity:1;transform:none}}.reveal.visible{animation:arrive .65s ease both}
@media(min-width:940px){.hero{min-height:min(92svh,900px)}}
@media(min-width:1450px){.product-card-1 .product-image img{height:605px}}
@media(max-width:1100px){.links{gap:1.25rem}.intro-grid{gap:3rem}.expertise-grid{gap:3.5rem}.story-grid{gap:3rem}.contact-grid{gap:3rem}.feature-row{gap:3rem}.product-heading{gap:3rem}.why-grid{gap:2.5rem}.footer-grid{gap:2rem}}
@media(max-width:1024px){.nav{min-height:76px}.menu{display:flex}.links{display:none;position:absolute;inset:76px 0 auto;background:#fff;color:var(--text);padding:1.25rem var(--gutter) 2rem;border-bottom:1px solid var(--line);max-height:calc(100dvh - 76px);overflow:auto;box-shadow:0 18px 25px #0e343b12}.links.open{display:flex;align-items:stretch;flex-direction:column;gap:.5rem}.links>a:not(.btn){padding:.65rem 0;font-size:1rem}.links .nav-cta{margin:.65rem 0 0;align-self:flex-start}.header.menu-open{background:white;color:var(--text)}.header.menu-open .menu{border-color:var(--line)!important}}
@media(max-width:850px){.intro-grid{grid-template-columns:1fr 1fr;gap:2rem}.intro-pillars{gap:1.5rem}.intro-pillars h3{font-size:1.2rem}.why-head{grid-template-columns:1fr;gap:0}.why-grid{gap:1.5rem;margin-top:3rem}.why h3{font-size:1.375rem}.expertise-grid{grid-template-columns:1fr;gap:3rem}.expertise-intro{position:static;max-width:600px}.expertise-note{display:none}.service-row p{max-width:55ch}.product-heading{align-items:start;gap:2rem}.product-heading>p{max-width:26ch}.product-grid{gap:1.8rem}.product-image img{height:200px}.product-card-1 .product-image img{height:505px}.story-grid{gap:2.5rem;grid-template-columns:1fr 1.15fr}.video-placeholder{min-height:420px}.video-caption{padding:1.75rem}.cta-inner{grid-template-columns:1.25fr 1fr;gap:2rem}.cta .white{gap:1rem}.cta h2{font-size:2.8rem}.footer-grid{grid-template-columns:1.4fr 1fr 1.2fr;gap:2rem}.section-head{grid-template-columns:1fr;gap:0}.gallery img{height:290px}.contact-list{grid-template-columns:1fr}.contact-grid{gap:2.5rem}.feature-row{gap:2rem}.footer-grid a{overflow-wrap:anywhere}}
@media(max-width:600px){:root{--space:4rem}.brand-name{font-size:1.375rem}.brand-claim{font-size:.75rem}.hero__in{padding-top:135px;padding-bottom:64px}.hero::before{background:linear-gradient(to bottom,rgba(255,255,255,.70),rgba(255,255,255,.80) 52%,rgba(255,255,255,.88))}.hero__media img{object-position:74% 84%}.hero__eyebrow{font-size:.75rem;letter-spacing:.055em;max-width:34ch}.hero__title-a{font-size:2.65rem;max-width:13ch;line-height:1.02;text-wrap:initial}.hero__title-b{font-size:1rem;line-height:1.45;max-width:36ch}.hero__lead{font-size:1.125rem}.hero .actions{align-items:stretch;flex-direction:column;max-width:330px}.hero .btn{font-size:.875rem}.intro-top{padding-bottom:1.5rem}.intro-top .eyebrow{max-width:22ch}.intro-kicker{display:none}.intro-grid{grid-template-columns:1fr;gap:1.5rem;padding-block:2rem 2.5rem}.statement{font-size:2.45rem}.intro-pillars{grid-template-columns:1fr;gap:2rem}.content-icon{margin-bottom:.9rem}.intro-pillars h3{font-size:1.4rem;margin-bottom:.65rem}.why-head h2{font-size:2.35rem}.why-grid{grid-template-columns:1fr;gap:2.2rem}.why-grid article{display:grid;grid-template-columns:45px 1fr;column-gap:1rem;padding-top:1.4rem}.why-number{grid-row:span 2;font-size:2.25rem;margin:0}.why h3{font-size:1.5rem;margin-bottom:.8rem}.why-grid p{grid-column:2;max-width:none}.expertise-grid{gap:2.5rem}.expertise-intro h2{font-size:2.5rem}.expertise-intro>p{margin-block:1.25rem}.service-row{grid-template-columns:24px minmax(0,1fr) 38px;gap:.75rem;padding-block:1.6rem}.service-row h3{font-size:1.25rem;line-height:1.3}.service-row h3 br{display:none}.service-row p{font-size:.9375rem;line-height:1.6}.round-arrow{width:38px;height:38px}.round-arrow svg{width:19px}.product-heading{display:block;margin-bottom:2rem}.product-heading h2{font-size:2.45rem}.product-heading>p{max-width:none;margin-top:1.4rem}.product-grid{grid-template-columns:1fr;gap:2.2rem}.product-card-1{grid-row:auto}.product-image img,.product-card-1 .product-image img{height:auto;aspect-ratio:1.4;object-fit:cover}.product-card-1 .product-copy h3,.product-copy h3{font-size:1.75rem}.product-copy{margin-top:1rem}.product-foot{align-items:start;flex-direction:column;gap:1rem;margin-top:2rem}.story-grid{grid-template-columns:1fr;gap:2.5rem}.story-copy h2{font-size:2.7rem}.story-copy p{max-width:none}.video-placeholder{min-height:390px}.video-caption{padding:2rem}.video-caption strong{font-size:3.5rem}.cta-inner{grid-template-columns:1fr;gap:2.2rem}.cta h2{font-size:2.75rem}.cta-actions{justify-self:start}.cta .white{gap:1.5rem}.footer{padding-top:3rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem;padding-bottom:2.5rem}.footer-grid>div:first-child{grid-column:1/-1}.footer-description{margin-top:1rem}.footer-bottom{flex-direction:column;gap:1rem}.footer-bottom>div{flex-wrap:wrap;gap:1.1rem}.footer-grid>div>a:not(.brand){font-size:.875rem}.page-hero{padding-top:135px;padding-bottom:3rem}.page-hero h1{font-size:2.8rem}.page-hero p{font-size:1.0625rem;margin-top:1.4rem}.feature-row,.split{grid-template-columns:1fr;gap:1.7rem}.feature-row{padding-block:2.5rem}.feature-row h2{font-size:2rem}.feature-icon{margin-bottom:1rem}.split>img{aspect-ratio:1.4}.gallery{grid-template-columns:1fr;gap:1.25rem}.gallery img{height:auto;aspect-ratio:1.5}.pillars{grid-template-columns:1fr;gap:2rem}.pillar b{margin-bottom:1rem}.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-list{grid-template-columns:1fr 1fr;gap:1.5rem .8rem}.contact-list li{font-size:.9375rem}.contact-list a{overflow-wrap:anywhere}.section-head{margin-bottom:2.5rem}.legal h1{font-size:2.5rem}.legal h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Original client copy, with room for complete paragraphs and the future video. */
.original-intro{margin-top:3rem}.original-intro h2{font-size:1.6rem;margin-bottom:1rem}.original-intro article{border:0;padding:0}.help-section{background:var(--pale)}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 4rem}.help-grid article{border-top:1px solid var(--line);padding-top:1.5rem}.help-grid h3{margin-bottom:1rem}.service-description,.product-description{margin-bottom:1.75rem}.expertise-intro>p{font-size:1rem}.product-heading>p{max-width:47ch}.video-placeholder{aspect-ratio:16/9;min-height:0;width:100%;align-items:center}.video-placeholder .video-caption{padding:clamp(1.25rem,3vw,2.5rem)}.video-caption strong{font-size:clamp(1.75rem,3vw,3rem)}.video-caption .eyebrow{margin-bottom:1rem}.video-soon{margin-top:1.25rem;padding-top:.75rem}.story-grid{grid-template-columns:.7fr 1.5fr}.video-player{display:block;width:100%;aspect-ratio:16/9;background:var(--deep);border-radius:3px}.links>a{white-space:nowrap}@media(max-width:600px){.help-grid,.story-grid{grid-template-columns:1fr}.help-grid{gap:2rem}.video-caption strong{font-size:1.75rem}.video-caption .eyebrow{font-size:.75rem;margin-bottom:.65rem}.video-soon{font-size:.8125rem;margin-top:.85rem;padding-top:.5rem}.product-heading>p{max-width:none}}

/* Three image-led cards, following the client's supplied reference. */
.why-grid{gap:1.5rem;align-items:stretch}
.why-grid .why-card{display:flex;flex-direction:column;min-width:0;padding:0;border:0;border-radius:3px;overflow:hidden;background:#fff;color:var(--text)}
.why-card-image{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;flex-shrink:0}
.why-card:first-child .why-card-image{object-position:50% 34%}
.why-card-copy{padding:2rem 1.75rem 2.25rem}
.why-card-copy h3{font-size:1.2rem;font-weight:600;line-height:1.4;letter-spacing:.025em;text-transform:uppercase;text-align:center;min-height:4.2em;margin:0 0 1rem}
.why-grid .why-card-copy p{max-width:none;font-size:1rem;line-height:1.75;color:var(--muted);text-align:center}
@media(max-width:900px){.why-card-copy{padding:1.5rem 1.1rem 1.75rem}.why-card-copy h3{font-size:1.05rem}}
@media(max-width:700px){.why-grid{grid-template-columns:1fr;gap:2rem}.why-card-image{aspect-ratio:16/10}.why-card-copy{padding:1.75rem 1.5rem 2rem}.why-card-copy h3{font-size:1.25rem;min-height:0}.why-grid .why-card-copy p{text-align:left}}

/* Institutional YouTube video, before the services as in the original site. */
.video-section{max-width:1080px}.video-heading{margin-bottom:2.5rem;text-align:center}.video-heading h2 em{color:var(--green)}.video-heading .eyebrow{margin-bottom:1rem}.video-embed{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:3px;background:#081f2c}.video-embed iframe{display:block;width:100%;height:100%;border:0}.video-link{display:flex;justify-content:flex-end;margin-top:1.1rem}@media(max-width:600px){.video-heading{margin-bottom:1.75rem}.video-heading h2{font-size:2rem}.video-link .text-link{font-size:.875rem}}

/* Restrained secondary action on the light cover. */
.hero .outline-light{color:var(--deep);border-color:#8fa9aa;background:#ffffffc7}.hero .outline-light:hover{color:var(--deep);background:#fff;border-color:var(--green)}

@media(min-width:601px) and (max-width:1100px){.hero::before{background:linear-gradient(100deg,rgba(255,255,255,.90),rgba(255,255,255,.80) 55%,rgba(255,255,255,.50) 72%,rgba(255,255,255,.10) 100%)}}

/* ═══ Modifiche richieste dal cliente, 10 settembre 2026 ═══════════════════ */

/* Banda fotografica sopra «In cosa ti siamo d'aiuto»:
   una persona alla scrivania in colloquio con un cliente, testo in bianco sopra. */
.help-section{padding-top:0}
.help-banner{position:relative;isolation:isolate;margin-bottom:var(--space);
  min-height:clamp(340px,34vw,470px);display:grid;align-items:center;
  padding-block:clamp(3rem,5vw,4.5rem);overflow:hidden;background:var(--deep)}
.help-banner__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:58% 50%;z-index:-2}
.help-banner::before{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(6,28,31,.88) 0%,rgba(6,28,31,.76) 40%,rgba(6,28,31,.40) 72%,rgba(6,28,31,.14) 100%)}
.help-banner .section-head{margin-bottom:0}
.help-banner .eyebrow{color:#e8eeee}
.help-banner h2,.help-banner .lead{color:#fff}
@media(max-width:760px){
  .help-banner::before{background:linear-gradient(to bottom,rgba(6,28,31,.86),rgba(6,28,31,.82))}
}

/* Immagini rettangolari nell'elenco dei servizi in home */
.service-row{grid-template-columns:132px 1fr 46px;align-items:center}
.service-thumb{width:132px;height:88px;object-fit:cover;border-radius:3px;display:block}
@media(max-width:760px){
  .service-row{grid-template-columns:96px 1fr 32px;gap:1rem}
  .service-thumb{width:96px;height:66px}
}

/* Immagine nelle schede delle pagine servizio */
.feature-image{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:3px;margin-top:1.6rem;display:block}


/* ═══ Modifiche richieste dal cliente, 14 settembre 2026 ═══════════════════ */

/* Testate delle pagine interne con fotografia e scritta bianca (Servizi, Prodotti) */
.page-hero--photo{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);border-bottom:0}
.page-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.page-hero--photo::before{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(6,28,31,.90) 0%,rgba(6,28,31,.80) 42%,rgba(6,28,31,.46) 74%,rgba(6,28,31,.22) 100%)}
.page-hero--photo h1,.page-hero--photo p{color:#fff}
.page-hero--photo .eyebrow{color:#e8eeee}
@media(max-width:760px){
  .page-hero--photo::before{background:linear-gradient(to bottom,rgba(6,28,31,.84),rgba(6,28,31,.80))}
}

/* Testata verde con scritta bianca (Contatti) */
.page-hero--green{background:var(--deep);border-bottom:0}
.page-hero--green h1,.page-hero--green p{color:#fff}
.page-hero--green .eyebrow{color:#e8eeee}

/* Logo del cliente accanto a «Chi siamo».
   Il file ha il fondo bianco: la fusione «multiply» lo fa sparire sui fondi chiari. */
.brand-logo{display:block;height:auto;mix-blend-mode:multiply}
.intro-top--logo{display:flex;justify-content:center;margin-bottom:3rem}
.intro-top--logo .brand-logo{width:clamp(130px,14vw,170px)}
.page-hero__split{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center}
.brand-logo--hero{width:clamp(140px,15vw,190px)}
@media(max-width:760px){
  .page-hero__split{grid-template-columns:1fr}
  .brand-logo--hero{width:120px;order:-1}
}

/* Modulo: indicazione dei campi facoltativi */
.field-optional{font-weight:400;color:var(--muted);font-size:.875em}

/* Video caricato solo al clic */
.video-facade{position:relative;display:block;width:100%;padding:0;border:0;background:var(--deep);cursor:pointer;overflow:hidden;border-radius:4px}
.video-facade img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .5s ease}
.video-facade:hover img{transform:scale(1.02)}
.video-facade__play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:clamp(64px,8vw,88px);aspect-ratio:1;border-radius:50%;background:var(--green);box-shadow:0 8px 24px rgba(0,0,0,.25);transition:background .2s}
.video-facade__play::after{content:'';position:absolute;inset:50% auto auto 54%;transform:translate(-50%,-50%);border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}
.video-facade:hover .video-facade__play{background:var(--deep)}
.video-facade:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.video-embed iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:4px}
.video-facade__note{font-size:.8125rem;color:var(--muted);margin-top:.75rem}

/* Testo delle pagine legali */
.legal-body{max-width:46rem}
.legal-body h2{font-size:clamp(1.35rem,1.8vw,1.65rem);margin:2.6rem 0 .9rem;color:var(--text)}
.legal-body h2:first-child{margin-top:0}
.legal-body h3{font-size:1.1rem;margin:1.6rem 0 .5rem;color:var(--text)}
.legal-body p,.legal-body li{color:var(--muted);line-height:1.75}
.legal-body ul{margin:0 0 1.2rem;padding-left:1.2rem}
.legal-body li{margin-bottom:.6rem}
.legal-body a{color:var(--green);text-decoration:underline;text-underline-offset:2px}


/* ═══ Modifiche richieste dal cliente, 15 settembre 2026 ═══════════════════ */

/* Marchio: la sola sfera del logo accanto alla scritta */
.brand--mark{flex-direction:row;align-items:center;gap:.7rem}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-mark{display:block;height:46px;width:auto;flex-shrink:0}
@media(max-width:600px){.brand-mark{height:38px}.brand--mark{gap:.55rem}}

/* Sfera del logo in trasparenza sotto i testi Chi siamo / La mission / Cosa facciamo */
.pillar-mark{position:relative;isolation:isolate}
.pillar-mark::before{content:'';position:absolute;z-index:-1;pointer-events:none;
  top:50%;left:50%;width:min(78%,260px);aspect-ratio:262/290;transform:translate(-50%,-44%);
  background:url('../img/logo-sfera.png') center/contain no-repeat;opacity:.07}

/* Bande verdi: i due numeri uno sotto l'altro */
.cta-phones{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}

/* Icone social nel piè di pagina, sotto gli indirizzi */
.footer-social{display:flex;gap:.75rem;margin-top:1.25rem}
.social-link{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--green);transition:background .2s,color .2s,border-color .2s}
.social-link svg{width:18px;height:18px}
.social-link[href]:hover{background:var(--green);border-color:var(--green);color:#fff}
.social-link[aria-disabled="true"]{cursor:default}


/* ═══════════════════════════════════════════════════════════════════════════
   ADATTATORE WORDPRESS
   Sopra: il foglio di stile del sito approvato, invariato.
   Sotto: come i blocchi di WordPress (gruppi, immagini, pulsanti, copertine)
   ricevono le stesse regole, così il sito resta identico e il cliente può
   cambiare testi e foto dall'editor.
   ═══════════════════════════════════════════════════════════════════════════ */

.wp-site-blocks > * { margin-block: 0; }
:where(figure.wp-block-image) { margin: 0; }
.wp-block-image img { vertical-align: top; }
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 46px; } }

/* ── Pulsanti (stili «Verde», «Contorno», «Bianco con freccia») ─────────── */
.wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.wp-block-buttons > .wp-block-button { display: flex; margin: 0; }
.wp-block-button > .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 1.2rem;
  height: auto; padding: .9rem 1.4rem; min-height: 50px;
  font-family: inherit; font-size: .9rem; font-weight: 500; line-height: 1.35; letter-spacing: .005em;
  text-align: center; text-decoration: none; word-break: normal;
  color: inherit; background: transparent; border: 1px solid var(--line); border-radius: 3px; box-shadow: none;
  transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.wp-block-button.is-style-primary > .wp-block-button__link { color: #fff; background: var(--green); border-color: var(--green); }
.wp-block-button.is-style-primary > .wp-block-button__link:hover { background: #11727a; border-color: #11727a; }
.wp-block-button.is-style-outline-light > .wp-block-button__link { color: #fff; border-color: #ffffff80; background: transparent; }
.wp-block-button.is-style-outline-light > .wp-block-button__link:hover { background: #ffffff15; border-color: #fff; }
.hero .wp-block-button.is-style-outline-light > .wp-block-button__link { color: var(--deep); border-color: #8fa9aa; background: #ffffffc7; }
.hero .wp-block-button.is-style-outline-light > .wp-block-button__link:hover { color: var(--deep); background: #fff; border-color: var(--green); }
.wp-block-button.is-style-white > .wp-block-button__link { background: #fff; color: var(--deep); border-color: #fff; }
.wp-block-button.is-style-white > .wp-block-button__link:hover { background: #dcefed; border-color: #dcefed; }
.wp-block-button.is-style-white > .wp-block-button__link::after {
  content: ""; width: 24px; height: 24px; flex-shrink: 0; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.cta .wp-block-button.is-style-white > .wp-block-button__link { padding: 1.05rem 1.4rem; gap: 2.2rem; }
@media (max-width: 850px) { .cta .wp-block-button.is-style-white > .wp-block-button__link { gap: 1rem; } }
@media (max-width: 600px) {
  .cta .wp-block-button.is-style-white > .wp-block-button__link { gap: 1.5rem; }
  .hero .wp-block-button > .wp-block-button__link { font-size: .875rem; width: 100%; }
}

/* ── Link con freccia: paragrafo con stile «text-link» ─────────────────── */
p.text-link { display: block; gap: 0; padding: 0; border: 0; color: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }
.video-link > p.text-link, .product-foot > p.text-link { display: flex; }
.expertise-intro > p.text-link { margin-block: 0; font-size: inherit; }
p.text-link > a {
  display: inline-flex; gap: 1rem; align-items: center; font-weight: 500; color: var(--green);
  font-size: .9375rem; border-bottom: 1px solid #aecbcb; padding-bottom: .4rem; line-height: 1.5;
}
p.text-link > a::after {
  content: ""; width: 21px; height: 24px; flex-shrink: 0; background: currentColor; transition: transform .2s;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
p.text-link > a:hover::after { transform: translateX(4px); }
@media (max-width: 600px) { .video-link p.text-link > a { font-size: .875rem; } }

/* ── Icone disegnate dal foglio di stile (non modificabili per errore) ──── */
.ico-users { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E"); }
.ico-target { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E"); }
.ico-bulb { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M9 22h6M9 14a6 6 0 1 1 6 0c-.7.6-1 1.2-1 2h-4c0-.8-.3-1.4-1-2Z'/%3E%3C/svg%3E"); }
.ico-search { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='7.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E"); }
.ico-trend { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 17 6-6 4 4 8-10M15 5h6v6'/%3E%3C/svg%3E"); }
.ico-plus { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8v8M8 12h8'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E"); }
.ico-handshake { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m11 17 2 2a1 1 0 1 0 3-3M14 14l2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87L21 7l1 1M21 3l-5 5M3 3l5 5M2 8l4-4M2 8l4 8 5 5a1 1 0 1 0 3-3M22 8l-4 8'/%3E%3C/svg%3E"); }
.ico-megaphone { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-5v12L3 13v-2ZM7 14l1 6h3l-1-5M21 4v16'/%3E%3C/svg%3E"); }
.ico-calc { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cpath d='M8 6h8M8 10h2M14 10h2M8 14h2M14 14h2M8 18h2M14 18h2'/%3E%3C/svg%3E"); }
.ico-briefcase { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2M2 12a25 25 0 0 0 20 0M12 11v4'/%3E%3C/svg%3E"); }
.ico-org { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='6' rx='1'/%3E%3Crect x='2' y='16' width='6' height='6' rx='1'/%3E%3Crect x='16' y='16' width='6' height='6' rx='1'/%3E%3Cpath d='M12 8v4M5 16v-4h14v4'/%3E%3C/svg%3E"); }
.ico-chat { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5Z'/%3E%3C/svg%3E"); }
.ico-shield { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-11V5l-8-3-8 3v6c0 7 8 11 8 11Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.has-ico > :is(h2, h3):first-child::before {
  content: ""; display: block; width: 28px; height: 28px; margin-bottom: 1.2rem; background: var(--green);
  -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}
.feature-row .has-ico > h2:first-child::before { margin-bottom: 1.25rem; }
@media (max-width: 600px) {
  .has-ico > :is(h2, h3):first-child::before { margin-bottom: .9rem; }
  .feature-row .has-ico > h2:first-child::before { margin-bottom: 1rem; }
}

/* ── Frecce tonde e collegamenti estesi (servizi e prodotti in home) ─────── */
.service-row, .product-card { position: relative; }
.service-row h3 a::after, .product-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.service-row::after, .product-copy::after {
  content: ""; display: block; width: 46px; height: 46px; flex-shrink: 0; border-radius: 50%;
  border: 1px solid #bfd4d4; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5c63' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 24px no-repeat;
  transition: background-color .2s, border-color .2s, transform .2s;
}
.service-row::after { margin-top: .15rem; }
.service-row:hover::after, .product-card:hover .product-copy::after {
  background-color: var(--green); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); border-color: var(--green); transform: rotate(-35deg);
}
@media (max-width: 600px) { .service-row::after, .product-copy::after { width: 38px; height: 38px; background-size: 19px; } }

/* ── Immagini: la classe sta sul riquadro, la foto lo riempie ───────────── */
figure:is(.service-thumb, .why-card-image, .feature-image) { overflow: hidden; }
figure:is(.service-thumb, .why-card-image, .feature-image) img { width: 100%; height: 100%; object-fit: cover; }
.why-card:first-child figure.why-card-image img { object-position: 50% 34%; }
.split > figure img { width: 100%; aspect-ratio: 1.35; object-fit: cover; border-radius: 3px; }
@media (max-width: 600px) { .split > figure img { aspect-ratio: 1.4; } }
.contact-grid > div > figure img { height: 240px; width: 100%; object-fit: cover; border-radius: 3px; }
figure.brand-logo img { width: 100%; height: auto; }

/* ── Copertine con foto (home, «In cosa ti siamo d'aiuto», Servizi, Prodotti)
      La velatura è quella del sito approvato (::before), la foto sta sotto. ── */
.wp-block-cover:is(.hero, .help-banner, .page-hero--photo) { padding: 0; min-height: 0; overflow: hidden; color: var(--text); justify-content: normal; align-items: center; }
.wp-block-cover:is(.hero, .help-banner, .page-hero--photo) > .wp-block-cover__image-background { z-index: -2; }
.wp-block-cover:is(.hero, .help-banner, .page-hero--photo) > .wp-block-cover__background { display: none; }
.wp-block-cover:is(.hero, .help-banner, .page-hero--photo) > .wp-block-cover__inner-container { z-index: auto; width: 100%; color: inherit; }
.wp-block-cover.hero { display: grid; align-items: center; }
.wp-block-cover.hero > .wp-block-cover__image-background { object-position: 60% 46%; }
@media (min-width: 940px) { .wp-block-cover.hero { min-height: min(92svh, 900px); } }
@media (max-width: 600px) { .wp-block-cover.hero > .wp-block-cover__image-background { object-position: 74% 84%; } }
.wp-block-cover.help-banner { display: grid; align-items: center; padding-block: clamp(3rem, 5vw, 4.5rem); min-height: clamp(340px, 34vw, 470px); }
.wp-block-cover.help-banner > .wp-block-cover__image-background { object-position: 58% 50%; }
.wp-block-cover.page-hero--photo { display: block; padding: calc(82px + var(--space)) 0 4rem; }
@media (max-width: 600px) { .wp-block-cover.page-hero--photo { padding-top: 135px; padding-bottom: 3rem; } }

/* ── Titolo della home su due blocchi (titolo + sottotitolo) ────────────── */
.hero h1.hero__title-a { text-transform: uppercase; letter-spacing: -.896px; color: var(--text); }
.hero p.hero__title-b { text-transform: uppercase; }

/* ── Paragrafi «occhiello» dove l'originale aveva uno <span> ────────────── */
.page-hero p.eyebrow { font-size: .875rem; max-width: none; margin-top: 0; }
.cta p.eyebrow { margin-top: 0; max-width: none; }
.product-foot > p:not(.text-link) { font-size: .8125rem; color: var(--muted); }

/* ── Chiusura verde: numeri di telefono ─────────────────────────────────── */
.cta p.cta-phone { display: flex; margin: 0; max-width: none; color: #fff; border: 0; font-size: inherit; }
.cta p.cta-phone > a { font-size: 1.125rem; color: #fff; border-bottom: 1px solid #ffffff70; }

/* ── Video: copertina collegata a YouTube, pulsante disegnato dal CSS ────── */
.video-facade a { position: relative; display: block; }
.video-facade a::before {
  content: ""; position: absolute; z-index: 1; inset: 50% auto auto 50%; transform: translate(-50%, -50%);
  width: clamp(64px, 8vw, 88px); aspect-ratio: 1; border-radius: 50%; background: var(--green);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25); transition: background .2s;
}
.video-facade a::after {
  content: ""; position: absolute; z-index: 2; top: 50%; left: calc(50% + clamp(64px, 8vw, 88px) * .04);
  transform: translate(-50%, -50%); border-style: solid; border-width: 11px 0 11px 18px;
  border-color: transparent transparent transparent #fff;
}
.video-facade:hover a::before { background: var(--deep); }

/* ── Contatti ───────────────────────────────────────────────────────────── */
.contact-list strong { font-size: .875rem; font-weight: 500; color: var(--green); }

/* ── Piè di pagina a blocchi ────────────────────────────────────────────── */
.footer .footer-grid p.footer-link { margin: 0; font-size: .9375rem; }
.footer .footer-grid p.footer-link > a { display: block; font-size: .9375rem; line-height: 1.9; padding-block: .15rem; color: var(--muted); }
.footer .footer-grid p.footer-link > a:hover { color: var(--green); text-decoration: underline; }
@media (max-width: 600px) { .footer .footer-grid p.footer-link > a { font-size: .875rem; } }

/* Crediti dell'autore del sito, in fondo a destra. */
.footer .footer-legal p.footer-credits a { text-decoration: underline; text-underline-offset: 2px; }
.footer .footer-legal p.footer-credits a:hover { color: var(--green); }

/* Icone social: i loghi ufficiali di YouTube e LinkedIn, con i loro colori. */
.footer-social { align-items: center; gap: 1.1rem; }
.footer-social .social-link { width: auto; height: 32px; border: 0; border-radius: 0; background: none; transition: opacity .2s, transform .2s; }
.footer-social .social-link img { display: block; height: 24px; width: auto; }
.footer-social .social-link[data-social="youtube"] img { height: 22px; }
.footer-social .social-link[href]:hover { background: none; opacity: .85; transform: translateY(-1px); }
