/* Homepage consulenza: stile isolato dal configuratore e dal backoffice. */
.consulting-home { --ink:#292929; --muted:#383838; --blue:#b74708; --sky:#f1f3f4; --line:#dfe3e6; --amber:#f87920; --paper:#fff; background:var(--paper); color:var(--ink); }
.consulting-home h1,.consulting-home h2,.consulting-home h3 { font-family:'Oswald','InterVar',sans-serif; letter-spacing:-.01em; }
.consulting-home h2 { font-size:clamp(1.9rem,3vw,2.65rem); font-weight:700; line-height:1.16; }
.consulting-home p { line-height:1.75; }
.consulting-home .container { max-width:1200px; padding-left:28px; padding-right:28px; }
.consulting-home a { text-underline-offset:5px; }
.consulting-home :is(a,button,summary):focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.skip-home { position:absolute; top:-80px; left:16px; background:white; padding:12px 20px; z-index:3000; }
.skip-home:focus { top:12px; }
.consulting-header { border-bottom:1px solid var(--line); background:white; }
.consulting-nav { display:flex; align-items:center; justify-content:space-between; min-height:96px; gap:24px; }
.consulting-brand { display:flex; gap:12px; align-items:center; color:var(--ink); text-decoration:none; }
.brand-symbol { width:46px; height:50px; display:grid; place-items:center; color:var(--blue); background:var(--sky); border-radius:12px 12px 20px 12px; font-size:1.65rem; }
.consulting-brand strong { display:block; font-size:1.55rem; letter-spacing:-.055em; line-height:1.2; }
.consulting-brand strong span { font-weight:400; margin-left:4px; }
.consulting-brand small { display:block; color:var(--muted); font-size:.68rem; margin-top:3px; }
.consulting-nav-links { display:flex; align-items:center; gap:30px; }
.consulting-nav-links a { color:var(--muted); text-decoration:none; font-size:.85rem; font-weight:500; }
.consulting-nav-links a:hover { color:var(--blue); }
.consulting-nav-links .nav-customer { border:1px solid var(--line); border-radius:7px; padding:11px 16px; color:var(--ink); }
.consulting-hero { background:#f8f9fa; border-bottom:1px solid var(--line); overflow:hidden; }
.hero-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:68px; align-items:center; padding-top:64px; padding-bottom:64px; }
.section-kicker { font-size:.69rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--blue); margin-bottom:20px; }
.hero-copy .section-kicker { display:flex; align-items:center; gap:9px; }
.section-kicker>span { width:7px; height:7px; background:var(--amber); }
.hero-copy h1 { font-size:clamp(2.5rem,4.2vw,3.65rem); line-height:1.065; font-weight:700; margin:0 0 25px; }
.hero-copy h1 em { font-style:normal; color:var(--blue); }
.hero-description { color:var(--muted); font-size:1.125rem; max-width:510px; margin-bottom:30px; }
.quote-action { margin:0; }
.consulting-button { display:inline-flex; gap:26px; align-items:center; justify-content:center; padding:17px 23px; border:1px solid transparent; border-radius:7px; background:var(--blue); color:white; font-size:.9rem; font-weight:600; line-height:1.5; box-shadow:0 6px 15px #b7470819; transition:background .18s,transform .18s; }
.consulting-button:hover { background:#923704; transform:translateY(-2px); }
.hero-reassurance { margin:13px 0 26px; font-size:1.0rem; color:var(--muted); }
.hero-reassurance i { color:var(--blue); margin-right:5px; }
.resume-link { color:var(--muted); font-size:0.875rem; }
.resume-link i { margin-left:6px; }
.proposal-scene { position:relative; background:var(--ink); padding:28px 30px 22px; border-radius:14px; }
.scene-heading { display:flex; justify-content:space-between; align-items:center; color:#ded9d4; font: .64rem ui-monospace,Consolas,monospace; letter-spacing:.1em; margin-bottom:26px; }
.scene-heading i { color:var(--amber); font-size:1.35rem; }
.proposal-sheet { position:relative; background:white; padding:26px; border-radius:3px 3px 25px 3px; border-top:4px solid var(--amber); box-shadow:9px 10px 0 #ffffff13; transform:rotate(-2deg); }
.sheet-header { display:flex; align-items:center; justify-content:space-between; font-size:0.785rem; color:var(--muted); padding-bottom:16px; border-bottom:1px solid var(--line); margin-bottom:19px; }
.sheet-header i { font-size:1.2rem; }
.proposal-sheet h2 { font-size:2rem; margin-bottom:10px; }
.proposal-sheet>p { font-size:1.0rem; color:var(--muted); margin-bottom:18px; }
.sheet-service { display:flex; align-items:center; gap:12px; padding:13px 0; border-top:1px solid var(--line); }
.sheet-service>i { display:grid; place-items:center; width:35px; height:35px; border-radius:6px; background:var(--sky); color:var(--blue); font-size:1.1rem; flex-shrink:0; }
.sheet-service strong { display:block; font-size:.8rem; font-weight:600; }
.sheet-service span { display:block; font-size:0.775rem; color:var(--muted); margin-top:4px; }
.sheet-footer { margin-top:12px; padding-top:16px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:8px; font-size:0.755rem; }
.sheet-footer strong { font-weight:600; color:var(--blue); }
.scene-caption { color:#ded9d4; font-size:1.0rem; line-height:1.6!important; margin:26px 0 0; }
.consulting-benefits { border-bottom:1px solid var(--line); }
.benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); padding-top:25px; padding-bottom:25px; gap:35px; }
.benefits-grid>div { display:flex; gap:13px; align-items:center; font-size:.9375rem; color:var(--muted); }
.benefits-grid i { font-size:1.4rem; color:var(--blue); }
.benefits-grid strong { display:block; color:var(--ink); font-weight:600; }
.consulting-section { padding:84px 0; scroll-margin-top:24px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:35px; }
.section-heading .section-kicker { margin-bottom:12px; }
.section-heading h2 { margin:0; }
.section-heading>p { max-width:315px; color:var(--muted); font-size:1.0625rem; margin:0; }
.services-layout { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:18px; }
.service-panel { padding:30px 26px 24px; border:1px solid var(--line); border-radius:10px; display:flex; flex-direction:column; }
.service-primary { background:var(--sky); border-color:var(--sky); }
.service-icon-box { display:inline-grid; place-items:center; width:45px; height:45px; background:#f1f3f4; border-radius:8px; font-size:1.5rem; color:var(--blue); margin-bottom:30px; }
.service-primary .service-icon-box { background:white; }
.service-top { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.service-tag { font-size:0.775rem; color:var(--blue); border:1px solid #d4dade; padding:5px 9px; border-radius:20px; }
.service-panel h3 { font-size:1.7rem; line-height:1.15; margin-bottom:18px; font-weight:700; }
.service-panel p { font-size:1.0625rem; color:var(--muted); margin-bottom:26px; }
.service-foot { display:flex; justify-content:space-between; gap:8px; margin-top:auto; border-top:1px solid #d8dfe3; padding-top:17px; color:var(--ink); font-size:0.835rem; font-weight:600; text-decoration:none; }
.process-section { background:#f8f9fa; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.process-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.section-description { font-size:1.0625rem; color:var(--muted); max-width:430px; margin-top:23px; }
.text-action { display:inline-flex; gap:20px; color:var(--blue); font-size:.86rem; font-weight:600; margin-top:14px; }
.process-list { list-style:none; padding:0; margin:0; }
.process-list li { display:flex; gap:22px; padding:24px 0; border-bottom:1px solid var(--line); }
.process-list li:first-child { padding-top:0; }
.process-list li:last-child { border-bottom:0; padding-bottom:0; }
.process-number { color:var(--blue); font: .9rem ui-monospace,Consolas,monospace; padding-top:5px; }
.process-list h3 { font-size:1.22rem; font-weight:700; letter-spacing:-.025em; margin-bottom:8px; }
.process-list p { font-size:1.0625rem; color:var(--muted); margin:0; }
.coverage-panel { display:grid; grid-template-columns:1.35fr 1fr; gap:70px; padding:46px; border:1px solid var(--line); border-radius:14px; }
.coverage-copy>p:not(.section-kicker) { font-size:1.0625rem; color:var(--muted); }
.coverage-copy h2 { margin-bottom:22px; }
.coverage-copy .coverage-note { font-size:1.0rem!important; margin:22px 0 0; }
.coverage-note i { color:var(--blue); margin-right:5px; }
.coverage-locations { background:var(--sky); padding:28px; border-radius:8px; }
.coverage-locations>div+div { border-top:1px solid #d7dfe4; padding-top:22px; margin-top:22px; }
.coverage-locations span { display:block; font-size:0.775rem; color:var(--blue); text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.coverage-locations strong { display:block; font-size:1.7rem; font-family:'Oswald',sans-serif; letter-spacing:-.01em; margin:6px 0; }
.coverage-locations p { color:var(--muted); font-size:1.0625rem; margin:0; }
.faq-section { padding-top:0; }
.faq-layout { display:grid; grid-template-columns:.85fr 1.5fr; gap:90px; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list details:first-child { border-top:1px solid var(--line); }
.faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; cursor:pointer; font-weight:600; font-size:1rem; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; color:var(--blue); font-size:1.4rem; font-weight:400; }
.faq-list details[open] summary::after { content:'−'; }
.faq-list p { font-size:1.0625rem; color:var(--muted); padding:0 35px 22px 0; margin:0; }
.consulting-closing { background:var(--ink); padding:58px 0; color:white; }
.closing-layout { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.consulting-closing .section-kicker { color:var(--amber); margin-bottom:14px; }
.consulting-closing h2 { font-size:clamp(1.8rem,3vw,2.55rem); }
.consulting-closing p:not(.section-kicker) { color:#ded9d4; font-size:1.0625rem; margin:16px 0 0; }
.consulting-closing .consulting-button { white-space:nowrap; }

.consulting-closing .closing-note { font-size:1.0rem!important; text-align:center; }
.consulting-closing :is(a,button):focus-visible { outline-color:var(--amber); }
.consulting-footer { padding:35px 0 88px; background:#f8f9fa; }
.footer-layout { display:flex; justify-content:space-between; gap:30px; font-size:0.805rem; color:var(--muted); }
.footer-brand { font-size:1rem; color:var(--ink); display:block; margin-bottom:8px; }
.footer-layout>div:last-child { display:flex; gap:24px; align-items:center; }
.footer-layout a { color:var(--muted); }
@media(min-width:1400px) { .hero-layout { gap:90px; } }
@media(max-width:991px) {
 .hero-layout { gap:35px; grid-template-columns:1.1fr 1fr; padding-top:45px; padding-bottom:45px; }
 .hero-copy h1 { font-size:2.65rem; }
 .proposal-scene { padding:20px; }
 .proposal-sheet { padding:20px; }
 .proposal-sheet h2 { font-size:1.65rem; }
 .sheet-footer { flex-direction:column; }
 .consulting-nav-links { gap:18px; }
 .services-layout { grid-template-columns:1fr 1fr; }
 .service-primary { grid-column:1 / -1; }
 .service-primary h3 br { display:none; }
 .service-primary .service-icon-box { margin-bottom:20px; }
 .process-layout,.coverage-panel,.faq-layout { gap:40px; }
 .coverage-panel { padding:30px; }
 .section-heading { gap:30px; }
 .section-heading>p { max-width:230px; }
 .consulting-section { padding:60px 0; }
 .faq-section { padding-top:0; }
}
@media(max-width:767px) {
 .consulting-home .container { padding-left:22px; padding-right:22px; }
 .consulting-nav { min-height:80px; gap:10px; }
 .consulting-nav-links>a:not(.nav-customer) { display:none; }
 .consulting-nav-links .nav-customer { font-size:.72rem; padding:9px; }
 .consulting-brand strong { font-size:1.3rem; }
 .consulting-brand small { font-size:.55rem; }
 .brand-symbol { width:34px; height:40px; font-size:1.3rem; }
 .consulting-brand { gap:8px; }
 .hero-layout { grid-template-columns:1fr; gap:35px; padding-top:40px; padding-bottom:35px; }
 .hero-copy h1 { font-size:clamp(2.3rem,8vw,3.25rem); max-width:550px; }
 .hero-description { font-size:1.125rem; }
 .proposal-scene { max-width:480px; width:100%; margin:auto; padding:24px; }
 .proposal-sheet { padding:24px; }
 .proposal-sheet h2 { font-size:2rem; }
 .sheet-footer { flex-direction:row; }
 .benefits-grid { grid-template-columns:1fr; gap:19px; padding-top:24px; padding-bottom:24px; }
 .benefits-grid>div { font-size:.9375rem; }
 .benefits-grid strong { display:inline; }
 .benefits-grid i { width:26px; }
 .section-heading,.closing-layout { display:block; }
 .section-heading>p { max-width:none; margin-top:20px; }
 .services-layout,.process-layout,.coverage-panel,.faq-layout { grid-template-columns:1fr; gap:22px; }
 .service-primary { grid-column:auto; }
 .service-primary h3 br { display:initial; }
 .service-panel { padding:26px; }
 .service-icon-box { margin-bottom:20px; }
 .process-list { margin-top:20px; }
 .coverage-panel { padding:25px; }
 .coverage-locations { padding:22px; }
 .consulting-closing { padding:44px 0; }
 .closing-layout .quote-action { margin-top:28px; }
 .consulting-closing .closing-note { text-align:left; }
 .footer-layout { flex-direction:column; gap:22px; }
 .consulting-home h2 { font-size:1.9rem; }
}
@media(max-width:359px) {
 .consulting-home .container { padding-left:16px; padding-right:16px; }
 .consulting-brand small { display:none; }
 .consulting-button { padding:15px 16px; gap:15px; font-size:.82rem; }
 .proposal-scene { padding:19px; }
 .sheet-footer { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .consulting-button { transition:none; } .consulting-button:hover { transform:none; } }
@media print { .consulting-header,.consulting-button,.consulting-footer,.proposal-scene { display:none; } .consulting-section { padding:20px 0; } }
/* Contatto diretto e modulo commerciale. */
.consulting-nav-links .nav-phone { color:var(--blue); font-weight:700; white-space:nowrap; }
.hero-contact-link { display:block; width:fit-content; margin-top:17px; color:var(--blue); font-size:.8rem; font-weight:600; }
.contact-section { background:var(--sky); border-bottom:1px solid var(--line); }
.contact-layout { display:grid; grid-template-columns:.9fr 1.2fr; gap:80px; align-items:start; }
.contact-copy { padding-top:24px; }
.contact-copy>p:not(.section-kicker) { color:var(--muted); font-size:1.0625rem; margin-top:22px; }
.contact-phone { display:flex; align-items:center; gap:17px; margin:30px 0; color:var(--ink); text-decoration:none; }
.contact-phone>i { font-size:1.6rem; color:var(--blue); padding:16px; border:1px solid #d1d9df; border-radius:50%; }
.contact-phone small { display:block; color:var(--muted); font-size:0.875rem; }
.contact-phone strong { display:block; font-size:2rem; letter-spacing:-.01em; }
.contact-card { background:white; padding:32px; border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 28px #29292909; }
.contact-card h3 { font-size:1.6rem; font-weight:700; }
.contact-small { font-size:1.0rem!important; color:var(--muted); }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.contact-form label { display:block; color:var(--ink); font-size:0.875rem; font-weight:600; margin-bottom:7px; }
.contact-form .form-control { font-size:.85rem; padding:11px 12px; border-color:#b8c2ca; border-radius:6px; }
.contact-form textarea { resize:vertical; min-height:110px; }
.contact-form .form-control:focus { border-color:var(--blue); box-shadow:0 0 0 3px #b747081f; }
.contact-form .form-control[aria-invalid=true] { border-color:#b42318; }
.contact-form .contact-consent { display:flex; align-items:start; gap:10px; font-size:0.845rem; font-weight:400; margin:18px 0 22px; }
.contact-consent input { flex-shrink:0; width:17px; height:17px; margin-top:2px; accent-color:var(--blue); }
.contact-privacy { margin-top:18px; font-size:0.865rem; color:var(--muted); }
.contact-privacy summary { cursor:pointer; color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.contact-privacy .notice-body { max-height:260px; overflow-y:auto; padding:15px; margin-top:10px; background:#f8f9fa; }
.contact-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.footer-phone { display:block; margin-bottom:8px; }
@media(max-width:991px) { .contact-layout { gap:32px; } .contact-card { padding:24px; } .consulting-nav-links { gap:14px; } }
@media(max-width:767px) {
 .consulting-nav-links .nav-phone { display:block!important; font-size:.82rem; }
 .consulting-nav-links .nav-customer { display:none; }
 .contact-layout { grid-template-columns:1fr; gap:28px; }
 .contact-copy { padding-top:0; }
 .contact-fields { grid-template-columns:1fr; gap:15px; }
 .contact-card { padding:23px; }
 .contact-form .consulting-button { width:100%; }
}

/* Fotografie illustrative generate per la consulenza, con dimensioni riservate. */
.consulting-photo { margin:0; overflow:hidden; background:#fff; border:1px solid #dfe3e6; border-radius:8px; }
.consulting-photo img { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; }
.consulting-photo figcaption { padding:22px 24px; border-top:3px solid #b74708; }
.consulting-photo figcaption strong { display:block; font-size:1.0625rem; color:#292929; }
.consulting-photo figcaption span { display:block; font-size:1rem; color:#383838; margin-top:6px; line-height:1.6; }
.consulting-photo figcaption small { display:block; color:#555; font-size:.8125rem; margin-top:12px; }
.hero-photo { box-shadow:0 18px 40px #29292912; }
.site-photo { align-self:center; }
@media(max-width:767px) { .consulting-photo figcaption { padding:20px; } }

/* CTA iniziale: variante approvata, senza modificare gli altri pulsanti. */
.consulting-home .hero-copy .quote-action .consulting-button{min-height:76px;padding:20px 34px;font-size:23px;line-height:1.35;gap:20px;border-radius:12px}
@media(max-width:575px){.consulting-home .hero-copy .quote-action .consulting-button{min-height:72px;padding:18px 24px;font-size:22px;width:100%;justify-content:center;white-space:normal}}

@media(max-width:767px){.consulting-nav-links{flex-wrap:wrap;justify-content:flex-end}.consulting-nav-links>a.nav-about{display:block;font-size:.82rem;white-space:nowrap}}

/* Approfondimenti servizi: impaginazione comune, senza nuovi script o font. */
.service-detail .service-intro{background:#f3f5f7;border-bottom:1px solid #dce2e6;padding-top:38px;padding-bottom:52px}
.service-detail .service-intro nav{font-size:1rem;color:#454f57;margin-bottom:30px}
.service-detail .service-intro h1{font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.13;letter-spacing:-.035em;max-width:24ch;margin-bottom:24px;color:#202d36}
.service-detail .service-intro .section-description{max-width:68ch;color:#303e48;font-size:1.1875rem;line-height:1.75;margin-bottom:28px}
.service-detail .service-body{background:#fff}
.service-detail .service-body .col-lg-9{width:100%;max-width:1040px;margin-inline:auto}
.service-detail .service-body h2{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.25;color:#202d36;margin-top:44px;margin-bottom:18px;padding-top:28px;border-top:1px solid #dce2e6;letter-spacing:-.02em}
.service-detail .service-body .col-lg-9>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.service-detail .service-body p{max-width:76ch;font-size:1.125rem;line-height:1.8;color:#303e48}
.service-detail .service-inclusions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;list-style:none;padding:0;margin:24px 0}
.service-detail .service-inclusions li{padding:24px;background:#f3f5f7;border:1px solid #dce2e6;border-top:3px solid #b74708;border-radius:8px;font-size:1.0625rem;line-height:1.7;color:#263640}
.service-detail .service-inclusions strong{display:block;margin-bottom:8px}
.service-detail .service-steps{counter-reset:service-step;list-style:none;padding:0;display:grid;gap:12px;margin:24px 0}
.service-detail .service-steps li{counter-increment:service-step;position:relative;padding:24px 24px 24px 88px;background:#f3f5f7;border-radius:8px;font-size:1.125rem;line-height:1.75;color:#303e48}
.service-detail .service-steps li:before{content:counter(service-step,decimal-leading-zero);position:absolute;left:22px;top:24px;font-size:1.5rem;font-weight:750;color:#344c5c}
.service-detail .service-steps strong{display:block;color:#202d36}
.service-detail .service-next{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;padding:32px;background:#eef2f5;border:1px solid #dce2e6;border-radius:12px;margin-top:48px}
.service-detail .service-next h2{padding:0;border:0;margin:0 0 16px}
.service-detail .service-next p{margin-bottom:0}
.service-detail .service-next .section-kicker{margin-bottom:12px;font-size:.9rem}
.service-next-actions{display:flex;flex-direction:column;gap:12px;justify-content:center;min-width:0}
.service-next-actions>a{justify-content:center;text-align:center;white-space:normal;min-height:52px}
.service-contact-button{display:flex;align-items:center;padding:14px 20px;border:1px solid #344c5c;border-radius:6px;background:white;color:#263640;text-decoration:none;font-weight:700}
.service-contact-button:hover{background:#e1e8ed;color:#202d36}
.service-next-actions>span{text-align:center;color:#454f57;font-size:1rem}
.service-detail a:focus-visible{outline:3px solid #344c5c;outline-offset:4px}
@media(max-width:767px){.service-detail .service-intro{padding-top:24px;padding-bottom:32px}.service-detail .service-next{grid-template-columns:1fr;padding:24px;gap:24px}.service-detail .service-steps li{padding:20px 18px 20px 66px}.service-detail .service-steps li:before{left:16px;top:20px}.service-detail .service-intro .consulting-button{width:100%;justify-content:center;white-space:normal;text-align:center}.service-detail .service-body h2{margin-top:32px}}
