/* Revisione 04: proporzioni, copertine editoriali e continuità del marchio. */
.hero-grid{min-height:630px;padding-block:54px 48px}
.hero h1{font-size:clamp(43px,4.25vw,61px);line-height:1.09}
.hero-description{max-width:425px}
.hero-art .constellation{max-width:510px}
.hero-art .art-caption{font-size:9px;letter-spacing:.04em}
.demo-section{padding-block:78px}
.demo-section .section-heading{margin-bottom:36px}
.video-poster{border-radius:0}
.video-poster img{filter:saturate(.65);transition:transform .4s,filter .4s}
.video-poster:hover img{filter:saturate(.9)}
.video-control{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;background:#071e3ced;color:white;border:1px solid #ffffff66;border-radius:40px;font-size:12px;font-weight:500}
.video-control .video-play{position:static;width:37px;height:37px;border:1px solid #ffffff80;background:transparent}
.video-control .video-duration{position:static;background:none;padding:0;font-size:11px;color:#d3deea}
.video-card-text{border-top:0;padding-top:24px}
.demo-section .video-card-text h3{font-size:29px;max-width:500px}
.video-kicker{font-size:9px;letter-spacing:.14em}
.civic-section{min-height:440px;padding-block:70px}
.civic-copy h2{font-size:clamp(36px,4.6vw,64px)}
.office-section{padding-block:78px}
.office-benefits{gap:0;margin-top:38px}
.office-benefits article{position:relative;padding:0 40px 0 0;border-top:0}
.office-benefits article:before{content:"";position:absolute;left:12px;right:-12px;top:15px;height:1px;background:#becbd7}
.office-benefits article:last-child:before{display:none}
.office-node{position:relative;display:grid;place-items:center;width:31px;height:31px;border:1px solid #acbecf;border-radius:50%;background:white;margin-bottom:22px}
.office-node i{width:17px;height:17px;border:6px solid var(--navy);border-radius:50%;background:var(--gold)}
.office-role{display:block;font-size:10px;letter-spacing:.09em;color:var(--muted);margin-bottom:12px}
.office-benefits h3{font-size:24px;max-width:285px}
.office-benefits p{max-width:320px}
.brand-mark{width:47px;flex:none;fill:var(--gold);stroke:var(--navy);stroke-width:1}
.brand-mark path{fill:none;stroke:#9badbe}
.method-signature{display:flex;align-items:center;gap:22px}
.method-signature .eyebrow{margin:0}
.method-signature .eyebrow:before{display:none}
.method-signature .brand-mark{stroke:var(--gold);width:52px}
.footer-identity{display:flex;align-items:center;gap:22px}
.footer-identity .brand-mark{width:35px}
.suite-section{padding-block:78px}
.cards{gap:28px 35px}
.solution-card.upcoming{padding-top:0;background:transparent}
.solution-card.upcoming .card-body{padding:26px 0 6px}
.solution-card.upcoming .card-body h3{font-size:29px;margin-bottom:12px}
.solution-card.upcoming .card-body p{font-size:13px;margin-bottom:22px;max-width:440px}
.solution-card.upcoming .product-index{display:none}
.solution-card.upcoming .status{margin-bottom:12px;font-size:10px}
.solution-card.upcoming .card-link{padding-top:15px;min-height:44px}
.filter{min-height:44px}
.preview-label{position:static;transform:none;width:fit-content;max-width:calc(100% - 32px);margin:0 auto 20px;white-space:normal;box-shadow:none;text-align:center}
@media(prefers-reduced-motion:no-preference){
  .office-node{animation:node-arrival .8s ease-out both}
  .office-benefits article:nth-child(2) .office-node{animation-delay:.15s}
  .office-benefits article:nth-child(3) .office-node{animation-delay:.3s}
  @keyframes node-arrival{from{box-shadow:0 0 0 10px #f3bb3500}50%{box-shadow:0 0 0 5px #f3bb351b}to{box-shadow:0 0 0 0 #f3bb3500}}
}
@media(max-width:820px){
  .hero-grid{min-height:0;padding-block:40px}
  .hero h1{font-size:43px}
  .office-benefits article{padding-right:23px}
  .office-benefits h3{font-size:21px}
  .method-signature{gap:15px}
  .video-control{left:12px;bottom:12px;font-size:11px;gap:9px}
  .video-control .video-play{width:32px;height:32px}
  .demo-section .video-card-text h3{font-size:26px}
}
@media(max-width:600px){
  .site-header{height:88px}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:0;padding-block:28px 27px}
  .hero-copy{display:contents}
  .hero-copy>.eyebrow{order:0;font-size:8px;letter-spacing:.12em;margin-bottom:18px}
  .hero h1{order:1;font-size:35px;line-height:1.1;letter-spacing:-.045em;max-width:340px}
  .hero h1 .second{margin-top:12px}
  .hero-art{order:2;height:147px;margin:13px 0 10px;overflow:visible;align-self:auto}
  .hero-art .constellation{height:155px;width:auto}
  .hero-architecture{inset:0;height:100%;opacity:.18;object-position:center}
  .hero-art .art-caption{display:none}
  .hero-description{order:3;font-size:14px;line-height:1.65;margin:8px 0 16px;max-width:none}
  .hero-access{order:4;max-width:none;font-size:11px;line-height:1.6;margin:0 0 20px}
  .hero-actions{order:5;gap:8px 14px;flex-wrap:nowrap}
  .hero-actions .button{font-size:11px;gap:12px;padding:12px 14px}
  .hero-actions .text-link{font-size:11px;gap:6px}
  .hero-foot{padding-block:16px;font-size:8px}
  .hero-foot>span{max-width:155px}
  .demo-section,.suite-section,.office-section{padding-block:50px}
  .demo-section .section-heading{margin-bottom:27px}
  .demo-section .section-heading h2{font-size:30px}
  .demo-section .video-grid{gap:33px}
  .demo-section .video-card-text h3{font-size:27px}
  .video-card-text{padding-top:19px}
  .video-control{left:13px;bottom:13px;padding:6px 12px 6px 6px}
  .video-control .video-play{width:31px;height:31px}
  .civic-section{min-height:390px;padding-block:50px}
  .civic-copy h2{font-size:39px}
  .office-benefits{gap:0;margin-top:30px}
  .office-benefits article{padding:0 0 28px 45px}
  .office-benefits article:before{left:15px;right:auto;top:16px;bottom:0;width:1px;height:auto}
  .office-node{position:absolute;left:0;top:0}
  .office-role{padding-top:7px;margin-bottom:12px;font-size:10px}
  .office-benefits h3{font-size:24px;max-width:none}
  .office-benefits p{font-size:14px;max-width:none;margin-bottom:0}
  .office-benefits article:last-child{padding-bottom:0}
  .solution-card.available .card-body{padding:27px}
  .solution-card.available .card-body h3{font-size:35px}
  .solution-card.available .story-visual .product-screen{aspect-ratio:16/10}
  .solution-card.upcoming .card-body h3{font-size:27px}
  .cards{gap:25px}
  .footer-identity{gap:15px}
}

/* Revisione 05: il percorso cittadino-Comune, soltanto questa sezione. */
.office-depth{background:#f5f3ee;border-block:1px solid #e8e5df;padding-block:72px 82px}
.office-depth .section-heading{align-items:center;margin-bottom:40px;gap:55px}
.office-depth .section-heading h2{font-size:clamp(31px,3.1vw,43px);max-width:650px;line-height:1.16}
.office-depth .section-heading>.eyebrow{margin-bottom:20px}
.office-depth .section-heading>p{max-width:310px;font-size:14px}
.office-depth .office-benefits{position:relative;align-items:center;gap:0;margin-top:0}
.office-depth .office-card{position:relative;padding:32px 35px;min-height:302px;background:#fff;border:1px solid #e2e0da}
.office-depth .office-card:before{display:none}
.office-depth .office-card:first-child{padding-right:44px}
.office-depth .office-card:last-child{padding-left:44px}
.office-depth .office-symbol{width:53px;height:50px;fill:none;stroke:var(--navy);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:24px}
.office-depth .symbol-accent{fill:var(--gold);stroke:var(--gold)}
.office-depth .office-role{font-size:10px;line-height:1.5;letter-spacing:.07em;margin-bottom:10px;padding:0;color:#5a6c7e}
.office-depth .office-card h3{font-size:25px;max-width:270px;line-height:1.18;margin:0 0 17px}
.office-depth .office-card p{font-size:14px;line-height:1.7;max-width:330px;margin:0;color:#5a6c7e}
.office-depth .office-card-core{z-index:1;margin-inline:-10px;padding:41px 37px;min-height:344px;background:#082c58;border-color:#082c58;box-shadow:0 15px 28px #071e3c16}
.office-depth .office-card-core:before,.office-depth .office-card-core:after{content:"";display:block;position:absolute;top:65px;width:25px;height:1px;background:#bb963e;left:-13px;right:auto;bottom:auto}
.office-depth .office-card-core:after{left:auto;right:-13px}
.office-depth .office-card-core .office-symbol{stroke:#e4ecf4}
.office-depth .office-card-core h3{color:#fff}
.office-depth .office-card-core p{color:#d6e0e9}
.office-depth .office-card-core .office-role{color:#d6e0e9}
@media(max-width:1000px) and (min-width:601px){
  .office-depth .office-card{padding:26px 22px;min-height:330px}
  .office-depth .office-card:first-child{padding-right:29px}
  .office-depth .office-card:last-child{padding-left:29px}
  .office-depth .office-card-core{padding:36px 25px;min-height:367px;margin-inline:-6px}
  .office-depth .office-card h3{font-size:22px}
  .office-depth .office-card p{font-size:13px}
  .office-depth .section-heading{gap:30px}
}
@media(max-width:600px){
  .office-depth{padding-block:45px 50px}
  .office-depth .section-heading{margin-bottom:27px}
  .office-depth .section-heading h2{font-size:31px;max-width:330px}
  .office-depth .section-heading>p{max-width:none;font-size:14px;margin-top:18px}
  .office-depth .eyebrow{font-size:9px;line-height:1.6;letter-spacing:.11em;margin-bottom:19px}
  .office-depth .office-benefits{grid-template-columns:1fr;padding-inline:6px}
  .office-depth .office-card,.office-depth .office-card:first-child,.office-depth .office-card:last-child{min-height:0;padding:25px}
  .office-depth .office-card-core{margin: -1px -6px;padding:29px 31px;min-height:0}
  .office-depth .office-symbol{width:45px;height:43px;margin-bottom:19px}
  .office-depth .office-card h3{font-size:25px;max-width:none;margin-bottom:14px}
  .office-depth .office-card p{font-size:14px;max-width:none}
  .office-depth .office-card-core:before,.office-depth .office-card-core:after{left:50%;right:auto;top:-10px;width:1px;height:20px}
  .office-depth .office-card-core:after{top:auto;bottom:-10px}
}

/* Presentazione complessiva: un approfondimento nella sezione Suite. */
.suite-film{display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;gap:38px;align-items:center;padding:26px;background:#f2f4f6;border:1px solid #e0e6ec;margin-bottom:40px}
.suite-film-media{min-width:0}
.suite-film .video-poster{width:100%;aspect-ratio:16/10;background:#fff;border:1px solid #e0e6ec}
.suite-film .video-poster img{width:100%;height:100%;object-fit:contain;padding:0 18px 34px;filter:none}
.suite-film .video-control{left:50%;bottom:14px;transform:translateX(-50%);white-space:nowrap;font-size:11px;gap:9px;padding:6px 13px 6px 6px}
.suite-film .video-control .video-play{width:30px;height:30px}
.suite-film-copy .eyebrow{font-size:9px;margin-bottom:17px;letter-spacing:.11em}
.suite-film-copy h3{font-size:30px;line-height:1.2;color:var(--navy);margin:0 0 15px;letter-spacing:-.035em}
.suite-film-copy p{font-size:14px;line-height:1.7;color:var(--muted);margin:0;max-width:540px}
.suite-film-copy .suite-film-status{font-size:12px;margin-top:19px;padding-top:16px;border-top:1px solid #d3dde6;color:var(--navy)}
@media(max-width:820px){.suite-film{gap:24px;padding:20px;grid-template-columns:1fr 1fr}.suite-film-copy h3{font-size:25px}.suite-film-copy p{font-size:13px}.suite-film .video-poster{aspect-ratio:1/1}.suite-film .video-control{font-size:10px;padding-right:9px;gap:7px}}
@media(max-width:600px){.suite-film{grid-template-columns:1fr;gap:24px;padding:18px;margin-bottom:30px}.suite-film .video-poster{aspect-ratio:16/10}.suite-film-copy h3{font-size:26px}.suite-film-copy p{font-size:14px}.suite-film-copy .suite-film-status{font-size:12px}.suite-film-copy .eyebrow{font-size:8px;letter-spacing:.08em}}
