/* Shared editorial rhythm. Loaded last on every public page and language. */
:root{
  --space-section:clamp(3rem,5vw,5rem);
  --space-group:clamp(1.5rem,3vw,3rem);
  --space-columns:clamp(1.5rem,4vw,4rem);
  --space-paragraph:1rem;
  --type-hero:calc(clamp(3rem,7vw,7rem) * var(--mobile-heading-scale,1));
  --type-section:calc(clamp(2.7rem,5vw,5.7rem) * var(--mobile-heading-scale,1));
  --type-series:calc(clamp(2rem,3.6vw,3.8rem) * var(--mobile-heading-scale,1));
  --type-card:clamp(1.25rem,1.8vw,1.6rem);
  --type-lead:clamp(1.25rem,2vw,1.75rem);
  --copy-color:#484b47;
}
body.site-composition{font-size:17px;line-height:1.65}
body.site-composition main .section:not(.portfolio-opening):not(.triptych):not(.guide-grid):not(.article-sections),
body.site-composition main :is(.quote,.configure,.faq,.hub-method){padding-block:var(--space-section)}
body.site-composition main :is(.triptych,.guide-grid,.article-sections){padding-block:0}
body.site-composition main :is(.triptych,.article-sections)>article{padding-block:var(--space-group)}
body.site-composition main .section-number{top:1.25rem}
body.site-composition main :is(.intro,.editorial,.method,.sartorial-heading,.class-rock-copy,.projects-head,.chapter-head,.archive-macro-head,.documentary-intro,.documentary-head,.proof-head,.render-showcase-head,.render-series-head,.case-summary,.case-gallery-head,.guide-index-intro,.article-intro,.related-guides,.mini-cta,.section-head,.detail-intro,.complements-intro,.project-dossier,.press-review-head){
  column-gap:var(--space-columns);row-gap:1.5rem;
}
body.site-composition main :is(.intro,.editorial,.detail-intro,.complements-intro){align-items:start}
body.site-composition main .intro-copy{padding-top:0}
body.site-composition main :is(.intro-copy,.rich){max-width:42rem}
body.site-composition main :is(.intro,.editorial,.sartorial-heading,.class-rock-copy,.projects-head,.chapter-head,.archive-macro-head,.documentary-head,.section-head,.project-dossier)>*{min-width:0}
body.site-composition main :is(.sartorial-heading,.chapter-head,.archive-macro-head,.documentary-head,.render-showcase-head,.case-gallery-head,.news-head,.press-review-head,.section-head,.pharmacy-project-heading){margin-bottom:var(--space-group)}
body.site-composition main :is(.services,.project-grid,.proof-grid,.project-paths,.gallery-directory,.class-rock-story,.archive-set,.render-series){margin-top:var(--space-group)}
body.site-composition main .facts{margin-top:1rem}
body.site-composition main :is(.office-case-intro,.office-video-feature){margin-bottom:var(--space-group);padding-block:var(--space-group)}
body.site-composition main .contact-globe-section{padding-block:var(--space-section)!important}

