/* Apertura e navigazione dei casi studio, condivise fra desktop e mobile. */
:root{--ink:#19382c;--paper:#f7f6ef;--lime:#cce6a4;--line:#d7dfd1;background:var(--paper)}
html{scroll-padding-top:24px}
body{background:var(--paper);color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#45643e}
.header{height:94px;background:var(--paper);color:var(--ink);border-color:#dce2d4;gap:30px}
.header .brand{font-size:36px;gap:17px}
.header .brand-mark{width:76px;height:50px;box-shadow:0 0 0 5px #fff;border:1px solid #dadfd4}
.desktop-nav{gap:29px;font-weight:600}
.desktop-nav>a:not(.button):hover{color:#5a7d4c}
.desktop-nav .button{background:#1d402e;border-color:#1d402e;color:#fff}
.desktop-nav .button:hover{background:#355b40}
.menu-toggle span{background:var(--ink)}
.mobile-menu{background:#eef3e6;color:var(--ink)}
.mobile-menu nav a{border-color:#c5d2ba}

.hero.hero-focused{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);column-gap:clamp(40px,7vw,120px);row-gap:30px;min-height:0;padding:66px var(--gutter) 72px;background:radial-gradient(ellipse at 100% 35%,#e9efdc 0%,transparent 55%),var(--paper);border-bottom:1px solid #dce2d4}
.hero-intro{max-width:790px}
.hero-intro>.eyebrow{color:#5e7451;font-size:11px;font-weight:700;letter-spacing:1.6px}
.hero-focused h1{font-size:clamp(68px,7.7vw,116px);line-height:1.01;letter-spacing:-.065em;margin:23px 0 25px;animation:none}
.hero-focused h1 em{display:inline;color:#53794b;letter-spacing:-.065em}
.hero-lead{max-width:560px;font-size:18px;line-height:1.65;color:#536351;text-wrap:pretty}
.hero-offer{grid-column:2;grid-row:1 / 3;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:36px 30px 58px;background:#d9eca9;clip-path:polygon(0 0,100% 0,100% 88%,0 100%);color:#19382c}
.offer-label{font-size:11px;font-weight:700;letter-spacing:1.2px;line-height:1.5}
.offer-price{display:flex;align-items:baseline;gap:10px;margin:24px 0 22px;white-space:nowrap}
.offer-from{font-size:18px}
.offer-price strong{font-size:clamp(72px,7.9vw,124px);line-height:1;letter-spacing:-.075em;font-weight:500}
.offer-price strong>span{font-size:.58em;letter-spacing:-.04em}
.offer-price small{font-size:12px}
.offer-detail{font-size:14px;line-height:1.7;color:#405637}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;grid-column:1}
.hero-primary{gap:26px;background:#1d402e;border-color:#1d402e;color:#fff;padding:17px 26px;font-size:15px}
.hero-primary:hover{background:#355b40;border-color:#355b40}
.hero-work-link{display:inline-flex;align-items:center;gap:24px;min-height:48px;font-size:14px;border-bottom:1px solid #85977b}
.hero-work-link:hover{color:#53794b}

.work-section{padding-top:0;background:var(--paper);color:var(--ink)}
.work-sticky{padding:62px var(--gutter) 66px}
.work-section .eyebrow{color:#5e7451;font-size:11px;font-weight:700;letter-spacing:1.3px}
.work-heading{margin:23px 0 30px}
.work-heading h2{font-size:clamp(34px,3.8vw,56px)}
.work-heading h2 em{color:#53794b}
.work-heading p,.work-bottom,.work-section .muted{color:#657361}
.work-heading p{font-size:14px}
.work-count{font-size:13px;letter-spacing:1.5px}
.work-section .project-viewport{width:calc(100% + var(--gutter));margin-right:calc(-1 * var(--gutter));overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;touch-action:auto}
.project-viewport::-webkit-scrollbar{display:none}
.work-section .project-track{display:flex;position:relative;gap:17px;width:100%;padding-right:var(--gutter);transform:none!important;will-change:auto}
.work-section .project-card{container-type:inline-size;--case-cut:42px;flex:0 0 64%;max-width:860px;height:clamp(390px,32vw,450px);border-radius:0;clip-path:polygon(0 0,100% 0,calc(100% - var(--case-cut)) 100%,0 100%);scroll-snap-align:start;scroll-snap-stop:normal}
.project-viewport img{-webkit-user-drag:none;user-select:none}
.project-viewport.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.project-viewport.is-dragging .project-card{pointer-events:none}
.project-viewport:focus-visible{outline:2px solid #45643e;outline-offset:7px}
.project-card:not(.featured-project):not(.project-barbarella) .project-caption{right:calc(24px + var(--case-cut))}
.project-face-harmony .project-caption h3{font-size:clamp(29px,4.9cqw,44px)}
.project-full-metals .case-open,.project-lievita .case-open{color:#fff}
.project-full-metals .case-open:hover,.project-lievita .case-open:hover{color:var(--ink)}
.work-bottom{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px;padding-top:20px}
.scroll-hint{font-size:12px;line-height:1.5;display:flex;align-items:center;gap:18px}
.scroll-hint>span{font-size:21px;color:#53794b}
.project-dots{gap:8px}
.project-dots button{width:25px;min-height:44px}
.project-dots button:after{background:#c8d2bd;height:3px}
.project-dots button[aria-current="true"]:after{background:#42643e}
.project-arrows{display:flex;gap:9px}
.project-arrows button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #9fae93;border-radius:50%;background:transparent;color:var(--ink);font-size:23px;transition:background .2s,color .2s}
.project-arrows button:hover:not(:disabled){background:#1d402e;border-color:#1d402e;color:#fff}
.project-arrows button:disabled{opacity:.3;cursor:default}

.studio-section{margin-top:0;background:#e2edcd}
.pricing-section{background:#1c352b;color:var(--paper);--muted:#bac8b8}
.price-card{border-color:#617961}
.price-card.featured{background:#294737;border-color:#79966a}
.price-description{color:#d0dacc}
.contact-section{background:#223d31;color:var(--paper);--muted:#bfccba}
.contact-intro>p{color:#d0dacd}
.contact-form{background:#2b4739;border-color:#62795e}
.contact-field input{background:#1d352a;border-color:#71856a}
.contact-field input::placeholder{color:#aebda5}
footer{background:#dae9bf}

@media(min-width:1600px){.hero.hero-focused{padding-top:82px;padding-bottom:86px}.hero-focused h1{font-size:128px}}
@media(max-width:1100px){.hero.hero-focused{grid-template-columns:minmax(0,1.4fr) minmax(260px,.85fr);column-gap:35px}.hero-offer{padding:30px 24px 50px}.offer-price{gap:7px}.offer-price strong{font-size:86px}.hero-focused h1{font-size:8.5vw}.hero-lead{font-size:17px}.hero-actions{gap:20px}.work-section .project-card{flex-basis:69%}.work-bottom{gap:20px}}
@media(max-width:900px){.header{height:86px}.header .brand{font-size:32px}.header .brand-mark{width:65px;height:44px}.desktop-nav{gap:20px;font-size:13px}.desktop-nav .button{padding:12px 19px}.hero.hero-focused{padding-top:50px;padding-bottom:58px;column-gap:28px;grid-template-columns:minmax(0,1.15fr) minmax(250px,.9fr)}.hero-focused h1{font-size:8.7vw}.hero-offer{padding:28px 22px 46px}.offer-price strong{font-size:78px}.offer-price small{font-size:10px}.offer-from{font-size:15px}.offer-detail{font-size:13px}.hero-primary{padding:16px 21px}.hero-work-link{gap:16px}.work-section .project-card{flex-basis:73%}.work-sticky{padding-top:52px;padding-bottom:52px}.project-dots button{width:20px}}
@media(max-width:700px){.hero.hero-focused{grid-template-columns:1fr;gap:23px;padding-top:34px;padding-bottom:43px}.hero-intro{max-width:570px}.hero-focused h1{font-size:clamp(48px,12.5vw,76px);margin:18px 0 20px;line-height:1.01}.hero-lead{font-size:16px;line-height:1.6;max-width:480px}.hero-offer{grid-column:1;grid-row:auto;padding:20px 23px 25px;display:grid;grid-template-columns:1fr auto;gap:8px 20px;clip-path:polygon(0 0,100% 0,96% 100%,0 100%)}.offer-label{grid-column:1;font-size:10px;align-self:end;max-width:150px}.offer-price{grid-column:2;grid-row:1 / 3;align-self:center;margin:0;gap:7px}.offer-price strong{font-size:65px}.offer-price strong>span{font-size:.56em}.offer-from{font-size:14px}.offer-price small{font-size:10px}.offer-detail{font-size:11px;line-height:1.5;grid-column:1}.offer-detail br{display:none}.hero-actions{gap:22px;grid-column:1}.hero-primary{font-size:14px;gap:24px;padding:15px 24px}.hero-work-link{font-size:13px;gap:20px}}
@media(max-width:620px){
 .header{height:80px}
 .header .brand{font-size:29px;gap:13px}
 .header .brand-mark{width:62px;height:41px;box-shadow:0 0 0 4px #fff}
 .header .brand-studio{font-size:10px;letter-spacing:4.3px}
 .hero-intro>.eyebrow{font-size:10px;letter-spacing:1.25px}
 .hero-focused h1 em{display:inline}
 .hero-offer{grid-template-columns:1fr auto;padding:17px 19px 23px;gap:7px 12px}
 .offer-label{font-size:9px;max-width:130px;letter-spacing:.7px}
 .offer-price{gap:5px}
 .offer-price strong{font-size:57px}
 .offer-price small{font-size:9px}
 .offer-from{font-size:12px}
 .offer-detail{font-size:10px;max-width:142px}
 .work-sticky{padding-top:43px;padding-bottom:43px}
 .work-heading{margin:20px 0 27px;display:block}
 .work-heading h2{font-size:36px;line-height:1.1}
 .work-heading h2 br{display:block}
 .work-heading p{margin-top:16px;max-width:300px;font-size:13px}
 .work-section .project-track{gap:12px}
 .work-section .project-card{--case-cut:23px;flex-basis:78%;max-width:none;height:440px}
 .project-card:not(.featured-project):not(.project-barbarella) .project-caption{right:calc(19px + var(--case-cut));display:block}
 .project-card:not(.featured-project):not(.project-barbarella) .case-open{margin-top:16px}
 .project-full-metals .project-caption,.project-face-harmony .project-caption{padding-left:18px}
 .project-full-metals .project-actions,.project-face-harmony .project-actions{left:18px}
 .project-face-harmony .project-caption h3{font-size:29px}
 .project-full-metals .project-caption h3{font-size:30px}
 .project-face-harmony .project-sector{font-size:8px;letter-spacing:.035em}
 .project-full-metals .project-sector{font-size:8px;letter-spacing:.02em}
 .project-face-harmony .case-label,.project-full-metals .case-label{right:9px;font-size:8px;padding:7px}
 .project-full-metals .project-brand{left:10px;gap:7px;padding:7px 8px}
 .project-full-metals .project-brand>img{width:42px;height:28px}
 .project-full-metals .full-logo{font-size:21px}
 .project-full-metals .full-logo span{font-size:9px}
 .project-face-harmony .project-brand{left:10px;gap:6px;padding:7px 8px}
 .project-face-harmony .project-brand .face-symbol{width:28px;height:28px}
 .project-face-harmony .project-brand .face-wordmark{width:52px;height:28px}
 .work-bottom{grid-template-columns:1fr auto;gap:14px;padding-top:17px}
 .work-bottom .project-dots{display:none}
 .project-arrows button{width:44px;height:44px;font-size:21px}
 .scroll-hint{font-size:11px;gap:11px}
 .scroll-hint>span{font-size:19px}
}
@media(max-width:360px){.hero-focused h1{font-size:47px}.hero-offer{padding-left:15px;padding-right:17px;gap:7px}.offer-price strong{font-size:50px}.offer-detail{max-width:115px;font-size:9px}.offer-label{font-size:8px}.hero-actions{gap:20px}.hero-primary{padding-left:20px;padding-right:20px;gap:18px}.hero-work-link{gap:15px}.project-face-harmony .project-caption h3{font-size:26px}.project-barbarella .project-caption h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-viewport{scroll-behavior:auto}.project-card img,.button,.project-visit{transition:none}}

/* Tagli di sezione: il colore successivo risale sul precedente. */
:root{--section-angle:clamp(28px,4.5vw,68px)}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
main>section,.site-footer{position:relative;isolation:isolate}
main>section+section::before,.site-footer::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--section-angle) + 1px);height:var(--section-angle);background:var(--section-fill);clip-path:polygon(0 100%,100% 0,100% 100%);pointer-events:none;z-index:-1}
main>section:nth-of-type(odd)::before,.site-footer::before{clip-path:polygon(0 0,100% 100%,0 100%)}
.hero.hero-focused{border-bottom:0;padding-bottom:calc(72px + var(--section-angle))}
.work-section{--section-fill:#edf0e4;background:var(--section-fill)}
.work-sticky{padding-top:42px;padding-bottom:calc(66px + var(--section-angle))}
.work-position{display:flex;justify-content:flex-end;margin-bottom:15px}
.work-heading{margin-top:0}
.studio-section{--section-fill:#dce8c9;background:var(--section-fill);padding:62px var(--gutter) calc(74px + var(--section-angle));margin-top:0}
.services-section{--section-fill:#f4f1e9;background:var(--section-fill)}
.pricing-section{--section-fill:#1c352b;padding-top:54px;padding-bottom:calc(80px + var(--section-angle))}
.pricing-heading{margin-top:0}
.process-section{--section-fill:#f7f6ef;padding-top:72px;padding-bottom:calc(74px + var(--section-angle))}
.process-section h2{margin-top:0}
.contact-section{--section-fill:#223d31;padding-top:65px;padding-bottom:calc(70px + var(--section-angle))}
.contact-layout{margin-top:0}
footer{--section-fill:#dae9bf;background:var(--section-fill)}

/* Il telaio è una filigrana, integrata nel fondo verde. */
.method-art{position:absolute;inset:7% 48% 7% -5%;pointer-events:none;overflow:hidden;opacity:.24;mix-blend-mode:multiply;z-index:0}
.method-art>img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.method-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(42px,6vw,100px);align-items:center;min-height:640px}
.method-content{grid-column:2;padding:8px 0}
.method-lead{font-size:clamp(24px,2.55vw,36px);line-height:1.19;letter-spacing:-.045em;font-weight:500}
.method-lead em{color:#53794b}
.method-intro{font-size:15px;line-height:1.65;color:#50614b;max-width:450px;margin:22px 0 29px}
.method-principles{display:grid;gap:24px}
.method-principles article{border-top:1px solid #9aaa8b;padding-top:20px}
.method-principles h3{font-size:clamp(22px,2vw,29px);line-height:1.14;letter-spacing:-.045em;font-weight:500}
.method-principles p{font-size:14px;line-height:1.65;color:#50614b;margin-top:12px;max-width:440px}

/* I servizi entrano in sequenza, senza ostacolare lettura o tastiera. */
.services-section{padding-top:86px;padding-bottom:calc(96px + var(--section-angle));grid-template-columns:.9fr 1.1fr;gap:clamp(44px,7vw,110px)}
.services-title h2{margin:0 0 26px;font-size:clamp(42px,4.8vw,72px);line-height:1.03;letter-spacing:-.055em}
.services-title h2 em{color:#53794b}
.services-title>p{max-width:365px;color:#5e6759;font-size:17px;line-height:1.7;text-wrap:pretty}
.services-title .dark-link{margin-top:24px;display:inline-flex;align-items:center;gap:24px;font-size:14px}
.services-list{align-self:start}
.services-list>details{padding:25px 0;border-color:#bdc6b2;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--arrival-delay,0ms)}
.services-list>details:last-child{border-color:#bdc6b2}
.services-list summary{font-size:clamp(21px,2.3vw,32px);line-height:1.18;letter-spacing:-.035em;font-weight:500}
.services-list summary>span:first-child{transition:transform .25s ease}
.services-list summary:hover>span:first-child{transform:translateX(6px)}
.services-list .service-platforms{display:block;margin:10px 0 0;font-size:11px;line-height:1.4;letter-spacing:.035em;color:#67795b;font-weight:500}
.services-list p{margin:18px 35px 2px 0;font-size:15px;line-height:1.75;color:#5e6759}
.services-list details[open] summary{color:#3a6242}
.services-list .detail-plus{transition:transform .25s ease}
.services-list details[open] .detail-plus{transform:rotate(180deg)}
.services-list.motion-ready:not(.has-arrived)>details{opacity:0;transform:translate3d(20px,22px,0)}
.services-list.motion-ready:not(.has-arrived)>details:focus-within{opacity:1;transform:none}


@media(max-width:1000px){.method-layout{gap:36px;grid-template-columns:1fr 1.05fr}.method-art{inset:9% 48% 9% -7%}.method-lead{font-size:28px}.method-intro{font-size:14px}.method-principles{gap:22px}.method-principles h3{font-size:25px}.services-section{gap:40px}.services-title h2{font-size:48px}}
@media(max-width:760px){
 :root{--section-angle:27px}
 .hero.hero-focused{padding-bottom:calc(43px + var(--section-angle))}
 .work-sticky{padding-top:31px;padding-bottom:calc(43px + var(--section-angle))}
 .work-position{margin-bottom:19px}
 .studio-section{padding-top:34px;padding-bottom:calc(45px + var(--section-angle))}
 .method-art{position:relative;inset:auto;width:calc(100% + 2 * var(--gutter));height:270px;margin:-10px calc(-1 * var(--gutter)) 23px;opacity:.23}
 .method-layout{grid-template-columns:1fr;gap:0;min-height:0}
 .method-content{grid-column:1;padding:0}
 .method-lead{font-size:28px;line-height:1.2}
 .method-intro{max-width:540px;margin-top:17px;margin-bottom:25px;font-size:15px}
 .method-principles{gap:24px}
 .method-principles article{padding-top:20px}
 .method-principles h3{font-size:28px}
 .method-principles p{max-width:560px;font-size:15px}
 .services-section{display:block;padding-top:44px;padding-bottom:calc(48px + var(--section-angle))}
 .services-title h2{font-size:48px;max-width:500px;margin-bottom:24px}
 .services-title>p{max-width:480px;font-size:16px}
 .services-title .dark-link{margin-top:18px}
 .services-list{margin-top:37px}
 .services-list summary{font-size:26px}
 .services-list>details{padding:23px 0}
 .services-list p{font-size:15px;margin-right:22px}
 .pricing-section{padding-top:36px;padding-bottom:calc(48px + var(--section-angle))}
 .process-section{padding-top:43px;padding-bottom:calc(46px + var(--section-angle))}
 .contact-section{padding-top:42px;padding-bottom:calc(48px + var(--section-angle))}
}
@media(max-width:400px){.method-art{height:245px}.method-lead{font-size:25px}.method-principles h3{font-size:26px}.services-title h2{font-size:43px}.services-list summary{font-size:24px}}
@media(prefers-reduced-motion:reduce){.services-list>details,.services-list summary>span:first-child,.services-list .detail-plus{transition:none}.services-list.motion-ready:not(.has-arrived)>details{opacity:1;transform:none}.services-list summary:hover>span:first-child{transform:none}}

/* Due offerte essenziali, poi un contatto diretto. */
.pricing-section.pricing-minimal{padding-top:70px;padding-bottom:calc(74px + var(--section-angle));color:#f6f4e9}
.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1200px;margin:0 auto}
.pricing-offer{padding:0 54px 0 0;min-width:0}
.pricing-offer+.pricing-offer{border-left:1px solid #d4dfc74d;padding:0 0 0 54px}
.pricing-offer h3{font-size:11px;font-weight:500;letter-spacing:1.5px;line-height:1.5;text-transform:uppercase;color:#c5d4b5;margin-bottom:18px}
.offer-objective{font:400 clamp(29px,3vw,45px)/1.12 Georgia,serif;letter-spacing:-.045em;min-height:1.2em}
.offer-figure{margin:34px 0 23px}
.offer-start{font-size:12px;color:#bfccb5}
.offer-amount{display:flex;align-items:baseline;gap:13px;margin-top:4px;white-space:nowrap}
.offer-amount strong{font:400 clamp(80px,8.8vw,126px)/1 Georgia,serif;letter-spacing:-.065em}
.offer-amount strong>span{font-size:.52em;letter-spacing:-.03em}
.offer-amount small{font-size:11px;color:#bfccb5}
.offer-purpose{font-size:15px;line-height:1.75;color:#d0d9c8;max-width:370px}
.offer-action{display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid #bbcf9e8c;min-height:64px;margin-top:31px;font-size:15px;color:#f6f4e9;transition:color .2s,border-color .2s}
.offer-action>span{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border:1px solid #bbcf9e8c;border-radius:50%;font-size:20px;transition:background .2s,color .2s,transform .2s}
.offer-action:hover{color:#d5eab6;border-color:#d5eab6}
.offer-action:hover>span{background:#d5eab6;color:#19382c;transform:rotate(5deg)}
.offer-action:focus-visible{outline-color:#d5eab6;outline-offset:6px}
.offer-inclusions{max-width:1200px;margin:38px auto 0;padding-top:23px;border-top:1px solid #d4dfc733;display:flex;justify-content:space-between;align-items:baseline;gap:22px;flex-wrap:wrap;color:#becbb3}
.offer-inclusions p{font-size:12px;line-height:1.8}
.offer-inclusions p>span{margin:0 9px;color:#8da879}
.offer-inclusions small{font-size:11px;line-height:1.7;max-width:320px}
.contact-section.contact-quick{--section-fill:#edf2e6;background:var(--section-fill);color:#19382c;padding-top:70px;padding-bottom:calc(70px + var(--section-angle))}
.contact-quick .contact-layout{grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,90px);align-items:center;max-width:1200px;margin:0 auto}
.contact-quick .contact-intro h2{font-size:clamp(45px,5.5vw,80px);margin:0 0 24px;line-height:1.05;letter-spacing:-.055em}
.contact-quick .contact-intro em{color:#53794b}
.contact-quick .contact-intro>p{color:#5c6b54;font-size:17px;line-height:1.7}
.contact-quick .contact-form{background:#f9fbf5;border:1px solid #d4ddca;border-radius:4px;padding:32px;box-shadow:0 15px 45px #263c2610}
.contact-quick .contact-form .visually-hidden{margin:-1px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.contact-quick .contact-field{margin:0;gap:9px}
.contact-quick .contact-field label{font-size:12px;line-height:1.5;color:#334930}
.contact-field label>span{font-size:10px;color:#687a5f}
.contact-field-email{grid-column:1 / -1}
.contact-quick .contact-field input{background:#fff;color:#19382c;border-color:#becbb3;border-radius:2px;min-height:54px;padding:14px;font-size:16px;line-height:1.5}
.contact-quick .contact-field input::placeholder{color:#7d8b75}
.contact-quick .contact-field input:focus-visible{border-color:#55754b;outline:2px solid #55754b;outline-offset:2px}
.contact-quick .contact-field input:user-invalid{border-color:#a94a36}
.contact-quick .contact-form-bottom{display:grid;grid-template-columns:1fr;gap:7px;margin-top:25px}
.contact-quick .contact-submit{width:100%;min-height:54px;padding:15px 23px;justify-content:space-between;background:#23442f;color:#f9fbf5;border-color:#23442f;font-size:15px}
.contact-quick .contact-submit:hover{background:#3a6040;border-color:#3a6040}
.contact-quick .contact-submit:focus-visible{outline-color:#55754b}
.contact-quick .contact-privacy{justify-self:center;color:#617457;font-size:11px;padding:10px 0}
.contact-quick .contact-availability{color:#78836f;font-size:10px;line-height:1.5;margin-top:12px;text-align:center}
.contact-quick .contact-status{color:#35532c;font-size:13px}
.contact-quick .contact-status:not(:empty){border-color:#c7d2bd}
.contact-quick .contact-status:focus-visible{outline-color:#55754b}
.contact-interest{font-size:13px;line-height:1.5;color:#49673f;padding-bottom:19px;margin-bottom:23px;border-bottom:1px solid #d4ddca}
@media(max-width:1000px){.pricing-offer{padding-right:35px}.pricing-offer+.pricing-offer{padding-left:35px}.offer-objective{font-size:32px}.offer-amount strong{font-size:clamp(76px,9.4vw,94px)}.contact-quick .contact-layout{grid-template-columns:.85fr 1.15fr;gap:34px}.contact-quick .contact-form{padding:25px}.contact-quick .contact-intro h2{font-size:50px}.contact-fields{gap:21px 15px}}
@media(max-width:760px){
 .pricing-section.pricing-minimal{padding-top:44px;padding-bottom:calc(46px + var(--section-angle))}
 .offer-grid{grid-template-columns:1fr}
 .pricing-offer{padding:0 0 37px}
 .pricing-offer+.pricing-offer{border-left:0;border-top:1px solid #d4dfc74d;padding:37px 0 0}
 .pricing-offer h3{margin-bottom:14px;font-size:10px}
 .offer-objective{font-size:35px}
 .offer-figure{margin:25px 0 19px}
 .offer-amount strong{font-size:94px}
 .offer-purpose{font-size:15px}
 .offer-action{margin-top:22px;min-height:60px}
 .offer-inclusions{margin-top:31px;padding-top:22px;gap:9px}
 .offer-inclusions p>span{margin:0 5px}
 .offer-inclusions small{font-size:10px;max-width:none}
 .contact-section.contact-quick{padding-top:42px;padding-bottom:calc(44px + var(--section-angle))}
 .contact-quick .contact-layout{grid-template-columns:1fr;gap:29px}
 .contact-quick .contact-intro h2{font-size:51px;margin-bottom:20px}
 .contact-quick .contact-intro>p{font-size:16px}
 .contact-quick .contact-form{padding:25px}
}
@media(max-width:540px){.contact-fields{grid-template-columns:1fr;gap:19px}.contact-quick .contact-form{padding:23px}.offer-amount strong{font-size:88px}.offer-amount{gap:11px}.offer-objective{font-size:32px}}
@media(max-width:360px){.offer-amount strong{font-size:76px}.offer-objective{font-size:28px}.contact-quick .contact-intro h2{font-size:44px}.contact-quick .contact-form{padding:19px}.offer-inclusions p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.offer-action,.offer-action>span{transition:none}.offer-action:hover>span{transform:none}}

/* Una chiusura sobria: identità, contatti, mappa e documenti. */
.site-footer{--section-fill:#19382c;background:var(--section-fill);color:#f6f4e9;padding:62px var(--gutter) 26px}
.footer-main{display:grid;grid-template-columns:1.15fr 1.15fr .7fr .9fr;gap:clamp(25px,3vw,48px);max-width:1200px;margin:0 auto}
.footer-brand{display:inline-flex;gap:15px;font-size:38px;line-height:.82;font-weight:700;letter-spacing:-2px;color:#f6f4e9;margin-bottom:26px}
.footer-brand .brand-mark{width:67px;height:45px;flex-shrink:0;border:1px solid #8da083;box-shadow:0 0 0 3px #e6edd833}
.footer-brand .brand-studio{display:block;font-size:10px;letter-spacing:4.3px;margin-top:11px;line-height:1}
.footer-identity>p{font-size:14px;line-height:1.7;color:#c8d3bd;margin-bottom:20px}
.footer-identity address{font-size:12px;line-height:1.7;font-style:normal;color:#aebfa2}
.footer-main h2{font-size:11px;letter-spacing:1.1px;font-weight:500;line-height:1.5;text-transform:uppercase;color:#aebfa2;margin:3px 0 24px}
.footer-contact-link{display:flex;align-items:baseline;justify-content:space-between;gap:11px;font-size:14px;line-height:1.6;letter-spacing:-.02em;margin-bottom:18px;overflow-wrap:anywhere}
.footer-contact-link>span{font-size:17px;flex-shrink:0;color:#cce0b5}
.footer-map>a{display:block;width:fit-content;font-size:13px;line-height:1.5;margin-bottom:13px}
.footer-legal button{display:block;text-align:left;border:0;background:transparent;color:#f6f4e9;font-family:inherit;font-size:13px;line-height:1.5;padding:0;margin:0 0 23px;cursor:pointer}
.footer-legal button>span{display:block;font-size:10px;color:#aebfa2;margin-top:5px;letter-spacing:.015em}
.footer-map>a,.footer-contact-link,.footer-legal button,.site-footer .footer-bottom>a{transition:color .2s ease}
.footer-map>a:hover,.footer-contact-link:hover,.footer-legal button:hover,.site-footer .footer-bottom>a:hover{color:#cce6a4}
.site-footer a:focus-visible,.site-footer button:focus-visible{outline-color:#cce6a4;outline-offset:5px}
.site-footer .footer-bottom{max-width:1200px;margin:43px auto 0;padding-top:23px;border-color:#b8cba13d;display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-size:10px;line-height:1.6;color:#aebfa2}
.site-footer .footer-bottom>a{display:inline-flex;align-items:center;gap:15px;color:#d7e2c9;font-size:11px;white-space:nowrap}
.site-footer .footer-bottom>a>span{font-size:18px}
.legal-dialog{background:#f7f6ef;color:#19382c;max-width:630px}
.legal-dialog .legal-status{font-size:10px;letter-spacing:1.2px;color:#627754;margin-top:15px}
.legal-dialog h2{font:400 clamp(33px,4vw,46px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:18px 0 25px}
.legal-dialog>p:not(.legal-status){font-size:15px;line-height:1.7;color:#53634b}
.legal-dialog a{color:#19382c}
@media(max-width:1000px){.footer-main{grid-template-columns:1.2fr 1fr;gap:39px 55px}.footer-brand{margin-bottom:22px}.footer-main h2{margin-bottom:20px}.footer-contact-link{max-width:340px}.footer-map{grid-column:1}.footer-legal{grid-column:2}}
@media(max-width:620px){.site-footer{padding-top:42px;padding-bottom:25px}.footer-main{grid-template-columns:1fr 1fr;gap:34px 24px}.footer-identity,.footer-contacts{grid-column:1 / -1}.footer-brand{font-size:35px;gap:15px;margin-bottom:20px}.footer-brand .brand-mark{width:65px;height:43px}.footer-identity>p{font-size:14px;margin-bottom:16px}.footer-identity address{font-size:12px}.footer-main h2{font-size:10px;margin:0 0 17px}.footer-contact-link{font-size:16px;max-width:100%;margin-bottom:15px}.footer-contacts .footer-contact-link:last-child{margin-bottom:0}.footer-map>a,.footer-legal button{font-size:13px}.footer-legal button{margin-bottom:22px}.site-footer .footer-bottom{margin-top:32px;padding-top:23px;flex-direction:column;gap:14px;font-size:10px}.site-footer .footer-bottom>a{font-size:11px}.legal-dialog{padding-left:25px;padding-right:25px}}
@media(max-width:360px){.footer-main{gap:32px 17px}.footer-contact-link{font-size:14px}.footer-map>a,.footer-legal button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.footer-map>a,.footer-contact-link,.footer-legal button,.site-footer .footer-bottom>a{transition:none}}

/* Presa visione della privacy e testi legali. */
.contact-honeypot{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.contact-acknowledgement{display:grid;grid-template-columns:19px 1fr;gap:11px;align-items:start;margin-top:24px;color:#53634b;font-size:12px;line-height:1.65}
.contact-acknowledgement input{appearance:auto;accent-color:#2a4d35;width:18px;height:18px;margin:2px 0 0;cursor:pointer}
.privacy-inline{display:inline;background:none;border:0;padding:0;color:#254b33;font:inherit;text-decoration:underline;text-underline-offset:3px}
.contact-submit:disabled{cursor:wait;opacity:.6}
.contact-status[data-state="success"]{color:#245a31;border-left:2px solid #426d36;padding-left:12px}
.contact-status[data-state="error"]{color:#9a302d;border-left:2px solid #9a302d;padding-left:12px}
.legal-dialog{max-width:780px;max-height:90dvh}
.legal-body{font-size:15px;line-height:1.75;color:#53634b}
.legal-body h3{font-size:19px;color:#19382c;letter-spacing:-.35px;margin:28px 0 11px;line-height:1.3}
.legal-body p{font-size:15px;line-height:1.75;margin:12px 0}
.legal-body a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.legal-body .legal-lead{font-size:18px;line-height:1.6;color:#294634;border-left:2px solid #9cb77c;padding-left:17px;margin:0 0 28px}
.legal-permalink{display:inline-flex;gap:20px;margin:24px 0 8px;padding:12px 0;border-bottom:1px solid #9bb08a;font-size:13px}
.legal-page{background:#f7f6ef;color:#19382c}
.legal-page>header{max-width:900px;margin:auto;padding:25px 35px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d7dfd1;font-size:12px;letter-spacing:1px}
.legal-page>header>a:last-child{letter-spacing:0}
.legal-document{max-width:800px;margin:0 auto;padding:55px 35px 70px}
.legal-document>.legal-status{font-size:10px;letter-spacing:1.3px;color:#627754}
.legal-document h1{font:400 clamp(38px,6vw,62px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:20px 0 32px}
@media(max-width:620px){.contact-acknowledgement{font-size:11px;gap:10px}.legal-body .legal-lead{font-size:17px}.legal-document{padding:35px 23px 50px}.legal-page>header{padding:23px}.legal-body h3{font-size:18px}.legal-body p{font-size:14px}}

/* Marchio Full Metals: un unico blocco, simbolo e nome con pari dignità. */
.project-full-metals .project-brand.full-logo{top:27px;left:28px;display:flex;align-items:center;gap:15px;padding:14px 17px;max-width:calc(47% - 46px);border:1px solid #ffffffb0;background:#f4f6ed;box-shadow:0 8px 25px #001c1326;backdrop-filter:none;border-radius:2px}
.project-full-metals .full-logo>.full-symbol{position:static;display:block;flex:0 0 auto;width:clamp(60px,10cqw,86px);height:auto;aspect-ratio:2 / 1;object-fit:contain;padding:0;background:transparent;border-radius:0;mix-blend-mode:multiply;transform:none}
.project-full-metals .full-logo .full-wordmark{font-family:Arial,Helvetica,sans-serif;font-size:clamp(20px,3.15cqw,27px);font-weight:800;line-height:.96;letter-spacing:.025em;color:#1c442c;white-space:nowrap}
.project-full-metals .full-logo .full-wordmark>span{display:block;margin-top:5px;font:inherit;letter-spacing:inherit;color:#2c6336}
@media(max-width:900px) and (min-width:621px){.project-full-metals .project-brand.full-logo{gap:11px;padding:12px;max-width:calc(47% - 40px);left:24px}.project-full-metals .full-logo>.full-symbol{width:57px}.project-full-metals .full-logo .full-wordmark{font-size:20px}}
@media(max-width:620px){
 .project-full-metals .project-brand.full-logo{top:15px;left:14px;gap:10px;padding:11px 12px;max-width:calc(100% - var(--case-cut) - 29px);box-shadow:0 5px 20px #001c1326}
 .project-full-metals .full-logo>.full-symbol{width:53px;height:auto}
 .project-full-metals .full-logo .full-wordmark{font-size:20px;letter-spacing:.03em}
 .project-full-metals .full-logo .full-wordmark>span{margin-top:4px}
 .project-full-metals .case-label{top:calc(57% - 43px);right:calc(var(--case-cut) + 13px);padding:6px 8px}
}
@media(max-width:360px){.project-full-metals .project-brand.full-logo{padding:10px;gap:8px}.project-full-metals .full-logo>.full-symbol{width:46px}.project-full-metals .full-logo .full-wordmark{font-size:18px}}
