/* Progelec visual direction: polished materials, warm gold, technical precision. */
:root{
  --ink:#27251f;
  --paper:#f4f0e7;
  --gold:#9b792b;
  --gold-light:#e2c778;
  --line:#d8ccb3;
  --muted:#696359;
  --glass:rgba(255,253,247,.68);
  --deep:#222321;
  --deep-soft:#302f2a;
  --shine:rgba(255,255,255,.72);
}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font-size:16px;line-height:1.55;background:var(--paper);color:var(--ink);overflow-x:hidden}
body,body *{cursor:url('https://progelec.ch/wp-content/uploads/2026/10/progelec-bolt-cursor-small.png?v=20261008-60percent') 1 1,auto}
a,button,summary,[role="button"]{cursor:url('https://progelec.ch/wp-content/uploads/2026/10/progelec-bolt-cursor-small.png?v=20261008-60percent') 1 1,pointer}
input,textarea,[contenteditable="true"],[role="textbox"]{cursor:text!important}
body:before{opacity:.17;background-image:linear-gradient(90deg,rgba(244,240,231,.95),rgba(244,240,231,.66) 58%,rgba(244,240,231,.15)),url('assets/wallpaper-wh.webp');background-size:cover,cover;background-position:center,right top}
body:after{content:"";position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold),#f1d987);transform:scaleX(var(--page-progress,0));transform-origin:left;z-index:20;pointer-events:none}
.preview{font-size:12px;letter-spacing:.02em;background:rgba(222,209,176,.4);backdrop-filter:blur(12px)}
header{position:sticky;top:0;z-index:10;background:rgba(248,245,237,.76);backdrop-filter:blur(18px) saturate(1.18);border-color:rgba(155,121,43,.22);transition:box-shadow .35s,background .35s}
header.is-scrolled{background:rgba(248,245,237,.92);box-shadow:0 8px 28px rgba(48,43,34,.08)}
.wrap{width:100%;max-width:1480px;padding-left:clamp(22px,5vw,88px);padding-right:clamp(22px,5vw,88px)}
.header{min-height:84px;padding:12px clamp(22px,5vw,88px);gap:32px}
.brand-image img{width:clamp(148px,16vw,205px);height:auto;filter:drop-shadow(0 2px 8px rgba(50,40,20,.08))}
nav{gap:clamp(14px,2vw,30px);font-size:15px}
nav a{transition:color .2s,transform .2s}
nav a:hover{color:var(--gold);transform:translateY(-1px);text-decoration:none}
nav a[aria-current=page]:after{bottom:-12px;width:100%;height:2px;box-shadow:0 0 10px rgba(226,199,120,.55)}
nav .button{padding:11px 18px;border-radius:999px;font-size:14px}
.label{text-transform:none;letter-spacing:.045em;font-size:13px}
.gold{color:var(--gold)}
a{transition:color .2s}
a:hover{color:#72571e}
.button{position:relative;gap:10px;border:1px solid rgba(121,94,37,.5);border-radius:999px;padding:12px 20px;font-size:14px;background:rgba(255,253,247,.4);backdrop-filter:blur(8px);transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.button:after{content:"↗";font-size:16px;line-height:1}
.button.primary{background:linear-gradient(135deg,#3c382f,#242321);border-color:#3b3529;color:#fffdf6;box-shadow:0 9px 24px rgba(39,36,29,.16)}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(80,63,28,.16)}
.button.primary:hover{background:linear-gradient(135deg,#8d6c23,#5f491d);color:#fff}
.home-stage{position:relative;isolation:isolate;overflow:hidden;width:calc(100% - clamp(24px,5vw,88px));max-width:1480px;min-height:min(650px,68vw);margin:clamp(22px,4vw,58px) auto 28px;padding:clamp(28px,6vw,92px);grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(28px,5vw,78px);border:1px solid rgba(255,255,255,.2);border-radius:32px;color:#f6f2e9;background:radial-gradient(ellipse at 78% 28%,rgba(201,166,82,.22),transparent 34%),linear-gradient(125deg,#282722 0%,#34312b 48%,#1d2021 100%);box-shadow:0 28px 80px rgba(50,42,27,.18),inset 0 1px 0 rgba(255,255,255,.18)}
.home-stage:before{content:"";position:absolute;inset:1px;border-radius:31px;pointer-events:none;z-index:-1;background:linear-gradient(112deg,rgba(255,255,255,.08),transparent 28%,transparent 68%,rgba(255,255,255,.06))}
.gold-network{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:1}
.home-copy,.project-showcase{position:relative;z-index:2}
.home-copy .label{color:#e6c977}
.home-copy h1{font-size:clamp(38px,5.1vw,72px);line-height:.99;letter-spacing:-.055em;margin:22px 0 20px;max-width:720px;color:#fbf8f0}
.home-copy h1 em{font-style:normal;color:#e5c56c;text-shadow:0 0 26px rgba(230,193,94,.2)}
.home-copy>p{font-size:clamp(16px,1.3vw,19px);line-height:1.6;max-width:570px;color:rgba(247,243,234,.78)}
.home-copy .actions{gap:14px;margin-top:28px}
.home-copy .actions .text-link{font-size:14px;color:#f2e7c9;text-underline-offset:5px}
.home-facts{gap:28px;margin-top:40px;padding-top:18px;border-color:rgba(255,255,255,.22);color:rgba(247,243,234,.65);font-size:13px}
.home-facts strong{font-size:14px;color:#f1d581;margin-bottom:5px}
.project-showcase{width:100%;max-width:610px;justify-self:end;padding:12px;border:1px solid rgba(255,255,255,.42);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.26),rgba(255,255,255,.06) 42%,rgba(219,191,123,.12));box-shadow:0 22px 55px rgba(5,8,8,.32),inset 0 1px 0 rgba(255,255,255,.55);backdrop-filter:blur(16px)}
.showcase-top{padding:8px 8px 12px;color:#f6f0df;font-size:13px}
.showcase-top .label{font-size:13px}
.showcase-top a{color:#f4dc9f;text-underline-offset:4px}
.slides{position:relative;aspect-ratio:1.22;border:1px solid rgba(255,255,255,.32);border-radius:17px;background:#cfc3a7;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);overflow:hidden}
.slides:after{content:"";position:absolute;inset:-30% -55%;z-index:1;pointer-events:none;background:linear-gradient(108deg,transparent 38%,rgba(255,255,255,.34) 47%,rgba(255,255,255,.06) 51%,transparent 61%);transform:translateX(-56%) rotate(8deg);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.project-showcase:hover .slides:after{transform:translateX(55%) rotate(8deg)}
.project-slide>img{filter:saturate(.9) contrast(1.05);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s}
.project-showcase:hover .project-slide>img{transform:scale(1.04);filter:saturate(1.04) contrast(1.08)}
.project-slide figcaption{z-index:2;padding:52px 24px 21px;background:linear-gradient(transparent,rgba(20,21,19,.9))}
.project-slide figcaption small{font-size:12px;opacity:.83}
.project-slide figcaption a{font-size:clamp(18px,2vw,25px);color:white}
.slide-controls{padding:11px 7px 3px;color:#f5efdf}
.slide-controls button{width:42px;height:36px;border-radius:50%;border-color:rgba(255,255,255,.38);color:#f5efdf}
.slide-controls button:hover{background:rgba(255,255,255,.18)}
.home-entry{gap:clamp(14px,2vw,28px);padding-bottom:clamp(38px,6vw,82px)}
.entry{position:relative;overflow:hidden;min-height:174px;padding:24px;border:1px solid rgba(141,115,58,.2);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(255,253,247,.43));box-shadow:0 10px 26px rgba(55,45,24,.055);backdrop-filter:blur(10px);transition:transform .35s,box-shadow .35s,border-color .35s}
.entry:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.45),transparent 38%,rgba(216,188,116,.09));opacity:.65}
.entry:hover{transform:translateY(-6px);border-color:rgba(155,121,43,.48);box-shadow:0 20px 42px rgba(55,45,24,.12);text-decoration:none}
.entry .label{position:relative;color:var(--gold)}
.entry h2{position:relative;font-size:clamp(18px,1.5vw,22px);line-height:1.14;margin:14px 0 8px}
.entry p,.entry-more{position:relative;font-size:14px}
.entry-studio{grid-template-columns:94px 1fr;gap:18px}
.entry-studio>img{width:94px;height:122px;border-radius:12px;object-fit:cover;box-shadow:0 10px 24px rgba(35,30,22,.18)}
.entry-studio .entry-more{margin-top:14px}
.page-heading{position:relative;isolation:isolate;overflow:hidden;padding-top:clamp(42px,7vw,104px);padding-bottom:clamp(24px,4vw,56px)}
.breadcrumb{font-size:13px;margin-bottom:22px;gap:10px;color:var(--muted)}
.page-heading .label{margin-bottom:14px;color:var(--gold)}
.page-heading h1{font-size:clamp(36px,5.2vw,66px);line-height:1.02;letter-spacing:-.05em;max-width:980px}
.page-heading>p{font-size:clamp(16px,1.5vw,19px);max-width:700px;margin-top:20px;color:var(--muted)}
main>.circuit{opacity:.17;filter:drop-shadow(0 0 12px rgba(196,157,68,.3));mask-image:linear-gradient(90deg,transparent,black 45%)}
section{padding:clamp(38px,6vw,86px) 0}
.section-head{gap:clamp(24px,5vw,72px);margin-bottom:clamp(24px,4vw,48px)}
.section-head h2,.sia-section>h2{font-size:clamp(27px,3.4vw,42px);line-height:1.04;letter-spacing:-.04em}
.section-head p,.sia-section>p{font-size:16px;line-height:1.65;color:var(--muted)}
.sia-section{position:relative}
.sia-section>.label{margin-bottom:12px}
.phase-grid{gap:16px;margin-top:30px}
.phase-card{position:relative;overflow:hidden;min-height:205px;padding:24px;border:1px solid rgba(141,115,58,.2);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(255,253,247,.48));box-shadow:0 12px 30px rgba(55,45,24,.06);transition:transform .35s,border-color .3s,box-shadow .35s}
.phase-card:hover{transform:translateY(-5px);border-color:rgba(155,121,43,.5);box-shadow:0 22px 44px rgba(55,45,24,.12)}
.phase-number{font-size:32px;color:var(--gold)}
.phase-card h3{font-size:19px;margin:15px 0 10px}
.phase-card p{font-size:14px;line-height:1.55}
.page-content .services{overflow:hidden;border:1px solid rgba(141,115,58,.22);border-radius:22px;background:rgba(255,253,247,.76);box-shadow:0 18px 46px rgba(55,45,24,.075);backdrop-filter:blur(12px);padding:0 clamp(18px,4vw,48px)}
.page-content .services>details{border-color:rgba(141,115,58,.2)}
summary{grid-template-columns:52px 1fr 34px;gap:18px;padding:22px 0;font-size:clamp(17px,1.8vw,22px);transition:color .2s}
summary:hover{color:var(--gold)}
summary span:first-child{font-size:14px}
summary:after{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(141,115,58,.38);border-radius:50%;font-size:18px;color:var(--gold)}
details[open] summary:after{background:var(--gold);color:white}
details p{font-size:15px;line-height:1.7;max-width:850px;margin:0 42px 22px 70px}
.service-body h3{font-size:18px;margin:24px 42px 10px 70px}
.role-comparison,.pv-grid{gap:18px}
.role-comparison article,.pv-grid article{padding:20px;border:1px solid rgba(141,115,58,.2);border-radius:16px;background:rgba(244,240,231,.58)}
.role-comparison article h3,.pv-grid article h3{margin:10px 0;font-size:17px}
.timeline-heading{gap:20px;margin-bottom:30px}
.timeline-heading p{font-size:16px;color:var(--muted)}
.timeline-scroll{padding:12px 0 22px}
.method-timeline{min-width:720px}
.method-timeline:before,.method-timeline:after{top:22px;height:2px}
.timeline-dot{width:46px;height:46px;border-width:2px;background:var(--paper);box-shadow:0 4px 16px rgba(70,53,19,.12)}
.method-timeline h3{font-size:19px}
.method-timeline p{font-size:14px;line-height:1.6;color:var(--muted)}
.method-timeline .label{font-size:13px}
.studio{gap:clamp(32px,7vw,100px)}
.studio img{max-width:430px;border-radius:22px;box-shadow:22px 24px 0 rgba(171,139,69,.15),0 30px 70px rgba(42,33,18,.18);transition:transform .5s}
.studio img:hover{transform:translateY(-5px) rotate(-1deg)}
.studio h2{font-size:clamp(30px,4vw,48px);line-height:1.02}
.studio p{font-size:16px;line-height:1.7}
.studio .credentials{font-size:14px;line-height:1.9}
.ambiti-grid{gap:16px}
.ambiti-grid>a{position:relative;overflow:hidden;border:1px solid rgba(141,115,58,.2);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,253,247,.46));padding:22px;box-shadow:0 10px 25px rgba(55,45,24,.05);transition:transform .35s,box-shadow .35s}
.ambiti-grid>a:after,.reference:after,.network-card:after{content:"";position:absolute;inset:-60% -100%;pointer-events:none;background:linear-gradient(108deg,transparent 45%,rgba(255,255,255,.48) 50%,transparent 56%);transform:translateX(-35%);transition:transform .8s}
.ambiti-grid>a:hover:after,.reference:hover:after,.network-card:hover:after{transform:translateX(45%)}
.ambiti-grid>a:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(55,45,24,.12);text-decoration:none}
.ambiti-grid h3{font-size:19px}
.ambiti-grid p{font-size:14px;line-height:1.6}
.refs{gap:18px}
.reference{position:relative;overflow:hidden;min-height:190px;border:1px solid rgba(141,115,58,.22);border-top:3px solid var(--gold);border-radius:16px;padding:22px;background:rgba(255,253,247,.72);box-shadow:0 10px 25px rgba(55,45,24,.05);transition:transform .35s,box-shadow .35s}
.reference:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(55,45,24,.12)}
.reference small{font-size:12px}
.reference h3{font-size:20px;min-height:0;margin:18px 0}
.reference a{font-size:14px;color:var(--gold)}
.project-grid{gap:clamp(14px,2vw,28px)}
.project-card{position:relative;overflow:hidden;border:1px solid rgba(141,115,58,.2);border-radius:20px;background:rgba(255,253,247,.76);box-shadow:0 10px 30px rgba(55,45,24,.07);transition:transform .4s,box-shadow .4s}
.project-card:hover{transform:translateY(-7px);box-shadow:0 24px 48px rgba(55,45,24,.15)}
.photo-open{background:#d3c6a9}
.photo-open img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.photo-open:after{content:"";position:absolute;inset:-60% -100%;pointer-events:none;background:linear-gradient(110deg,transparent 45%,rgba(255,255,255,.4) 50%,transparent 56%);transform:translateX(-40%);transition:transform .9s}
.photo-open:hover:after{transform:translateX(40%)}
.photo-open>span{right:12px;bottom:12px;border-radius:999px;padding:8px 12px;background:rgba(250,247,239,.9);backdrop-filter:blur(8px)}
.project-info{padding:20px}
.project-info small{font-size:13px}
.project-info h2{font-size:clamp(18px,1.7vw,23px);margin:8px 0 16px}
.project-info a{font-size:14px;color:var(--gold)}
.filter-bar{gap:9px;margin-bottom:24px}
.filter-bar button{border:1px solid rgba(141,115,58,.35);border-radius:999px;background:rgba(255,253,247,.55);padding:9px 15px;font-size:14px;transition:background .2s,color .2s,border .2s}
.filter-bar button.active,.filter-bar button:hover{background:var(--deep);color:white;border-color:var(--deep)}
.filter-bar>span{font-size:13px}
.network-grid{gap:18px}
.network-card{position:relative;overflow:hidden;border-radius:18px;background:rgba(255,253,248,.82);border:1px solid rgba(141,115,58,.2);box-shadow:0 10px 28px rgba(55,45,24,.055);transition:transform .35s,box-shadow .35s}
.network-card:hover{transform:translateY(-5px);box-shadow:0 22px 40px rgba(55,45,24,.12)}
.network-logo{height:120px;background:linear-gradient(145deg,#fff,#f2eee4);border-color:rgba(141,115,58,.15)}
.network-copy{padding:18px}
.network-copy .label{font-size:12px;min-height:0}
.network-copy h2{font-size:18px;margin:8px 0 12px}
.network-copy p{font-size:14px;line-height:1.6}
.network-visit{font-size:13px}
.contact{position:relative;overflow:hidden;border:1px solid rgba(141,115,58,.15);border-radius:28px;background:linear-gradient(128deg,rgba(255,255,255,.62),rgba(232,222,201,.48));box-shadow:0 20px 50px rgba(55,45,24,.07)}
.contact-grid{align-items:center;gap:clamp(28px,6vw,86px)}
.contact h2{font-size:clamp(29px,4vw,48px);line-height:1.02}
.contact address{padding:clamp(22px,4vw,46px);border-radius:20px;background:rgba(255,253,247,.72);box-shadow:inset 0 1px 0 white,0 14px 35px rgba(55,45,24,.07)}
.contact address a{font-size:clamp(17px,2vw,23px);margin-bottom:12px;color:var(--gold)}
.contact address p{font-size:15px;line-height:1.65}
.contact-form-section{gap:clamp(28px,5vw,72px);padding-top:45px;padding-bottom:60px}
.contact-form-section h2{font-size:clamp(27px,3.4vw,42px);line-height:1.05}
.contact-form-section p{font-size:15px}
.contact-form-section form{padding:clamp(20px,3.5vw,42px);border:1px solid rgba(141,115,58,.2);border-radius:20px;background:rgba(255,253,247,.77);box-shadow:0 14px 35px rgba(55,45,24,.07)}
form label{font-size:14px;margin-bottom:15px}
input,textarea{border-radius:10px;padding:12px 14px;font-size:15px}
.page-cta{margin-top:26px;padding:20px 0;gap:18px}
.page-cta p{font-size:16px}
footer{position:relative;overflow:hidden;background:linear-gradient(122deg,#282722,#34312b 62%,#1d2021);border-top:0;color:rgba(248,244,234,.72);padding:28px 0 18px}
.footer-grid{position:relative;z-index:1;gap:28px;padding-top:15px;padding-bottom:28px;font-size:14px}
.footer-logo{width:148px;filter:brightness(0) invert(1);opacity:.9}
.footer-grid strong{font-size:14px;color:#e9ce82}
.footer-grid p{line-height:1.65}
.footer-grid a,.footer-bottom{color:rgba(248,244,234,.72)}
.footer-grid a:hover{color:#f3d77f}
.footer-bottom{position:relative;z-index:1;border-color:rgba(255,255,255,.2);padding-top:15px;font-size:12px}
.affiliation-footer{color:#efdbab!important}
.bolt-arrow{position:absolute;inset:7%;width:86%;height:86%;overflow:visible;filter:drop-shadow(0 0 12px rgba(238,199,92,.76)) drop-shadow(0 8px 12px rgba(0,0,0,.3));animation:bolt-drift 4.8s ease-in-out infinite}
.bolt-arrow path{fill:none;stroke:url(#bolt-metal);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.bolt-arrow .bolt-core{stroke:#ffe697;stroke-width:2;opacity:.9}
.bolt-arrow .bolt-glint{stroke:white;stroke-width:1.3;opacity:.85;stroke-dasharray:32 180;animation:glint-travel 3.4s ease-in-out infinite}
.bolt-arrow,.progelec-page-bolt{display:none!important}
.scroll-reveal{opacity:1;transform:none}
.motion-ready .scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.2,.75,.2,1),transform .75s cubic-bezier(.2,.75,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
.scroll-reveal[data-reveal-group]{}
.progelec-page-bolt{position:absolute;right:clamp(20px,8vw,120px);top:20%;width:clamp(48px,7vw,92px);height:auto;opacity:.58;pointer-events:none;filter:drop-shadow(0 6px 14px rgba(155,121,43,.25));animation:bolt-drift 5s ease-in-out infinite}
@keyframes bolt-drift{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@keyframes glint-travel{0%{stroke-dashoffset:210;opacity:0}25%{opacity:.9}75%{opacity:.9}100%{stroke-dashoffset:0;opacity:0}}
@media(max-width:1050px){.home-stage{grid-template-columns:minmax(0,1fr) minmax(270px,.82fr);min-height:0}.home-copy h1{font-size:clamp(36px,5vw,58px)}.project-showcase{max-width:480px}.network-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){header{position:sticky}.header{min-height:72px;align-items:center}.brand-image img{width:155px}.menu-toggle{border:1px solid rgba(141,115,58,.4);border-radius:999px;background:rgba(255,255,255,.4);padding:9px 14px;font-size:14px;color:var(--ink)}nav{padding:18px 8px 12px;border-top:1px solid rgba(141,115,58,.18);margin-top:12px;background:rgba(248,245,237,.96);backdrop-filter:blur(18px)}nav.is-open{display:grid;border-radius:0 0 18px 18px}.nav-title{grid-column:1/-1}.home-stage{grid-template-columns:1fr;padding:clamp(26px,6vw,54px);gap:30px;border-radius:26px}.home-copy h1{max-width:650px}.home-copy>p{max-width:650px}.project-showcase{justify-self:start;max-width:min(100%,620px)}.home-entry{grid-template-columns:1fr 1fr}.entry-studio{grid-column:1/-1}.network-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.contact-form-section{grid-template-columns:1fr}.progelec-page-bolt{right:30px;top:15%;opacity:.36}}
@media(max-width:600px){html{scroll-padding-top:74px}body{font-size:15px}.wrap{padding-left:20px;padding-right:20px}.header{min-height:66px;padding:9px 20px}.brand-image img{width:138px}nav{grid-template-columns:1fr 1fr;gap:14px;font-size:14px}.home-stage{width:calc(100% - 28px);margin-top:16px;padding:24px 20px;border-radius:22px}.home-copy h1{font-size:clamp(36px,11vw,52px);margin:18px 0}.home-copy>p{font-size:15px}.home-copy .actions{align-items:flex-start;flex-direction:column}.home-facts{display:grid;gap:13px;margin-top:24px}.project-showcase{padding:8px;border-radius:20px}.showcase-top{padding:7px 5px 10px}.slides{aspect-ratio:1.15;border-radius:14px}.project-slide figcaption{padding:42px 15px 14px}.home-entry{grid-template-columns:1fr;padding-bottom:44px}.entry{min-height:145px;padding:20px}.entry-studio{grid-column:auto;grid-template-columns:72px 1fr}.entry-studio>img{width:72px;height:88px}.page-heading{padding-top:38px;padding-bottom:28px}.page-heading h1{font-size:clamp(34px,10vw,46px)}.page-heading>p{font-size:15px}section{padding:38px 0}.section-head h2,.sia-section>h2{font-size:30px}.section-head p,.sia-section>p{font-size:15px}.phase-grid{grid-template-columns:1fr 1fr;gap:10px}.phase-card{min-height:0;padding:16px}.phase-number{font-size:25px}.phase-card h3{font-size:16px;margin:10px 0}.phase-card p{font-size:12px}.page-content .services{padding:0 15px;border-radius:17px}summary{grid-template-columns:34px 1fr 30px;gap:10px;padding:17px 0;font-size:16px}details p,.service-body h3{margin-left:44px;margin-right:8px;font-size:14px}.role-comparison,.pv-grid{grid-template-columns:1fr}.timeline-heading{align-items:flex-start;flex-direction:column}.method-timeline{min-width:680px}.studio img{max-width:100%;border-radius:16px}.ambiti-grid{grid-template-columns:1fr 1fr;gap:10px}.ambiti-grid>a{padding:16px}.ambiti-grid h3{font-size:16px}.ambiti-grid p{font-size:12px}.refs{grid-template-columns:1fr}.reference{min-height:0}.reference h3{font-size:19px}.network-grid{grid-template-columns:1fr 1fr;gap:10px}.network-logo{height:94px;padding:12px}.network-copy{padding:14px 12px}.network-copy .label{font-size:11px}.network-copy h2{font-size:16px}.network-copy p{font-size:12px}.contact{border-radius:20px}.contact address{padding:20px}.contact-form-section form{padding:18px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px 14px;padding:15px 0 22px}.footer-grid>div:first-child{grid-column:1/-1}.footer-logo{width:132px}.footer-bottom{flex-direction:column;gap:8px}.progelec-page-bolt{width:52px;right:18px;opacity:.28}}
@media(max-width:390px){.home-copy h1{font-size:34px}.home-stage{padding-inline:17px}.phase-grid,.ambiti-grid{grid-template-columns:1fr}.network-grid{grid-template-columns:1fr}.network-card{display:grid;grid-template-columns:105px 1fr}.network-logo{height:auto;min-height:130px;border-bottom:0;border-right:1px solid rgba(141,115,58,.15)}.network-copy p{margin-bottom:8px}.network-copy .label{min-height:0}.network-visit{font-size:11px}}
@media(hover:none){.slides:after,.photo-open:after{display:none}.entry:hover,.project-card:hover,.network-card:hover,.phase-card:hover,.ambiti-grid>a:hover{transform:none}}
@media(pointer:coarse){body,body *{cursor:auto!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .scroll-reveal{opacity:1;transform:none;transition:none}.bolt-arrow,.progelec-page-bolt{animation:none}.project-showcase:hover .project-slide>img,.project-showcase:hover .slides:after,.photo-open:hover img,.entry:hover,.project-card:hover,.network-card:hover,.phase-card:hover,.ambiti-grid>a:hover,.studio img:hover{transform:none}.bolt-arrow .bolt-glint{animation:none;opacity:.65}}

/* The gold dot mesh replaces the retired animated circuit vias. */
.circuit{display:none!important}

/* Compact mobile scale: the 150% desktop presentation should not enlarge phone layouts. */
@media(max-width:600px){
  body{zoom:1!important}
  .header{min-height:58px!important;padding:8px 16px!important;gap:10px!important}
  .brand-image img{width:128px!important}
  .menu-toggle{padding:7px 12px!important;font-size:13px!important}
  nav{padding:12px 8px 10px!important;gap:10px!important;font-size:13px!important}
  .home-stage{width:calc(100% - 24px)!important;margin:12px auto 18px!important;padding:20px 17px!important;border-radius:17px!important;gap:20px!important}
  .home-copy .label{font-size:12px!important}
  .home-copy h1{font-size:clamp(30px,8vw,36px)!important;line-height:1.05!important;margin:14px 0!important}
  .home-copy>p{font-size:14px!important;line-height:1.55!important}
  .home-copy .actions{gap:10px!important;margin-top:18px!important}
  .button{padding:9px 14px!important;font-size:13px!important}
  .home-facts{gap:10px!important;margin-top:17px!important;font-size:12px!important}
  .home-facts strong{font-size:12px!important}
  .project-showcase{padding:5px!important;border-radius:15px!important}
  .showcase-top{padding:5px 3px 8px!important;font-size:12px!important}
  .slides{aspect-ratio:1.3!important;border-radius:11px!important}
  .project-slide figcaption{padding:30px 12px 12px!important}
  .home-entry{grid-template-columns:1fr!important;gap:10px!important;padding:0 12px 25px!important}
  .entry{min-height:0!important;padding:15px!important}
  .entry h2{font-size:16px!important}
  .entry p{font-size:13px!important}
  .page-heading{padding:26px 20px 18px!important}
  .page-heading h1{font-size:clamp(28px,7.5vw,34px)!important}
  section{padding:28px 0!important}
  .section-head h2,.sia-section>h2{font-size:25px!important}
  .section-head p,.sia-section>p{font-size:14px!important}
  .phase-grid,.ambiti-grid,.network-grid{grid-template-columns:1fr!important}
  .phase-card{padding:14px!important}
  .phase-number{font-size:22px!important}
  .phase-card h3{font-size:15px!important;margin:8px 0!important}
  .phase-card p{font-size:13px!important}
  .network-card{display:flex!important}
  .network-logo{height:88px!important;min-height:0!important;border-right:0!important;border-bottom:1px solid rgba(141,115,58,.15)!important}
  .network-copy h2{font-size:16px!important}
  .footer-grid{gap:16px 12px!important;padding:10px 0 16px!important}
}

/* Keep project typology labels in the Progelec palette on mobile. */
@media(max-width:600px){
  .project-card .project-info>.label,
  .project-card .project-info>.label.gold,
  .filter-bar button{color:var(--gold)!important}
}
/* Su mobile nasconde la freccia decorativa dei pulsanti. */
@media (max-width:600px){.button::after{content:none!important;display:none!important}}