/* One hierarchy, with smaller titles for cards and article subsections. */
body.site-composition main :is(.page-hero,.award-hero,.cookie-hero) h1,
body.site-composition main .home-slider .slide :is(h1,h2){
  font-size:var(--type-hero);font-weight:300;line-height:1.08;letter-spacing:-.05em;
}
body.site-composition :is(.watch-main h1,.privacy-body h2){font-family:var(--serif);font-size:var(--type-series);font-weight:400;line-height:1.2;letter-spacing:-.025em}
body.site-composition :is(.watch-description,.privacy-body p,.privacy-body li){line-height:1.65}
body.site-composition main :is(.section,.configure,.faq,.hub-method) h2{
  font-family:var(--serif);font-size:var(--type-section);font-weight:300;
  line-height:1.12;letter-spacing:-.045em;color:inherit;margin-block:0 1rem;
}
body.site-composition main :is(.contact-notebook-priority,.contact-whatsapp-intro) h2{
  font-size:var(--type-section)!important;line-height:1.12!important;letter-spacing:-.045em;
}
body.site-composition main :is(.triptych,.article-sections,.guide-grid,.awards-list,.case) h2{
  font-size:var(--type-series);font-weight:400;line-height:1.2;letter-spacing:-.025em;
}
body.site-composition main :is(.triptych,.article-sections)>article h2{margin-top:1rem}
body.site-composition main h3{font-family:var(--serif);font-size:var(--type-card);font-weight:500;line-height:1.3;letter-spacing:-.015em}
body.site-composition main :is(.class-rock-copy,.render-series-head,.archive-set-head,.office-case-intro,.office-video-copy,.event-video-copy,.catalog-chapter-head) h3{
  font-size:var(--type-series);font-weight:400;line-height:1.18;letter-spacing:-.035em;
}
body.site-composition main .pharmacy-project-heading h2,
body.site-composition main .class-rock-collection .sartorial-heading h2{color:var(--bronze)}
body.site-composition main .pharmacy-project-heading h2::first-line,
body.site-composition main .class-rock-collection .sartorial-heading h2::first-line{color:var(--ink)}
body.site-composition main .eyebrow{font-size:.75rem;line-height:1.5;margin-bottom:1rem}
body.site-composition main :is(.intro-copy,.rich,.sartorial-heading,.sartorial-service-copy,.documentary-intro,.guide-index-intro,.article-intro,.case-summary,.detail-intro,.complements-intro) .large{
  font-size:var(--type-lead);font-weight:400;line-height:1.45;margin-block:0 1.25rem;
}
body.site-composition main :is(.intro-copy,.rich,.method-head,.sartorial-heading,.sartorial-service-copy,.class-rock-copy,.projects-head,.chapter-head,.archive-intro,.archive-macro-head,.documentary-intro,.documentary-head,.case-summary,.article-intro,.guide-index-intro,.article-sections article,.project-dossier-head,.section-head,.request-copy)>p:not(.eyebrow):not(.large){
  font-size:1.0625rem;line-height:1.65;color:var(--copy-color);margin-block:0 var(--space-paragraph);
}
body.site-composition main :is(.intro-copy,.rich,.method-head,.class-rock-copy,.projects-head,.chapter-head,.archive-intro,.archive-macro-head,.documentary-intro,.documentary-head,.case-summary,.article-intro,.section-head)>p:last-child{margin-bottom:0}
body.site-composition main :is(.dark,.office-chapter,.article-note,.gpdp-recognition,.contact-globe-section,.hub-method,.press-feature:not(.press-feature-inverse)){
  --copy-color:#d0d2cd;
}
body.site-composition main :is(.dark,.office-chapter,.article-note,.gpdp-recognition,.hub-method) h2 em{color:var(--bronze-light)}
body.site-composition main .quote p{margin-top:1.5rem}

