/*
Theme Name: CG ASSOCIATI Srls
Theme URI: https://cgassociati.com
Author: CG ASSOCIATI Srls
Description: Tema istituzionale personalizzato per CG ASSOCIATI Srls.
Version: 2.2.0
Text Domain: cg-associati
*/

:root { --ink:#17354d; --night:#0f2d45; --paper:#f3f0e8; --warm:#9e6237; --line:rgba(23,53,77,.18); --white:#fff; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif} a{color:inherit} img{display:block;max-width:100%} button{font:inherit}
.site-header{position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:0 34px;background:rgba(248,246,239,.97);border-bottom:1px solid var(--line)}
.wordmark{text-decoration:none;letter-spacing:.14em;text-transform:uppercase;font-weight:600;white-space:nowrap}.wordmark small{font-weight:400;letter-spacing:.03em;text-transform:none}.desktop-nav{display:flex;align-items:center;gap:21px}.desktop-nav a{text-decoration:none;font-size:14px}.desktop-nav a:hover{opacity:.58}.header-contact{padding:10px 15px;border:1px solid currentColor}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;margin:6px;background:currentColor}.mobile-nav{position:absolute;left:0;right:0;top:74px;display:grid;padding:22px 28px;background:var(--paper);border-bottom:1px solid var(--line)}.mobile-nav a{padding:14px 0;text-decoration:none;border-bottom:1px solid var(--line)}
.animated-hero{position:relative;min-height:620px;overflow:hidden;isolation:isolate;background:var(--night);color:white}.hero-art,.hero-art img,.future-glow,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-art img{object-fit:cover;object-position:center;transition:transform 2.4s ease,filter 2s ease,opacity 1.6s ease}.base-art img{transform:scale(1.02)}.earth-art{clip-path:polygon(0 45%,100% 41%,100% 100%,0 100%);opacity:0;transition:opacity 1.8s}.earth-art img{filter:saturate(1.28) contrast(1.08) brightness(1.04)}.water-art{clip-path:polygon(0 40%,31% 41%,48% 57%,69% 53%,100% 49%,100% 78%,67% 73%,42% 78%,17% 68%,0 70%);opacity:0;transition:opacity 1.8s;mix-blend-mode:screen}.water-art img{filter:saturate(1.6) hue-rotate(4deg) brightness(1.22)}.data-art{clip-path:polygon(13% 30%,69% 28%,100% 43%,100% 96%,10% 100%);opacity:0;transition:opacity 1.7s;mix-blend-mode:screen}.data-art img{filter:contrast(1.35) saturate(1.2) brightness(1.1)}.architecture-art{clip-path:polygon(52% 5%,100% 0,100% 58%,49% 57%);opacity:0;transition:opacity 1.6s}.architecture-art img{transform-origin:84% 31%;filter:contrast(1.38) brightness(1.08)}.future-glow{opacity:0;transition:opacity 2s;background:radial-gradient(ellipse at 85% 10%,rgba(72,169,220,.42),transparent 43%);mix-blend-mode:screen}.hero-shade{z-index:2;background:linear-gradient(90deg,rgba(6,21,36,.81),rgba(6,21,36,.55) 27%,rgba(6,21,36,.09) 58%,transparent 78%)}
.hero-content{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;min-height:620px;width:min(50%,680px);padding:48px 42px 96px}.hero-kicker,.kicker{margin:0 0 20px;letter-spacing:.16em;text-transform:uppercase;font-size:12px}.phrase-stage{display:grid;align-items:center;min-height:170px}.phrase-stage h1{grid-area:1/1;margin:0;opacity:0;transform:translateY(14px);transition:opacity .9s,transform .9s;font-size:clamp(38px,5.1vw,72px);line-height:1.02;font-weight:400;text-wrap:balance;text-shadow:0 2px 20px rgba(0,0,0,.38)}.phrase-stage h1.active{opacity:1;transform:none}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid currentColor;text-decoration:none;transition:background .25s,color .25s}.light-button{background:rgba(255,255,255,.94);color:var(--ink)}.ghost-button{color:white}.hero-payoff{margin:25px 0 0;letter-spacing:.08em;opacity:.83}.hero-controls{position:absolute;z-index:4;left:42px;bottom:31px;display:flex;align-items:center;gap:8px}.hero-controls>button:not(.pause){width:30px;height:3px;padding:0;border:0;background:rgba(255,255,255,.35);cursor:pointer}.hero-controls>button[aria-pressed=true]{background:white}.hero-controls .pause{margin-left:8px;border:0;background:none;color:white;opacity:.78;cursor:pointer}.scroll-cue{position:absolute;z-index:4;right:34px;bottom:31px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.step-0 .earth-art,.step-0 .water-art{opacity:.9}.step-0 .earth-art img{transform:scale(1.045) translateY(-.5%)}.step-0 .water-art img{transform:scale(1.055) translateX(.5%)}.step-1 .earth-art{opacity:.52}.step-1 .water-art{opacity:.5}.step-1 .data-art{opacity:.94}.step-1 .architecture-art{opacity:.86}.step-1 .base-art img{transform:scale(1.055) translateX(-1%)}.step-1 .architecture-art img{transform:scale(1.085) translateX(-1.2%)}.step-2 .data-art{opacity:.64}.step-2 .architecture-art{opacity:1}.step-2 .future-glow{opacity:1}.step-2 .base-art img{transform:scale(1.095) translateX(-2.3%) translateY(.5%);filter:contrast(1.08) saturate(1.08)}.step-2 .architecture-art img{transform:scale(1.15) translateX(-3%);filter:contrast(1.5) brightness(1.12)}
.intro-band{display:grid;grid-template-columns:.55fr 1.45fr;gap:60px;padding:82px 42px}.intro-band h2,.section-heading h2,.manifesto h2,.contact-cta h2{max-width:920px;margin:0 0 22px;font-size:clamp(34px,4.4vw,58px);line-height:1.06;font-weight:400;text-wrap:balance}.intro-band p:not(.kicker){max-width:760px;font-size:18px;line-height:1.68}.text-link{display:inline-flex;gap:16px;margin-top:16px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:7px}.numbers{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.numbers article{min-height:170px;padding:28px;border-right:1px solid var(--line)}.numbers article:last-child{border-right:0}.numbers strong{display:block;color:var(--warm);font-size:clamp(38px,4vw,62px);font-weight:400}.numbers span{display:block;max-width:220px;margin-top:10px;line-height:1.45;opacity:.74}
.section-wrap{padding:88px 42px}.sector-section{display:grid;grid-template-columns:.72fr 1.3fr;gap:60px}.section-heading h2{font-size:clamp(34px,4vw,54px)}.sector-list{border-top:1px solid var(--line)}.sector-row{display:grid;grid-template-columns:50px 1.1fr 1.2fr 20px;gap:18px;align-items:center;min-height:94px;border-bottom:1px solid var(--line);text-decoration:none}.sector-row:hover{background:rgba(255,255,255,.35)}.sector-index{color:var(--warm)}.sector-title{font-size:20px}.sector-copy{line-height:1.45;opacity:.66}
.projects-home{padding:88px 42px;background:var(--night);color:white}.light-heading{display:grid;grid-template-columns:.42fr 1.3fr .42fr;gap:32px;align-items:end;margin-bottom:44px}.light-heading .text-link{justify-self:end}.project-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:300px 250px;gap:10px}.project-card{position:relative;overflow:hidden;min-height:240px}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project-card:hover img{transform:scale(1.035)}.project-featured{grid-row:1/3}.project-card:last-child{grid-column:2/4}.project-overlay{position:absolute;inset:auto 0 0;padding:60px 22px 20px;background:linear-gradient(transparent,rgba(6,20,34,.86))}.project-overlay span{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.project-overlay h3{margin:8px 0 3px;font-size:23px;font-weight:400}.project-overlay p{margin:0;opacity:.76}
.manifesto{padding:95px 42px;background:#e7e3da}.manifesto h2{max-width:1120px}.manifesto-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:54px 0 36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.manifesto-steps span{padding:22px;border-right:1px solid var(--line);color:var(--warm)}.manifesto-steps span:last-child{border-right:0}.dark-button{color:var(--ink)}.contact-cta{padding:100px 42px;background-image:linear-gradient(90deg,rgba(7,24,39,.88),rgba(7,24,39,.34)),url('/images/projects/cartografia.webp');background-size:cover;background-position:center;color:white}.contact-cta h2{max-width:900px}.contact-cta .button{margin-top:22px}
.site-footer{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:28px;padding:55px 34px 28px;background:#0b263b;color:white}.site-footer strong{display:block;margin-bottom:12px;font-weight:500;letter-spacing:.05em}.site-footer p{margin:0;line-height:1.6;opacity:.7}.site-footer a{text-decoration:none}.footer-brand strong{letter-spacing:.13em;text-transform:uppercase}.footer-brand small{text-transform:none}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;opacity:.65}
.page-hero{display:flex;align-items:flex-end;min-height:490px;padding:62px 42px;background-size:cover;background-position:center;color:white}.page-hero>div{max-width:780px}.page-hero h1{margin:0;font-size:clamp(44px,6.2vw,82px);line-height:1.01;font-weight:400;text-wrap:balance}.page-hero p:not(.kicker){max-width:670px;margin:24px 0 0;font-size:18px;line-height:1.6;opacity:.9}.inner-section{padding:84px 42px}.split-intro{display:grid;grid-template-columns:.5fr 1.5fr;gap:55px}.split-intro h2,.section-title h2,.team-principle h2,.contact-layout h2{max-width:930px;margin:0 0 24px;font-size:clamp(34px,4.6vw,60px);line-height:1.06;font-weight:400;text-wrap:balance}.split-intro>div>p,.section-title>p:not(.kicker){max-width:850px;font-size:18px;line-height:1.68}.timeline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline article{min-height:210px;padding:32px;border-right:1px solid var(--line)}.timeline article:last-child{border-right:0}.timeline strong{display:block;color:var(--warm);font-size:34px;font-weight:400}.timeline h3{margin:18px 0 9px;font-size:22px;font-weight:400}.timeline p{margin:0;line-height:1.55;opacity:.7}.image-mosaic{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-template-rows:280px 220px;gap:10px;padding:10px;background:var(--night)}.image-mosaic figure{position:relative;overflow:hidden;margin:0}.image-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.image-mosaic figure:hover img{transform:scale(1.035)}.image-mosaic figcaption{position:absolute;inset:auto 0 0;padding:55px 18px 16px;background:linear-gradient(transparent,rgba(5,20,34,.86));color:white}.mosaic-main{grid-row:1/3}.mosaic-wide{grid-column:2/4}.heritage-block{background:var(--night);color:white}.heritage-block .section-title{display:grid;grid-template-columns:.35fr 1fr;gap:35px}.big-number{display:grid;grid-template-columns:.6fr 1fr;align-items:end;gap:30px;margin-top:55px;padding-top:35px;border-top:1px solid rgba(255,255,255,.2)}.big-number strong{font-size:clamp(60px,10vw,130px);line-height:.9;font-weight:400}.big-number span{max-width:450px;font-size:18px;line-height:1.5}.fine-print{max-width:850px;margin-top:32px;font-size:12px;opacity:.58}
.process-list{margin-top:45px;border-top:1px solid var(--line)}.process-list article{display:grid;grid-template-columns:80px .7fr 1.3fr;gap:28px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}.process-list article>span{color:var(--warm)}.process-list h3{margin:0;font-size:26px;font-weight:400}.process-list p{margin:0;line-height:1.6;opacity:.72}.competence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:1px;background:var(--line)}.competence-grid article{min-height:240px;padding:34px;background:var(--paper)}.competence-grid h3{margin:0 0 15px;font-size:25px;font-weight:400}.competence-grid p{line-height:1.65;opacity:.72}
.sector-catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;padding:1px;background:var(--line)}.sector-catalog article{position:relative;min-height:280px;padding:38px;background:var(--paper);overflow:hidden}.sector-catalog article>span{color:var(--warm)}.sector-catalog h2{max-width:460px;margin:35px 0 14px;font-size:clamp(28px,3.5vw,48px);line-height:1.04;font-weight:400}.sector-catalog p{max-width:500px;line-height:1.6;opacity:.7}.catalog-line{position:absolute;left:38px;right:38px;bottom:28px;height:1px;background:var(--line)}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:12px;background:var(--night)}.portfolio-grid article{background:#f7f4ed}.portfolio-wide{grid-column:1/-1;display:grid;grid-template-columns:1.4fr .6fr}.portfolio-image{height:390px;overflow:hidden}.portfolio-wide .portfolio-image{height:500px}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.portfolio-grid article:hover img{transform:scale(1.03)}.portfolio-meta{padding:26px}.portfolio-meta>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--warm)}.portfolio-meta h2{margin:12px 0 7px;font-size:28px;font-weight:400}.portfolio-meta p{margin:0}.portfolio-meta small{display:block;margin-top:23px;padding-top:16px;border-top:1px solid var(--line);opacity:.58}.portfolio-note{display:grid;grid-template-columns:.5fr 1.5fr;gap:40px;padding:50px 42px;background:#e5e1d8}.portfolio-note strong{color:var(--warm)}.portfolio-note p{max-width:850px;margin:0;line-height:1.65}
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:45px;padding:1px;background:var(--line)}.people-grid article{padding:34px;background:var(--paper)}.people-grid article>span{color:var(--warm);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.people-grid h2{margin:45px 0 8px;font-size:35px;line-height:1.05;font-weight:400}.people-grid strong{display:block;margin-bottom:25px;font-weight:400;opacity:.62}.people-grid p{line-height:1.67}.team-principle{padding:90px 42px;background:var(--night);color:white}.team-principle p:last-child{max-width:760px;font-size:18px;line-height:1.6;opacity:.78}
.advisory-list{margin-top:50px;border-top:1px solid var(--line)}.advisory-list article{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}.advisory-list article>span{color:var(--warm)}.advisory-list h3{margin:0 0 10px;font-size:26px;font-weight:400}.advisory-list p{max-width:920px;margin:0;line-height:1.65}.program-values{display:grid;grid-template-columns:repeat(4,1fr);background:var(--night);color:white}.program-values article{min-height:220px;padding:30px;border-right:1px solid rgba(255,255,255,.18)}.program-values strong{display:block;font-size:42px;font-weight:400;color:#d29b73}.program-values span{display:block;margin-top:18px;line-height:1.55;opacity:.78}
.research-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:50px;padding:1px;background:var(--line)}.research-grid article{min-height:220px;padding:34px;background:var(--paper)}.research-grid h3{margin:0 0 16px;font-size:27px;font-weight:400}.research-grid p{line-height:1.65;opacity:.72}.research-quote{padding:95px 42px;background:var(--night);color:white}.research-quote p{max-width:1100px;margin:0;font-size:clamp(36px,5.2vw,68px);line-height:1.08;text-wrap:balance}
.contact-layout{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:55px;padding:85px 42px}.contact-group{margin-bottom:30px}.contact-group strong{display:block;margin-bottom:9px;color:var(--warm);font-weight:400}.contact-group p{margin:0;line-height:1.6}.contact-group a{text-decoration:none}.contact-form{display:grid;gap:17px;padding-left:40px;border-left:1px solid var(--line)}.contact-form label{display:grid;gap:7px;font-size:13px}.contact-form input,.contact-form textarea{width:100%;padding:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit}.contact-form .button{justify-self:start;background:none;color:var(--ink);cursor:pointer}.contact-form small{max-width:440px;line-height:1.5;opacity:.55}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.hero-content{width:min(67%,680px)}.intro-band,.sector-section,.split-intro,.heritage-block .section-title,.portfolio-note{grid-template-columns:1fr}.numbers{grid-template-columns:repeat(2,1fr)}.numbers article:nth-child(2){border-right:0}.light-heading{grid-template-columns:1fr}.light-heading .text-link{justify-self:start}.site-footer{grid-template-columns:repeat(2,1fr)}.image-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:280px 220px 220px}.mosaic-main{grid-row:1/3}.mosaic-wide{grid-column:1/3}.competence-grid,.people-grid{grid-template-columns:1fr 1fr}.program-values{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr 1fr}.contact-form{grid-column:1/-1;padding:35px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:620px){.site-header{min-height:66px;padding:0 20px}.mobile-nav{top:66px}.animated-hero{min-height:640px}.hero-art img{object-position:62% center}.hero-shade{background:linear-gradient(180deg,rgba(6,21,36,.64),rgba(6,21,36,.15) 55%,rgba(6,21,36,.8))}.hero-content{min-height:640px;width:100%;justify-content:flex-end;padding:32px 24px 108px}.phrase-stage{min-height:180px}.hero-controls{left:24px}.scroll-cue{display:none}.intro-band,.section-wrap,.projects-home,.manifesto,.contact-cta,.inner-section,.team-principle,.research-quote,.contact-layout{padding:58px 24px}.numbers,.timeline{grid-template-columns:1fr}.numbers article,.timeline article{border-right:0;border-bottom:1px solid var(--line)}.sector-row{grid-template-columns:36px 1fr 18px}.sector-copy{display:none}.project-grid{display:block}.project-card{height:260px;margin-bottom:10px}.project-featured{height:380px}.manifesto-steps{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr;padding:48px 24px 24px}.footer-bottom{display:grid;gap:8px}.page-hero{min-height:540px;padding:42px 24px;background-position:62% center}.image-mosaic{display:block;padding:8px}.image-mosaic figure{height:240px;margin-bottom:8px}.big-number,.process-list article{grid-template-columns:1fr}.competence-grid,.sector-catalog,.portfolio-grid,.people-grid,.program-values,.research-grid,.contact-layout{grid-template-columns:1fr}.portfolio-wide{grid-column:auto;display:block}.portfolio-wide .portfolio-image{height:390px}.portfolio-note{padding:42px 24px}.program-values article{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-art img,.phrase-stage h1{transition-duration:.01ms!important}}

/* CG ASSOCIATI 2026 — Cinematic scroll hero v2 */
.hero-scroll-story{position:relative;height:265vh;background:var(--night)}.hero-scroll-story .animated-hero{position:sticky;top:0;height:100vh;min-height:680px;overflow:hidden;background:#071827;isolation:isolate}.hero-scroll-story .hero-art{z-index:0;will-change:opacity,transform}.hero-scroll-story .hero-art img{will-change:transform,filter;transition:transform 1.65s cubic-bezier(.2,.7,.2,1),filter 1.3s ease}.hero-scroll-story .base-art img{transform:scale(1.055);filter:saturate(.9) contrast(1.04) brightness(.84)}.hero-scroll-story .earth-art{z-index:1;clip-path:polygon(0 48%,100% 40%,100% 100%,0 100%);opacity:0;transition:opacity 1.2s}.hero-scroll-story .earth-art img{filter:saturate(1.28) contrast(1.14) brightness(1.02);transform:scale(1.085)}.hero-scroll-story .architecture-art{z-index:1;clip-path:polygon(49% 0,100% 0,100% 64%,55% 61%);opacity:0;transition:opacity 1.2s}.hero-scroll-story .architecture-art img{filter:contrast(1.38) brightness(1.05);transform-origin:83% 29%;transform:scale(1.08)}
.hero-flow{position:absolute;z-index:2;inset:0;opacity:0;pointer-events:none;background:linear-gradient(104deg,transparent 0 31%,rgba(73,196,231,0) 39%,rgba(73,196,231,.3) 48%,rgba(190,240,250,.55) 51%,rgba(73,196,231,.18) 54%,transparent 65%);transform:translateX(-55%);mix-blend-mode:screen;filter:blur(7px)}.hero-network{position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none}.hero-network path{fill:none;stroke:rgba(168,226,245,.78);stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;opacity:0;transition:stroke-dashoffset 2.2s cubic-bezier(.25,.75,.15,1),opacity 1s}.hero-network circle{fill:#d9f6ff;stroke:#6fc8e4;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.2);transition:opacity .8s,transform .8s}.hero-scroll-story .future-glow{z-index:2;background:radial-gradient(ellipse at 84% 17%,rgba(89,189,231,.5),transparent 37%),radial-gradient(ellipse at 68% 72%,rgba(43,146,189,.2),transparent 34%)}.hero-scroll-story .hero-shade{z-index:4;background:linear-gradient(90deg,rgba(4,17,29,.9),rgba(4,17,29,.72) 31%,rgba(4,17,29,.19) 58%,rgba(4,17,29,.03) 78%)}
.hero-scroll-story .hero-content{z-index:5;width:min(48%,720px);height:100%;min-height:0;padding:clamp(105px,14vh,145px) 42px 105px;justify-content:center}.hero-scroll-story .hero-kicker{display:flex;flex-wrap:wrap;gap:7px 13px}.hero-scroll-story .hero-kicker span{opacity:.62;letter-spacing:.08em}.hero-scroll-story .phrase-stage{display:grid;min-height:230px;align-items:center}.hero-phrase{grid-area:1/1;display:grid;grid-template-columns:38px 1fr;gap:12px;opacity:0;transform:translateY(28px);filter:blur(5px);transition:opacity .8s,transform .95s cubic-bezier(.2,.7,.2,1),filter .8s}.hero-phrase.active{opacity:1;transform:none;filter:none}.hero-phrase h1{margin:0;font-size:clamp(42px,5.3vw,78px);line-height:.99;font-weight:400;letter-spacing:-.025em;text-wrap:balance;text-shadow:0 4px 30px rgba(0,0,0,.42)}.phrase-index{padding-top:9px;font-size:11px;letter-spacing:.15em;color:#9bdff3;border-top:1px solid #9bdff3}.hero-expertise{max-width:680px;margin:18px 0 0;font-size:13px;line-height:1.6;color:rgba(255,255,255,.74)}
.hero-progress{position:absolute;z-index:7;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}.hero-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#fff,#75cde8);transform:scaleX(0);transform-origin:left}.hero-scroll-story .hero-controls{z-index:7}.hero-scroll-story .hero-controls>button[aria-pressed=true]{width:54px;background:#a8e8f7}.hero-scroll-story .scroll-cue{z-index:7;display:flex;align-items:center;gap:12px}.scroll-cue i{width:34px;height:1px;background:currentColor;position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:cgaCue 1.7s ease-in-out infinite}@keyframes cgaCue{50%,100%{transform:translateX(100%)}}
.step-0 .earth-art{opacity:.9}.step-0 .base-art img{transform:scale(1.065)}.step-0 .earth-art img{transform:scale(1.105) translateY(-.3%)}.step-0 .hero-flow{opacity:.7;animation:cgaWater 5.2s ease-in-out infinite}@keyframes cgaWater{0%{transform:translateX(-58%)}65%,100%{transform:translateX(70%)}}
.step-1 .earth-art{opacity:.45}.step-1 .architecture-art{opacity:.72}.step-1 .base-art img{transform:scale(1.095) translateX(-1.3%);filter:saturate(.98) contrast(1.08) brightness(.91)}.step-1 .hero-network path{stroke-dashoffset:0;opacity:.9}.step-1 .hero-network circle{opacity:1;transform:scale(1)}.step-1 .hero-network circle:nth-child(3n){transition-delay:.45s}.step-1 .hero-network circle:nth-child(3n+1){transition-delay:.7s}
.step-2 .earth-art{opacity:.25}.step-2 .architecture-art{opacity:1}.step-2 .future-glow{opacity:1}.step-2 .base-art img{transform:scale(1.13) translateX(-2.5%) translateY(.5%);filter:saturate(1.06) contrast(1.1) brightness(.98)}.step-2 .architecture-art img{transform:scale(1.17) translateX(-2.5%);filter:contrast(1.5) brightness(1.12)}.step-2 .hero-network path{stroke-dashoffset:0;opacity:.58}.step-2 .hero-network circle{opacity:.82;transform:scale(1.2)}
@media(max-width:720px){.hero-scroll-story{height:auto}.hero-scroll-story .animated-hero{position:relative;height:auto;min-height:700px}.hero-scroll-story .hero-content{width:100%;min-height:700px;padding:115px 24px 112px;justify-content:flex-end}.hero-scroll-story .hero-art img{object-position:62% center}.hero-scroll-story .hero-shade{background:linear-gradient(180deg,rgba(4,17,29,.45),rgba(4,17,29,.12) 38%,rgba(4,17,29,.9) 78%)}.hero-scroll-story .phrase-stage{min-height:190px}.hero-phrase{grid-template-columns:28px 1fr}.hero-phrase h1{font-size:clamp(38px,11vw,58px)}.hero-expertise{font-size:12px}.hero-scroll-story .scroll-cue{display:none}.hero-network{opacity:.72}}
@media(prefers-reduced-motion:reduce){.hero-scroll-story{height:auto}.hero-scroll-story .animated-hero{position:relative;height:auto}.hero-flow,.hero-network{display:none}.hero-phrase{filter:none;transition:none}}


/* CG ASSOCIATI 2026 — Cinematic Hero V3 */
.hero-scroll-story{height:330vh}
.hero-scroll-story .animated-hero{perspective:1200px}
.hero-scroll-story .hero-content{width:min(46%,700px);padding-left:48px}
.hero-scroll-story .phrase-stage{min-height:255px}
.hero-scroll-story .hero-phrase h1{
  opacity:1!important;transform:none!important;color:#fff!important;
  font-size:clamp(48px,5.7vw,86px);line-height:.96;
  text-shadow:0 6px 36px rgba(0,0,0,.58);
}
.hero-phrase{transition:opacity .65s,transform .85s cubic-bezier(.16,.78,.22,1),filter .65s}
.hero-phrase:not(.active){pointer-events:none}
.hero-phrase.active h1{animation:cgaTitleIn .95s cubic-bezier(.16,.78,.22,1) both}
@keyframes cgaTitleIn{0%{opacity:0;transform:translateY(34px) scale(.975);filter:blur(9px)}100%{opacity:1;transform:none;filter:none}}
.hero-scroll-story .base-art,.hero-scroll-story .earth-art,.hero-scroll-story .architecture-art{transform-style:preserve-3d}
.hero-scroll-story .base-art img{transition:transform 2.2s cubic-bezier(.16,.7,.2,1),filter 1.5s}
.hero-scroll-story .earth-art{transition:opacity 1s,transform 1.8s cubic-bezier(.16,.7,.2,1)}
.hero-scroll-story .architecture-art{transition:opacity 1s,transform 1.8s cubic-bezier(.16,.7,.2,1)}
.hero-themes{position:absolute;z-index:6;inset:0;pointer-events:none}
.theme-label{position:absolute;display:grid;grid-template-columns:30px auto;column-gap:10px;align-items:start;
  padding:10px 13px 10px 10px;border:1px solid rgba(181,232,247,.48);
  background:rgba(5,25,39,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:#fff;opacity:0;transform:translateY(18px) scale(.96);
  transition:opacity .65s,transform .8s cubic-bezier(.16,.78,.22,1);
  box-shadow:0 10px 35px rgba(0,0,0,.18)}
.theme-label:after{content:"";position:absolute;width:42px;height:1px;background:linear-gradient(90deg,#9fe4f5,transparent);left:100%;top:18px}
.theme-label span{grid-row:1/3;font-size:10px;letter-spacing:.16em;color:#9fe4f5;border-top:1px solid #9fe4f5;padding-top:4px}
.theme-label strong{font-size:11px;letter-spacing:.12em;font-weight:600}
.theme-label small{font-size:10px;opacity:.72;margin-top:3px}
.theme-geology{left:55%;top:68%}.theme-water{left:72%;top:58%}.theme-data{left:61%;top:38%}
.theme-infra{left:76%;top:31%}.theme-heritage{left:66%;top:17%}.theme-future{right:4%;top:10%}
.step-0 .theme-geology,.step-0 .theme-water{opacity:1;transform:none}
.step-1 .theme-geology,.step-1 .theme-water{opacity:.42;transform:scale(.96)}
.step-1 .theme-data,.step-1 .theme-infra{opacity:1;transform:none}
.step-2 .theme-data,.step-2 .theme-infra{opacity:.46;transform:scale(.96)}
.step-2 .theme-heritage,.step-2 .theme-future{opacity:1;transform:none}
.hero-pulse{position:absolute;z-index:5;width:18px;height:18px;border:1px solid rgba(171,235,250,.9);border-radius:50%;opacity:0;pointer-events:none}
.hero-pulse:before,.hero-pulse:after{content:"";position:absolute;inset:-1px;border:1px solid rgba(171,235,250,.65);border-radius:50%;animation:cgaPulse 2.2s ease-out infinite}
.hero-pulse:after{animation-delay:1.1s}
@keyframes cgaPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(5);opacity:0}}
.pulse-a{left:61%;top:63%}.pulse-b{left:82%;top:39%}.pulse-c{left:91%;top:18%}
.step-0 .pulse-a,.step-0 .pulse-b{opacity:1}.step-1 .hero-pulse,.step-2 .hero-pulse{opacity:1}
.step-0 .base-art img{transform:scale(1.075) translate3d(0,0,0);filter:saturate(.92) contrast(1.08) brightness(.82)}
.step-0 .earth-art{opacity:1;transform:translate3d(0,-1.5%,40px)}
.step-0 .earth-art img{transform:scale(1.13) translateY(-1%)}
.step-0 .hero-flow{opacity:.92;filter:blur(5px);animation:cgaWaterV3 3.4s ease-in-out infinite}
@keyframes cgaWaterV3{0%{transform:translateX(-62%) skewX(-8deg)}55%,100%{transform:translateX(72%) skewX(-8deg)}}
.step-1 .base-art img{transform:scale(1.13) translate3d(-2.3%,-.5%,0);filter:saturate(1.03) contrast(1.13) brightness(.93)}
.step-1 .earth-art{opacity:.48;transform:translate3d(-1%,1%,25px)}
.step-1 .architecture-art{opacity:.88;transform:translate3d(1%,-1%,55px)}
.step-1 .hero-network{filter:drop-shadow(0 0 8px rgba(118,213,240,.55))}
.step-1 .hero-network path{stroke-width:1.8;animation:cgaNetworkGlow 1.8s ease-in-out infinite alternate}
@keyframes cgaNetworkGlow{from{stroke:rgba(145,224,246,.48)}to{stroke:rgba(220,250,255,.98)}}
.step-1 .hero-network circle{animation:cgaNode 1.7s ease-in-out infinite alternate}
@keyframes cgaNode{from{filter:drop-shadow(0 0 2px #83d9ee)}to{filter:drop-shadow(0 0 13px #d9f9ff)}}
.step-2 .base-art img{transform:scale(1.18) translate3d(-4%,-1.2%,0);filter:saturate(1.08) contrast(1.14) brightness(1.02)}
.step-2 .architecture-art{opacity:1;transform:translate3d(-1.5%,-1.2%,75px) scale(1.025)}
.step-2 .architecture-art img{transform:scale(1.2) translateX(-3%);filter:contrast(1.55) brightness(1.16)}
.step-2 .future-glow{opacity:1;animation:cgaFuture 2.6s ease-in-out infinite alternate}
@keyframes cgaFuture{from{filter:brightness(.85);transform:scale(1)}to{filter:brightness(1.35);transform:scale(1.04)}}
.step-2 .hero-shade{background:linear-gradient(90deg,rgba(4,17,29,.91),rgba(4,17,29,.68) 31%,rgba(4,17,29,.12) 60%,rgba(4,17,29,0) 82%)}
.hero-progress{height:4px}.hero-progress span{box-shadow:0 0 16px rgba(117,205,232,.9)}
@media(max-width:1050px){
 .theme-label{display:none}
 .hero-scroll-story .hero-content{width:min(55%,700px)}
}
@media(max-width:720px){
 .hero-scroll-story{height:auto}
 .hero-scroll-story .phrase-stage{min-height:225px}
 .hero-scroll-story .hero-phrase h1{font-size:clamp(42px,12vw,62px)}
}


/* CG ASSOCIATI 2026 — Cinematic Hero V4 · FULL FRAME */
.hero-scroll-story{height:350vh}
.hero-scroll-story .earth-art,
.hero-scroll-story .architecture-art{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  inset:-3%!important;
}
.hero-scroll-story .earth-art{
  z-index:1;
  mask-image:linear-gradient(180deg,transparent 0 28%,rgba(0,0,0,.18) 39%,#000 58%,#000 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0 28%,rgba(0,0,0,.18) 39%,#000 58%,#000 100%);
}
.hero-scroll-story .architecture-art{
  z-index:1;
  mask-image:linear-gradient(180deg,#000 0,#000 48%,rgba(0,0,0,.25) 67%,transparent 88%);
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 48%,rgba(0,0,0,.25) 67%,transparent 88%);
}
.hero-scroll-story .base-art:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 16% 74%,rgba(61,181,220,.12),transparent 24%),
    radial-gradient(circle at 56% 66%,rgba(61,181,220,.13),transparent 22%),
    radial-gradient(circle at 83% 28%,rgba(174,232,247,.13),transparent 26%);
  mix-blend-mode:screen;opacity:.25;transition:opacity 1s;
}
.hero-flow{
  inset:-10%!important;
  background:
    linear-gradient(103deg,transparent 0 16%,rgba(64,188,225,.05) 27%,rgba(114,220,244,.34) 43%,rgba(220,252,255,.58) 49%,rgba(79,198,231,.22) 56%,transparent 72%),
    radial-gradient(ellipse at 63% 70%,rgba(71,194,228,.20),transparent 38%)!important;
  filter:blur(11px)!important;
}
.hero-network{z-index:4!important;overflow:visible}
.hero-network path{stroke-width:1.5}
.hero-themes{z-index:7}
.hero-scroll-story .hero-shade{z-index:5}
.hero-scroll-story .hero-content{z-index:8}
.hero-pulse{z-index:6}

/* Act 1 — the entire geological/water system breathes */
.step-0 .base-art img{transform:scale(1.07) translate3d(0,0,0)!important;filter:saturate(.94) contrast(1.08) brightness(.83)!important}
.step-0 .earth-art{opacity:.92!important;transform:translate3d(0,-1%,28px)!important}
.step-0 .earth-art img{transform:scale(1.09) translate3d(0,-.8%,0)!important;filter:saturate(1.36) contrast(1.15) brightness(1.03)!important}
.step-0 .architecture-art{opacity:.20!important;transform:translate3d(0,0,12px)!important}
.step-0 .hero-flow{opacity:.95!important}
.step-0 .base-art:after{opacity:.7}

/* Act 2 — data network expands across the full canvas */
.step-1 .base-art img{transform:scale(1.105) translate3d(-1.5%,-.5%,0)!important;filter:saturate(1.01) contrast(1.1) brightness(.91)!important}
.step-1 .earth-art{opacity:.52!important;transform:translate3d(-.8%,.5%,22px)!important}
.step-1 .architecture-art{opacity:.52!important;transform:translate3d(.7%,-.6%,35px)!important}
.step-1 .hero-network{transform:scale(1.025);transform-origin:58% 52%;transition:transform 1.8s cubic-bezier(.16,.7,.2,1)}
.step-1 .hero-network path{stroke-width:1.9;opacity:.95!important}
.step-1 .hero-network circle{opacity:1!important}
.step-1 .base-art:after{opacity:1}

/* Act 3 — the whole frame moves toward architecture/future, no geometric cutout */
.step-2 .base-art img{transform:scale(1.145) translate3d(-2.7%,-1%,0)!important;filter:saturate(1.07) contrast(1.12) brightness(.99)!important}
.step-2 .earth-art{opacity:.28!important;transform:translate3d(-1.2%,1%,16px)!important}
.step-2 .architecture-art{opacity:.72!important;transform:translate3d(-1%,-1%,52px)!important}
.step-2 .architecture-art img{transform:scale(1.12) translate3d(-1.5%,-.5%,0)!important;filter:contrast(1.38) brightness(1.08)!important}
.step-2 .future-glow{
  inset:-8%!important;
  background:
    radial-gradient(ellipse at 83% 18%,rgba(115,213,244,.42),transparent 42%),
    radial-gradient(ellipse at 58% 51%,rgba(94,194,225,.16),transparent 48%),
    linear-gradient(110deg,transparent 20%,rgba(178,234,248,.09) 55%,rgba(178,234,248,.18) 100%)!important;
}
.step-2 .base-art:after{opacity:.85}

/* Wider animated data trajectories crossing geology, water and architecture */
.hero-network{width:112%!important;height:108%!important;left:-6%!important;top:-4%!important}
.hero-network path:nth-child(1){transform:translate(-105px,40px) scale(1.10)}
.hero-network path:nth-child(2){transform:translate(-160px,-40px) scale(1.13)}
.hero-network path:nth-child(3){transform:translate(-240px,-95px) scale(1.18)}
.hero-network path:nth-child(4){transform:translate(-360px,125px) scale(1.22)}
.hero-network path:nth-child(5){transform:translate(-470px,-85px) scale(1.28)}
.hero-network path{transform-box:fill-box;transform-origin:center}

/* Theme labels spread over the whole visual field */
.theme-geology{left:49%;top:70%}
.theme-water{left:70%;top:61%}
.theme-data{left:52%;top:43%}
.theme-infra{left:73%;top:34%}
.theme-heritage{left:61%;top:17%}
.theme-future{right:3%;top:9%}

/* Ensure the story text remains legible but does not cover half the artwork */
.hero-scroll-story .hero-content{width:min(43%,660px)}
.hero-scroll-story .hero-shade{
 background:linear-gradient(90deg,rgba(4,17,29,.93),rgba(4,17,29,.73) 28%,rgba(4,17,29,.25) 47%,rgba(4,17,29,.05) 68%,transparent 86%)!important
}
@media(max-width:1100px){
 .hero-scroll-story .hero-content{width:min(52%,680px)}
}


/* CG ASSOCIATI 2026 — Section 02 · Company Abstract */
.company-abstract{
  position:relative;
  padding:118px 42px 110px;
  background:
    radial-gradient(circle at 88% 12%,rgba(134,31,65,.055),transparent 30%),
    linear-gradient(180deg,#f6f4ef 0%,#f2efe9 100%);
  color:var(--ink);
  overflow:hidden;
}
.company-abstract-grid{
  display:grid;
  grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr);
  gap:clamp(70px,9vw,150px);
  align-items:start;
  max-width:1560px;
  margin:0 auto;
}
.company-abstract .kicker{
  margin-bottom:32px;
  color:var(--warm);
}
.company-verbs{
  display:grid;
  gap:0;
}
.company-verb{
  display:block;
  font-size:clamp(58px,7vw,112px);
  line-height:.93;
  letter-spacing:-.045em;
  font-weight:400;
  color:var(--ink);
}
.company-verb:nth-child(2){color:var(--warm)}
.company-verb:nth-child(3){
  -webkit-text-stroke:1px rgba(20,34,44,.58);
  color:transparent;
}
.company-abstract-copy{
  padding-top:54px;
  max-width:810px;
}
.company-abstract-main{
  margin:0 0 32px;
  font-size:clamp(22px,2vw,31px);
  line-height:1.4;
  letter-spacing:-.015em;
}
.company-abstract-main strong{
  font-weight:500;
  color:var(--warm);
}
.company-abstract-body{
  max-width:760px;
  margin:0;
  font-size:17px;
  line-height:1.78;
  color:rgba(17,35,48,.78);
}
.company-abstract-body strong{
  font-weight:600;
  color:var(--ink);
}
.company-abstract-closing{
  display:grid;
  gap:4px;
  margin-top:54px;
  padding-top:24px;
  border-top:1px solid rgba(17,35,48,.17);
  font-size:clamp(20px,2vw,28px);
  line-height:1.28;
}
.company-abstract-closing span{color:rgba(17,35,48,.56)}
.company-abstract-closing strong{
  font-weight:500;
  color:var(--warm);
}
.company-link{margin-top:32px}
.company-abstract-line{
  position:absolute;
  left:42px;right:42px;bottom:0;
  height:1px;background:rgba(17,35,48,.12);
  overflow:hidden;
}
.company-abstract-line span{
  display:block;width:100%;height:100%;
  transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--warm),#7fcfe7 55%,transparent);
  transition:transform 1.3s cubic-bezier(.16,.78,.22,1);
}
.company-abstract.is-visible .company-abstract-line span{transform:scaleX(1)}
.reveal-item{
  opacity:0;
  transform:translateY(34px);
  filter:blur(5px);
  transition:
    opacity .8s ease,
    transform 1s cubic-bezier(.16,.78,.22,1),
    filter .8s ease;
}
.company-abstract.is-visible .reveal-item{
  opacity:1;
  transform:none;
  filter:none;
}
.company-abstract.is-visible .reveal-item[data-delay="1"]{transition-delay:.14s}
.company-abstract.is-visible .reveal-item[data-delay="2"]{transition-delay:.30s}
.company-abstract.is-visible .reveal-item[data-delay="3"]{transition-delay:.46s}
.company-abstract.is-visible .company-verb:nth-child(1){transition-delay:.05s}
.company-abstract.is-visible .company-verb:nth-child(2){transition-delay:.20s}
.company-abstract.is-visible .company-verb:nth-child(3){transition-delay:.35s}

@media(max-width:1050px){
  .company-abstract-grid{grid-template-columns:1fr;gap:42px}
  .company-abstract-copy{padding-top:0;max-width:900px}
  .company-verbs{max-width:760px}
}
@media(max-width:620px){
  .company-abstract{padding:76px 24px 72px}
  .company-abstract-grid{gap:34px}
  .company-verb{font-size:clamp(50px,16vw,78px)}
  .company-abstract-main{font-size:22px}
  .company-abstract-body{font-size:16px;line-height:1.68}
  .company-abstract-closing{margin-top:38px}
  .company-abstract-line{left:24px;right:24px}
}
@media(prefers-reduced-motion:reduce){
  .reveal-item{opacity:1;transform:none;filter:none;transition:none}
  .company-abstract-line span{transform:scaleX(1);transition:none}
}

/* CG ASSOCIATI 2026 — V6 · Reconciled Home Sections 03–08 */
.home-section-head{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(520px,1.35fr);gap:48px;align-items:end;margin-bottom:58px}
.home-section-head .kicker{grid-column:1}.home-section-head h2{grid-column:1/3;margin:0;font-size:clamp(44px,5.5vw,82px);line-height:.98;font-weight:400;letter-spacing:-.035em}
.home-section-head h2 span{color:var(--warm)}.home-section-head>p:not(.kicker){grid-column:2;max-width:690px;margin:0;font-size:17px;line-height:1.65;color:rgba(17,35,48,.7)}
.home-expertise{padding:110px 42px;background:#fff;color:var(--ink)}
.expertise-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(17,35,48,.14);max-width:1560px;margin:auto}
.expertise-card{position:relative;display:grid;grid-template-columns:45px 1fr;gap:12px 22px;padding:34px 28px 38px;border-bottom:1px solid rgba(17,35,48,.14);color:inherit;text-decoration:none;transition:background .35s,transform .35s}
.expertise-card:nth-child(odd){border-right:1px solid rgba(17,35,48,.14)}.expertise-card:hover{background:#f5f0f1;transform:translateY(-3px)}
.expertise-no{font-size:11px;letter-spacing:.16em;color:var(--warm);padding-top:5px}.expertise-card h3{margin:0;font-size:clamp(24px,2.2vw,34px);font-weight:450}.expertise-card p{grid-column:2;margin:4px 50px 0 0;line-height:1.55;color:rgba(17,35,48,.65)}.expertise-arrow{position:absolute;right:28px;bottom:34px;color:var(--warm)}
.home-projects-real{padding:112px 42px;background:#071827;color:#fff}.home-projects-real .home-section-head h2 span{color:#8bd5e8}.home-projects-real .text-link{color:#fff}
.real-project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.real-project-card{position:relative;min-height:360px;grid-column:span 4;overflow:hidden;background:#122b3a}.real-project-featured{grid-column:span 8;min-height:520px}.real-project-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .8s ease,filter .6s}.real-project-card:hover img{transform:scale(1.045);filter:saturate(1.08)}
.real-project-overlay{position:absolute;inset:auto 0 0;padding:62px 26px 25px;background:linear-gradient(180deg,transparent,rgba(4,17,29,.92));z-index:2}.real-project-overlay span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9ee1f2}.real-project-overlay h3{margin:8px 0 4px;font-size:clamp(22px,2.5vw,35px);font-weight:450}.real-project-overlay p{margin:0;opacity:.72}
.home-track{padding:112px 42px 96px;background:#eeeae3}.track-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1560px;margin:auto;border-top:1px solid rgba(17,35,48,.14);border-bottom:1px solid rgba(17,35,48,.14)}.track-grid article{padding:38px 25px;border-right:1px solid rgba(17,35,48,.14)}.track-grid article:last-child{border-right:0}.track-grid strong{display:block;font-size:clamp(38px,4vw,62px);font-weight:400;color:var(--warm)}.track-grid span{display:block;margin-top:8px;line-height:1.45}.track-note{max-width:880px;margin:24px auto 0;font-size:12px;line-height:1.55;color:rgba(17,35,48,.55)}.track-actions{display:flex;justify-content:center;gap:34px;margin-top:30px}
.home-international{display:grid;grid-template-columns:1.15fr .85fr;min-height:640px;background:#0a1c29;color:#fff}.international-visual{min-height:640px;overflow:hidden}.international-visual img{width:100%;height:100%;object-fit:cover}.international-copy{display:flex;flex-direction:column;justify-content:center;padding:70px}.international-copy h2{margin:0 0 30px;font-size:clamp(42px,4.7vw,70px);line-height:1}.international-copy h2 span{color:#8bd5e8}.international-copy>p:not(.kicker){font-size:17px;line-height:1.7;max-width:610px;opacity:.84}.international-note{font-size:12px!important;opacity:.5!important}
.home-public{display:grid;grid-template-columns:1fr 1fr;background:#fff}.public-card,.research-card{padding:94px 55px 100px;min-height:520px}.public-card{background:#f5f1ed}.research-card{background:#fff}.home-public h2{font-size:clamp(38px,4vw,62px);line-height:1.03;font-weight:400;margin:0 0 25px}.home-public p:not(.kicker){max-width:620px;font-size:16px;line-height:1.7;color:rgba(17,35,48,.72)}
.home-contact-final{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;padding:104px 42px;background:#861f41;color:#fff}.home-contact-final h2{margin:0;font-size:clamp(44px,5vw,76px);line-height:1;font-weight:400}.home-contact-final h2 span{color:#f2cbd7}.home-contact-data{align-self:end}.home-contact-data a{color:#fff}.home-contact-data .button{margin-top:24px;background:#fff;color:#861f41}
@media(max-width:900px){.home-section-head{grid-template-columns:1fr}.home-section-head .kicker,.home-section-head h2,.home-section-head>p:not(.kicker){grid-column:1}.expertise-grid{grid-template-columns:1fr}.expertise-card:nth-child(odd){border-right:0}.real-project-card,.real-project-featured{grid-column:span 6;min-height:390px}.track-grid{grid-template-columns:repeat(2,1fr)}.track-grid article:nth-child(2){border-right:0}.home-international{grid-template-columns:1fr}.international-visual{min-height:450px}.home-public{grid-template-columns:1fr}.home-contact-final{grid-template-columns:1fr}}
@media(max-width:620px){.home-expertise,.home-projects-real,.home-track{padding:76px 24px}.real-project-card,.real-project-featured{grid-column:1/-1;min-height:370px}.track-grid{grid-template-columns:1fr}.track-grid article{border-right:0;border-bottom:1px solid rgba(17,35,48,.14)}.international-copy{padding:60px 24px}.public-card,.research-card{padding:70px 24px}.home-contact-final{padding:76px 24px}}

/* V7 SOCIETA / EXPERIENCE PROTOTYPE */
.mobile-nav[hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(246,244,239,.92);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}

.society-hero-v7{padding:118px 42px 105px;background:#f5f1eb;color:var(--ink);min-height:82vh;display:flex;align-items:center}
.society-hero-inner{max-width:1560px;margin:auto;width:100%;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(70px,8vw,145px)}
.society-hero-v7 .kicker{grid-column:1/3;color:var(--warm)}
.society-hero-v7 h1{grid-column:1;margin:0;font-size:clamp(56px,6.4vw,100px);line-height:.94;font-weight:400;letter-spacing:-.045em}
.society-hero-v7 h1 span{color:var(--warm)}
.society-hero-copy{grid-column:2;padding-top:12px;max-width:810px}
.society-hero-copy>p{font-size:18px;line-height:1.72;color:rgba(17,35,48,.78);margin:0 0 24px}
.society-hero-copy strong{color:var(--ink)}
.society-tech-note{margin-top:42px!important;padding:18px 0 0 30px;border-left:2px solid rgba(134,31,65,.4);font-size:14px!important;color:rgba(17,35,48,.58)!important}
.society-tech-note span{display:block;margin-bottom:5px;font-size:10px;letter-spacing:.17em;color:var(--warm)}

.society-timeline-v7{position:relative;display:grid;grid-template-columns:repeat(4,1fr);padding:96px 42px 102px;background:#fff;color:var(--ink);overflow:hidden}
.society-timeline-v7 article{padding:45px 34px 20px;border-left:1px solid rgba(17,35,48,.14);opacity:.32;transform:translateY(30px);transition:opacity .75s,transform .85s}
.society-timeline-v7 article:first-of-type{border-left:0}
.society-timeline-v7 article.is-visible{opacity:1;transform:none}
.society-timeline-v7 strong{font-size:clamp(46px,5vw,74px);font-weight:400;color:var(--warm)}
.society-timeline-v7 h2{font-size:21px;font-weight:500;margin:10px 0}.society-timeline-v7 p{max-width:310px;line-height:1.55;color:rgba(17,35,48,.63)}
.timeline-track{position:absolute;left:42px;right:42px;top:78px;height:2px;background:rgba(17,35,48,.1)}.timeline-track span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--warm),#7bd0e6);transform:scaleX(0);transform-origin:left;transition:transform 1.8s cubic-bezier(.16,.78,.22,1)}.society-timeline-v7.is-visible .timeline-track span{transform:scaleX(1)}

.society-method-v7{padding:108px 42px;background:#0a1d2a;color:#fff}.society-method-head{max-width:1560px;margin:auto}.society-method-head h2{font-size:clamp(42px,5vw,76px);font-weight:400;line-height:1;margin:0 0 65px}.method-flow{display:grid;grid-template-columns:repeat(4,1fr);max-width:1560px;margin:auto;border-top:1px solid rgba(255,255,255,.18)}
.method-flow article{position:relative;padding:38px 28px 42px;border-right:1px solid rgba(255,255,255,.15);overflow:hidden}
.method-flow article:last-child{border-right:0}.method-flow article:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:#8bd9ed;transition:right .7s ease}.method-flow article:hover:after{right:0}
.method-flow span{font-size:11px;letter-spacing:.16em;color:#8bd9ed}.method-flow h3{font-size:30px;font-weight:450;margin:24px 0 12px}.method-flow p{opacity:.68;line-height:1.6}

.experience-register-v7{padding:110px 42px 96px;background:#f2efe9;color:var(--ink)}.experience-register-head{max-width:1560px;margin:0 auto 52px;display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}.experience-register-head .kicker{grid-column:1/3;color:var(--warm)}.experience-register-head h2{font-size:clamp(44px,5vw,76px);line-height:1;font-weight:400;margin:0}.experience-register-head h2 span{color:var(--warm)}.experience-register-head>p:not(.kicker){font-size:16px;line-height:1.7;max-width:680px}
.experience-filters{display:flex;flex-wrap:wrap;gap:8px;max-width:1560px;margin:0 auto 28px;position:sticky;top:74px;z-index:12;padding:12px 0;background:rgba(242,239,233,.94);backdrop-filter:blur(10px)}
.experience-filters button{border:1px solid rgba(17,35,48,.18);background:transparent;padding:10px 15px;cursor:pointer;font:inherit;font-size:12px}.experience-filters button.active,.experience-filters button:hover{background:var(--ink);color:#fff}
.experience-list{max-width:1560px;margin:auto;border-top:1px solid rgba(17,35,48,.16)}
.experience-list article{display:grid;grid-template-columns:150px minmax(360px,1.4fr) 1fr 30px;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(17,35,48,.14);transition:padding .25s,background .25s,opacity .25s}
.experience-list article:hover{padding-left:16px;background:rgba(255,255,255,.5)}.experience-list article.is-hidden{display:none}.experience-list time{font-size:12px;color:var(--warm);letter-spacing:.06em}.experience-list h3{font-size:18px;font-weight:500;margin:0}.experience-list p{margin:0;color:rgba(17,35,48,.58);font-size:14px}.experience-list article>span{color:var(--warm)}

.featured-experience-v7{background:#071827;color:#fff}.featured-title{padding:105px 42px 65px;max-width:1560px;margin:auto}.featured-title h2{font-size:clamp(48px,5.5vw,84px);line-height:.98;font-weight:400;margin:0}.featured-title h2 span{color:#8bd9ed}
.experience-story{position:relative;height:92vh;min-height:680px;overflow:hidden;isolation:isolate;border-top:1px solid rgba(255,255,255,.12)}
.story-image{position:absolute;inset:0}.story-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,29,.94) 0,rgba(4,17,29,.68) 34%,rgba(4,17,29,.18) 62%,rgba(4,17,29,.08) 100%)}
.story-image img{width:100%;height:100%;object-fit:cover;transform:scale(1.13);filter:saturate(.9) contrast(1.03);transition:transform 1.8s cubic-bezier(.16,.78,.22,1),filter 1.3s}
.experience-story.is-active .story-image img{transform:scale(1.02);filter:saturate(1.08) contrast(1.05)}
.story-overlay{position:absolute;z-index:2;left:42px;bottom:9vh;width:min(48%,720px);opacity:.22;transform:translateY(40px);transition:opacity .8s,transform 1s cubic-bezier(.16,.78,.22,1)}.experience-story.is-active .story-overlay{opacity:1;transform:none}
.story-sector{font-size:11px;letter-spacing:.17em;color:#9de3f4}.story-overlay h2{font-size:clamp(48px,5.6vw,86px);font-weight:400;line-height:.97;margin:12px 0 14px}.story-overlay time{display:block;color:#9de3f4;margin-bottom:22px}.story-summary{font-size:19px;line-height:1.55;max-width:650px}.story-comment{font-size:14px;line-height:1.65;max-width:610px;color:rgba(255,255,255,.68);padding-top:18px;border-top:1px solid rgba(255,255,255,.22)}
.society-close-v7{padding:110px 42px;background:#861f41;color:#fff}.society-close-v7 h2{max-width:1220px;font-size:clamp(46px,5vw,78px);line-height:1;font-weight:400;margin:0 0 42px}.society-close-v7 h2 span{color:#f0c6d3}.society-close-v7 .button{background:#fff;color:#861f41}

@media(max-width:950px){.society-hero-inner,.experience-register-head{grid-template-columns:1fr}.society-hero-v7 .kicker,.experience-register-head .kicker,.society-hero-v7 h1,.society-hero-copy{grid-column:1}.society-timeline-v7{grid-template-columns:repeat(2,1fr)}.method-flow{grid-template-columns:repeat(2,1fr)}.experience-list article{grid-template-columns:110px 1fr}.experience-list p,.experience-list article>span{grid-column:2}.story-overlay{width:72%}}
@media(max-width:620px){.society-hero-v7,.society-method-v7,.experience-register-v7,.featured-title,.society-close-v7{padding-left:24px;padding-right:24px}.society-timeline-v7{grid-template-columns:1fr;padding:72px 24px}.timeline-track{display:none}.society-timeline-v7 article{border-left:0;border-top:1px solid rgba(17,35,48,.14);padding-left:0}.method-flow{grid-template-columns:1fr}.method-flow article{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.experience-filters{top:70px}.experience-list article{grid-template-columns:1fr;gap:8px}.experience-list p,.experience-list article>span{grid-column:1}.experience-story{height:84vh;min-height:620px}.story-overlay{left:24px;right:24px;bottom:6vh;width:auto}.story-image:after{background:linear-gradient(180deg,rgba(4,17,29,.15),rgba(4,17,29,.92) 72%)}}

/* V8 — Projects: equal two-column cards with full-frame imagery */
.projects-v8{padding:105px 42px 120px;background:#f4f1eb;color:var(--ink)}
.projects-v8-head{max-width:1560px;margin:0 auto 54px}.projects-v8-head .kicker{color:var(--warm)}
.projects-v8-head h2{margin:0;font-size:clamp(46px,5.2vw,80px);line-height:.98;font-weight:400;letter-spacing:-.035em}.projects-v8-head h2 span{color:var(--warm)}
.projects-v8-head-second{margin-top:112px;padding-top:72px;border-top:1px solid rgba(17,35,48,.15)}
.projects-v8-grid{max-width:1560px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.project-card-v8{background:#081b29;color:#fff;overflow:hidden;display:grid;grid-template-rows:minmax(380px,1fr) auto;min-height:690px;box-shadow:0 14px 44px rgba(5,19,29,.10)}
.project-card-image-v8{position:relative;overflow:hidden;aspect-ratio:1/1;min-height:380px;background:#132b38}
.project-card-image-v8 img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;object-position:center;transform:scale(1.02) translate3d(-1%,0,0);animation:projectAutoPanV8 12s ease-in-out infinite alternate;filter:saturate(.98) contrast(1.03);transition:filter .5s,transform .5s}
.project-card-v8:nth-child(even) .project-card-image-v8 img{animation-direction:alternate-reverse;animation-duration:14s}.project-card-v8:hover .project-card-image-v8 img{animation-play-state:paused;filter:saturate(1.12) contrast(1.06)}
@keyframes projectAutoPanV8{0%{transform:scale(1.05) translate3d(-2.5%,-1.5%,0)}50%{transform:scale(1.10) translate3d(1.5%,1%,0)}100%{transform:scale(1.06) translate3d(-.5%,2%,0)}}
.project-card-image-v8:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(5,18,28,.42) 100%);pointer-events:none}
.project-card-scan-v8{position:absolute;left:-40%;top:0;width:22%;height:100%;background:linear-gradient(90deg,transparent,rgba(154,226,244,.18),transparent);transform:skewX(-8deg);animation:projectScanV8 7.5s ease-in-out infinite;mix-blend-mode:screen;pointer-events:none}
@keyframes projectScanV8{0%,18%{left:-40%;opacity:0}28%{opacity:1}70%{opacity:.7}85%,100%{left:120%;opacity:0}}
.project-card-copy-v8{padding:26px 28px 32px;min-height:260px;display:flex;flex-direction:column}.project-theme-v8{margin:0 0 8px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8bd9ed}.project-client-v8{margin:0 0 8px;font-size:13px;color:rgba(255,255,255,.66)}
.project-card-copy-v8 h3{margin:0 0 16px;font-size:clamp(24px,2.15vw,34px);line-height:1.08;font-weight:450}.project-comment-v8{margin:auto 0 0;font-size:14px;line-height:1.62;color:rgba(255,255,255,.70);padding-top:18px;border-top:1px solid rgba(255,255,255,.15)}
@media(max-width:980px){.projects-v8-grid{grid-template-columns:1fr}.project-card-v8{min-height:650px}.project-card-image-v8{aspect-ratio:4/3}.project-card-copy-v8{min-height:230px}}
@media(max-width:620px){.projects-v8{padding:76px 24px 90px}.project-card-v8{min-height:610px}.project-card-image-v8{min-height:330px;aspect-ratio:1/1}}
@media(prefers-reduced-motion:reduce){.project-card-image-v8 img,.project-card-scan-v8{animation:none!important}}

/* V9 */
.society-method-v7{position:relative;isolation:isolate;overflow:hidden;background:#061827!important}
.society-method-v7:before{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(6,24,39,.90),rgba(6,24,39,.66)),url("assets/images/hero-cg.webp");background-size:cover;background-position:center;transform:scale(1.05)}
.society-method-v7:after{content:"";position:absolute;inset:-10%;z-index:-2;background:repeating-linear-gradient(28deg,transparent 0 46px,rgba(125,215,237,.06) 47px,transparent 48px),radial-gradient(circle at 18% 30%,rgba(96,213,240,.25) 0 2px,transparent 3px),radial-gradient(circle at 65% 35%,rgba(96,213,240,.25) 0 2px,transparent 3px),radial-gradient(circle at 82% 68%,rgba(230,153,72,.22) 0 2px,transparent 3px);animation:fieldV9 16s ease-in-out infinite alternate;mix-blend-mode:screen}
@keyframes fieldV9{to{transform:translate3d(2%,1%,0) scale(1.04)}}
.sectors-v9{padding:110px 42px;background:#f4f1eb}.sectors-v9-head{max-width:1560px;margin:auto auto 55px;display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}.sectors-v9-head .kicker{grid-column:1/3;color:var(--warm)}.sectors-v9-head h2{margin:0;font-size:clamp(48px,5.5vw,84px);line-height:.98;font-weight:400}.sectors-v9-head h2 span{color:var(--warm)}.sectors-v9-head>p{margin:0;line-height:1.7}.sector-accordion-v9{max-width:1560px;margin:auto;border-top:1px solid rgba(17,35,48,.16)}.sector-row-v9{border-bottom:1px solid rgba(17,35,48,.16)}.sector-toggle-v9{width:100%;display:grid;grid-template-columns:55px minmax(280px,.8fr) 1fr 30px;gap:22px;align-items:center;text-align:left;background:none;border:0;padding:27px 0;cursor:pointer;color:inherit}.sector-toggle-v9>span{font-size:11px;color:var(--warm);letter-spacing:.15em}.sector-toggle-v9>strong{font-size:clamp(24px,2.4vw,37px);font-weight:450}.sector-toggle-v9>em{font-style:normal;font-size:14px;line-height:1.55;color:rgba(17,35,48,.6)}.sector-toggle-v9>b{font-size:26px;font-weight:300;transition:.3s}.sector-row-v9.is-open .sector-toggle-v9>b{transform:rotate(45deg)}.sector-projects-v9{padding:0 0 28px 77px;display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px}.sector-projects-v9[hidden]{display:none}.sector-projects-v9 span{padding:12px 0;border-top:1px solid rgba(17,35,48,.09);font-size:14px}
.project-card-image-v8{background:#eef0ee!important}.project-card-image-v8 img{inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;animation:fitV9 10s ease-in-out infinite alternate!important;background:#eef0ee}.project-card-image-v8:after{background:none!important}@keyframes fitV9{from{transform:scale(.985)}to{transform:scale(1.015)}}
@media(max-width:900px){.sectors-v9-head{grid-template-columns:1fr}.sectors-v9-head .kicker,.sectors-v9-head h2,.sectors-v9-head>p{grid-column:1}.sector-toggle-v9{grid-template-columns:44px 1fr 30px}.sector-toggle-v9>em{grid-column:2}.sector-toggle-v9>b{grid-column:3;grid-row:1/3}.sector-projects-v9{padding-left:66px;grid-template-columns:1fr}}

/* =========================================================
   CG ASSOCIATI — FINAL 2026
   Consolidated corrections after V9
   ========================================================= */

/* More restrained typography across internal sections */
.page-hero h1{font-size:clamp(44px,5.1vw,76px)!important;line-height:1.01!important}
.final-society h1{font-size:clamp(48px,5.4vw,82px)!important;line-height:.99!important}
.inner-section>h2,.projects-v8-head h2,.competence-intro h2,.international-head h2{font-size:clamp(38px,4.4vw,68px)!important}

/* Society + method */
.final-method{position:relative!important;background:#061827!important;isolation:isolate;overflow:hidden}
.final-method:before{content:"";position:absolute;inset:0;z-index:-3;background:
linear-gradient(90deg,rgba(4,19,31,.90),rgba(4,19,31,.54)),
url("assets/images/computational-method.png") center/cover no-repeat!important;
animation:methodComputational 18s ease-in-out infinite alternate}
.final-method:after{content:"";position:absolute;inset:-8%;z-index:-2;pointer-events:none;background:
repeating-linear-gradient(25deg,transparent 0 54px,rgba(119,219,243,.055) 55px,transparent 56px),
radial-gradient(circle at 18% 30%,rgba(122,225,248,.28) 0 2px,transparent 3px),
radial-gradient(circle at 55% 66%,rgba(122,225,248,.25) 0 2px,transparent 3px),
radial-gradient(circle at 83% 32%,rgba(231,156,80,.24) 0 2px,transparent 3px);
animation:methodNodes 15s ease-in-out infinite alternate;mix-blend-mode:screen}
@keyframes methodComputational{to{transform:scale(1.05) translate3d(1.2%,-.8%,0)}}
@keyframes methodNodes{to{transform:translate3d(2%,1%,0) scale(1.035)}}
.method-quote{max-width:900px;font-size:clamp(22px,2.2vw,32px);line-height:1.35;margin:22px 0 12px;color:#fff}
.method-network{max-width:900px;font-size:15px;line-height:1.65;color:rgba(255,255,255,.68);margin-bottom:42px}

/* Competence page: one accordion only */
.competence-final{padding:92px 42px 115px;background:#f4f1eb;color:var(--ink)}
.competence-intro{max-width:1560px;margin:0 auto 52px;display:grid;grid-template-columns:.9fr 1.1fr;gap:44px}
.competence-intro .kicker{grid-column:1/3;color:var(--warm)}
.competence-intro h2{margin:0;line-height:1;font-weight:400}.competence-intro h2 span{color:var(--warm)}
.competence-intro>p:not(.kicker){margin:0;line-height:1.7;max-width:700px}
.skill-accordion-final{max-width:1560px;margin:auto;border-top:1px solid rgba(17,35,48,.16)}
.skill-row{border-bottom:1px solid rgba(17,35,48,.16)}
.skill-toggle{width:100%;display:grid;grid-template-columns:58px minmax(270px,.78fr) 1fr 34px;gap:22px;align-items:center;text-align:left;background:transparent;border:0;padding:27px 0;cursor:pointer;color:inherit}
.skill-toggle>span{font-size:11px;letter-spacing:.16em;color:var(--warm)}
.skill-toggle>strong{font-size:clamp(23px,2.2vw,34px);font-weight:500}
.skill-toggle>em{font-style:normal;font-size:14px;line-height:1.55;color:rgba(17,35,48,.61)}
.skill-toggle>b{font-size:27px;font-weight:300;transition:transform .3s}
.skill-row.is-open .skill-toggle>b{transform:rotate(45deg)}
.skill-projects{padding:0 0 30px 80px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.skill-projects[hidden]{display:none}
.skill-work{padding:18px 20px;background:rgba(255,255,255,.56);border-left:2px solid rgba(134,31,65,.35)}
.skill-work h3{font-size:17px;margin:0 0 5px}.skill-work small{display:block;color:var(--warm);margin-bottom:8px}.skill-work p{font-size:13px;line-height:1.55;margin:0;color:rgba(17,35,48,.67)}

/* Projects: two equal cards, full artwork visible, every card animated */
.final-projects .projects-v8-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
.final-projects .project-card-v8{min-height:650px!important;grid-template-rows:390px auto!important}
.final-projects .project-card-image-v8{height:390px!important;min-height:390px!important;aspect-ratio:auto!important;background:#edf0ef!important;display:flex;align-items:center;justify-content:center}
.final-projects .project-card-image-v8 img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#edf0ef!important;animation:projectFloatFinal 9s ease-in-out infinite alternate!important;transform-origin:center!important}
.final-projects .project-card-v8:nth-child(even) .project-card-image-v8 img{animation:projectFloatFinalEven 11s ease-in-out infinite alternate!important}
@keyframes projectFloatFinal{0%{transform:scale(.965) translate3d(-.6%,0,0)}100%{transform:scale(1.015) translate3d(.7%,.4%,0)}}
@keyframes projectFloatFinalEven{0%{transform:scale(.97) translate3d(.7%,-.3%,0)}100%{transform:scale(1.012) translate3d(-.7%,.4%,0)}}
.final-projects .project-card-scan-v8{display:block!important;animation:projectScanV8 8s ease-in-out infinite!important}
.final-projects .project-card-copy-v8{min-height:235px!important}
.final-projects .project-card-copy-v8 h3{font-size:clamp(22px,2vw,31px)!important}

/* International */
.international-final{padding:110px 42px 120px;background:#061722;color:#fff}
.international-head{max-width:1560px;margin:0 auto 56px;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px}
.international-head .kicker{grid-column:1/3;color:#8bd9ed}.international-head h2{margin:0;font-weight:400;line-height:1}.international-head h2 span{color:#8bd9ed}.international-head>p{margin:0;line-height:1.7;color:rgba(255,255,255,.72)}
.international-grid{max-width:1560px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.international-card{position:relative;min-height:480px;overflow:hidden;background:#0d2a39}
.international-card img,.sudan-map{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:intZoom 13s ease-in-out infinite alternate}
.international-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,15,24,.94) 92%)}
.international-card>div:last-child{position:absolute;z-index:2;left:26px;right:26px;bottom:24px}
.international-card span{font-size:11px;letter-spacing:.18em;color:#8bd9ed}.international-card h3{font-size:27px;margin:8px 0}.international-card p{max-width:620px;margin:0;line-height:1.55;color:rgba(255,255,255,.7)}
.sudan-map{background:
radial-gradient(circle at 65% 38%,rgba(139,217,237,.25),transparent 22%),
repeating-linear-gradient(24deg,transparent 0 38px,rgba(139,217,237,.06) 39px,transparent 40px),
linear-gradient(135deg,#102f40,#071722)}
@keyframes intZoom{to{transform:scale(1.06)}}

/* Contact */
.contact-final{padding:82px 42px 110px;background:#f4f1eb;color:var(--ink)}
.contact-company{max-width:1560px;margin:auto}.contact-company h2{font-size:clamp(44px,4.5vw,68px);font-weight:400;margin:8px 0 36px}
.contact-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:30px 0 46px;border-top:1px solid rgba(17,35,48,.15);border-bottom:1px solid rgba(17,35,48,.15)}
.contact-data-grid strong{display:block;color:var(--warm);font-size:13px;margin-top:12px}.contact-data-grid p{line-height:1.55}.contact-data-grid a{color:inherit}
.contact-boxes{max-width:1560px;margin:52px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.interactive-form{background:#fff;padding:34px;border:1px solid rgba(17,35,48,.12)}.career-form{background:#0a1d2a;color:#fff}
.interactive-form h3{font-size:30px;font-weight:450;margin:8px 0 24px}.interactive-form label{display:block;font-size:12px;margin:14px 0}.interactive-form input,.interactive-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:13px;border:1px solid rgba(17,35,48,.18);background:transparent;color:inherit;font:inherit}.career-form input,.career-form textarea{border-color:rgba(255,255,255,.22)}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.privacy-check{display:flex!important;gap:10px;align-items:flex-start;line-height:1.4}.privacy-check input{width:auto!important;margin:2px 0 0!important}.form-intro{font-size:14px;line-height:1.6;opacity:.72}
.form-status{max-width:1560px;margin:20px auto;padding:14px 18px}.form-status.ok{background:#e7f4eb}.form-status.ko{background:#f6e8e8}

/* PA item 01 can be a single statement */
.advisory-list article:first-child p:empty,.advisory-list article:first-child p{}

/* Responsive */
@media(max-width:900px){
  .competence-intro,.international-head{grid-template-columns:1fr}.competence-intro .kicker,.international-head .kicker,.competence-intro h2,.competence-intro>p,.international-head h2,.international-head>p{grid-column:1}
  .skill-toggle{grid-template-columns:45px 1fr 30px}.skill-toggle>em{grid-column:2}.skill-toggle>b{grid-column:3;grid-row:1/3}.skill-projects{padding-left:66px;grid-template-columns:1fr}
  .final-projects .projects-v8-grid,.international-grid,.contact-boxes,.contact-data-grid{grid-template-columns:1fr!important}
}
@media(max-width:620px){.competence-final,.international-final,.contact-final{padding-left:24px;padding-right:24px}.skill-projects{padding-left:0}.form-two{grid-template-columns:1fr}.final-projects .project-card-image-v8{height:330px!important;min-height:330px!important}}
@media(prefers-reduced-motion:reduce){.final-method:before,.final-method:after,.final-projects .project-card-image-v8 img,.international-card img{animation:none!important}}

/* FINAL BILINGUAL UPDATE */
.lang-switch{display:inline-flex;align-items:center;gap:5px;margin-left:8px;font-size:11px;letter-spacing:.12em}.lang-switch a{opacity:.48;text-decoration:none;color:inherit}.lang-switch a.active,.lang-switch a:hover{opacity:1}.lang-switch i{font-style:normal;opacity:.28}.mobile-lang{display:flex;gap:8px;padding-top:12px}
.contact-hero-final{min-height:320px;display:flex;align-items:center;justify-content:center;text-align:center;background:
linear-gradient(135deg,rgba(4,21,33,.94),rgba(15,52,68,.88)),
url("assets/images/hero-cg.webp") center/cover no-repeat;color:#fff}
.contact-hero-final>div{width:100%;max-width:1200px;padding:64px 24px}.contact-hero-final .kicker{color:#90dced;margin-bottom:14px}.contact-hero-final h1{margin:0;font-size:clamp(46px,5vw,72px);line-height:1;letter-spacing:.04em;font-weight:400}
.international-card .document-inset{position:absolute!important;top:18px!important;right:18px!important;left:auto!important;bottom:auto!important;width:116px!important;height:154px!important;object-fit:cover!important;z-index:3!important;border:1px solid rgba(255,255,255,.5);box-shadow:0 10px 30px rgba(0,0,0,.28);animation:none!important;transform:rotate(1.5deg)!important}
.international-card.international-sudan>img:first-child{object-fit:cover!important}
@media(max-width:900px){.lang-switch{display:none}.international-card .document-inset{width:92px!important;height:122px!important}}

.hero-language{position:absolute;z-index:12;right:44px;bottom:30px;display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.hero-language a{color:#fff;text-decoration:none;opacity:.45}.hero-language a.active,.hero-language a:hover{opacity:1}.hero-language span{color:rgba(255,255,255,.35)}
@media(max-width:620px){.hero-language{right:24px;bottom:24px}}

/* COLLAUDO FINALE 2026 */
.page-hero.compact-hero{position:relative;min-height:500px!important;display:flex!important;align-items:flex-end!important;padding:86px 42px 70px!important;box-sizing:border-box!important;background-position:center!important}
.page-hero.compact-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,30,.99) 0%,rgba(4,18,30,.94) 36%,rgba(4,18,30,.50) 62%,rgba(4,18,30,.15));pointer-events:none}
.page-hero.compact-hero>div{position:relative;z-index:2;max-width:760px!important}.page-hero.compact-hero h1{font-size:clamp(42px,4.8vw,70px)!important;line-height:1.02!important;margin:12px 0 18px!important}.page-hero.compact-hero>div>p:last-child{font-size:16px!important;line-height:1.6!important;max-width:650px!important}
.selected-projects-head-final h2{font-size:clamp(40px,4.7vw,70px)!important}.selected-projects-head-final>p:not(.kicker){color:rgba(255,255,255,.72)!important;font-size:16px!important}.selected-projects-head-final .text-link{justify-self:start!important}
.projects-hero-final{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(90deg,rgba(6,24,39,.91),rgba(6,24,39,.22)),url("assets/images/hero-cg.webp") center/cover no-repeat;color:#fff;padding:88px 42px 72px;box-sizing:border-box}.projects-hero-final>div{position:relative;z-index:2;max-width:900px}.projects-hero-final .kicker{color:#a2e4f4;margin-bottom:18px}.projects-hero-final h1{font-size:clamp(48px,5.7vw,86px);font-weight:400;line-height:.96;letter-spacing:-.035em;margin:0 0 24px}.projects-hero-final>div>p{font-size:18px;line-height:1.5;margin:5px 0;color:rgba(255,255,255,.9)}.projects-hero-final .projects-hero-note{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#a2e4f4}
.projects-unified-final{background:#071827!important}.projects-unified-final .experience-story{height:92vh;min-height:680px}.projects-unified-final .story-image{background:#0a1c29}.projects-unified-final .story-image img{object-fit:cover!important;object-position:center!important;transform:scale(1.08);animation:storyFloatFinal 13s ease-in-out infinite alternate}.projects-unified-final .story-technical .story-image img{object-fit:contain!important;width:100%!important;height:100%!important;background:#edf0ef!important;padding:22px!important;box-sizing:border-box!important;transform:scale(.985);animation:storyTechnicalFinal 11s ease-in-out infinite alternate}.projects-unified-final .story-technical .story-image:after{background:linear-gradient(90deg,rgba(4,17,29,.94) 0,rgba(4,17,29,.68) 33%,rgba(4,17,29,.08) 68%,rgba(4,17,29,.02) 100%)!important}.projects-unified-final .story-overlay{width:min(47%,760px)!important}.projects-unified-final .story-overlay h2{font-size:clamp(38px,4.6vw,70px)!important;line-height:1.01!important}.projects-unified-final .story-summary{font-size:18px!important}
@keyframes storyFloatFinal{from{transform:scale(1.075) translate3d(-.6%,-.3%,0)}to{transform:scale(1.025) translate3d(.6%,.4%,0)}}@keyframes storyTechnicalFinal{from{transform:scale(.975) translate3d(-.4%,0,0)}to{transform:scale(1.008) translate3d(.4%,.2%,0)}}
.experience-register-head-final{display:block!important;margin-bottom:38px!important}.experience-register-head-final h2{font-size:clamp(38px,4.6vw,68px)!important;margin:0!important}
.hp-field{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.interactive-form input:focus,.interactive-form textarea:focus{outline:2px solid rgba(139,217,237,.7);outline-offset:1px}.interactive-form button{transition:transform .22s ease,box-shadow .22s ease}.interactive-form button:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.12)}
@media(max-width:900px){.projects-unified-final .story-overlay{width:72%!important}}@media(max-width:620px){.page-hero.compact-hero{min-height:430px!important;padding:72px 24px 54px!important}.projects-hero-final{min-height:470px;padding:72px 24px 52px}.projects-unified-final .experience-story{height:84vh;min-height:620px}.projects-unified-final .story-overlay{width:auto!important}.projects-unified-final .story-technical .story-image img{padding:8px!important}}

/* COLLAUDO — Camaldoli + project title scale */
.projects-unified-final .story-overlay h2{
  font-size:clamp(25px,2.45vw,42px)!important;
  line-height:1.08!important;
  max-width:720px!important;
  letter-spacing:-.018em!important;
}
.projects-unified-final .story-sector{font-size:11px!important;letter-spacing:.15em!important}
.projects-unified-final .story-summary{font-size:16px!important;line-height:1.5!important;max-width:690px!important}
.projects-unified-final .story-comment{font-size:14px!important;line-height:1.55!important;max-width:690px!important}
@media(max-width:620px){
  .projects-unified-final .story-overlay h2{font-size:clamp(24px,7vw,34px)!important}
}
