:root{--ink:#162d36;--deep:#102e3b;--deep2:#0d5366;--aqua:#79c5cb;--sky:#e6f1f2;--paper:#fff;--cream:#f6f7f4;--mute:#61747a;--line:#dfe6e4;--radius:17px;--max:1220px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#fff;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{max-width:100%}
::selection{background:#a9d8db;color:#102e3b}
.container{width:min(var(--max),calc(100% - 76px));margin-inline:auto}
.sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.topline{background:var(--deep);color:#dbeaed;font-size:11px;letter-spacing:.11em}
.topline .container{display:flex;justify-content:space-between;align-items:center;min-height:33px}
.topline a{opacity:.9}
.topline a:hover{text-decoration:underline}
.site-header{height:85px;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.site-header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{display:flex;align-items:center;gap:13px;flex-shrink:0}
.logo-symbol{height:43px;width:43px;background:var(--deep);border-radius:10px;display:grid;place-items:center;color:#c2e1e3;position:relative;overflow:hidden}
.logo-symbol:before,.logo-symbol:after{content:"";position:absolute;background:#8cd7d5;border-radius:2px;transform:rotate(-35deg)}
.logo-symbol:before{width:22px;height:4px}.logo-symbol:after{width:4px;height:22px}
.logo-name{font-size:17px;letter-spacing:.125em;font-weight:760;white-space:nowrap}.logo-sub{font-size:9px;letter-spacing:.20em;margin-top:5px;color:var(--mute)}
.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.main-nav a{font-size:12px;color:#344c54;font-weight:560;transition:color .2s}
.main-nav a:hover,.main-nav a:focus-visible{color:#008a96}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:6px;min-height:46px;padding:0 21px;font-size:12px;font-weight:730;letter-spacing:.03em;transition:transform .2s,background .2s,border-color .2s}
.nav-cta,.button.primary{background:var(--deep);color:#fff;border:1px solid var(--deep)}
.button.primary:hover,.nav-cta:hover{background:#1a5867;transform:translateY(-2px)}
.button.secondary{border:1px solid #b6c7c9;background:#fff;color:var(--deep)}
.button.secondary:hover{border-color:#507c83;transform:translateY(-2px)}
.mobile-menu{display:none;border:1px solid #cddcdd;background:#fff;border-radius:8px;width:43px;height:43px;font-size:24px;line-height:1}
.hero{padding:68px 0 74px;background:linear-gradient(137deg,#f8fbfa 0%,#f0f5f3 74%,#eef2ef 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:62px}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:740;color:#26747f}
.kicker:before{content:"";width:23px;height:2px;background:#3ea1a9}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.038em}
h1{font-size:clamp(57px,6.15vw,90px);line-height:1.04;margin:24px 0 25px;max-width:610px}
h1 em{font-weight:400;color:#327885;font-style:italic}
.hero-lead{color:#61767c;font-size:17px;line-height:1.8;max-width:510px;margin-bottom:30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px}
.hero-aside{display:flex;gap:18px;margin-top:51px;padding-top:26px;border-top:1px solid #d5e2df}
.hero-aside span{display:flex;flex-direction:column;gap:4px;min-width:135px;font-size:12px;color:#6c8085;line-height:1.35}
.hero-aside b{color:#24454d;font-size:12px}
.hero-visual{min-height:596px;position:relative;background:linear-gradient(140deg,#bfd9dc,#477d89 51%,#194457 100%);border-radius:180px 10px 10px 10px;box-shadow:28px 28px 0 #dfe9e5;overflow:hidden}
.hero-visual:before{position:absolute;content:"";inset:0;background:radial-gradient(circle at 36% 23%,rgba(255,255,255,.30) 0 17%,transparent 36%),repeating-linear-gradient(38deg,transparent 0 28px,rgba(255,255,255,.035) 29px 30px);pointer-events:none}
.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.83) contrast(.95)}
.hero-visual .rings{position:absolute;z-index:1;width:560px;height:560px;right:-235px;top:-100px;border:1px solid rgba(255,255,255,.35);border-radius:50%;pointer-events:none}
.hero-visual .rings:before,.hero-visual .rings:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.29);border-radius:50%;inset:58px}
.hero-visual .rings:after{inset:110px}
.hero-floating{position:absolute;z-index:3;bottom:26px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:end;gap:16px;color:#fff}
.hero-floating .photo-mark{font-size:clamp(22px,3.3vw,38px);font-family:Georgia,serif;max-width:240px;line-height:1.2;text-shadow:0 1px 12px #17313c8c}
.hero-floating .photo-counter{border:1px solid #ffffff91;border-radius:30px;padding:9px 14px;background:#11374691;white-space:nowrap;font-size:11px;letter-spacing:.12em}
.hero-strip{background:#eaf0ee;border-block:1px solid #dce9e4}
.hero-strip .container{display:flex;justify-content:space-between;gap:20px;padding-top:19px;padding-bottom:19px}
.proof-item{display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:.055em;color:#39535a;font-weight:690}
.proof-icon{height:29px;width:29px;border:1px solid #a9cece;border-radius:50%;display:grid;place-items:center;color:#2d808b;font-size:16px}
.section{padding:100px 0}
.section-head{display:grid;grid-template-columns:250px 1fr;gap:70px;align-items:start;margin-bottom:47px}
.section-index{color:#6a9299;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding-top:11px}
.section h2{font-size:clamp(43px,4.2vw,62px);line-height:1.11;margin:0 0 18px;max-width:760px}
.section-deck{color:#657a80;font-size:16px;line-height:1.75;max-width:730px;margin:0}
.intro{background:#fff}
.intro-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:910px;margin-left:auto}
.intro-content p{color:#5c7077;line-height:1.9;font-size:16px;margin:0}
.small-rule{display:block;height:1px;background:#dae5e3;margin-top:28px}
.services{background:#f5f8f7}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #d9e4e1;border-left:1px solid #d9e4e1}
.service-card{background:rgba(255,255,255,.46);min-height:266px;border-right:1px solid #d9e4e1;border-bottom:1px solid #d9e4e1;padding:26px 28px 25px;display:flex;flex-direction:column;transition:background .2s}
.service-card:hover{background:#fff}
.service-card-top{display:flex;justify-content:space-between;align-items:center;color:#699299}
.service-number{font-family:Georgia,serif;font-size:18px}.service-glyph{font-size:25px;font-weight:300}
.service-card h3{font-family:Georgia,serif;font-size:25px;font-weight:400;letter-spacing:-.03em;line-height:1.2;margin:21px 0 10px}
.service-card p{font-size:13px;line-height:1.75;color:#64787e;max-width:320px;margin-bottom:18px}
.text-link{font-size:12px;font-weight:720;color:#176c7a;margin-top:auto;display:inline-flex;align-items:center;gap:10px}
.text-link:hover{text-decoration:underline}
.accordion{margin-top:22px;background:white;border:1px solid #dce7e5}
.accordion summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:23px 27px;cursor:pointer;font-size:13px;font-weight:780;color:#254d57}
.accordion summary::-webkit-details-marker{display:none}.accordion summary .plus{font-size:23px;line-height:1;transition:transform .2s}.accordion[open] summary .plus{transform:rotate(45deg)}
.all-services{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:25px;padding:23px 27px 30px;border-top:1px solid #e3ece9;align-items:start}
.all-services-column{display:flex;flex-direction:column;gap:25px;min-width:0}
.all-services-column .all-group + .all-group{border-top:1px solid #dce7e4;padding-top:13px}
.all-services .all-group h4{margin:7px 0 13px;line-height:1.4}
@media(max-width:880px) and (min-width:601px){.all-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.all-services-column:first-child{grid-column:1/-1}}
@media(max-width:600px){.all-services{grid-template-columns:1fr;padding:16px 20px 22px;gap:22px}.all-services-column{gap:22px}.all-services-column + .all-services-column{border-top:1px solid #dce7e4;padding-top:15px}}
.all-group h4{font-size:15px;margin:15px 0;color:#234c56}.all-group ul{padding:0;margin:0;list-style:none}.all-group li{font-size:12px;color:#71838a;line-height:1.4;border-top:1px solid #edf2f0;padding:8px 0}
.sis{background:#102f3c;color:#fff;position:relative;overflow:hidden;padding:87px 0}
.sis:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;border:1px solid #397082;right:-80px;top:-130px;pointer-events:none}
.sis:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid #397082;right:20px;top:-30px;pointer-events:none}
.sis-grid{display:grid;grid-template-columns:1fr .8fr;gap:100px;position:relative;z-index:2;align-items:center}
.sis .kicker{color:#91dce0}.sis .kicker:before{background:#91dce0}
.sis h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(46px,5vw,72px);line-height:1.08;letter-spacing:-.05em;margin:23px 0}
.sis h2 span{color:#91dce0;font-style:italic}
.sis p{line-height:1.85;color:#c8dce0;font-size:16px;max-width:600px}
.sis .sis-note{color:#a6bfc5;font-size:12px;margin-top:26px}
.sis-visual{min-height:365px;display:grid;place-items:center;position:relative}
.sis-disc{height:280px;width:280px;border:1px solid #80c7ce8a;border-radius:50%;box-shadow:0 0 0 43px #4a9bb022,0 0 0 88px #4a9bb00e,inset 0 0 0 38px #477b8b35;display:grid;place-items:center}
.sis-disc:before{content:"";height:118px;width:118px;border-radius:50%;background:radial-gradient(circle,#c8f2f2 0 7%,#8bcbd7 7% 12%,#24718a 13% 40%,#154055 41%);box-shadow:0 0 38px #75d7db54}
.sis-label{position:absolute;font-size:10px;letter-spacing:.17em;color:#c6e6e8;bottom:0;text-align:center}
.technology{background:#fff}
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tech-card{padding:35px 31px;min-height:242px;border-radius:12px;border:1px solid #dae5e5;background:#fafcfc}
.tech-num{font-size:11px;color:#3d8993;letter-spacing:.15em;font-weight:800}.tech-card h3{font-family:Georgia,serif;font-weight:400;font-size:27px;margin:31px 0 13px}.tech-card p{font-size:14px;line-height:1.7;color:#687b80}
.gallery{background:#f5f8f7}
.gallery-grid{display:grid;grid-template-columns:1.22fr 1fr 1fr;grid-auto-rows:233px;gap:14px}
.gallery-tile{border:0;padding:0;position:relative;border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#c8dddf,#548995 70%,#1f5265);color:white;text-align:left}
.gallery-tile:first-child{grid-row:span 2}
.gallery-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s;filter:saturate(.88)}
.gallery-tile:hover img{transform:scale(1.04)}
.gallery-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;letter-spacing:.21em;font-size:12px;color:#edf9fa;text-align:center;opacity:.9}.gallery-fallback strong{font-weight:900}
.fallback-line{width:50px;height:50px;border:1px solid #ffffff99;transform:rotate(45deg);position:relative}.fallback-line:after{content:"";position:absolute;left:50%;top:-24px;height:94px;border-left:1px solid #ffffff80;transform:rotate(45deg)}
.gallery-zoom{position:absolute;z-index:2;right:14px;top:14px;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;background:#ffffffea;color:#214a57}
.gallery-tile.empty-photo{cursor:default}.gallery-tile.empty-photo .gallery-zoom{display:none}
.gallery-foot{margin:18px 0 0;color:#7e9398;font-size:12px}
.team{background:#fff}
.team-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-7px 0 28px}
.team-tab{border:1px solid #cbdedd;background:white;border-radius:50px;padding:10px 17px;color:#63787d;font-size:12px;font-weight:700}
.team-tab[aria-pressed=true]{color:white;background:#134457;border-color:#134457}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 18px}
.team-card{min-width:0}.team-card[hidden]{display:none}
.team-photo{height:206px;position:relative;overflow:hidden;background:linear-gradient(140deg,#dbe9e8,#b7d3d4 60%,#6ba0a6);border-radius:10px 10px 0 0;display:grid;place-items:center}
.team-photo:before{content:"";position:absolute;width:200px;height:200px;border-radius:50%;border:1px solid #ffffff8a;right:-76px;top:-82px;box-shadow:0 0 0 32px #ffffff24}
.team-initials{font-family:Georgia,serif;font-size:48px;color:#517980;font-weight:400;z-index:0}
.team-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;z-index:1}
.team-caption{padding:18px 3px 8px}.team-caption h3{font-family:Georgia,serif;font-size:21px;font-weight:400;line-height:1.12;margin:0 0 7px;overflow-wrap:anywhere}.team-caption p{font-size:12px;line-height:1.6;color:#6d8389;margin:0}
.team-disclaimer{color:#809196;font-size:12px;margin:27px 0 0}
.contact{background:#eef4f2;padding-bottom:86px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.contact-panel{padding:37px;background:#fff;border-radius:14px;border:1px solid #e1e9e6}
.contact-panel h3{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:0 0 24px}
.contact-row{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:17px 0;border-top:1px solid #e6ecea;font-size:13px;line-height:1.6}
.contact-row span:first-child{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#77919a;padding-top:2px}.contact-row a{font-weight:690}.contact-row a:hover{text-decoration:underline}
.contact-deep{background:#153c4b;color:#fff;border-radius:14px;padding:41px 40px;display:flex;flex-direction:column;justify-content:space-between;min-height:360px;position:relative;overflow:hidden}
.contact-deep:before{content:"";border:1px solid #81c1c25c;border-radius:50%;width:320px;height:320px;position:absolute;right:-180px;top:-140px;box-shadow:0 0 0 39px #ffffff08}
.contact-deep h3{font-family:Georgia,serif;font-size:clamp(34px,3.5vw,50px);font-weight:400;line-height:1.15;margin:0 0 15px;position:relative;max-width:370px}
.contact-deep p{color:#c8dcdf;line-height:1.75;font-size:14px;max-width:370px}.contact-deep .button{background:#fff;color:#143f4f;border-color:#fff;align-self:start}
.footer{background:#102c38;color:#a9c1c5;padding:30px 0}
.footer .container{display:flex;justify-content:space-between;align-items:center;gap:18px}
.footer-brand{color:#fff;font-weight:800;letter-spacing:.1em;font-size:13px}.footer-sub{font-size:10px;margin-top:7px;color:#9ab6bc}
.footer-right{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.footer-right a{border:0;background:transparent;padding:0;color:#c7d6d9;font-size:11px}.footer-right a:hover,.footer-right a:focus-visible{text-decoration:underline}
.backtotop{border:1px solid #7fa8ac67;border-radius:50%;background:#153e4e;color:white;width:43px;height:43px;display:grid;place-items:center;position:fixed;bottom:18px;right:20px;z-index:20;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;box-shadow:0 8px 25px #183e4e38}
.backtotop.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.gallery-dialog{border:0;padding:24px;background:#102d39;max-width:min(1020px,96vw);max-height:96vh;box-shadow:0 20px 90px #0008}.gallery-dialog::backdrop,.legal-dialog::backdrop{background:#0a1d25c7;backdrop-filter:blur(5px)}
.gallery-dialog img{max-height:83vh;max-width:calc(96vw - 48px);object-fit:contain;display:block}
.gallery-dialog button{position:absolute;right:9px;top:8px;border:0;background:#f7faf8;color:#143f4b;border-radius:50%;width:36px;height:36px;font-size:24px}
.legal-dialog{border:0;max-height:94vh;width:min(810px,95vw);background:white;color:#193640;padding:0;box-shadow:0 22px 90px #0007}
.dialog-top{position:sticky;z-index:2;top:0;background:white;padding:17px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2eae9;font-size:11px;letter-spacing:.15em;color:#52717a}
.dialog-close{font-size:28px;width:36px;height:36px;border:0;background:#eff5f3;border-radius:50%;color:#153f4b}
.legal-copy{padding:18px 38px 46px}.legal-copy .legal-kicker{display:none}.legal-copy h2{font-family:Georgia,serif;font-size:39px;font-weight:400;margin:12px 0 22px}.legal-copy h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:27px 0 8px}.legal-copy p,.legal-copy li{font-size:13px;line-height:1.75;color:#60777e}.legal-copy ul{padding-left:20px}
.legal-note{padding:15px 18px;background:#eaf3f3;border-left:3px solid #3d8190;font-size:12px;line-height:1.6;color:#41636b}
.legal-placeholder{background:#f3efe2;padding:2px 5px;border-radius:3px}.legal-updated{color:#688085;font-size:11px;margin-top:27px;border-top:1px solid #e5ece9;padding-top:15px}
@media(max-width:1150px){.main-nav{gap:15px}.hero-grid{gap:40px}.team-grid{grid-template-columns:repeat(3,1fr)}.section-head{grid-template-columns:180px 1fr;gap:42px}}
@media(max-width:880px){.container{width:min(var(--max),calc(100% - 40px))}.mobile-menu{display:block;margin-left:auto}.site-header .nav-cta{display:none}.main-nav{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:white;padding:12px 20px 20px;box-shadow:0 14px 24px #132f3926;border-top:1px solid #edf1f0}.main-nav.open{display:flex}.main-nav a{font-size:14px;padding:14px 9px;border-bottom:1px solid #edf1f0}.hero-grid{grid-template-columns:1fr;gap:40px}.hero{padding-top:52px}.hero-visual{min-height:450px;max-width:670px}.hero-aside{margin-top:33px}.section{padding:76px 0}.section-head{grid-template-columns:1fr;gap:16px}.intro-content{margin:0;gap:28px}.sis-grid{grid-template-columns:1fr;gap:12px}.sis-visual{min-height:300px}.services-grid{grid-template-columns:repeat(2,1fr)}.tech-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-auto-rows:180px}.contact-grid{gap:14px}}
@media(max-width:600px){.topline .container span:last-child{display:none}.site-header{height:72px}.main-nav{top:71px}.logo-symbol{height:38px;width:38px}.logo-name{font-size:14px}.logo-sub{font-size:8px}.container{width:calc(100% - 32px)}.hero{padding:39px 0 52px}h1{font-size:clamp(49px,12vw,64px)}.hero-lead{font-size:15px}.hero-visual{min-height:360px;border-radius:105px 10px 10px 10px;box-shadow:10px 10px 0 #dfe9e5}.hero-floating .photo-mark{font-size:23px}.hero-aside{gap:14px;flex-wrap:wrap}.hero-aside span{min-width:115px}.hero-strip .container{flex-wrap:wrap;gap:18px}.proof-item{flex:0 0 calc(50% - 9px);font-size:11px}.section{padding:66px 0}.section h2{font-size:42px}.section-head{margin-bottom:32px}.intro-content,.services-grid,.tech-grid,.contact-grid{grid-template-columns:1fr}.intro-content{gap:18px}.intro-content p{font-size:14px}.service-card{min-height:230px}.all-services{grid-template-columns:1fr;padding:6px 20px 20px}.sis{padding:65px 0}.sis h2{font-size:48px}.sis p{font-size:14px}.sis-visual{min-height:255px}.sis-disc{height:190px;width:190px;box-shadow:0 0 0 26px #4a9bb022,0 0 0 52px #4a9bb00e}.sis-disc:before{height:85px;width:85px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:220px repeat(2,155px);grid-auto-rows:155px;gap:9px}.gallery-tile:first-child{grid-column:1 / -1;grid-row:1;height:auto;min-height:0}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.team-photo{height:176px}.team-caption h3{font-size:19px}.team-caption p{font-size:11px}.contact-panel,.contact-deep{padding:28px}.contact-row{grid-template-columns:85px 1fr;gap:12px}.footer .container{flex-direction:column;align-items:start}.footer-right{gap:12px 21px}.legal-copy{padding:15px 22px 32px}.dialog-top{padding:12px 18px}}
@media(max-width:370px){.team-grid{grid-template-columns:1fr}.team-photo{height:220px}.hero-actions .button{width:100%}.proof-item{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* HOME v2 — intestazione e immagine approvate, sezioni successive ancora in revisione */
:root{--blue-brand:#0878b8;--orange-brand:#e27319}
.site-header{height:103px;background:#fff;border-bottom:1px solid #e7edf0;position:sticky;top:0;z-index:50}
.site-header .container{width:min(1250px,calc(100% - 64px));height:100%;gap:25px}
.brand{display:flex;align-items:center;gap:18px;flex-shrink:0;text-decoration:none}
.brand img{width:72px;height:65px;object-fit:contain;display:block}
.wordmark{display:flex;flex-direction:column;justify-content:center;gap:4px;font-family:Outfit,"Avenir Next",Arial,sans-serif}
.wordmark strong{font-size:30px;font-weight:600;letter-spacing:.018em;line-height:1;color:#173744;white-space:nowrap}
.wordmark .sub{font-size:10px;color:var(--orange-brand);font-weight:600;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}
.site-header .main-nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.site-header .main-nav a{font-family:Outfit,Arial,sans-serif;font-size:13px;font-weight:500;color:#173744;white-space:nowrap}
.site-header .main-nav a:hover{color:var(--blue-brand)}
.site-header .nav-cta{background:var(--blue-brand);border-color:var(--blue-brand);font-family:Outfit,Arial,sans-serif;border-radius:5px;padding:0 17px;white-space:nowrap;font-size:13px;font-weight:600;min-height:42px}
.site-header .nav-cta:hover{background:#06699f}
.hero{background:linear-gradient(135deg,#f9fcfb 0%,#f1f6f5 75%,#f5f8f7 100%)}
.kicker{color:#216c82}.kicker:before{background:var(--orange-brand)}
h1 em{color:#25789b}
.hero-visual{background:#e9f1f2;border-radius:180px 10px 10px 10px;box-shadow:28px 28px 0 #dfe9e5}
.hero-visual:before{display:none}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:none}
.hero-actions .button.primary{background:var(--blue-brand);border-color:var(--blue-brand)}
.hero-actions .button.primary:hover{background:#06699f}
@media(max-width:1200px){.site-header .main-nav{gap:13px}.brand img{width:62px;height:58px}.wordmark strong{font-size:25px}.wordmark .sub{font-size:9px}}
@media(max-width:1000px){.site-header .main-nav{display:none}.site-header .mobile-menu{display:block;margin-left:auto}.site-header .main-nav.open{display:flex;position:absolute;top:102px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:white;padding:12px 20px 20px;box-shadow:0 14px 24px #132f3926;border-top:1px solid #edf1f0}.site-header .main-nav.open a{padding:14px 9px;border-bottom:1px solid #edf1f0;font-size:15px}}
@media(max-width:600px){.site-header{height:85px}.site-header .container{width:calc(100% - 34px)}.brand{gap:9px}.brand img{width:55px;height:52px}.wordmark strong{font-size:22px}.wordmark .sub{font-size:7.5px;letter-spacing:.14em}.site-header .nav-cta{display:none}.site-header .main-nav.open{top:84px}.hero-visual{min-height:390px;border-radius:105px 10px 10px 10px;box-shadow:11px 11px 0 #dfe9e5}}
@media(max-width:370px){.brand img{width:48px;height:48px}.wordmark strong{font-size:19px}.wordmark .sub{font-size:7px}}


/* Sporting Club · Team v3: portraits with consistent 4:5 sizing */
.team{background:#f8faf9}
.team .section-head{margin-bottom:32px}
.team-tabs{margin:0 0 34px;gap:10px}
.team-tab{font-family:Outfit,Arial,sans-serif;font-weight:600;font-size:12px;border-color:#d6e3e5;padding:11px 17px}
.team-tab[aria-pressed=true]{background:#0878b8;border-color:#0878b8;color:#fff}
.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 21px}
.team-card{background:transparent;min-width:0}
.team-photo{height:auto;aspect-ratio:4/5;background:#dce7eb;border-radius:10px;overflow:hidden;display:grid;place-items:center}
.team-photo img{width:100%;height:100%;inset:0;position:absolute;object-fit:cover;object-position:center center;filter:saturate(.96);transition:transform .3s ease}
.team-card:hover .team-photo img{transform:scale(1.03)}
.team-photo:before{display:none}
.team-photo--pending{background:linear-gradient(148deg,#ebf4f6,#d5e9ef 67%,#c1dce7)}
.team-photo--pending:after{content:'';position:absolute;inset:17px;border:1px solid #ffffffb5;border-radius:5px;pointer-events:none}
.team-pending{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:#4c8397}
.team-initials{font-family:Outfit,sans-serif;font-weight:400;font-size:47px;color:#418ba9;letter-spacing:.04em}
.team-coming{font:500 10px Outfit,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:#5e8793}
.team-caption{padding:18px 2px 5px}
.team-caption h3{font-family:Outfit,Arial,sans-serif;font-weight:600;font-size:21px;letter-spacing:-.024em;color:#143441;line-height:1.2;margin:0 0 7px}
.team-caption p{font-family:Outfit,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.55;color:#627982;margin:0}
.team-disclaimer{margin-top:35px;color:#657e86;font:400 12px/1.6 Outfit,Arial,sans-serif}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 13px}.team-caption h3{font-size:18px}.team-photo{aspect-ratio:4/5}.team-tabs{gap:7px}.team-tab{font-size:11px;padding:10px 12px}}
@media(max-width:370px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-caption h3{font-size:16px}.team-coming{font-size:8px}}

/* TEAM v4 · Founder profile and complete team */
.team{background:#f8faf9}
.team .section-head{margin-bottom:36px}
.founder-feature{display:grid;grid-template-columns:minmax(265px,39%) 1fr;min-height:430px;overflow:hidden;border-radius:16px;background:#e8f2f3;margin-bottom:94px;box-shadow:0 1px 0 #d5e2e4}
.founder-image{position:relative;overflow:hidden;min-height:430px;background:#cbdcde}
.founder-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 32%;filter:saturate(.92)}
.founder-copy{align-self:center;padding:52px clamp(35px,5vw,78px)}
.founder-eyebrow{color:#20789d;display:flex;align-items:center;gap:12px;font-family:Outfit,Arial,sans-serif;font-weight:700;letter-spacing:.17em;font-size:10px}
.founder-eyebrow span{display:block;width:23px;height:2px;background:#e57521}
.founder-copy h3{font-size:clamp(39px,4.7vw,68px);font-weight:500;font-family:Georgia,'Times New Roman',serif;line-height:1.04;letter-spacing:-.05em;color:#18343e;margin:24px 0 10px}
.founder-role{font-family:Outfit,Arial,sans-serif;font-weight:600;font-size:14px;color:#287a97;letter-spacing:.03em;margin:0}
.founder-line{margin:25px 0;height:1px;width:53px;background:#e57521}
.founder-description{font-size:17px;line-height:1.75;color:#385760;max-width:590px;margin:0 0 18px}
.founder-caption{font-size:14px;line-height:1.7;color:#6d878a;max-width:590px;margin:0}
.team-list-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:27px;border-bottom:1px solid #dfe9e7;padding-bottom:23px}
.team-eyebrow{display:block;font-family:Outfit,Arial,sans-serif;color:#2c83a0;font-size:11px;letter-spacing:.17em;font-weight:700;margin-bottom:12px}
.team-list-head h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.05em;font-size:clamp(35px,3.5vw,51px);margin:0}
.team-list-head p{max-width:340px;font-size:13px;line-height:1.6;margin:0 0 6px;color:#6a8188}
.team-tabs{margin-bottom:34px;gap:10px}
.team-tab[aria-pressed=true]{background:#0878b8;border-color:#0878b8}
.team-photo{aspect-ratio:4/5;border-radius:10px;background:#dbe7e9}
.team-photo img{object-fit:cover;object-position:center center}
.team-caption h3{font-family:Outfit,Arial,sans-serif}
@media (max-width:900px){.founder-feature{grid-template-columns:40% 1fr}.founder-copy{padding:32px}.founder-description{font-size:15px}}
@media (max-width:700px){.founder-feature{grid-template-columns:1fr;min-height:auto;margin-bottom:64px}.founder-image{min-height:375px;max-height:400px}.founder-image img{object-position:center 25%}.founder-copy{padding:36px 28px 40px}.team-list-head{align-items:start;flex-direction:column;gap:8px}.team-list-head p{margin:0}}

/* TEAM V5 - Layout editoriale fedele alle fotografie originali */
.team{background:#f9fbfc}
.team .section-head{margin-bottom:34px}
.founder-feature{background:linear-gradient(135deg,#edf5f8,#f7f9f8);border:1px solid #dce9ed;box-shadow:none;border-radius:18px;grid-template-columns:minmax(290px,40%) 1fr;margin-bottom:80px}
.founder-image{background:#d6e4e9}
.founder-image:after{content:'';position:absolute;inset:auto 20px 20px auto;width:48px;height:3px;background:#e37319}
.founder-copy{padding:clamp(28px,5vw,72px)}
.founder-eyebrow{color:#076d9d}
.founder-eyebrow span{background:#e37319}
.founder-copy h3{color:#17313a}
.founder-role{color:#0878b8}
.founder-line{background:#e37319}
.team-eyebrow{color:#0878b8}
.team-list-head{border-color:#d8e6eb}
.team-list-head h3{color:#17313a}
.team-tabs{margin-bottom:26px}
.team-tab[aria-pressed=true]{background:#0878b8;color:white;border-color:#0878b8}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 19px}
.team-card{overflow:hidden;background:#fff;border:1px solid #e4ebed;border-radius:12px;box-shadow:0 2px 11px rgba(20,55,65,.035)}
.team-photo{border-radius:0;overflow:hidden;aspect-ratio:4/5}
.team-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.98)}
.team-caption{padding:15px 16px 19px}
.team-caption h3{font-size:19px;line-height:1.22;font-weight:600;margin:0 0 5px;letter-spacing:-.02em;color:#17313a}
.team-caption p{color:#53717c;margin:0;line-height:1.4;font-size:12px}
@media(max-width:1050px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 11px}.team-caption{padding:11px 10px 14px}.team-caption h3{font-size:15px}.team-caption p{font-size:11px}.founder-feature{grid-template-columns:1fr;margin-bottom:60px}.founder-image{min-height:430px}.founder-copy{padding:31px 26px 35px}}
@media(max-width:390px){.team-caption h3{font-size:14px}}


/* SPORTING CLUB FKT · SITO COMPLETO · SLOT FOTO ANCORA VUOTI */
.founder-image{display:grid;place-items:center;background:linear-gradient(147deg,#c8e0e9 0%,#e9f3f5 58%,#d7e6eb 100%)}
.founder-image:before{content:"";position:absolute;width:350px;height:350px;border:1px solid rgba(255,255,255,.70);border-radius:50%;top:-130px;right:-120px;box-shadow:0 0 0 65px rgba(255,255,255,.10)}
.founder-placeholder{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;position:relative;z-index:1}
.founder-placeholder-monogram{font:400 clamp(100px,12vw,156px)/1 Georgia,serif;letter-spacing:-.08em;color:#27677e}
.founder-placeholder-label{font:600 11px/1.4 Outfit,Arial,sans-serif;letter-spacing:.22em;color:#476e7d}
.founder-placeholder-rule{width:40px;height:2px;background:#e37319}
.team-photo--pending{background:linear-gradient(144deg,#ecf3f6,#d7e7ee 63%,#c2dce8)}
.team-photo--pending:before{content:"";display:block;position:absolute;inset:15px;border:1px solid rgba(255,255,255,.8);border-radius:4px}
.team-photo--pending .team-pending{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px}
.team-photo--pending .team-initials{font:400 clamp(32px,3.3vw,49px)/1 Georgia,serif;letter-spacing:-.035em;color:#32718b}
.team-photo--pending .team-coming{font:600 9px/1.2 Outfit,Arial,sans-serif;letter-spacing:.15em;color:#668e9e}
/* Keep long names legible while preserving the approved grid layout. */
.team-caption h3{overflow-wrap:normal;hyphens:auto}
@media (max-width:700px){.founder-placeholder{min-height:375px}.founder-placeholder-monogram{font-size:108px}}
@media (max-width:370px){.team-photo--pending .team-coming{font-size:7px;letter-spacing:.09em}}

/* SIS come sezione-immagine completa sostituibile */
.sis.sis-static{padding:0;background:#102f3c;overflow:hidden;min-height:0}
.sis.sis-static .container{width:100%;max-width:none;margin:0}
.sis-static .sis-composite{width:100%;background:#102f3c;border-radius:0;min-height:0}
.sis-static .sis-composite>img.photo-img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:cover;opacity:0;z-index:2}
.sis-static .sis-composite.photo-loaded>img.photo-img{opacity:1}
.sis-static .sis-composite .photo-missing{position:relative;min-height:520px;border-radius:0;background:linear-gradient(135deg,#0f3340 0%,#184e61 52%,#0f3340 100%);color:#d8eef2}
.sis-static .sis-composite .photo-missing:before{inset:18px;border-color:rgba(255,255,255,.28)}
.sis-static .sis-composite .photo-missing-caption{color:#bde7ea}
.sis-static .sis-composite .photo-filename{background:#ffffffeb}
.sis-static .sis-composite .photo-missing-hint{color:#d6ecef}
.sis-static .sis-composite .photo-admin-label{top:14px;right:14px;bottom:auto;left:auto}
@media(max-width:760px){.sis-static .sis-composite .photo-missing{min-height:300px}}


/* V16 · SIS: immagine intera approvata su desktop, pulsante attivo; mobile leggibile. */
.sis-static .sis-composite { position:relative; }
.sis-static .sis-composite .sis-active-link {
 position:absolute;z-index:9;
 left:7.64%; top:77.21%; width:13.30%; height:7.49%;
 border-radius:6px; cursor:pointer;
}
.sis-static .sis-composite .sis-active-link:hover{box-shadow:inset 0 0 0 2px rgba(37,117,138,.7)}
.sis-static .sis-composite .sis-active-link:focus-visible{outline:3px solid #f28a25;outline-offset:3px}
.sis-static .sis-mobile-layout{display:none}
@media(max-width:760px){
 .sis-static{min-height:0!important;padding:0!important}
 .sis-static .sis-desktop-layout{display:none}
 .sis-static .sis-mobile-layout{display:block;position:relative;isolation:isolate;overflow:hidden;background:#102f3c;color:white;padding:54px 24px 248px;min-height:690px}
 .sis-static .sis-mobile-content{position:relative;z-index:2;max-width:560px;margin:auto}
 .sis-static .sis-mobile-content .kicker{color:#93d9de;font-size:10px;letter-spacing:.15em}
 .sis-static .sis-mobile-content .kicker:before{background:#e37319}
 .sis-static .sis-mobile-content h2{font-family:Georgia,serif;font-size:clamp(42px,10.6vw,56px);line-height:1.09;letter-spacing:-.04em;margin:24px 0 24px}
 .sis-static .sis-mobile-content h2 span{color:#91dce0;font-style:italic}
 .sis-static .sis-mobile-content p{font-size:14px;line-height:1.67;max-width:520px;color:#d2dfe2;margin:0 0 20px}
 .sis-static .sis-mobile-content .sis-note{font-size:12px;color:#a9c1c6;margin:23px 0 17px}
 .sis-static .sis-mobile-content .sis-real-button{display:inline-flex;position:relative;z-index:3}
 .sis-static .sis-mobile-machine{
  position:absolute;z-index:1;bottom:-22px;right:0;
  width:100%;height:330px;max-width:none;object-fit:cover;object-position:right center;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.94) 34%,#000 72%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.94) 34%,#000 72%,transparent 100%);
  pointer-events:none;
 }
}

/* ===== Foto aggiornabili tramite nome file, senza modificare HTML ===== */
.photo-slot{position:relative;overflow:hidden;isolation:isolate}
.photo-slot > img.photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:2;transition:opacity .25s ease}
.photo-slot.photo-loaded > img.photo-img{opacity:1}
.photo-slot .photo-missing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:18px;z-index:1;background:linear-gradient(145deg,#edf5f6 0%,#c8dce0 54%,#bdd4d8 100%);color:#285064}
.photo-slot .photo-missing:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.55);border-radius:inherit;pointer-events:none}
.photo-slot .photo-missing-caption{font:700 10px/1.5 Outfit,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#447485;z-index:1}
.photo-slot .photo-filename{font:700 clamp(10px,1.2vw,16px)/1.4 Outfit,Arial,sans-serif;overflow-wrap:anywhere;word-break:break-word;color:#153b5b;z-index:1;background:#ffffffe0;padding:8px 10px;border:1px solid #ffffffc9;border-radius:5px;max-width:100%}
.photo-slot .photo-missing-hint{font:400 10px/1.4 Outfit,Arial,sans-serif;color:#5b7b82;z-index:1}
.photo-slot.photo-loaded .photo-missing{display:none}
.photo-admin-label{display:none;position:absolute;z-index:4;bottom:11px;left:11px;max-width:calc(100% - 22px);background:#123c52e8;color:white;border:1px solid #ffffff66;border-radius:4px;padding:5px 7px;font:600 10px/1.3 Outfit,Arial,sans-serif;overflow-wrap:anywhere;pointer-events:none}
body.photo-names-mode .photo-slot.photo-loaded .photo-admin-label{display:block}
body.photo-names-mode .photo-slot.photo-loaded:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px #e27319;z-index:3;pointer-events:none}
/* Home: la fotografia originale resta protagonista; se manca, il nome appare nel riquadro */
.hero-visual.photo-slot .photo-missing{border-radius:inherit}
.hero-visual.photo-slot .photo-filename{font-size:15px}
/* Il Centro: una fotografia grande a sinistra, quattro foto piccole a destra */
.centro-photo-layout{margin:50px auto 0;display:grid;grid-template-columns:1.12fr 1fr;gap:13px;min-height:474px}
.centro-photo-main,.centro-photo-mini{border-radius:10px;background:#dee9e9;min-width:0;box-shadow:0 8px 27px #122b3410}
.centro-photo-main{min-height:474px}
.centro-photo-minis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:13px;min-height:474px}
.centro-photo-mini{min-height:0}
.centro-photo-main .photo-filename{font-size:17px}
.centro-photo-mini .photo-filename{font-size:12px}
.centro-photo-mini .photo-missing{gap:7px;padding:12px}
.centro-photo-mini .photo-missing-hint{font-size:9px}
/* Team: nome esatto del file invece delle iniziali */
.team-photo .photo-filename{font-size:11px;padding:6px 7px}
.team-photo .photo-missing{padding:9px;gap:7px}
.team-photo .photo-missing-caption{font-size:9px}
.team-photo .photo-missing-hint{font-size:9px}
.founder-image .photo-filename{font-size:17px}
/* Galleria: le foto esistenti possono essere sostituite nella stessa cartella */
.gallery-tile.photo-slot .photo-img{filter:saturate(.88)}
.gallery-tile.photo-slot .photo-missing{color:#295366}
.gallery-tile.photo-slot .photo-filename{font-size:12px}
.gallery-tile.photo-slot:not(.photo-loaded) .gallery-zoom{display:none}
@media(max-width:980px){.centro-photo-layout{grid-template-columns:1fr;min-height:0}.centro-photo-main{min-height:420px}.centro-photo-minis{min-height:420px}}
@media(max-width:600px){.centro-photo-layout{margin-top:30px;gap:9px}.centro-photo-main{min-height:300px}.centro-photo-minis{min-height:270px;gap:9px}.centro-photo-mini .photo-filename{font-size:10px;padding:5px}.centro-photo-mini .photo-missing-caption{font-size:8px}.centro-photo-mini .photo-missing-hint{display:none}.team-photo .photo-filename{font-size:10px}.founder-image .photo-filename{font-size:14px}}

/* SIS come sezione-immagine completa sostituibile */
.sis.sis-static{padding:0;background:#102f3c;overflow:hidden;min-height:0}
.sis.sis-static .container{width:100%;max-width:none;margin:0}
.sis-static .sis-composite{width:100%;background:#102f3c;border-radius:0;min-height:0}
.sis-static .sis-composite>img.photo-img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:cover;opacity:0;z-index:2}
.sis-static .sis-composite.photo-loaded>img.photo-img{opacity:1}
.sis-static .sis-composite .photo-missing{position:relative;min-height:520px;border-radius:0;background:linear-gradient(135deg,#0f3340 0%,#184e61 52%,#0f3340 100%);color:#d8eef2}
.sis-static .sis-composite .photo-missing:before{inset:18px;border-color:rgba(255,255,255,.28)}
.sis-static .sis-composite .photo-missing-caption{color:#bde7ea}
.sis-static .sis-composite .photo-filename{background:#ffffffeb}
.sis-static .sis-composite .photo-missing-hint{color:#d6ecef}
.sis-static .sis-composite .photo-admin-label{top:14px;right:14px;bottom:auto;left:auto}
@media(max-width:760px){.sis-static .sis-composite .photo-missing{min-height:300px}}

/* Sporting Club FKT – v7: lineette arancioni come nella Home, prima del numero di ogni settore. */
.section-index{display:inline-flex;align-items:center;gap:11px;padding-top:11px}
.section-index::before{content:"";display:block;width:23px;min-width:23px;height:2px;background:#e37319}
.sis .kicker::before{background:#e37319}
/* Sezione 05: una fotografia grande e QUATTRO piccole, tutte inizialmente vuote. Aggiungere i file foto/galleria-01.jpg ... 05.jpg per visualizzarle. */
.gallery-grid{grid-template-columns:1.22fr 1fr 1fr;grid-auto-rows:233px;gap:14px}
.gallery-tile:first-child{grid-row:span 2}
@media(max-width:880px){.gallery-grid{grid-auto-rows:180px}}
@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:220px repeat(2,155px);grid-auto-rows:155px;gap:9px}.gallery-tile:first-child{grid-column:1 / -1;grid-row:1;height:auto;min-height:0}}
/* Correzione Fondatore: la foto originale resta invariata.
   Ancora superiore per non tagliare la testa di Andrea sul desktop o sul telefono. */
.founder-image.photo-slot > img.photo-img {
  object-position: center top;
}

/* SIS come sezione-immagine completa sostituibile */
.sis.sis-static{padding:0;background:#102f3c;overflow:hidden;min-height:0}
.sis.sis-static .container{width:100%;max-width:none;margin:0}
.sis-static .sis-composite{width:100%;background:#102f3c;border-radius:0;min-height:0}
.sis-static .sis-composite>img.photo-img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:cover;opacity:0;z-index:2}
.sis-static .sis-composite.photo-loaded>img.photo-img{opacity:1}
.sis-static .sis-composite .photo-missing{position:relative;min-height:520px;border-radius:0;background:linear-gradient(135deg,#0f3340 0%,#184e61 52%,#0f3340 100%);color:#d8eef2}
.sis-static .sis-composite .photo-missing:before{inset:18px;border-color:rgba(255,255,255,.28)}
.sis-static .sis-composite .photo-missing-caption{color:#bde7ea}
.sis-static .sis-composite .photo-filename{background:#ffffffeb}
.sis-static .sis-composite .photo-missing-hint{color:#d6ecef}
.sis-static .sis-composite .photo-admin-label{top:14px;right:14px;bottom:auto;left:auto}
@media(max-width:760px){.sis-static .sis-composite .photo-missing{min-height:300px}}

/* Versione 10 — fotografie indipendenti, proporzioni coerenti, nessun ritaglio automatico. */
/* La foto della Home usa la stessa cartella e lo stesso sistema del Team:
   basta sostituire foto/home-principale.jpg e ricaricare il sito. */
.hero-visual.photo-slot {
  aspect-ratio: 4 / 5;
  min-height: 0;
  height: auto;
  position: relative;
}
.hero-visual.photo-slot > img.photo-img {
  object-fit: contain;
  object-position: center center;
  width: 100%; height: 100%;
}
/* Andrea usa proporzioni 4:5 come il Team ma un riquadro più grande. */
.founder-feature {
  min-height: 0;
  align-items: center;
}
.founder-image.photo-slot {
  min-height: 0;
  max-height: none;
  height: auto;
  aspect-ratio: 4 / 5;
  align-self: center;
  width: 100%;
}
.founder-image.photo-slot > img.photo-img {
  object-fit: contain;
  object-position: center center;
  width:100%; height:100%;
}
/* Riga arancione lunga quanto "Fondatore di Sporting Club FKT". */
.founder-role-group {
  display: inline-flex;
  flex-direction: column;
  max-width: 100%;
}
.founder-role-group .founder-role {
  margin: 0;
}
.founder-role-group .founder-line {
  width: 100%;
  height: 2px;
  background: #e37319;
  margin: 14px 0 24px;
  flex-shrink: 0;
}
@media(max-width: 700px) {
  .founder-image.photo-slot {
    min-height: 0;
    max-height: none;
    width: 100%;
    aspect-ratio: 4 / 5;
  }
  .hero-visual.photo-slot {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }
}

/* SIS come sezione-immagine completa sostituibile */
.sis.sis-static{padding:0;background:#102f3c;overflow:hidden;min-height:0}
.sis.sis-static .container{width:100%;max-width:none;margin:0}
.sis-static .sis-composite{width:100%;background:#102f3c;border-radius:0;min-height:0}
.sis-static .sis-composite>img.photo-img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:cover;opacity:0;z-index:2}
.sis-static .sis-composite.photo-loaded>img.photo-img{opacity:1}
.sis-static .sis-composite .photo-missing{position:relative;min-height:520px;border-radius:0;background:linear-gradient(135deg,#0f3340 0%,#184e61 52%,#0f3340 100%);color:#d8eef2}
.sis-static .sis-composite .photo-missing:before{inset:18px;border-color:rgba(255,255,255,.28)}
.sis-static .sis-composite .photo-missing-caption{color:#bde7ea}
.sis-static .sis-composite .photo-filename{background:#ffffffeb}
.sis-static .sis-composite .photo-missing-hint{color:#d6ecef}
.sis-static .sis-composite .photo-admin-label{top:14px;right:14px;bottom:auto;left:auto}
@media(max-width:760px){.sis-static .sis-composite .photo-missing{min-height:300px}}

/* Call action in mobile navigation, without duplicating desktop CTA. */
.main-nav .mobile-call{display:none}
@media (max-width:880px){
 .site-header .main-nav .mobile-call{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;padding:12px 18px;background:var(--blue-brand,#0878B8);color:#fff;border:1px solid var(--blue-brand,#0878B8);border-radius:5px;font-family:Outfit,Arial,sans-serif;font-size:14px;font-weight:600}
 .site-header .main-nav .mobile-call:hover{color:#fff;background:#06699f}
}

/* SIS come sezione-immagine completa sostituibile */
.sis.sis-static{padding:0;background:#102f3c;overflow:hidden;min-height:0}
.sis.sis-static .container{width:100%;max-width:none;margin:0}
.sis-static .sis-composite{width:100%;background:#102f3c;border-radius:0;min-height:0}
.sis-static .sis-composite>img.photo-img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:cover;opacity:0;z-index:2}
.sis-static .sis-composite.photo-loaded>img.photo-img{opacity:1}
.sis-static .sis-composite .photo-missing{position:relative;min-height:520px;border-radius:0;background:linear-gradient(135deg,#0f3340 0%,#184e61 52%,#0f3340 100%);color:#d8eef2}
.sis-static .sis-composite .photo-missing:before{inset:18px;border-color:rgba(255,255,255,.28)}
.sis-static .sis-composite .photo-missing-caption{color:#bde7ea}
.sis-static .sis-composite .photo-filename{background:#ffffffeb}
.sis-static .sis-composite .photo-missing-hint{color:#d6ecef}
.sis-static .sis-composite .photo-admin-label{top:14px;right:14px;bottom:auto;left:auto}
@media(max-width:760px){.sis-static .sis-composite .photo-missing{min-height:300px}}

/* V13 · SIS scenografico: UNA sola fotografia integrata, senza bordi.
   Sostituisci foto/tecnologia-sis.jpg per cambiarla, come per il Team. */
.sis {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#102f3c;
  min-height:600px;
  display:flex;
  align-items:center;
}
.sis:before,.sis:after{content:none;display:none}
.sis-photo-layer.photo-slot{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
/* Due sfumature combinate evitano qualsiasi giunzione verticale o orizzontale.
   Il dispositivo sembra emergere dal blu, anche sostituendo la fotografia. */
.sis-photo-layer.photo-slot > img.photo-img{
  position:absolute;
  top:-8%;right:-4%;bottom:auto;left:auto;
  width:auto;height:116%;max-width:none;
  object-fit:contain;object-position:center;
  filter:saturate(.86) brightness(.95);
  opacity:0;
  -webkit-mask-image:
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.38) 19%,#000 40%),
    linear-gradient(to bottom,transparent 0%,#000 13%,#000 83%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.38) 19%,#000 40%),
    linear-gradient(to bottom,transparent 0%,#000 13%,#000 83%,transparent 100%);
  mask-composite:intersect;
}
.sis-photo-layer.photo-loaded > img.photo-img{opacity:.93}
/* Diffonde l'ombra dell'immagine nel colore di sfondo, proteggendo il testo. */
.sis-photo-layer:after{
 content:'';position:absolute;inset:0;pointer-events:none;z-index:3;
 background:linear-gradient(90deg,#102f3c 0%,#102f3c 24%,rgba(16,47,60,.98) 36%,rgba(16,47,60,.62) 52%,rgba(16,47,60,.02) 79%);
}
.sis-photo-layer .photo-missing{
  display:flex;
  inset:auto 9% 11% auto;
  width:min(390px,35%);height:150px;
  background:transparent;border:1px dashed #73b7c588;
  border-radius:12px;color:#d4eced;z-index:2;
}
.sis-photo-layer .photo-missing:before{display:none}
.sis-photo-layer .photo-filename{font-size:13px}
.sis-photo-layer .photo-missing-caption,.sis-photo-layer .photo-missing-hint{color:#d8f2f3}
.sis-photo-layer.photo-loaded .photo-missing{display:none}
.sis-grid{display:block;position:relative;z-index:2}
.sis-grid>div:first-child{max-width:665px}
.sis-visual{display:none}
/* Contatti senza sottolineatura e senza link ripetuto per l'e-mail. */
.contact-row a,.contact-row a:hover,.contact-row a:focus-visible{text-decoration:none}
.contact-row a:hover{color:#167b9b}
.contact-row a:focus-visible{outline:2px solid #167b9b;outline-offset:3px}
.contact-email{font-weight:690;overflow-wrap:anywhere}
@media(max-width:760px){
  .sis{min-height:0;padding:67px 0 260px;display:block}
  .sis-grid>div:first-child{max-width:100%}
  .sis-photo-layer.photo-slot > img.photo-img{
    top:auto;bottom:-6%;right:-14%;left:auto;height:335px;width:auto;
    -webkit-mask-image:
      linear-gradient(to right,transparent 0%,#000 25%),
      linear-gradient(to bottom,transparent 0%,#000 30%,#000 70%,transparent 100%);
    mask-image:
      linear-gradient(to right,transparent 0%,#000 25%),
      linear-gradient(to bottom,transparent 0%,#000 30%,#000 70%,transparent 100%);
  }
  .sis-photo-layer:after{background:linear-gradient(180deg,#102f3c 0%,#102f3c 46%,rgba(16,47,60,.94) 64%,transparent 86%)}
  .sis-photo-layer .photo-missing{width:75%;height:125px;inset:auto 12% 6% auto}
}

/* SIS come sezione-immagine completa sostituibile */
.sis.sis-static{padding:0;background:#102f3c;overflow:hidden;min-height:0}
.sis.sis-static .container{width:100%;max-width:none;margin:0}
.sis-static .sis-composite{width:100%;background:#102f3c;border-radius:0;min-height:0}
.sis-static .sis-composite>img.photo-img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:cover;opacity:0;z-index:2}
.sis-static .sis-composite.photo-loaded>img.photo-img{opacity:1}
.sis-static .sis-composite .photo-missing{position:relative;min-height:520px;border-radius:0;background:linear-gradient(135deg,#0f3340 0%,#184e61 52%,#0f3340 100%);color:#d8eef2}
.sis-static .sis-composite .photo-missing:before{inset:18px;border-color:rgba(255,255,255,.28)}
.sis-static .sis-composite .photo-missing-caption{color:#bde7ea}
.sis-static .sis-composite .photo-filename{background:#ffffffeb}
.sis-static .sis-composite .photo-missing-hint{color:#d6ecef}
.sis-static .sis-composite .photo-admin-label{top:14px;right:14px;bottom:auto;left:auto}
@media(max-width:760px){.sis-static .sis-composite .photo-missing{min-height:300px}}

/* SPORTING CLUB FKT · Revisione editoriale e funzionale novembre 2026 */
/* HOME — la foto fornita è quadrata: renderla per intero senza mascherare i soggetti. */
.hero-visual.photo-slot{aspect-ratio:1 / 1!important;min-height:0!important;height:auto!important}
.hero-visual.photo-slot > img.photo-img{object-fit:contain!important;object-position:50% 50%!important}
@media (max-width:600px){.hero-visual.photo-slot{aspect-ratio:1 / 1!important;min-height:0!important}}
/* SEZ. 01 — giustificato sui formati che consentono una distribuzione leggibile delle parole. */
.intro-content p{text-align:justify;text-justify:inter-word;hyphens:auto}
@media (max-width:600px){.intro-content p{text-align:left;hyphens:none}}
/* SEZ. 02 — sei card uniformi, in continuità con lo stile azzurro / arancione. */
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;border:0}
.service-card{min-width:0;min-height:282px;height:100%;padding:27px 27px 25px;border:1px solid #dce7e8;border-radius:13px;background:#fff;box-shadow:0 7px 28px rgba(17,50,60,.045);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.service-card:hover{background:#fff;box-shadow:0 13px 30px rgba(18,60,72,.095);transform:translateY(-2px);border-color:#b9d1d5}
.service-card-top{color:#2d8191;padding-bottom:10px}
.service-number{display:inline-flex;align-items:center;gap:11px;color:#3d7888}
.service-number::before{content:"";display:inline-block;width:20px;height:2px;background:#e37319}
.service-glyph{color:#6096a0;line-height:1}
.service-card h3{font-size:clamp(21px,2vw,26px);margin-top:17px;line-height:1.22}
.service-card p{max-width:100%;line-height:1.7;flex:1;margin-bottom:23px}
.service-card .text-link{align-self:flex-start;margin-top:auto}
@media(max-width:920px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:0;padding:23px 23px 22px}.service-card h3{font-size:25px}.service-card p{margin-bottom:17px}}
/* SEZ. 05 — fotografie fisse, senza zoom o comportamento da pulsante. */
.gallery-tile{cursor:default;box-shadow:0 5px 20px rgba(12,49,61,.055)}
.gallery-tile img,.gallery-tile:hover img{transform:none!important;transition:none!important}
.gallery-zoom{display:none!important}
/* TEAM — didascalia sotto il titolo, invece che isolata all'estremità destra. */
.team-list-head{display:block;margin-bottom:27px;padding-bottom:24px}
.team-list-head>div{max-width:680px}
.team-list-head .team-intro{display:block;position:relative;max-width:620px;margin:14px 0 0;padding-left:16px;border-left:3px solid #e37319;font-size:14px;line-height:1.65;color:#59737c}


/* V22 — Home mobile: gerarchia visiva compatta e CTA perfettamente uniformi.
   Modifiche limitate agli smartphone; desktop e tablet restano invariati. */
@media (max-width: 600px) {
  .site-header { height: 72px; }
  .site-header .container { width: calc(100% - 28px); gap: 10px; }
  .brand { gap: 9px; min-width: 0; }
  .brand img { width: 46px; height: 46px; flex: 0 0 46px; }
  .wordmark { min-width: 0; gap: 3px; }
  .wordmark strong { font-size: clamp(17px, 4.7vw, 20px); letter-spacing: .006em; }
  .wordmark .sub { font-size: 7px; letter-spacing: .08em; }
  .site-header .mobile-menu { flex: 0 0 40px; width: 40px; height: 40px; font-size: 22px; }
  .site-header .main-nav.open { top: 71px; }

  .hero { padding: 26px 0 36px; }
  .hero-grid { gap: 24px; }
  .hero .kicker { font-size: 9px; letter-spacing: .13em; gap: 9px; }
  .hero .kicker::before { width: 18px; flex: 0 0 18px; }
  .hero h1 { font-size: clamp(40px, 10.1vw, 46px); line-height: 1.07; margin: 16px 0 18px; }
  .hero-lead { font-size: 14px; line-height: 1.6; margin-bottom: 22px; }

  /* Due pulsanti uguali in larghezza, altezza, testo e allineamento. */
  .hero-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; width: 100%; }
  .hero-actions .button {
    display: flex; width: 100%; min-width: 0;
    height: 50px; min-height: 50px; padding: 0 14px;
    justify-content: center; align-items: center;
    border-radius: 7px; font-size: 13px; line-height: 1.2;
    letter-spacing: 0; white-space: nowrap;
  }
  .hero-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; padding-top: 18px; }
  .hero-aside span { min-width: 0; font-size: 11px; }
  .hero-aside b { font-size: 11.5px; }
}
@media (max-width: 370px) {
  .brand img { width: 41px; height: 41px; flex-basis: 41px; }
  .wordmark strong { font-size: 16px; }
  .wordmark .sub { font-size: 6.5px; }
  .hero h1 { font-size: 38px; }
  .hero-actions .button { font-size: 12px; }
}

/* Pagine legali autonome - stile coerente con il sito */
.legal-page-header{background:#fff;border-bottom:1px solid var(--line)}
.legal-page-header .container{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.legal-page-brand{display:flex;align-items:center;gap:12px;min-width:0}
.legal-page-brand img{width:54px;height:54px;object-fit:contain;flex:none}
.legal-page-brand strong{display:block;color:var(--deep);font-size:17px;letter-spacing:.035em}
.legal-page-brand span{display:block;margin-top:3px;color:#668089;font-size:10px;letter-spacing:.15em}
.legal-page-return{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border:1px solid #c9d8da;border-radius:7px;color:var(--deep);font-size:13px;font-weight:600;white-space:nowrap}
.legal-page-return:hover,.legal-page-return:focus-visible{background:#eff6f5}
.legal-page-main{min-height:65vh;background:linear-gradient(160deg,#f3f7f6,#fafafa);padding:42px 20px 76px}
.legal-page-shell{max-width:910px;margin:0 auto;background:#fff;border:1px solid #e7ecea;box-shadow:0 15px 55px #1539450d;border-radius:10px;overflow:hidden}
.legal-page-heading{border-bottom:1px solid #e5eceb;padding:26px 42px 10px}
.legal-page-heading .kicker{font-size:10px}
.legal-page-heading p{color:#6c8086;font-size:13px;line-height:1.65;margin:13px 0}
.legal-page-shell .legal-copy{padding:10px 42px 44px}
.legal-page-shell .legal-copy h2{font-size:clamp(34px,4vw,43px);margin:18px 0 24px}
.legal-page-shell .legal-copy h3{font-size:clamp(20px,2.5vw,24px)}
.legal-page-shell .legal-copy p,.legal-page-shell .legal-copy li{font-size:14px;line-height:1.9}
.legal-page-shell .legal-copy p{margin-bottom:13px}
.legal-page-shell .legal-copy ul{padding-left:21px}
.legal-page-shell .legal-copy a{color:#126d88;text-decoration:underline;text-underline-offset:2px}
.legal-page-shell .legal-copy .legal-updated{font-size:12px;margin-top:30px}
.legal-page-footer .footer-right a[aria-current="page"]{color:white;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.legal-page-header .container{min-height:78px}.legal-page-brand img{width:41px;height:41px}.legal-page-brand strong{font-size:13px}.legal-page-brand span{font-size:8px}.legal-page-return{font-size:11px;padding:9px 11px}.legal-page-main{padding:18px 12px 42px}.legal-page-heading{padding:17px 21px 6px}.legal-page-shell .legal-copy{padding:8px 21px 28px}.legal-page-shell .legal-copy p,.legal-page-shell .legal-copy li{font-size:13px;line-height:1.75}.legal-page-shell .legal-copy h2{margin:15px 0 19px}}