/* Equal image columns and stable rows. Keep source photos and their focal points. */
body.site-composition main :is(.project-grid,.editorial-visual-grid){gap:var(--space-group);align-items:start}
body.site-composition main .project-grid .project{min-width:0}
body.site-composition main .project-grid .project img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
body.site-composition main .services{column-gap:var(--space-group)}
body.site-composition main .services .service{padding:1.5rem 0;border-inline:0}
body.site-composition main .service-media{margin-block:1rem 1.25rem}
body.site-composition main .service-media img{aspect-ratio:16/9}
body.site-composition main :is(.documentary-gallery,.image-rhythm,.masonry){display:grid;columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:clamp(.75rem,1.5vw,1.5rem)}
body.site-composition main :is(.documentary-gallery,.image-rhythm,.masonry) :is(.gallery-item,figure){margin:0;min-width:0;grid-column:auto;grid-row:auto;aspect-ratio:4/3;overflow:hidden}
body.site-composition main :is(.documentary-gallery,.image-rhythm,.masonry) picture{display:block;width:100%;height:100%}
body.site-composition main :is(.documentary-gallery,.image-rhythm,.masonry) img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
body.site-composition main .render-gallery .gallery-item{grid-column:auto;aspect-ratio:16/9;min-width:0}
body.site-composition main .render-gallery .gallery-item img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
body.site-composition main .class-rock-gallery .gallery-item img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
body.site-composition main .class-rock-gallery .gallery-item picture{display:block;width:100%;height:100%}
@media(min-width:901px){
  body.site-composition main :is(.project-grid,.editorial-visual-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
  body.site-composition main :is(.documentary-gallery,.image-rhythm,.render-gallery,.masonry)>:first-child:nth-last-child(odd){grid-column:1/-1;aspect-ratio:2/1}
}
@media(max-width:767px){
  body.site-composition main :is(.documentary-gallery,.image-rhythm,.masonry,.render-gallery){grid-template-columns:minmax(0,1fr)}
}

/* Footer proportions reduced by 20%; tiny legal copy retains a 12px floor. */
body.site-composition footer.footer-italian{padding-block:1.6rem 2.4rem;column-gap:clamp(1.2rem,2.4vw,2.4rem)}
body.site-composition footer.footer-italian .footer-brand>span{font-size:max(.75rem,.76rem)}
body.site-composition footer.footer-italian .footer-brand-stage{margin-top:.48rem}
body.site-composition footer.footer-italian .footer-brand-stage .footer-full-mark{width:80%;max-width:768px;height:auto}
body.site-composition footer.footer-italian>div:not(.footer-brand):not(.footer-origin){padding-inline-start:1.2rem}
body.site-composition footer.footer-italian>div:not(.footer-brand):not(.footer-origin)>b{font-size:.75rem;margin-bottom:.56rem}
body.site-composition footer.footer-italian>div:not(.footer-brand):not(.footer-origin)>a{font-size:.75rem;line-height:1.65}
body.site-composition footer.footer-italian .footer-social{gap:.52rem;margin-top:.48rem;padding-top:.48rem}
body.site-composition footer.footer-italian .footer-social a{width:32px;height:32px}
body.site-composition footer.footer-italian .footer-social a svg{width:17.6px;height:17.6px}
body.site-composition footer.footer-italian>.footer-origin{padding-top:.6rem!important;gap:.44rem}
body.site-composition footer.footer-italian .footer-origin-titles{column-gap:clamp(1.2rem,2.4vw,2.4rem)}
body.site-composition footer.footer-italian .footer-origin-titles>span:first-child,
body.site-composition footer.footer-italian .footer-origin-titles>span:last-child{font-size:.988rem}
body.site-composition footer.footer-italian .footer-origin-titles>span:last-child{padding-inline-start:1.2rem}
body.site-composition footer.footer-italian>.legal{font-size:.75rem;padding-top:.52rem!important;line-height:1.45}
body.site-composition footer.footer-italian .footer-rights#photo-rights{padding-top:.64rem!important}
body.site-composition footer.footer-italian .footer-rights#photo-rights h2{font-size:.75rem;margin-bottom:.24rem}
body.site-composition footer.footer-italian .footer-rights#photo-rights p{font-size:.75rem;line-height:1.4;margin-block:.16rem}
@media(max-width:1023px){
  body.site-composition footer.footer-italian .footer-origin-titles>span:first-child,
  body.site-composition footer.footer-italian .footer-origin-titles>span:last-child{font-size:.832rem}
}
@media(max-width:900px){
  body.site-composition{--space-section:3rem;--space-group:1.75rem;--space-columns:1.5rem;--type-hero:calc(clamp(2.65rem,12vw,4.5rem) * var(--mobile-heading-scale,1))}
  body.site-composition main :is(.intro,.editorial,.sartorial-heading,.class-rock-copy,.projects-head,.chapter-head,.archive-macro-head,.documentary-intro,.documentary-head,.section-head){row-gap:1.5rem}
}
@media(max-width:700px){
  body.site-composition footer.footer-italian{padding-block:1.2rem 1.6rem}
  body.site-composition footer.footer-italian>div:not(.footer-brand):not(.footer-origin){padding-inline-start:0}
  body.site-composition footer.footer-italian>.footer-brand{padding-top:.8rem}
  body.site-composition footer.footer-italian .footer-origin-titles>span:first-child,
  body.site-composition footer.footer-italian .footer-origin-titles>span:last-child{font-size:clamp(.75rem,2.6vw,.884rem);padding-inline-start:0}
}
@media(max-width:560px){
  body.site-composition{font-size:16px}
  body.site-composition main :is(.intro-copy,.rich,.method-head,.sartorial-heading,.sartorial-service-copy,.class-rock-copy,.projects-head,.chapter-head,.archive-intro,.archive-macro-head,.documentary-intro,.documentary-head,.case-summary,.article-intro,.guide-index-intro,.article-sections article,.project-dossier-head,.section-head,.request-copy)>p:not(.eyebrow):not(.large){font-size:1rem}
  body.site-composition main :is(.documentary-gallery,.image-rhythm){grid-template-columns:minmax(0,1fr)}
}
/* Arabic keeps its established typeface and comfortable reading rhythm. */
html[dir="rtl"] body.site-composition main :is(h1,h2,h3){letter-spacing:normal;line-height:1.4}
html[dir="rtl"] body.site-composition main p{line-height:1.85}

/* Desktop editorial alignment. Typography is deliberately inherited from v326. */
@media(min-width:901px){
 body.site-composition main :is(.intro,.editorial,.sartorial-heading,.class-rock-copy,.projects-head,.chapter-head,.archive-intro,.archive-macro-head,.documentary-intro,.documentary-head,.proof-head,.render-showcase-head,.render-series-head,.case-summary,.mini-cta){
  grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:var(--space-columns);
 }
 body.site-composition main :is(.sartorial-heading,.class-rock-copy,.projects-head,.chapter-head,.archive-macro-head,.documentary-head,.render-series-head)>:last-child{min-width:0}
 body.site-composition main :is(.intro-copy,.rich,.sartorial-heading>div,.projects-head,.chapter-head,.archive-intro,.archive-macro-head,.documentary-head,.proof-head,.render-series-head,.case-summary>div,.mini-cta>div)>p:first-child{margin-top:0}
 body.site-composition main :is(.sartorial-heading,.projects-head,.chapter-head)>.eyebrow{margin-bottom:0}
 body.site-composition main .archive-set-head{padding-inline:0;gap:var(--space-columns)}
 body.site-composition main .archive-set-head>span{align-self:start}
 body.site-composition main :is(.design-spectrum,.material-manifesto,.services){align-items:stretch}
 body.site-composition main :is(.design-spectrum,.material-manifesto)>article{display:flex;flex-direction:column;min-width:0}
 body.site-composition main :is(.design-spectrum,.material-manifesto)>article>.home-detail{margin-top:auto;padding-top:1rem}
 body.site-composition main .fs-crosslink-inner{align-items:start}
 body.site-composition main .fs-crosslink-copy>p:first-child{margin-top:0}
 /* Pair editorial article headings with their introductions and disclosures. */
 main#contenuto .fs-editorial-story{max-width:none;margin-inline:0}
 main#contenuto .fs-products-heading{align-items:start}
 main#contenuto .fs-article>summary{align-items:start}
 main#contenuto .fs-topic .fs-article-body{padding-inline-start:calc(34px + 1.25rem)}
}
@supports(grid-template-rows:subgrid){
 @media(min-width:901px){
  body.home-page main :is(.design-spectrum,.material-manifesto)>article{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;align-content:start}
  body.home-page main :is(.design-spectrum,.material-manifesto)>article>.home-detail{margin-top:1rem;padding-top:0;align-self:start}
  body.home-page main .services>.service{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;align-content:start;min-width:0}
  body.home-page main .services>.service>.home-detail{align-self:start}
 }
}



@media(min-width:901px){
 body.home-page main .class-rock-copy{row-gap:1rem}
 body.home-page main .class-rock-copy>div:first-child{grid-column:1;grid-row:1 / span 2}
 body.home-page main .class-rock-copy>p{grid-column:2;grid-row:1}
 body.home-page main .class-rock-copy>.home-detail{grid-column:2;grid-row:2}
}

/* Give tablet copy a full measure instead of forcing desktop side-by-side panels.
   Photography, typefaces and the established two-column galleries are retained. */
@media (min-width:601px) and (max-width:1200px), (min-width:1201px) and (max-width:1366px) and (pointer:coarse){
 body.site-composition main :is(.intro,.editorial,.founder,.method,.service-catalog,.render-process,.contact-page,.mini-cta,.sartorial-heading,.class-rock-copy,.projects-head,.chapter-head,.archive-intro,.archive-macro-head,.documentary-intro,.documentary-head,.proof-head,.render-showcase-head,.render-series-head,.case-summary,.guide-index-intro,.article-intro,.related-guides,.award-evidence,.event-video-feature,.office-case-intro,.office-video-feature,.fs-crosslink-inner){grid-template-columns:minmax(0,1fr);}
 body.site-composition main :is(.section-head,.pharmacy-project-heading,.fs-products-heading){grid-template-columns:minmax(0,1fr);}
 body.site-composition main .pharmacy-project-heading h2{max-width:100%;}
 body.site-composition main .class-rock-copy>:is(div,p,.home-detail){grid-column:1;grid-row:auto;}
 body.site-composition main :is(.render-showcase-head>span,.archive-macro-head>span){grid-column:1;}
 body.site-composition main :is(.section,.fs-crosslink-inner,.contact-notebook-priority,.notebook-layout)>*{min-width:0;}
 body.site-composition main :is(h1,h2,h3,p,.button,.text-link){overflow-wrap:anywhere;}
 body.site-composition main :is(.button,.text-link){max-width:100%;white-space:normal;}
 body.site-composition main :is(.page-hero-copy,.slide-copy){max-width:100%;min-width:0;}
 body.site-composition:has(.contact-notebook-priority) .page-hero{max-height:none;}
 body.site-composition:has(.contact-notebook-priority) .page-hero-copy{padding-block-start:calc(var(--masthead-clearance) + 2rem);}
 body.site-composition.farmacia-services-page .fs-hero{padding-block-start:calc(var(--masthead-clearance) + 2rem);}
 body.site-composition main :is(.fs-split,.fs-flow,.fs-facts,.fs-products-heading){grid-template-columns:minmax(0,1fr);}
 body.site-composition main .fs-products-heading{gap:var(--space-group);}
 body.site-composition main form :is(input,select,textarea){min-width:0;max-width:100%;}
 body.site-composition main input[type=file]{width:100%;}
 body.site-composition main :is(.viz-controls,.viz-grid){grid-template-columns:minmax(0,1fr);}
 body.site-composition .contact-notebook-priority{grid-template-columns:minmax(0,1fr);}
 body.site-composition .notebook-entry-actions{max-width:100%;}
 body.site-composition .notebook-main{padding-block-start:calc(var(--masthead-clearance) + var(--space-group));padding-inline:var(--pad);}
 body.site-composition .notebook-panel{scroll-margin-top:calc(var(--masthead-clearance) + 1rem);}
 body.site-composition .notebook-panel{top:calc(var(--masthead-clearance) + 1rem);}
 body.site-composition .notebook-panel-heading{position:static;}
 body.site-composition main .archive-set-head{position:static;}
 body.site-composition .site-reader-highlight{scroll-margin-block-start:calc(var(--masthead-clearance) + 1rem);}
 body:has(form:focus-within) .whatsapp{visibility:hidden;pointer-events:none;}
 body:has(#nav.open) .notebook-mobilebar{visibility:hidden;pointer-events:none;}
}
@media (min-width:951px) and (max-width:1200px), (min-width:1201px) and (max-width:1366px) and (pointer:coarse){
 body.site-composition .notebook-main .notebook-panel{max-height:calc(100dvh - var(--masthead-clearance) - 2rem);}
}
@media (min-width:701px) and (max-width:950px){
 body.site-composition .contact-whatsapp-stage .contact-form,
 body.site-composition .contact-whatsapp-stage .contact-business-details>div{grid-template-columns:minmax(0,1fr);}
 body.site-composition .contact-whatsapp-stage .contact-form>*,
 body.site-composition .contact-whatsapp-stage .contact-business-details>div>*{min-width:0;grid-column:1;}
}

/* Pharmacy projects share the Consalvo case-study components and type scale. */
.pharmacy-case-page .case-project-meta{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin:1.75rem 0 0;padding-block-start:1rem;border-block-start:1px solid var(--line)}
.pharmacy-case-page .case-project-meta>div{min-width:8rem}
.pharmacy-case-page .case-project-meta dt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze);margin-bottom:.35rem}
.pharmacy-case-page .case-project-meta dd{margin:0;font-size:1rem;line-height:1.65;font-weight:500}
.pharmacy-case-page .case-breadcrumb{display:flex;flex-wrap:wrap;gap:.4rem .65rem;margin-top:1.75rem;color:var(--muted);font-size:.8rem;line-height:1.65}
.pharmacy-case-page .case-breadcrumb a{text-decoration:underline;text-underline-offset:.2em}
.pharmacy-case-page .case-archive-link{margin:var(--space-group) 0 0}
.pharmacy-case-page .case-fact-grid>article:last-child:nth-child(odd){grid-column:1/-1;border-inline-end:0;margin-inline-end:0;padding-inline-end:0}
html[dir="rtl"] .pharmacy-case-page .case-project-meta dt{letter-spacing:normal}
html[lang="de"] body.site-composition .guide-card h2{overflow-wrap:anywhere}

