/* Light, static depth; colors are derived from the official palette.
   Section gradients are Gutenberg presets stored with each page. */
.site-header .header-inner{box-shadow:0 5px 24px #74005006}
.fr-hero-editorial{box-shadow:0 20px 55px -35px #74005040}
.fr-about-photograph,.fr-portrait{box-shadow:0 18px 44px -28px #74005038}
.fr-photo-note{box-shadow:0 10px 25px -12px #74005066}
.fr-services-editorial{box-shadow:0 22px 60px -45px #74005040}
.fr-banner{box-shadow:0 18px 45px -32px #74005070}
.fr-contact-box,.fr-form-wrapper{box-shadow:0 14px 40px -28px #74005030}
.fr-journal-card{background:linear-gradient(140deg,#FFF3F8 0%,#FFFFFF 160%);box-shadow:0 15px 40px -30px #74005040}
.fr-journal-grid>li:nth-child(3n+2) .fr-journal-card{background:linear-gradient(140deg,#FBF6E7 0%,#FFFFFF 160%)}
.fr-journal-grid>li:nth-child(3n) .fr-journal-card{background:linear-gradient(140deg,#CDA3010F 0%,#FFFFFF 100%)}
.fr-article .fr-article-cta{background:linear-gradient(120deg,#FFF3F8 0%,#FFFFFF 65%,#FBF6E7 100%)}
body .mg-single-hero,body .mg-archive-hero{background:linear-gradient(120deg,#FFFFFF 0%,#FFF3F8 62%,#FBF6E7 100%)}
.site-footer{background:radial-gradient(ellipse at 100% 100%,#74005028,transparent 65%),var(--fr-ink)}

/* Decorative artwork remains a replaceable native Image block. */
.wp-block-image.fr-section-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;box-sizing:border-box;padding:14px;margin:0 0 22px;border-radius:18px 18px 18px 5px;border:1px solid #74005010;background:linear-gradient(140deg,#FFFFFF 0%,#FBF6E7 100%);box-shadow:0 7px 20px -12px #7400504D;flex-shrink:0}
.wp-block-image.fr-section-icon img{width:100%;height:100%;object-fit:contain;display:block;border-radius:0}
.fr-service-row{grid-template-columns:48px minmax(0,1fr) 44px;gap:18px}
.fr-service-row>.fr-row-copy{margin:0;padding-top:5px}
.fr-service-mark{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0}
.fr-service-mark .fr-section-icon{width:46px;height:46px;padding:11px;border-radius:14px 14px 14px 4px;margin:0}
.fr-service-mark .fr-row-number{margin:0;text-align:center;line-height:1.3}
.fr-principle .fr-section-icon{width:52px;height:52px;padding:12px;margin-bottom:22px}
.fr-service-detail .fr-section-icon{margin-bottom:17px}
.fr-contact-box>.fr-section-icon,.fr-form-wrapper>.fr-section-icon{margin-bottom:22px}
.editor-styles-wrapper .fr-service-mark>.fr-section-icon{margin:0}
@media(max-width:900px){.fr-service-row{grid-template-columns:42px minmax(0,1fr) 35px;gap:13px}.fr-service-mark .fr-section-icon{width:40px;height:40px;padding:9px}}
@media(max-width:781px){.fr-services-columns h2 br{display:inline}}
@media(max-width:520px){.fr-service-row{grid-template-columns:34px minmax(0,1fr) 29px;gap:10px}.fr-service-mark .fr-row-number{font-size:9px}.wp-block-image.fr-section-icon{width:52px;height:52px;padding:12px}.fr-principle .fr-section-icon{width:48px;height:48px;padding:11px}.fr-service-mark .fr-section-icon{width:34px;height:34px;padding:7px;border-radius:11px 11px 11px 3px}.fr-row-copy h3{font-size:24px}}
@media(max-width:360px){.fr-service-row{grid-template-columns:30px minmax(0,1fr) 26px;gap:8px}.fr-service-mark .fr-section-icon{width:30px;height:30px;padding:6px}.fr-row-copy h3{font-size:21px}}


/* Client SVG artwork — 28 October 2026. All assets are native Gutenberg Image blocks. */
.fr-decor-host{position:relative;isolation:isolate;overflow:hidden}
.fr-decor-host>:not(.fr-decor){position:relative;z-index:1}
.fr-decor-host>.wp-block-image.fr-decor{position:absolute;z-index:0;margin:0!important;pointer-events:none;user-select:none;max-width:none}
.wp-block-image.fr-decor img,.wp-block-image.fr-service-art img,.wp-block-image.fr-art-signature img{display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none}
.fr-decor-hero>.fr-decor-profile{width:145px;right:70px;top:50%;transform:translateY(-50%);opacity:.32}
.fr-decor-hero:after{display:none}
.fr-decor-hero>h1,.fr-decor-hero>.fr-intro{max-width:calc(100% - 225px)}
.fr-manifesto>.fr-decor-watermark{width:210px;right:42px;top:10px;opacity:.09;transform:rotate(9deg)}
.wp-block-image.fr-art-signature{width:90px;margin:34px 0 0!important;opacity:.8}
.wp-block-image.fr-service-art{width:230px;max-width:85%;margin:30px 0 0!important;opacity:.88}
.wp-block-image.fr-art-hearts{width:235px}
.fr-service-art-pair{display:flex;align-items:center;gap:32px;margin:32px 0 0!important;max-width:100%}
.fr-service-art-pair>.wp-block-image{margin:0!important;flex:none}
.fr-service-art-pair>.fr-art-thrombosis{width:74px}
.fr-service-art-pair>.fr-art-antibodies{width:150px}
/* Keep decorative image blocks easy to select from Gutenberg's List View. */
.editor-styles-wrapper .fr-decor-host>.fr-decor{pointer-events:auto}
@media(max-width:1100px){.fr-decor-hero>.fr-decor-profile{width:120px;right:38px;opacity:.23}.fr-decor-hero>h1,.fr-decor-hero>.fr-intro{max-width:calc(100% - 155px)}.fr-service-art-pair{gap:22px}.fr-service-art-pair>.fr-art-antibodies{width:125px}}
@media(max-width:781px){.fr-decor-hero>.fr-decor-profile{width:110px;right:20px;top:25px;transform:none;opacity:.09}.fr-decor-hero>h1,.fr-decor-hero>.fr-intro{max-width:100%}.fr-manifesto>.fr-decor-watermark{width:150px;right:-15px;top:28px;opacity:.07}.wp-block-image.fr-art-signature{width:58px;margin-top:24px!important}.wp-block-image.fr-service-art{width:155px;margin-top:24px!important}.wp-block-image.fr-art-hearts{width:180px}.fr-service-art-pair{margin-top:24px!important;gap:26px}.fr-service-art-pair>.fr-art-thrombosis{width:52px}.fr-service-art-pair>.fr-art-antibodies{width:110px}}

/* Keep the uploaded wordmark and booking CTA visible on compact phones. */
@media(max-width:360px){.site-header .brand-logo{width:80px;max-width:80px;height:auto}.site-header .metric-header-cta{padding-left:13px;padding-right:13px}}

/* Palette cliente — novembre 2026. Le immagini restano blocchi Gutenberg sostituibili. */
.fr-eyebrow:before{background:var(--fr-accent-pink)}
.fr-section h2 em,.fr-hero-editorial h1 em,.fr-manifesto h2 em{color:#740050}
.fr-photo-note{background:#CDA301;color:#301926;box-shadow:0 10px 25px -12px #74005026}
.fr-about-frame:before{border-color:#CDA301}
.fr-service-mark .fr-section-icon{border-color:#CDA30133;background:linear-gradient(145deg,#FFFFFF,#CDA30112)}
.fr-principle{border-top-color:#CDA301}
.fr-banner:after{border-color:#F4489055}
.fr-banner .wp-block-button__link:hover{background:#FBF6E7;color:#740050}
.site-footer{background:radial-gradient(ellipse at 100% 100%,#F4489020,transparent 65%),#740050;border-top:4px solid #CDA301}
.fr-pattern-host{position:relative;isolation:isolate;overflow:hidden}
.fr-pattern-host>.fr-pattern{position:absolute;inset:0 0 0 auto;width:42%;height:100%;margin:0!important;z-index:0;pointer-events:none;user-select:none;overflow:hidden;opacity:.12;mask-image:linear-gradient(90deg,transparent,#000 65%)}
.fr-pattern-host>.fr-pattern img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none}
.fr-pattern-host>:not(.fr-pattern){position:relative;z-index:1}
.fr-banner.fr-pattern-host>.fr-pattern{width:45%;opacity:.11}
.fr-pattern-host.fr-page-hero>.fr-pattern{opacity:.15}
.fr-pattern-host.fr-page-hero:after{display:none}
.fr-about-frame>.fr-pattern-frame{position:absolute;right:-20px;bottom:0;width:62%;height:72%;margin:0!important;z-index:-1;border-radius:3px 3px 50px 3px;overflow:hidden;transform:rotate(3deg)}
.fr-pattern-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.fr-about-frame{isolation:isolate}
.fr-about-frame>.fr-about-photograph{position:relative;z-index:0}
.fr-about-frame>.fr-photo-note{z-index:2}
.editor-styles-wrapper .fr-pattern-host>.fr-pattern,.editor-styles-wrapper .fr-pattern-frame{pointer-events:auto}
@media(max-width:781px){.fr-pattern-host>.fr-pattern{width:65%;opacity:.09}.fr-banner.fr-pattern-host>.fr-pattern{width:65%;opacity:.08}.fr-pattern-host.fr-page-hero>.fr-pattern{opacity:.09}.fr-about-frame>.fr-pattern-frame{right:-14px;width:60%;height:70%;border-bottom-right-radius:40px}}
.fr-form-wrapper div.wpforms-container{--wpforms-button-background-color:#740050!important;--wpforms-button-border-color:#740050!important;--wpforms-page-break-color:#740050!important}
.fr-form-wrapper div.wpforms-container :is(input,select,textarea):focus{border-color:#740050!important;box-shadow:0 0 0 1px #740050,0 0 0 4px #74005012!important}
.fr-form-wrapper div.wpforms-container input[type=checkbox]{accent-color:#740050}
.metric-header-cta:hover{box-shadow:0 0 0 3px #CDA30133}

/* Keep long Italian headings readable on compact phones. */
@media(max-width:360px){.fr-page-hero h1{font-size:34px;overflow-wrap:anywhere;hyphens:auto}}


/* Typography refinement · 2026-11-11.
 * Font families continue to inherit the Metric Customizer settings.
 */
:is(.entry-content,.editor-styles-wrapper) :is(h1,h2,h3,h4,h5,h6),
.site-footer :is(h2,h3),body :is(.post-title,.mg-single-title,.mg-archive-title,.mg-letter-title){
    letter-spacing:-.015em;
    line-height:1.2;
    text-wrap:balance;
    overflow-wrap:break-word;
}
.fr-hero.fr-hero-editorial h1{
    font-size:clamp(2.75rem,4.4vw,4rem);
    line-height:1.12;
    letter-spacing:-.02em;
    margin:0 0 26px;
    max-width:600px;
}
.fr-hero-editorial .fr-eyebrow{margin-bottom:22px}
.fr-page-hero h1,body :is(.mg-single-title,.mg-archive-title){
    font-size:clamp(2.25rem,3.8vw,3.5rem);
    line-height:1.16;
    letter-spacing:-.02em;
    margin-top:0;
    margin-bottom:22px;
}
.fr-section h2{
    font-size:clamp(2rem,3vw,2.875rem);
    line-height:1.2;
    letter-spacing:-.015em;
    margin-bottom:22px;
}
.fr-eyebrow + :is(h1,h2,h3){margin-top:0}
.fr-manifesto h2{font-size:clamp(2.25rem,4.1vw,3.5rem);line-height:1.18;letter-spacing:-.02em;margin-bottom:40px}
.fr-banner h2,.fr-banner-editorial h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.18;letter-spacing:-.015em;margin-top:0;margin-bottom:18px}
.fr-reviews-editorial h2{font-size:clamp(1.875rem,2.6vw,2.375rem)}
.fr-service-detail h2{font-size:clamp(1.875rem,2.6vw,2.5rem);line-height:1.22;letter-spacing:-.015em;margin-top:0;margin-bottom:20px}
.fr-contact-box h2,.fr-form-wrapper h2{font-size:clamp(1.75rem,2.4vw,2.125rem);line-height:1.22}
.fr-section h3,.fr-row-copy h3,.fr-service-card h3,.fr-studio h3{
    font-size:clamp(1.375rem,1.8vw,1.625rem);
    line-height:1.28;
    letter-spacing:-.01em;
    margin-bottom:14px;
}
.fr-service-detail h3{font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.3;letter-spacing:-.01em}
.fr-section .wp-block-accordion-heading{margin:0;line-height:1.3}
.fr-section .wp-block-accordion-heading__toggle{line-height:inherit;letter-spacing:inherit}
.fr-section .wp-block-accordion-heading__toggle-title{min-width:0}
.fr-journal-card .wp-block-post-title{font-size:clamp(1.5rem,2vw,1.75rem)!important;line-height:1.27;letter-spacing:-.012em;margin:0 0 20px}
body.single-post .post-title{font-size:clamp(2.125rem,3.6vw,3.25rem);line-height:1.18;letter-spacing:-.02em;margin-bottom:28px}
.single-post .entry-content .fr-article h2,.editor-styles-wrapper .fr-article h2{font-size:clamp(1.625rem,2.2vw,2rem);line-height:1.25;letter-spacing:-.012em;margin:40px 0 18px}
.single-post .entry-content .fr-article-cta h2,.editor-styles-wrapper .fr-article-cta h2{margin-top:0}
.site-footer h2{font-size:clamp(1.875rem,2.6vw,2.5rem);line-height:1.2;letter-spacing:-.015em;margin-bottom:20px}
.site-footer h3{line-height:1.35;letter-spacing:0}
body .mg-letter-title{letter-spacing:0;line-height:1.2}
@media(max-width:1000px){
    .fr-hero.fr-hero-editorial h1{font-size:clamp(2.5rem,5.5vw,3.5rem);max-width:650px}
}
@media(max-width:781px){
    /* Match the available viewport width, including desktop scrollbar emulation. */
    body.home .entry-content > .wp-block-cover.alignfull{width:calc(100% + 2 * var(--metric-gap));max-width:none;margin-inline:calc(-1 * var(--metric-gap))}
    .fr-hero.fr-hero-editorial h1{font-size:clamp(2.125rem,calc(1.25rem + 4vw),2.875rem);line-height:1.16;margin-bottom:24px}
    .fr-page-hero h1,body :is(.mg-single-title,.mg-archive-title){font-size:clamp(2rem,calc(1.25rem + 4vw),2.75rem);line-height:1.18}
    .fr-section h2{font-size:clamp(1.875rem,4.5vw,2.25rem);line-height:1.24;margin-bottom:20px}
    .fr-services-columns h2 br{display:initial}
    .fr-manifesto h2{font-size:clamp(2rem,4.8vw,2.625rem);line-height:1.22;margin-bottom:32px}
    .fr-banner h2,.fr-banner-editorial h2{font-size:clamp(2rem,4.8vw,2.5rem);line-height:1.22}
    .fr-service-detail h2{font-size:clamp(1.8125rem,4.2vw,2.125rem);line-height:1.25}
    .fr-contact-box h2,.fr-form-wrapper h2,.fr-reviews-editorial h2{font-size:clamp(1.75rem,4.2vw,2.125rem);line-height:1.25}
    .fr-section h3,.fr-row-copy h3,.fr-service-card h3,.fr-studio h3{font-size:1.375rem;line-height:1.3}
    body.single-post .post-title{font-size:clamp(2rem,4.8vw,2.625rem);line-height:1.22}
    .fr-journal-card .wp-block-post-title{font-size:1.5rem!important;line-height:1.3}
    .fr-page-hero{padding-block:38px}
    .site-footer h2{font-size:1.875rem;line-height:1.25}
}
@media(max-width:360px){
    .fr-hero.fr-hero-editorial h1,.fr-page-hero h1,body :is(.mg-single-title,.mg-archive-title){font-size:2rem;letter-spacing:-.015em;hyphens:none}
    .fr-page-hero{padding-inline:20px}
    .fr-section h2{font-size:1.75rem}
    .fr-manifesto h2,.fr-banner h2{font-size:1.875rem}
    .fr-contact-box h2,.fr-form-wrapper h2{font-size:1.625rem}
}


/* Mobile navigation visibility · 2026-11-12. Keep Metric navigation and CTA controls. */
@media(max-width:1024px){
  .site-header .metric-burger{width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:0;border:0;border-radius:50%;background:#740050;color:#FFFFFF;justify-content:center;gap:0}
  .site-header .metric-burger__icon{width:24px;height:24px;flex:none;fill:currentColor}
  .site-header .metric-burger__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;display:block!important}
  .site-header .metric-burger:hover{background:#740050;box-shadow:0 0 0 3px #F4489033}
  .site-header .metric-burger:focus-visible{outline:3px solid #CDA301;outline-offset:3px}
}
@media(max-width:781px){
  .site-header .brand-logo{width:100px;max-width:100px;height:auto}
}
@media(max-width:520px){
  .site-header .header-inner{gap:8px}
  .site-header .header-center{flex-shrink:0}
  .site-header .metric-header-cta{padding-inline:14px}
}
@media(max-width:360px){
  .site-header .header-inner{padding-inline:8px;gap:6px}
  .site-header .brand-logo{width:72px;max-width:72px}
  .site-header .metric-header-cta{padding-inline:8px}
}
