/* CM full-site variant. Existing identity and palette tokens remain authoritative. */
.cv-site{--cv-space:clamp(48px,6vw,88px)}
.cv-site :is(a,button,summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.cv-site [id]{scroll-margin-top:110px}
.cv-tools{display:flex;align-items:center;gap:12px 28px;flex-wrap:wrap;width:var(--shell);margin:0 auto;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.5}
.cv-tools>span{letter-spacing:.12em;font-size:10px;margin-right:auto}
.cv-tools a{text-decoration:underline;text-underline-offset:4px}
.cv-tools .motion-toggle{position:static;font-size:12px;padding:8px 12px;min-height:36px;color:var(--ink);border-color:var(--line)}
.cv-tools .motion-toggle span{color:inherit}
.cv-noscript{display:flex;flex-wrap:wrap;gap:16px 26px;width:var(--shell);margin:25px auto;padding:20px 0;border-block:1px solid var(--line)}
.cv-noscript a{font-size:15px;color:var(--ink)}
.cv-site .page-hero{min-height:0;padding-block:30px 40px}
.cv-site .page-hero-copy{padding-block:0}
.cv-site .page-hero h1{max-width:20ch;font-size:clamp(38px,4.4vw,68px);line-height:1.07}
.cv-site .page-hero .breadcrumbs{margin-bottom:28px}
.cv-site .page-lead{max-width:65ch;font-size:clamp(17px,1.5vw,21px);line-height:1.65}
.cv-site .page-hero.with-image{gap:5vw;padding-block:38px 48px}
.cv-site .page-hero-image img{max-height:520px;object-fit:contain}
.cv-site:has(.prefab-family-nav) .page-hero h1{font-size:clamp(38px,4vw,58px);max-width:24ch}
.cv-site .prefab-detail-content>.prefab-feature:first-child{padding-top:26px}
@media(min-width:1001px){.cv-site .prefab-detail-content>.prefab-feature:first-child>.prefab-section-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px 60px;max-width:none;margin-bottom:26px;align-items:start}.cv-site .prefab-detail-content>.prefab-feature:first-child>.prefab-section-heading>.eyebrow{display:none}.cv-site .prefab-detail-content>.prefab-feature:first-child>.prefab-section-heading>h2{margin:0;font-size:32px}.cv-site .prefab-detail-content>.prefab-feature:first-child>.prefab-section-heading>p{margin:0;font-size:17px}}
.cv-statement{font-size:clamp(23px,2.2vw,34px);letter-spacing:-.025em;margin:25px 0 0}
.cv-site .content-section{padding-block:var(--cv-space)}
.cv-site .content-body{max-width:72ch}
.cv-site .brochure-section{padding-block:36px;border-top:1px solid var(--line)}
.cv-site .brochure-section h2{font-size:clamp(26px,2.8vw,38px)}
.cv-site .brochure-section article{padding-block:22px}
.cv-site .brochure-section article p{font-size:15px;line-height:1.6;max-width:58ch}
.cv-site .brochure-section :is(svg,.brochure-art,.brochure-visual){max-height:130px}
.cv-site .brochure-section .eyebrow{margin-bottom:12px}
.cv-site .company-location{padding-block:48px}
.cv-site .company-location iframe{max-height:300px}
.cv-contatti .contact{min-height:0;padding-block:50px}
.cv-contatti .contact h2{font-size:clamp(28px,3.3vw,46px);max-width:22ch}
.cv-contatti .contact-meta{margin-top:30px}
.cv-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;border-block:1px solid var(--line);padding-block:12px;margin-block:20px 0}
.cv-index a{display:flex;gap:12px;padding:15px 0;font-size:14px;line-height:1.5;text-decoration:none;border-bottom:1px solid var(--line)}
.cv-index a span{font-size:11px;opacity:.6;min-width:22px}
.cv-index a:hover{text-decoration:underline;text-underline-offset:5px}
.cv-family-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:42px}
.cv-family{display:block;text-decoration:none}
.cv-family img{width:100%;height:230px;object-fit:cover}
.cv-family:nth-child(2) img{object-position:center 62%}
.cv-family span{display:flex;justify-content:space-between;font-size:clamp(22px,2.3vw,33px);padding:16px 0;border-bottom:1px solid var(--line)}
.cv-family:hover span{border-color:currentColor}
.cv-story{display:grid;grid-template-columns:1fr;position:relative;gap:clamp(30px,5vw,80px)}
.cv-step{padding:35px 0 50px;border-top:1px solid var(--line);min-width:0}
.cv-step h3{font-weight:400;font-size:clamp(28px,3.6vw,52px);line-height:1.1;letter-spacing:-.045em;margin:20px 0}
.cv-step>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:47ch;margin:0 0 24px}
.cv-step .text-link{font-size:17px;display:inline-block}
.cv-frame{margin:28px 0 0;min-width:0}
.cv-frame img{display:block;width:auto;max-width:100%;height:auto;max-height:560px;aspect-ratio:auto;object-fit:contain;background:transparent;margin-inline:auto}
.cv-frame figcaption{padding-top:12px;font-size:13px;line-height:1.5}
.cv-story-stage,.cv-select{display:none}
.cv-story.is-enhanced{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}
.cv-story.is-enhanced .cv-step{min-height:390px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.cv-story.is-enhanced .cv-step:last-child{min-height:calc(70vh + 90px)}
.cv-story.is-enhanced .cv-step.is-active{border-top-color:var(--ink)}
.cv-story.is-enhanced .cv-story-stage{display:block;position:sticky;top:155px;height:fit-content;align-self:start;min-width:0}
.cv-story.is-enhanced .cv-frame{margin:0}
.cv-story.is-enhanced .cv-frame[hidden]{display:none}
.cv-story.is-enhanced .cv-frame img{max-height:65vh;aspect-ratio:auto;object-fit:contain}
.cv-story.is-enhanced .cv-select{display:block;margin-top:25px;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.cv-select[aria-pressed=true]{border-bottom-color:var(--ink)!important}
.cv-moduli-commerciali .cv-story.is-enhanced .cv-frame img{aspect-ratio:auto;max-height:70vh}
.cv-more{border-block:1px solid var(--line);padding:20px 0;margin-top:32px}
.cv-more summary{cursor:pointer;font-size:17px;padding:6px 0}
.cv-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:24px}
.cv-residential-evidence.prefab-story-grid{grid-template-columns:1fr 1fr;gap:28px}
.cv-residential-evidence.prefab-story-grid>figure{grid-column:auto;grid-row:auto;align-self:start}
.cv-residential-evidence.prefab-story-grid>figure img{width:100%;aspect-ratio:4/3;object-fit:contain;height:auto}
.cv-residential-evidence.prefab-story-grid>.cv-render-secondary{grid-column:1/-1;max-width:480px;width:100%;justify-self:end;padding-top:12px}
.cv-residential-evidence.prefab-story-grid>.cv-render-secondary img{aspect-ratio:16/9}
.cv-site :is(.prefab-feature-photo,.industrial-model-photo) img{aspect-ratio:auto;background:transparent}
.cv-site :is(.az-diptych,.az-inline-photo) img{aspect-ratio:auto;background:transparent}
.cv-site .az-stage-frame>a>img{width:auto;max-width:100%;height:auto;max-height:clamp(190px,34vh,360px);object-fit:contain;background:transparent;margin-inline:auto}
.cv-site .contact{--drawing-surface:var(--ink)}
.cv-site .az-stage-schema{justify-content:center;padding-top:10px;margin-top:18px}
.cv-site .az-stage-schema svg{width:min(100%,430px);height:clamp(130px,22vh,220px);flex-shrink:1}
.cv-diagram-key{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;justify-content:center;margin:20px 0}
.cv-diagram-key span{border-top:1px solid var(--line);padding:12px 8px}
.cv-assembly-controls{display:none;gap:18px;justify-content:center;margin-top:20px}
.cv-enhanced:not(.motion-off) .cv-assembly-controls{display:flex}
.cv-assembly-controls button{border:0;border-bottom:1px solid var(--line);font:inherit;font-size:13px;color:inherit;background:transparent;padding:10px 0;cursor:pointer}
.cv-detail-pair{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.1fr .7fr;gap:28px;align-items:center;margin-top:30px}
.cv-detail-pair h3{font-size:clamp(26px,2.8vw,38px);font-weight:400;line-height:1.1;letter-spacing:-.035em}
.cv-detail-pair p:not(.eyebrow){font-size:16px;line-height:1.7}
.cv-detail-pair .cv-frame{margin:0}
.cv-detail-pair .cv-frame img{max-height:380px;aspect-ratio:auto}
.cv-site .cv-vertical-gallery .photo-gallery{max-width:580px;justify-self:center;width:100%}
.cv-site .cv-vertical-gallery .gallery-slide img{height:560px;object-fit:contain;background:var(--paper)}
.cv-site .water-heading p:not(.eyebrow){max-width:70ch}
.cv-work-nav{display:flex;flex-wrap:wrap;gap:14px 30px;background:var(--white);padding-block:16px;border-block:1px solid var(--line);font-size:14px;position:sticky;top:140px;z-index:6}
.cv-work-nav a{padding-block:6px}
.cv-site .water-art-flow{animation:none;stroke-dashoffset:0}
.cv-site .project-composition,.cv-site .project-composition:has(.project[hidden]){grid-template-rows:none;grid-auto-rows:auto;align-items:stretch}
.cv-realizzazioni .project{display:flex;flex-direction:column;border-bottom:1px solid var(--line);padding-bottom:22px}
.cv-realizzazioni .project[hidden]{display:none}
.cv-realizzazioni .project figure{background:transparent;min-height:0;height:auto;overflow:visible;flex:1}
.cv-realizzazioni .project figure:after{content:none}
.cv-realizzazioni .project img{display:block;height:260px;width:100%;object-fit:cover}
.cv-realizzazioni .project figcaption{position:static;padding:18px 0;color:var(--ink);background:none}
.cv-realizzazioni .project figcaption p{color:var(--ink);opacity:.7;font-size:11px}
.cv-realizzazioni .project h3{font-size:clamp(23px,2vw,30px);line-height:1.2;margin-bottom:0}
.cv-realizzazioni .project h3 a{text-decoration:none}
.cv-realizzazioni .project h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.cv-realizzazioni .project-arrow{display:none}
.cv-realizzazioni .project .project-trigger{position:static;inset:auto;width:fit-content;z-index:auto;padding:8px 0;border-bottom:1px solid var(--ink);color:var(--ink);font:inherit;font-size:14px;text-align:left}
.cv-realizzazioni .projects-heading{margin-bottom:32px}
.cv-site .project-filters button:after{content:attr(data-count);display:inline-block;margin-left:8px;opacity:.75;font-size:10px}
.cv-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 45px;padding-block:40px}
.cv-related>p{grid-column:1/-1;margin:0}
.cv-related a{font-size:17px;line-height:1.4;padding-bottom:15px;border-bottom:1px solid var(--line)}
.cv-site:is(.cv-privacy-policy,.cv-cookie-policy) .content-section{display:block;max-width:760px;margin-inline:auto}
.cv-site:is(.cv-privacy-policy,.cv-cookie-policy) .content-heading{margin-bottom:20px}
.cv-site:is(.cv-privacy-policy,.cv-cookie-policy) .content-body{font-size:17px;line-height:1.8}
.cv-map{margin:0;background:#f0f0e8;color:#17352e;font-family:Arial,sans-serif;line-height:1.6}
.cv-map main{max-width:1000px;margin:60px auto;padding:0 25px}
.cv-map h1{font-size:clamp(40px,6vw,76px);font-weight:400;letter-spacing:-.05em;line-height:1.05}
.cv-map a{color:inherit;text-underline-offset:5px}
.cv-map ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;margin:40px 0}
.cv-map li{padding:15px 0;border-bottom:1px solid #ccd2c7;display:flex;gap:18px;justify-content:space-between}
.cv-map li>a:nth-child(2){font-size:12px;white-space:nowrap}
@media(max-width:1000px){.cv-index{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-family img{height:180px}.cv-detail-pair{grid-template-columns:1fr 1fr}.cv-detail-pair header{grid-column:1/-1}.cv-tools{gap:10px 18px}.cv-story:not(.is-enhanced) .cv-step{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.cv-story:not(.is-enhanced) .cv-step>:not(figure){grid-column:1}.cv-story:not(.is-enhanced) .cv-frame{grid-column:2;grid-row:1/5;align-self:center;margin:0}.cv-work-nav{position:static}}
@media(max-width:600px){.cv-site [id]{scroll-margin-top:25px}.cv-tools{font-size:11px;padding-block:12px;gap:10px 16px}.cv-tools>span{width:100%;font-size:9px}.cv-tools .motion-toggle{padding:5px 8px;font-size:11px}.cv-site .page-hero,.cv-site .page-hero.with-image{padding-block:28px}.cv-site .page-hero h1{font-size:38px}.cv-index{display:block}.cv-index a{font-size:13px;padding:12px 0}.cv-family-doors{grid-template-columns:1fr;gap:24px;margin-top:28px}.cv-family{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.cv-family img{height:140px}.cv-family span{font-size:23px;line-height:1.2}.cv-story:not(.is-enhanced) .cv-step{display:block;padding:28px 0 35px}.cv-story:not(.is-enhanced) .cv-frame{margin:26px 0 0}.cv-step h3{font-size:34px}.cv-step>p:not(.eyebrow){font-size:16px}.cv-frame img{max-height:430px}.cv-residential-evidence.prefab-story-grid{grid-template-columns:1fr}.cv-more-grid{grid-template-columns:1fr}.cv-detail-pair{grid-template-columns:1fr;gap:22px}.cv-detail-pair header{grid-column:auto}.cv-detail-pair .cv-frame:last-child{max-width:300px;justify-self:center}.cv-site .cv-vertical-gallery .gallery-slide img{height:440px}.cv-related{grid-template-columns:1fr;gap:16px}.cv-realizzazioni .project img{height:auto;aspect-ratio:4/3}.cv-site .water-photo-grid{gap:20px 14px}.cv-site.cv-enhanced .water-reportage .water-photo-grid>.water-photo:nth-child(n+4){display:none}.cv-map ul{grid-template-columns:1fr}.cv-site .brochure-section{padding-block:28px}.cv-site .brochure-section article{padding-block:16px}}
@media(prefers-reduced-motion:reduce){.cv-site *, .cv-site *:before,.cv-site *:after{scroll-behavior:auto!important}.cv-site .water-art-flow{animation:none}.cv-enhanced .cv-assembly-controls{display:none!important}}
.cv-site .drawing-active :is(.cm-tech-module,.cm-tech-frame-front) {
  animation-name: cv-connected-reveal;
}
@keyframes cv-connected-reveal {
  from {opacity:0}
  to {opacity:1}
}
/* A single document band; certificate navigation belongs to its own section. */
.cv-site .brochure-section.cv-brochure-band{display:block;width:100%;max-width:none;margin:0;padding:0;background:#e5e9df;border-top:2px solid #526d40}
.cv-site .cv-brochure-band .brochure-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 50px;align-items:center;padding:40px 0;border:0;background:transparent}
.cv-site .cv-brochure-band h2{margin:0 0 16px;font-size:clamp(26px,2.8vw,38px)}
.cv-site .cv-brochure-band .brochure-actions{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}
.cv-site .cv-brochure-band .brochure-actions a{margin:0;font-size:15px}
.cv-site .cv-brochure-band .cv-download-size{margin:9px 0 0;font-size:12px;line-height:1.4}
.cv-site .cv-brochure-band .brochure-actions{align-items:flex-start}
.cv-site .cv-brochure-band .brochure-actions>.text-link{margin-top:17px}
.cv-site .cv-certifications-link{grid-column:1/-1;justify-self:start;margin-top:8px}
.cv-address{display:inline-block;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.cv-address:hover{color:var(--signal)}
.cv-gallery-fallback{display:grid;gap:10px;font-size:14px;line-height:1.5;padding-top:16px}
.cv-site .cv-tile-sos img{object-position:center 50%}
@media(min-width:1000px){.cv-home .home-work-tile{height:auto;aspect-ratio:3/4}.cv-home .home-work-tile:first-child,.cv-home .home-work-tile:last-child{aspect-ratio:3/2}}
@media(max-width:999px){.cv-home .home-work-tile{display:flex;flex-direction:column;height:auto;aspect-ratio:auto}.cv-home .home-work-tile>img{height:auto;aspect-ratio:3/4}.cv-home .home-work-tile:first-child>img,.cv-home .home-work-tile:last-child>img{aspect-ratio:3/2}.cv-home .home-work-caption{position:static;flex:1;align-items:start}.cv-home .home-work-caption>span:first-child{display:block;-webkit-line-clamp:unset;overflow:visible}}
.cv-realizzazioni .cv-vetro-sos img{height:260px;width:auto;max-width:100%;object-fit:contain;aspect-ratio:auto;margin-inline:auto}
html[data-palette="logo"] .cv-site .cv-brochure-band{background:#e3edf2;border-top-color:var(--logo-blue)}
html[data-palette="logo"] .cv-site .cv-brochure-band article{background:transparent}
@media(max-width:1100px){.cv-site .cv-brochure-band .brochure-card{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.cv-site .cv-brochure-band .brochure-card{padding-block:30px}.cv-site .cv-brochure-band .brochure-actions{align-items:flex-start;flex-direction:column}.cv-site .cv-brochure-band .brochure-actions a{font-size:13px}.cv-site .cv-tile-sos img{object-fit:cover}.cv-site .cv-tile-carpenteria img{object-position:45% center}}
/* Prefabbricati: a general construction story, with family navigation at the end. */
.cv-prefabbricati .cv-prefab-intro{padding-block:32px 60px}
.cv-prefab-intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,100px);align-items:end}
.cv-prefab-intro h1{margin:0;max-width:none!important}
.cv-prefab-intro-copy>p:last-child{font-size:17px;line-height:1.7;margin:18px 0 0;max-width:56ch}
.cv-prefab-intro-copy .page-lead{font-size:clamp(23px,2.1vw,30px);line-height:1.4;letter-spacing:-.025em;margin:0}
.cv-prefab-system,.cv-prefab-making,.cv-prefab-families{padding-block:clamp(42px,5vw,72px);border-top:1px solid var(--line)}
.cv-prefabbricati :is(.cv-prefab-system,.cv-prefab-making,.cv-prefab-families) h2{font-size:clamp(32px,3.6vw,52px);line-height:1.1;letter-spacing:-.04em;font-weight:400;margin:0}
.cv-prefab-system-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center;margin-top:30px}
.cv-prefab-diagram{margin:0;color:var(--ink)}
.cv-prefab-system-drawing{display:block;width:100%;height:auto;max-height:470px;overflow:visible}
.cv-prefab-components{margin:0}
.cv-prefab-components>div{padding:22px 0;border-bottom:1px solid var(--line)}
.cv-prefab-components>div:first-child{border-top:1px solid var(--line)}
.cv-prefab-components dt{font-size:25px;line-height:1.3;display:flex;align-items:baseline;gap:16px}
.cv-prefab-components dt>span{font-size:11px;letter-spacing:.08em;color:var(--green)}
.cv-prefab-components dd{font-size:16px;line-height:1.7;margin:10px 0 0 32px;max-width:48ch}
.cv-prefab-making{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center}
.cv-prefab-mount-photo{margin:0;max-width:510px}
.cv-prefab-mount-photo img{display:block;width:100%;height:auto}
.cv-prefab-mount-photo figcaption{margin-top:12px;font-size:12px;line-height:1.5;color:var(--green)}
.cv-prefab-making-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;margin:24px 0 26px;max-width:53ch}
.cv-prefab-methods article{padding:22px 0;border-top:1px solid var(--line)}
.cv-prefab-methods h3{font-size:22px;font-weight:400;line-height:1.3;margin:0 0 10px}
.cv-prefab-methods p{font-size:16px;line-height:1.7;margin:0;max-width:49ch}
.cv-prefab-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:35px}
.cv-prefab-family{display:block;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:20px}
.cv-prefab-family img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.cv-prefab-cover{position:relative;margin:0}
.cv-prefab-cover-note{position:absolute;left:10px;bottom:10px;padding:5px 9px;background:var(--paper);color:var(--ink);font-size:12px;line-height:1.4}
.cv-prefab-family h3{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:clamp(25px,2.5vw,36px);font-weight:400;line-height:1.2;margin:20px 0 13px;letter-spacing:-.025em}
.cv-prefab-family h3 span{font-size:32px}
.cv-prefab-family p{font-size:15px;line-height:1.6;margin:0;max-width:38ch}
.cv-prefab-family:hover{border-color:var(--ink)}
.cv-prefab-works{display:inline-block;margin-top:32px;font-size:16px}
@media(max-width:1000px){.cv-prefab-intro-grid{grid-template-columns:1fr;gap:28px}.cv-prefab-system-grid,.cv-prefab-making{gap:36px}.cv-prefab-components dt{font-size:23px}.cv-prefab-components dd{margin-left:0}.cv-prefab-making{align-items:start}.cv-prefab-family-grid{gap:20px}.cv-prefab-family h3{font-size:24px}}
@media(max-width:650px){.cv-prefabbricati .cv-prefab-intro{padding-bottom:38px}.cv-prefab-intro-copy>p:last-child{font-size:16px}.cv-prefab-system-grid,.cv-prefab-making{grid-template-columns:1fr;gap:24px}.cv-prefab-system-drawing{max-height:360px}.cv-prefab-components>div{padding:18px 0}.cv-prefab-making-copy{grid-row:1}.cv-prefab-mount-photo{max-width:420px}.cv-prefab-family-grid{grid-template-columns:1fr;gap:30px}.cv-prefab-family h3{font-size:30px}.cv-prefab-making-copy>p:not(.eyebrow){font-size:16px}.cv-prefab-system,.cv-prefab-making,.cv-prefab-families{padding-block:36px}.cv-prefab-works{font-size:15px;line-height:1.5}}