/* Keep the navigation within its allocated column at desktop widths. */
.header .menu-button i{width:1px;height:1px;overflow:hidden}
@media(min-width:1201px) and (pointer:fine),(min-width:1367px){
 body.site-composition .header #nav,body.site-composition .header #nav.open{flex-wrap:wrap;row-gap:.5rem}
}
/* Soft support for the whole opening copy, feathered beyond the text area. */
body.site-composition{
 --opening-glyph-shadow:0 1px 3px rgba(0,0,0,.48);
 --opening-small-glyph-shadow:0 1px 2px rgba(0,0,0,.45);
 --opening-cloud-reach:clamp(76px,8.5vw,124px);
 --opening-cloud-blur:clamp(18px,2.4vw,32px);
}
body.site-composition :is(.page-hero,.hero,.home-slider) .hero-shade{
 display:none;
 background:none;
 opacity:0;
}
body.site-composition.farmacia-services-page .fs-hero{
 overflow:hidden;
 padding-block-start:calc(var(--masthead-clearance) + 2rem);
}
body.site-composition.farmacia-services-page .fs-hero>div{position:relative}
body.site-composition.farmacia-services-page .fs-hero::before{
 content:none;
 display:none;
 background:none;
 opacity:0;
}
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content),
body.site-composition.farmacia-services-page .fs-hero>div,
body.site-composition .award-city-banner figcaption{
 isolation:isolate;
 overflow:visible;
 background:none;
 box-shadow:none;
 filter:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none;
}
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content)::before,
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content)::after,
body.site-composition.farmacia-services-page .fs-hero>div::before,
body.site-composition.farmacia-services-page .fs-hero>div::after{
 content:none;
 display:none;
 background:none;
 box-shadow:none;
 filter:none;
 -webkit-mask-image:none;
 mask-image:none;
}
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content)::before,
body.site-composition.farmacia-services-page .fs-hero>div::before,
body.site-composition .award-city-banner figcaption::before{
 content:"";
 display:block;
 position:absolute;
 z-index:-1;
 pointer-events:none;
 box-sizing:border-box;
 /* Extend each existing feather band by 25% inward and 20% outward. */
 inset:
  calc(0px - var(--opening-cloud-reach) * 1.164)
  calc(0px - var(--opening-cloud-reach) * 1.15)
  calc(0px - var(--opening-cloud-reach) * 1.184);
 /* Inherited padding keeps the support away from the empty masthead space. */
 padding:inherit;
 background:
  radial-gradient(ellipse at 28% 32%,rgba(0,0,0,.10),transparent 68%),
  radial-gradient(ellipse at 72% 70%,rgba(0,0,0,.06),transparent 64%),
  linear-gradient(115deg,rgba(4,7,6,.72),rgba(4,7,6,.62) 82%);
 background-origin:content-box;
 background-clip:content-box;
 background-repeat:no-repeat;
 -webkit-mask-image:
  linear-gradient(to right,transparent,#000 calc(var(--opening-cloud-reach) * 1.0875),#000 calc(100% - var(--opening-cloud-reach) * 1.0875),transparent),
  linear-gradient(to bottom,transparent,#000 calc(var(--opening-cloud-reach) * 1.189),#000 calc(100% - var(--opening-cloud-reach) * 1.334),transparent),
  radial-gradient(ellipse 92% 86% at 45% 47%,#000 37.5%,rgba(0,0,0,.85) 69.4%,rgba(0,0,0,.38) 94.05%,transparent 110%);
 mask-image:
  linear-gradient(to right,transparent,#000 calc(var(--opening-cloud-reach) * 1.0875),#000 calc(100% - var(--opening-cloud-reach) * 1.0875),transparent),
  linear-gradient(to bottom,transparent,#000 calc(var(--opening-cloud-reach) * 1.189),#000 calc(100% - var(--opening-cloud-reach) * 1.334),transparent),
  radial-gradient(ellipse 92% 86% at 45% 47%,#000 37.5%,rgba(0,0,0,.85) 69.4%,rgba(0,0,0,.38) 94.05%,transparent 110%);
 -webkit-mask-origin:content-box;
 mask-origin:content-box;
 -webkit-mask-clip:content-box;
 mask-clip:content-box;
 -webkit-mask-repeat:no-repeat;
 mask-repeat:no-repeat;
 -webkit-mask-composite:source-in;
 mask-composite:intersect;
 filter:blur(var(--opening-cloud-blur));
 opacity:.9;
}
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content) :is(h1,h2),
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content) :is(h1,h2) em,
body.site-composition.farmacia-services-page .fs-hero h1,
body.site-composition #costi-hero h1,
body.site-composition #costi-hero h1 em{
 text-shadow:var(--opening-glyph-shadow);
 filter:none;
}
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content)>p:not(.eyebrow),
body.site-composition.farmacia-services-page .fs-hero>div>p:not(.fs-eyebrow){
 color:#fff;
 text-shadow:var(--opening-small-glyph-shadow);
}
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content)>.eyebrow,
body.site-composition.farmacia-services-page .fs-hero .fs-eyebrow{
 color:#f0dfc9;
 text-shadow:var(--opening-small-glyph-shadow);
}
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content) :is(.text-link,.hero-entry-links,.button.ghost),
body.site-composition.farmacia-services-page .fs-hero .fs-button:not(.primary){
 text-shadow:var(--opening-small-glyph-shadow);
}
body.site-composition .page-hero-copy .press-title-lockup{
 filter:none;
 text-shadow:var(--opening-glyph-shadow);
}
body.site-composition .page-hero-copy .press-title-lockup :is(.press-title-brand,.press-title-su){
 text-shadow:var(--opening-small-glyph-shadow);
}
body.site-composition .award-city-banner::before,
body.site-composition .award-city-banner::after{
 content:none;
 display:none;
 background:none;
 box-shadow:none;
}
body.site-composition .award-city-banner figcaption{
 background:none;
 box-shadow:none;
 filter:none;
 text-shadow:var(--opening-glyph-shadow);
}
body.site-composition .award-city-banner figcaption :is(span,small){
 text-shadow:var(--opening-small-glyph-shadow);
}

