@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url('/fonts/SourceSans3VF-Upright.woff2') format('woff2')}

/* Definitive Plurale institutional refinement. */

body.plurale{--gradient-page:radial-gradient(ellipse at 5% 20%,#b7c7a845,transparent 45%),linear-gradient(140deg,#f0f3e9,#e4eadb 50%,#d5dfca);--gradient-panel:linear-gradient(110deg,#f1f3e8,#dce6d0 70%,#c0d0ac);--gradient-dark:linear-gradient(120deg,#243629,#304a37 70%,#46593b)}
body.plurale .pl-atmosphere{background:linear-gradient(90deg,#edf1e7 0%,#e5ecdde6 42%,#d7e1ce00 58%),url('/plurale/assets/plurale-sfondo-architettonico-chiaro.png') right center/cover no-repeat;border:0;color:#253a2c}
body.plurale .pl-atmosphere .pl-hero{min-height:645px;grid-template-columns:1.2fr .8fr;gap:5%;padding-block:4.6rem 4rem}
body.plurale .pl-atmosphere .pl-hero-copy{border-top:0;padding:0;max-width:700px}
body.plurale .pl-atmosphere .pl-hero .eyebrow{font-size:.875rem;letter-spacing:.11em;color:#40583e}
body.plurale .pl-atmosphere .pl-hero h1{font-size:clamp(3.5rem,5.3vw,5.2rem);line-height:1.05;letter-spacing:-.035em;font-weight:600;margin:1.8rem 0;color:#263b2d}
body.plurale .pl-atmosphere .pl-hero h1 em{color:#70551e;font-weight:400}
body.plurale .pl-atmosphere .pl-lead{font-size:1.125rem;max-width:41ch;color:#40543f}
body.plurale .pl-atmosphere .pl-hero-note{font-size:.875rem;color:#40543f}
body.plurale .pl-actions{gap:1rem 1.4rem;flex-direction:row;align-items:center;margin-top:2.2rem}
body.plurale .pl-actions>.button{background:#2d4633;border-color:#2d4633;padding:1rem 1.35rem}
body.plurale .pl-atmosphere .pl-hero-signature{display:flex;flex-direction:column;justify-content:flex-end;align-self:end;min-height:190px;padding:2rem;border:1px solid #cfb9767a;background:linear-gradient(135deg,#253429e8,#263425bd);color:#fff;max-width:310px;margin-left:auto;box-shadow:0 20px 55px #10201824}
body.plurale .pl-hero-signature>span:first-child{color:#e1ca91;font-size:.8125rem;letter-spacing:.12em}
body.plurale .pl-hero-signature>span:last-child{color:#f4f4e9;font-size:1.35rem;line-height:1.4;margin-top:1.3rem}
body.plurale .pl-credentials{background:#f6f8f0eb;border-top:0;border-bottom:1px solid #b6c4ac;padding-inline:2rem;box-shadow:0 15px 40px #2a47270a}
body.plurale .pl-credentials>a{padding-block:1.65rem}
body.plurale .pl-credentials strong{font-size:3rem;font-weight:500}

/* Editorial rhythm and readable surfaces continue through the inner pages. */

body.plurale .pl-entry-links{gap:1.1rem;border:0}
body.plurale .pl-entry-links>a{padding:1.8rem;background:#f7f9f2;border:1px solid #c1cdb6;border-top:3px solid #a38b50;transition:background .2s,transform .2s,box-shadow .2s}
body.plurale .pl-entry-links>a:nth-child(2){border-top-color:#5d7957}
body.plurale .pl-entry-links>a:nth-child(3){border-top-color:#304a37}
body.plurale .pl-entry-links>a:hover{background:#fff;transform:translateY(-4px);box-shadow:0 15px 35px #304b2c14}
body.plurale .pl-entry-links h3{font-size:1.7rem;line-height:1.18}
body.plurale .pl-entry-links>a>span:last-child{margin-top:auto;padding-top:1.5rem}
body.plurale .pl-profile{background:linear-gradient(110deg,#d2dec5,#e8eedf);border-color:#bbcbb0}
body.plurale .pl-section-label>span{border:0;border-bottom:2px solid #9a8146;padding:.2rem 0;min-width:1.6rem;font-weight:600}
body.plurale :is(.pl-entry-heading,.pl-profile-grid,.pl-method) h2{font-size:clamp(2.2rem,3.25vw,3.35rem);line-height:1.15;letter-spacing:-.025em}
body.plurale .works-gateways{gap:1.2rem}
body.plurale .works-gateways>a{border-top:3px solid #a38b50;background:#f6f8f0;box-shadow:0 12px 28px #304b2c0a}
body.plurale .sector-list>a{padding-block:1.9rem}
body.plurale .sector-list>a:hover{background:#f5f8ee}
body.plurale .pl-method>figure{box-shadow:18px 18px 0 #aeba8c40;height:550px}
body.plurale .pl-invitation{border-top:3px solid #b39a5c}
body.plurale .pl-invitation h2{font-size:clamp(2.6rem,4vw,4rem);line-height:1.12}
body.plurale .pl-invitation aside{border-top:1px solid #c5b77e90;padding-top:2rem}
body.plurale :is(.page-intro,.cp-hero,.rq-heading,.works-heading){border-bottom:1px solid #b7c7a9}
body.plurale :is(.page-intro,.cp-hero,.rq-heading,.works-heading) h1{font-size:clamp(2.6rem,4.1vw,4.25rem);line-height:1.13;letter-spacing:-.025em}
body.plurale :is(.page-intro,.rq-heading,.works-heading) h1 em{color:#566647;font-weight:400}
body.plurale .rq-surface{background:#fafbf6;box-shadow:0 18px 48px #304b2c0c;border-color:#bccbb0}
body.plurale .rq-choice:has(input:checked){background:#e3ecd9;border-color:#38513c;box-shadow:inset 4px 0 #38513c}
body.plurale .rq-progress [aria-current="step"]{background:#e6eddf;border-top-color:#8e753b}

body.plurale .button{transition:background .2s,box-shadow .2s;white-space:normal}
body.plurale .button:hover{box-shadow:0 8px 20px #0e261f20}
body.plurale :is(a,button,summary):focus-visible{outline:3px solid currentColor;outline-offset:5px}
body.plurale .footer-brand>a{max-width:300px}
body.plurale .footer{padding-top:4rem}

@media(max-width:1100px){
 body.plurale .pl-atmosphere .pl-hero{grid-template-columns:1.35fr .65fr;min-height:610px}
 body.plurale .pl-atmosphere{background-image:linear-gradient(90deg,#edf1e7 0%,#e5ecddef 50%,#d7e1ce00 72%),url('/plurale/assets/plurale-sfondo-architettonico-chiaro.png')}
 body.plurale .pl-hero-signature{padding:1.5rem}
}
@media(max-width:720px){
 body.plurale .pl-atmosphere{background-image:linear-gradient(90deg,#edf1e7f5,#e5ecddeb),url('/plurale/assets/plurale-sfondo-architettonico-chiaro.png');background-position:center,right center}
 body.plurale .pl-atmosphere .pl-hero{display:block;min-height:0;padding-block:2.7rem 3rem}
 body.plurale .pl-atmosphere .pl-hero h1{font-size:clamp(3.05rem,10.2vw,4.2rem);margin-block:1.5rem;line-height:1.08}
 body.plurale .pl-atmosphere .pl-hero-signature{display:none}
 body.plurale .pl-credentials{padding-inline:1.3rem}
 body.plurale .pl-credentials>a{padding-block:1rem}
 body.plurale .pl-credentials strong{font-size:2.4rem}
 body.plurale .pl-entry-links>a{padding:1.5rem}
 body.plurale .pl-entry-links>a>span:last-child{position:static;align-self:flex-end}
 body.plurale :is(.pl-entry-heading,.pl-profile-grid,.pl-method) h2{font-size:2.15rem}
 body.plurale .pl-method>figure{height:340px;box-shadow:9px 9px 0 #aeba8c40}
 body.plurale .pl-invitation h2{font-size:2.5rem}
 body.plurale :is(.page-intro,.cp-hero,.rq-heading,.works-heading) h1{font-size:clamp(2.25rem,7.5vw,3rem)}
 body.plurale .footer{padding-top:3rem}
}
@media(prefers-reduced-motion:reduce){body.plurale :is(.button,.sector-list>a,.pl-entry-links>a){transition:none;transform:none}}
