.consultation-page { --bronze: #805636; --gold: #d8ba85; --ink: #251e19; --cream: #f5f1eb; --muted: #655c54; background: #fffdfa; color: var(--ink); }
.consultation-page :focus-visible { outline-color: #805636; }
.consultation-page .site-header { background: #fffdfa; }
.consultation-page .site-nav .nav-cta { background: var(--ink); }
.consultation-page .site-nav .nav-cta:hover { background: var(--bronze); }
.consultation-eyebrow { margin-bottom: 24px; color: #805636; font-size: 12px; font-weight: 700; line-height: 1.6; letter-spacing: .15em; text-transform: uppercase; }
.consultation-eyebrow > span { margin-right: 10px; }
.consultation-hero { min-height: 660px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: clamp(40px, 7vw, 110px); padding-top: 65px; padding-bottom: 85px; }
.consultation-hero h1 { color: var(--ink); font-size: clamp(48px, 5.8vw, 84px); line-height: 1.07; letter-spacing: -.055em; }
.consultation-page em { color: var(--bronze); font-style: normal; }
.consultation-lead { max-width: 580px; margin-bottom: 32px; color: #655c54; font-size: 21px; line-height: 1.65; }
.button-bronze { gap: 28px; color: #291e14; border-color: #b08a59; background: linear-gradient(110deg, #c4a06f, #ead4ad 48%, #c6a16b); box-shadow: 0 6px 18px #80563616; }
.button-bronze:hover { color: #20160e; background: #e3c79b; box-shadow: 0 10px 22px #80563624; }
.button-bronze span { font-size: 23px; line-height: 1; }
.consultation-hero-note { margin: 20px 0 0; color: #71665c; font-size: 13px; }
.consultation-session { position: relative; overflow: hidden; padding: clamp(30px, 3.8vw, 56px); color: #f9f1e4; background: radial-gradient(ellipse at 100% 0%, #77553988, transparent 65%), #251e19; border: 1px solid #94744e; box-shadow: 0 25px 65px #3726141a; }
.consultation-session::before { content: ''; position: absolute; inset: 12px; border: 1px solid #d8ba8533; pointer-events: none; }
.consultation-session .consultation-eyebrow { color: #d8ba85; display: block; margin-bottom: 34px; }
.consultation-price { font-size: clamp(86px, 8vw, 122px); line-height: .95; letter-spacing: -.065em; font-weight: 500; color: #efddbd; }
.consultation-price span { margin-left: 7px; font-size: .43em; vertical-align: top; line-height: 1.4; }
.consultation-duration { margin-top: 20px; font-size: 17px; color: #f4e4ce; }
.consultation-session-rule { height: 1px; background: linear-gradient(90deg, #c5a57499, transparent); margin: 30px 0; }
.consultation-session ul { list-style: none; padding: 0; margin: 0 0 30px; }
.consultation-session li { position: relative; padding-left: 22px; margin: 15px 0; line-height: 1.5; font-size: 15px; }
.consultation-session li::before { content: '✓'; position: absolute; left: 0; color: #d8ba85; }
.consultation-payment { margin: 0; color: #d1c0ad; line-height: 1.7; font-size: 13px; }
.consultation-owner-offer { margin-top: 25px; padding-top: 22px; border-top: 1px solid #d8ba8544; }
.consultation-owner-offer strong { display: block; color: #efddbd; font-size: 15px; font-weight: 500; line-height: 1.5; }
.consultation-owner-offer p { color: #e0d3c2; font-size: 13px; line-height: 1.7; margin: 10px 0 12px; }
.consultation-owner-offer a { color: #efddbd; font-size: 12px; text-underline-offset: 4px; }
.consultation-owner-promo { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-block: 55px; border-top: 1px solid #d1b58c; background: #f5f1eb; scroll-margin-top: 25px; }
.consultation-owner-promo p:not(.consultation-eyebrow) { color: #655c54; font-size: 18px; line-height: 1.7; }
.consultation-owner-promo p.consultation-owner-conditions { font-size: 13px; }
.consultation-owner-promo a { color: #805636; font-size: 14px; text-underline-offset: 4px; }
.consultation-owner-fields { background: #fcf7ef !important; }
.consultation-owner-fields .field { clear: both; margin-top: 22px; }
.consultation-owner-fields legend .optional { font-size: 12px; }
@media (max-width: 980px) { .consultation-owner-promo { gap: 40px; } }
@media (max-width: 680px) { .consultation-owner-promo { grid-template-columns: 1fr; gap: 16px; padding-block: 40px; } }
.consultation-topics { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-top: 80px; padding-bottom: 90px; border-top: 1px solid #e6ddd1; }
.consultation-page h2 { color: var(--ink); font-size: clamp(34px, 3.3vw, 49px); line-height: 1.14; letter-spacing: -.04em; font-weight: 500; }
.consultation-topic-list article { display: grid; grid-template-columns: 30px 1fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid #e6ddd1; }
.consultation-topic-list article:first-child { padding-top: 0; }
.consultation-topic-list article > span { color: #805636; font-size: 12px; padding-top: 5px; }
.consultation-topic-list h3 { margin-bottom: 10px; font-size: 20px; font-weight: 500; }
.consultation-topic-list p { margin: 0; color: #655c54; line-height: 1.65; }
.consultation-path { padding: 75px 0; background: #f5f1eb; border-block: 1px solid #e6ddd1; }
.consultation-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 35px; padding: 0; margin: 48px 0 0; }
.consultation-steps li { border-top: 1px solid #c6ad8c; padding-top: 22px; }
.consultation-steps li > span { display: block; color: #805636; font-size: 12px; margin-bottom: 24px; }
.consultation-steps h3 { font-size: 19px; font-weight: 500; }
.consultation-steps p { margin-bottom: 0; color: #655c54; font-size: 14px; line-height: 1.75; }
.consultation-request { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(45px, 7vw, 110px); padding-top: 105px; padding-bottom: 85px; scroll-margin-top: 30px; }
.consultation-request-intro { position: sticky; top: 35px; }
.consultation-request-intro > p:not(.consultation-eyebrow) { color: #655c54; line-height: 1.75; font-size: 17px; }
.consultation-request-intro > a { font-size: 14px; color: #805636; overflow-wrap: anywhere; text-underline-offset: 4px; }
.consultation-request-note { border-left: 2px solid #b08a59; padding-left: 22px; margin: 32px 0; }
.consultation-request-note strong { font-size: 14px; }
.consultation-request-note p { margin: 12px 0 0; font-size: 14px; color: #655c54; line-height: 1.7; }
.consultation-form .form-section { border-color: #ded1c0; border-radius: 0; background: #fff; box-shadow: none; }
.consultation-form .form-section legend span { color: #805636; }
.consultation-form .field input, .consultation-form .field select, .consultation-form .field textarea { border-color: #c7b9a7; border-radius: 0; background: #fffdfa; }
.consultation-form .field input[type=file] { font-size: 13px; padding: 16px 12px; }
.consultation-form .field input[type=file]::file-selector-button { background: #efe5d6; border: 0; color: #503721; padding: 9px 12px; margin-right: 12px; cursor: pointer; }
.consultation-form .privacy { line-height: 1.6; }
.consultation-form .privacy a { color: #805636; }
.consultation-form .privacy input { accent-color: #805636; flex: none; }
.consultation-form .form-submit-row { grid-template-columns: 1fr; gap: 18px; }
.consultation-form .button { justify-self: start; }
.consultation-form .form-status { border-color: #805636; background: #f5f1eb; color: #503721; }
.consultation-faq { border-top: 1px solid #e6ddd1; display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; padding-top: 65px; padding-bottom: 90px; }
.consultation-faq details { padding: 22px 0; border-bottom: 1px solid #e6ddd1; }
.consultation-faq summary { cursor: pointer; font-weight: 500; line-height: 1.5; }
.consultation-faq details p { color: #655c54; line-height: 1.7; margin: 16px 0 0; font-size: 15px; }
@media (max-width: 980px) { .consultation-hero { grid-template-columns: 1fr 1fr; gap: 35px; min-height: auto; padding-top: 50px; } .consultation-hero h1 { font-size: 54px; } .consultation-lead { font-size: 18px; } .consultation-topics { gap: 40px; } .consultation-steps { grid-template-columns: repeat(2, 1fr); } .consultation-request, .consultation-faq { grid-template-columns: 1fr; gap: 36px; } .consultation-request-intro { position: static; max-width: 650px; } }
@media (max-width: 680px) { .consultation-hero { grid-template-columns: 1fr; padding-top: 40px; padding-bottom: 50px; gap: 38px; } .consultation-hero h1 { font-size: clamp(44px, 11vw, 65px); } .consultation-hero .button { width: 100%; } .consultation-session { padding: 35px; } .consultation-session .consultation-eyebrow { margin-bottom: 26px; } .consultation-price { font-size: 92px; } .consultation-topics { grid-template-columns: 1fr; gap: 25px; padding-block: 55px; } .consultation-path { padding-block: 55px; } .consultation-steps { grid-template-columns: 1fr; gap: 24px; margin-top: 30px; } .consultation-steps li > span { margin-bottom: 13px; } .consultation-request { padding-top: 60px; padding-bottom: 50px; } .consultation-form .form-grid { grid-template-columns: 1fr; } .consultation-form .form-section { padding: 24px 18px; } .consultation-form .form-section legend { font-size: 18px; } .consultation-faq { padding-block: 45px; } }

/* Impaginazione essenziale: testi brevi, linee sottili, un solo accento metallico. */
.consultation-hero { min-height: 600px; padding-top: 45px; padding-bottom: 65px; }
.consultation-hero h1 { font-size: clamp(48px, 6vw, 88px); }
.consultation-lead { max-width: 470px; font-size: 20px; }
.consultation-session { padding: 42px; border: 0; border-top: 2px solid #c4a06f; box-shadow: 0 20px 55px #37261412; }
.consultation-session::before { display: none; }
.consultation-session-mark { position: absolute; width: 37px; height: 37px; top: 32px; right: 35px; fill: none; stroke: #d8ba85; stroke-width: 1.2; }
.consultation-session .consultation-eyebrow { margin-bottom: 32px; padding-right: 45px; }
.consultation-price { font-size: 106px; }
.consultation-session-rule { margin: 25px 0; }
.consultation-session ul { margin-bottom: 22px; }
.consultation-session li { margin: 12px 0; }
.consultation-owner-offer { padding-top: 18px; margin-top: 20px; }
.consultation-owner-offer a { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; text-decoration: none; }
.consultation-owner-offer a:hover { text-decoration: underline; }
.consultation-owner-promo { gap: 70px; padding-block: 45px; border-top: 0; border-left: 2px solid #ba996a; }
.consultation-owner-promo h2 { font-size: clamp(28px, 2.6vw, 38px); margin-bottom: 0; }
.consultation-owner-promo .consultation-eyebrow { margin-bottom: 16px; }
.consultation-owner-promo p:not(.consultation-eyebrow) { font-size: 16px; }
.consultation-promo-terms summary, .consultation-billing-extra summary { font-size: 13px; color: #805636; cursor: pointer; line-height: 1.5; }
.consultation-promo-terms p { font-size: 13px !important; margin: 15px 0 0; }
.consultation-topics { grid-template-columns: 1fr; gap: 20px; padding-block: 65px; border-top: 0; }
.consultation-topics h2 { font-size: 36px; margin-bottom: 12px; }
.consultation-topics .consultation-eyebrow { margin-bottom: 14px; }
.consultation-topic-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.consultation-topic-list article, .consultation-topic-list article:first-child { display: block; padding: 22px 0 0; border-top: 1px solid #d4c5b2; border-bottom: 0; }
.consultation-topic-list article > span { display: block; margin-bottom: 18px; padding-top: 0; }
.consultation-topic-list h3 { font-size: 19px; }
.consultation-topic-list p { font-size: 14px; }
.consultation-path { padding-block: 50px; background: #f8f5ef; }
.consultation-path h2 { font-size: 34px; }
.consultation-path .consultation-eyebrow { margin-bottom: 16px; }
.consultation-steps { gap: 32px; margin-top: 30px; }
.consultation-steps li > span { margin-bottom: 16px; }
.consultation-steps h3 { margin-bottom: 8px; }
.consultation-request { padding-block: 75px; }
.consultation-request-intro h2 { font-size: 46px; }
.consultation-request-intro .consultation-eyebrow { margin-bottom: 16px; }
.consultation-request-intro > p:not(.consultation-eyebrow) { font-size: 16px; }
.consultation-request-note { padding-left: 18px; margin-block: 28px; }
.consultation-form { gap: 26px; }
.consultation-form .form-section { border: 0; border-top: 1px solid #d9cbb8; padding: 25px 0 0; background: transparent; }
.consultation-form .form-section legend { border: 0; margin-bottom: 18px; padding-bottom: 0; font-size: 18px; font-weight: 500; }
.consultation-form .field label { font-size: 13px; font-weight: 500; }
.consultation-form .field input, .consultation-form .field select, .consultation-form .field textarea { padding: 12px; min-height: 44px; border-color: #d8cebf; background: #fff; }
.consultation-form .field input:hover, .consultation-form .field select:hover, .consultation-form .field textarea:hover { border-color: #a88b62; }
.consultation-form .form-grid { gap: 16px 20px; }
.consultation-form .privacy { font-size: 12px; }
.consultation-owner-fields { background: transparent !important; }
.consultation-billing-extra { padding-top: 5px; }
.consultation-billing-extra > .form-grid { margin-top: 20px; }
.consultation-faq { padding-block: 50px; gap: 60px; }
.consultation-faq h2 { font-size: 34px; }
.consultation-faq details { padding-block: 16px; }
@media (max-width: 980px) {
 .consultation-hero { min-height: auto; gap: 40px; }
 .consultation-session { padding: 32px; }
 .consultation-session-mark { right: 25px; top: 24px; }
 .consultation-hero h1 { font-size: 56px; }
 .consultation-price { font-size: 92px; }
 .consultation-owner-promo { gap: 35px; }
 .consultation-topic-list { gap: 24px; }
 .consultation-request { padding-block: 60px; }
}
@media (max-width: 680px) {
 .consultation-hero { padding-block: 35px 45px; gap: 30px; }
 .consultation-hero h1 { font-size: clamp(44px, 11vw, 65px); margin-bottom: 22px; }
 .consultation-lead { font-size: 18px; margin-bottom: 25px; }
 .consultation-session { padding: 30px; }
 .consultation-owner-promo { gap: 24px; padding-block: 35px; }
 .consultation-owner-promo h2 { font-size: 30px; }
 .consultation-topics { padding-block: 45px; }
 .consultation-topic-list { grid-template-columns: 1fr; gap: 24px; }
 .consultation-topic-list article, .consultation-topic-list article:first-child { display: grid; grid-template-columns: 22px 1fr; gap: 18px; padding-top: 18px; }
 .consultation-topic-list h3 { font-size: 18px; }
 .consultation-topics h2, .consultation-path h2 { font-size: 30px; }
 .consultation-path { padding-block: 40px; }
 .consultation-steps { grid-template-columns: 1fr 1fr; gap: 25px 20px; }
 .consultation-steps h3 { font-size: 17px; }
 .consultation-steps p { font-size: 13px; }
 .consultation-request { padding-block: 45px; }
 .consultation-request-intro h2 { font-size: 38px; }
 .consultation-form .form-section { padding: 22px 0 0; }
 .consultation-form .form-section legend .optional { display: inline; }
 .consultation-faq { padding-block: 35px; }
}