/* Realizzazioni: the existing Home face in a more compact opening column. */
body.site-composition:is(.projects-two-column,.project-detail-page,:has(.case-study-hero)){
 --project-opening-family:"INN Home Title","Manrope",sans-serif;
 --project-opening-size:calc(clamp(2.5rem,5.75vw,5.75rem) * var(--mobile-heading-scale,1));
}
body.site-composition:is(.projects-two-column,.project-detail-page,:has(.case-study-hero)) main :is(.page-hero,.portfolio-opening) h1{
 font-family:var(--project-opening-family);
 font-weight:300;
 line-height:1.08;
 letter-spacing:-.05em;
}
body.site-composition:is(.projects-two-column,:has(.case-study-hero)) main .page-hero h1{font-size:var(--project-opening-size)}
body.site-composition:is(.projects-two-column,:has(.case-study-hero)) main .page-hero-copy{
 inline-size:100%;
 max-inline-size:calc(47rem + var(--pad) * 2);
 padding-block-end:4rem;
}
body.site-composition:is(.projects-two-column,:has(.case-study-hero)) main .page-hero-copy>p:not(.eyebrow){
 max-inline-size:43rem;
 font-size:clamp(1rem,1.25vw,1.0625rem);
 line-height:1.6;
 letter-spacing:normal;
 margin-block:1rem 1.25rem;
}
body.site-composition.project-detail-page main .portfolio-opening h1{font-size:calc(clamp(2.5rem,4vw,4.4rem) * var(--mobile-heading-scale,1))}
body.site-composition.project-detail-page main .portfolio-opening .portfolio-lead{max-inline-size:43ch;line-height:1.6}
@media(max-width:900px){
 body.site-composition:is(.projects-two-column,.project-detail-page,:has(.case-study-hero)){
  --project-opening-size:calc(clamp(2.5rem,11vw,4.15rem) * var(--mobile-heading-scale,1));
 }
}
html[dir="rtl"] body.site-composition:is(.projects-two-column,.project-detail-page,:has(.case-study-hero)) main :is(.page-hero,.portfolio-opening) h1{
 letter-spacing:normal;
 line-height:1.4;
}
html[dir="rtl"] body.site-composition:is(.projects-two-column,:has(.case-study-hero)) main .page-hero-copy>p:not(.eyebrow){line-height:1.75}

/* Use the Realizzazioni title scale throughout every language and page template. */
body.site-composition{
 --site-opening-size:calc(clamp(2.5rem,5.75vw,5.75rem) * var(--mobile-heading-scale,1));
}
@media(max-width:900px){
 body.site-composition{
  --site-opening-size:calc(clamp(2.5rem,11vw,4.15rem) * var(--mobile-heading-scale,1));
 }
}
body.site-composition main h1,
body.site-composition main .home-slider .slide h2{
 font-size:var(--site-opening-size)!important;
}

/* Fit the feathered support to the rendered text and controls, including RTL. */
body.site-composition :is(.page-hero-copy,.slide-copy,.hero-copy,.hero-content)[data-opening-shadow-fit]::before,
body.site-composition.farmacia-services-page .fs-hero>div[data-opening-shadow-fit]::before,
body.site-composition .award-city-banner figcaption[data-opening-shadow-fit]::before{
 inset:auto;
 padding:0;
 left:calc(var(--opening-fit-x) - var(--opening-cloud-reach) * 1.15);
 top:calc(var(--opening-fit-y) - var(--opening-cloud-reach) * 1.164);
 width:calc(var(--opening-fit-width) + var(--opening-cloud-reach) * 2.3);
 height:calc(var(--opening-fit-height) + var(--opening-cloud-reach) * 2.348);
}

/* Keep gallery photographs within their native detail; never enlarge a
   1024-pixel source to a full-width desktop photograph. Grid order is retained. */
.projects-two-column :is(.class-rock-gallery,.pharmacy-project-gallery,.masonry) > .gallery-item,
body.site-composition main .render-gallery .gallery-item{
 width:100%;max-width:min(100%,var(--gallery-native-width,100%));justify-self:center;
}
