/* v12 — consultation journey. All original diagnostic copy and field values retained.
   The default HTML keeps all panels available without JavaScript. */
#diagnostic.consultation{
 --form-paper:#fcfaf5;--form-line:#d9ddd2;
 display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-rows:auto 1fr;
 align-items:stretch;gap:0;padding:26px;background:#f0ede4;color:#fffaf0;border:1px solid #e6e3d7;border-radius:18px;
 overflow:hidden;isolation:isolate;position:relative;
}
#diagnostic.consultation::before{display:none}
.consultation-art{position:absolute;z-index:-1;inset:0 auto 0 0;width:54%;overflow:hidden;pointer-events:none;background:#0a302c}
.consultation-art img{width:100%;height:100%;object-fit:cover;object-position:63% 49%;filter:saturate(.65) brightness(.78)}
.consultation-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#042b27f0 0%,#042b27b8 54%,#042b2752),linear-gradient(0deg,#042b27e8,transparent 72%)}
.consultation-intro{grid-column:1;grid-row:1;min-width:0;padding:23px 62px 0 18px;position:relative}
#diagnostic .consultation-intro .eyebrow{font-size:10px;letter-spacing:.13em;line-height:1.6;color:#ddcfaa;margin-bottom:25px}
#diagnostic .consultation-intro .diagnostic-heading{font-size:36px;line-height:1.1;font-weight:600;color:#fcf8eb;letter-spacing:-.04em;text-wrap:pretty;max-width:540px}
#diagnostic .consultation-intro .diagnostic-heading .accent{font-size:1.17em;line-height:1.14;letter-spacing:-.025em;color:#fcf3da;display:block;margin-top:17px;font-weight:500}
#diagnostic .consultation-intro .diagnostic-description{margin:24px 0 0;max-width:440px;font-size:14px;line-height:1.78;color:#eef2e9}
.consultation-promises{grid-column:1;grid-row:2;min-width:0;padding:27px 62px 23px 18px;display:flex;flex-direction:column;justify-content:flex-start;position:relative}
#diagnostic .consultation-promises .diagnostic-benefits{display:flex;flex-direction:column;gap:18px;margin:0;padding-top:22px;border-top:1px solid #dae2cb45}
#diagnostic .consultation-promises .diagnostic-benefit{gap:13px;align-items:flex-start}
#diagnostic .consultation-promises .diagnostic-benefit>.icon{color:#e1d4a8;width:23px;height:23px;stroke-width:1.3;margin-top:2px}
#diagnostic .consultation-promises .diagnostic-benefit h3{font-family:var(--sans);font-size:14px;line-height:1.45;font-weight:550;letter-spacing:0;color:#fff8e8}
#diagnostic .consultation-promises .diagnostic-benefit p{font-size:12px;line-height:1.7;color:#d5e4da;margin-top:5px}
#diagnostic .consultation-promises .diagnostic-assurance{font-size:12px;line-height:1.7;margin:26px 0 0;padding-top:17px;color:#e1e8dc;border-top:1px solid #dae2cb38;max-width:440px}
#diagnostic .consultation-form{
 grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-self:start;
 width:100%;min-width:0;margin:0;padding:31px 32px 24px;background:var(--form-paper);
 border:1px solid #fff9;border-radius:17px;box-shadow:0 14px 50px #082b2824;color:var(--navy);position:relative;
}
.consultation-stepper{margin-bottom:32px}
.consultation-stepper ol{list-style:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:0;padding:0}
.consultation-stepper li{min-width:0;position:relative}
.consultation-stepper li:not(:last-child)::after{content:"";position:absolute;width:18px;height:1px;right:4px;top:21px;background:#d6dacc}
.consultation-stepper button{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 18px 0 0;background:transparent;width:100%;color:#6b766e;font-size:11px;line-height:1.35;text-align:left}
.consultation-stepper button>span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #bdc9bc;border-radius:50%;color:#264c43;background:#f0f2e9;font-weight:500;font-size:12px;transition:background .25s,color .25s}
.consultation-stepper button>strong{font-size:11px;font-weight:500;line-height:1.35}
.consultation-stepper button[aria-current=step]{color:#0b3049}
.consultation-stepper button[aria-current=step]>span{background:#065546;color:#fff;border-color:#065546;box-shadow:0 3px 9px #064c3e15}
.consultation-stepper button[aria-current=step]>strong{font-weight:650}
.consultation-stepper button.is-complete>span{background:#e2ebe0;border-color:#9bbbaf;color:#00674e}
.consultation-stepper button:disabled{opacity:.64}
.consultation-stepper button:not(:disabled):hover>span{border-color:#075b4a}
.consultation-stage{min-width:0}
.consultation-form.is-stepped .consultation-stage{min-height:374px}
.consultation-step{min-width:0}
#diagnostic .consultation-form .form-group{padding:0;margin:0 0 20px;min-width:0;border:0;width:100%}
#diagnostic .consultation-form .form-legend{display:block;width:100%;margin:0 0 16px;padding:0;color:var(--navy);font-size:17px;line-height:1.45;font-weight:650;letter-spacing:-.018em;text-transform:none}
#diagnostic .consultation-form .form-legend:focus{outline:none}
.consultation-hint{font-size:12px;color:#68796e;line-height:1.5;margin:-7px 0 18px}
#diagnostic .consultation-form .topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;}
#diagnostic .consultation-form .topic{
 display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:11px;position:relative;
 min-width:0;min-height:104px;margin:0;padding:18px 15px;border:1px solid var(--form-line);
 border-radius:11px;background:#fdfcf8;color:var(--navy);transition:background .2s,border .2s,box-shadow .2s;cursor:pointer;
}
#diagnostic .consultation-form .topic:last-child{grid-column:1 / -1;min-height:67px;align-items:center}
#diagnostic .consultation-form .topic input{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0;left:16px;top:16px;pointer-events:none}
#diagnostic .consultation-form .topic .consultation-option-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eeeee2;color:#124637;grid-column:1;grid-row:1}
.consultation-option-icon .icon{width:21px;height:21px;stroke-width:1.45}
#diagnostic .consultation-form .topic>span:not(.consultation-option-icon):not(.consultation-option-check){display:block;min-width:0;grid-column:2;grid-row:1}
#diagnostic .consultation-form .topic strong{display:block;font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.5;letter-spacing:-.008em;color:#15384b}
#diagnostic .consultation-form .topic small{display:block;font-size:11px;line-height:1.5;color:#6a7a70;margin-top:6px;letter-spacing:0}
#diagnostic .consultation-form .topic:hover{background:#f4f6ee;border-color:#a8bdae}
#diagnostic .consultation-form .topic:has(input:checked){border-color:#075b4b;box-shadow:0 0 0 1px #075b4b;background:#f0f5ed}
#diagnostic .consultation-form .topic:has(input:focus-visible){outline:2px solid #006e5b;outline-offset:4px}
#diagnostic .consultation-form .topic:has(input:checked) .consultation-option-icon{background:#d7e8dc;color:#064e3f}
#diagnostic .consultation-form .topic .consultation-option-check{position:absolute;right:7px;top:7px;opacity:0;width:16px;height:16px}
.consultation-option-check .icon{width:14px;height:14px;color:#006853;stroke-width:2}
#diagnostic .consultation-form .topic:has(input:checked) .consultation-option-check{opacity:1}
.consultation-error{color:#9c3525;background:#fbeee6;border-left:2px solid #af432e;padding:8px 10px;margin-top:12px;font-size:12px;line-height:1.6}
.consultation-selection{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:12px 14px;border:1px solid #d8e2d3;border-radius:8px;background:#f0f4eb;font-size:12px;line-height:1.5;color:#164435}
.consultation-selection>span{min-width:0}
.consultation-selection button{padding:6px 0;background:none;color:#006b54;font-size:11px;text-decoration:underline;text-underline-offset:4px;flex-shrink:0;min-height:32px}
.consultation-final-selection{margin-bottom:19px}
#diagnostic .consultation-form textarea{font-size:16px;line-height:1.65;min-height:205px;max-height:350px;padding:16px;width:100%;border-radius:10px;background:#fffefa;border:1px solid #cbd8cb;color:#193d47;resize:vertical}
#diagnostic .consultation-form textarea::placeholder{font-size:14px;color:#708273}
#diagnostic .consultation-form .form-help{font-size:12px;line-height:1.7;color:#63756a;margin-top:12px}
.consultation-character-count{display:block;text-align:right;font-size:10px;font-variant-numeric:tabular-nums;color:#6b7d71;margin-top:9px}
#diagnostic .consultation-form .contact-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#diagnostic .consultation-form .contact-button{background:#fffdf7;border:1px solid #d9dfd0;border-radius:10px;min-height:77px;padding:15px;gap:10px}
#diagnostic .consultation-form .contact-button>.icon{display:none}
#diagnostic .consultation-form .contact-button>div{display:block}
#diagnostic .consultation-form .contact-button strong{font-size:13px;font-weight:600;line-height:1.4}
#diagnostic .consultation-form .contact-button small{font-size:11px;margin-top:5px}
#diagnostic .consultation-form .message-preview{margin-top:10px;padding:15px;border:1px solid #d8ddce;background:#f0f3ea;border-radius:10px;}
#diagnostic .consultation-form .message-preview-header{margin-bottom:7px;gap:12px;min-width:0}
#diagnostic .consultation-form .message-preview-header>span{font-size:10px;font-weight:600;letter-spacing:.04em}
#diagnostic .consultation-form .message-preview p{font-size:14px;line-height:1.7;color:#234b40;max-height:205px;overflow:auto;overscroll-behavior:contain;padding-right:3px;overflow-wrap:anywhere}
#diagnostic .consultation-form .copy-button{width:34px;height:38px;flex-basis:34px}
.consultation-unsent{font-size:12px;line-height:1.65;color:#627365;margin-top:13px;}
.consultation-actions{display:flex;align-items:center;gap:14px;margin:20px 0 0}
#diagnostic .consultation-actions .btn{min-width:0;flex:1;justify-content:space-between;min-height:53px;background:#064f40;color:#fcf9ee;border:1px solid #064f40;font-size:14px;font-weight:550;letter-spacing:0;padding:15px 20px;border-radius:9px;box-shadow:none;}
#diagnostic .consultation-actions .btn:hover{background:#08604e;box-shadow:0 5px 16px #0a483419}
.consultation-back{display:flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:50px;min-width:80px;padding:10px 3px;color:#4e695c;background:none;font-size:12px}
.consultation-back .icon{transform:rotate(180deg);width:16px;height:16px}
.consultation-direct{margin-top:27px;padding-top:24px;border-top:1px solid #d6dccd}
.consultation-direct>p{display:flex;justify-content:center;font-size:10px;text-transform:uppercase;letter-spacing:.1em;line-height:1.6;color:#657469;margin-bottom:15px}
.consultation-direct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.consultation-direct-link{display:flex;align-items:center;gap:12px;min-height:79px;padding:14px 13px;border:1px solid #d9ddcf;border-radius:10px;color:#163e3d;background:#fbfaf4;transition:border-color .2s,background .2s}
.consultation-direct-link:hover{background:#eef3e7;border-color:#b5c6b4}
.consultation-direct-link>.icon{width:20px;height:20px;flex:0 0 20px;stroke-width:1.45}
.consultation-direct-link>.icon:last-child{width:13px;height:13px;flex-basis:13px;margin-left:auto;align-self:flex-start;opacity:.6}
.consultation-direct-link span{display:block;min-width:0}
.consultation-direct-link strong{display:block;font-size:12px;font-weight:600;line-height:1.4}
.consultation-direct-link small{display:block;font-size:10px;color:#456f59;line-height:1.5;margin-top:6px}
.consultation-location{display:flex;align-items:center;gap:11px;padding-top:21px;margin-top:21px;border-top:1px solid #d6dccd;color:#1d5040;font-size:11px;line-height:1.6}
.consultation-location>.icon{width:18px;height:18px;flex:0 0 18px}
.consultation-location>span{min-width:0}
.consultation-location>a{display:grid;place-items:center;min-width:36px;min-height:44px;margin-left:auto;}
.consultation-location>a .icon{width:17px;height:17px}
@media(min-width:761px) and (max-width:1100px){
 #diagnostic.consultation{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:20px;}
 .consultation-art{width:48%}
 .consultation-intro{padding:18px 38px 0 8px}
 #diagnostic .consultation-intro .diagnostic-heading{font-size:30px}
 #diagnostic .consultation-intro .diagnostic-heading .accent{font-size:1.09em}
 #diagnostic .consultation-intro .diagnostic-description{font-size:13px;line-height:1.75}
 .consultation-promises{padding:23px 38px 18px 8px}
 #diagnostic .consultation-promises .diagnostic-benefit h3{font-size:13px}
 #diagnostic .consultation-promises .diagnostic-benefit p{font-size:12px}
 #diagnostic .consultation-form{padding:26px 23px 21px}
 .consultation-stepper li:not(:last-child)::after{width:10px;right:2px}
 .consultation-stepper button{gap:6px;padding-right:8px}
 .consultation-stepper button>span{width:25px;height:25px;flex-basis:25px}
 .consultation-stepper button>strong{font-size:10px}
 #diagnostic .consultation-form .form-legend{font-size:16px}
 #diagnostic .consultation-form .topic{grid-template-columns:24px minmax(0,1fr);gap:8px;padding:15px 11px;min-height:113px}
 #diagnostic .consultation-form .topic .consultation-option-icon{width:24px;height:24px}
 .consultation-option-icon .icon{width:19px;height:19px}
 #diagnostic .consultation-form .topic strong{font-size:12px}
 #diagnostic .consultation-form .topic small{font-size:10px}
 .consultation-direct-link{gap:9px;padding:13px 10px;}
 .consultation-direct-link>.icon{display:none}
 .consultation-direct-link small{font-size:10px}
}
@media(max-width:760px){
 #diagnostic.consultation{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:0;padding:0;background:#073b32;border-color:#0b483c;border-radius:15px;}
 .consultation-art{width:100%;height:510px;inset:0 0 auto;}
 .consultation-art img{object-position:64% 39%;filter:saturate(.64) brightness(.75)}
 .consultation-art::after{background:linear-gradient(90deg,#042b27ec,#042b278c),linear-gradient(0deg,#073b32 0%,transparent 80%)}
 .consultation-intro{grid-column:1;grid-row:1;padding:28px 25px 25px;}
 #diagnostic .consultation-intro .eyebrow{font-size:9px;margin-bottom:17px;letter-spacing:.13em}
 #diagnostic .consultation-intro .diagnostic-heading{font-size:29px;line-height:1.13;max-width:600px}
 #diagnostic .consultation-intro .diagnostic-heading .accent{font-size:1.05em;line-height:1.16;margin-top:11px;max-width:580px;}
 #diagnostic .consultation-intro .diagnostic-description{font-size:13px;line-height:1.7;margin-top:18px;max-width:580px}
 #diagnostic .consultation-form{grid-column:1;grid-row:2;align-self:start;width:calc(100% - 22px);margin:0 11px;padding:22px 20px 19px;border-radius:13px;}
 .consultation-stepper{margin-bottom:23px}
 .consultation-stepper ol{gap:6px}
 .consultation-stepper button{flex-direction:column;align-items:flex-start;gap:7px;padding:0;width:100%;min-height:58px}
 .consultation-stepper button>span{width:29px;height:29px;flex-basis:29px}
 .consultation-stepper button>strong{font-size:11px;line-height:1.35}
 .consultation-stepper li:not(:last-child)::after{top:15px;right:12px;left:41px;width:auto;background:#ced8c7}
 .consultation-form.is-stepped .consultation-stage{min-height:0}
 #diagnostic .consultation-form .form-group{margin-bottom:0}
 #diagnostic .consultation-form .form-legend{font-size:16px;line-height:1.5;margin-bottom:13px;}
 .consultation-hint{font-size:12px;margin:-3px 0 17px}
 #diagnostic .consultation-form .topic-grid{grid-template-columns:minmax(0,1fr);gap:8px;}
 #diagnostic .consultation-form .topic{grid-template-columns:29px minmax(0,1fr);align-items:center;gap:12px;padding:13px 14px;min-height:74px;border-radius:9px;}
 #diagnostic .consultation-form .topic:last-child{grid-column:1;min-height:67px}
 #diagnostic .consultation-form .topic strong{font-size:13px;line-height:1.45}
 #diagnostic .consultation-form .topic small{font-size:11px;line-height:1.45;margin-top:4px;}
 #diagnostic .consultation-form .topic .consultation-option-icon{width:29px;height:29px;}
 #diagnostic .consultation-form .topic .consultation-option-check{top:5px;right:5px;}
 .consultation-actions{margin-top:19px;gap:9px}
 #diagnostic .consultation-actions .btn{font-size:13px;min-height:50px;padding:13px 16px;gap:12px}
 .consultation-back{min-width:61px;font-size:12px;}
 #diagnostic .consultation-form textarea{min-height:200px;font-size:16px;max-height:300px;line-height:1.6;padding:14px;}
 #diagnostic .consultation-form textarea::placeholder{font-size:13px;line-height:1.6}
 .consultation-selection{gap:10px;font-size:12px;padding:12px;margin-bottom:16px;}
 .consultation-selection button{font-size:10px;}
 #diagnostic .consultation-form .contact-buttons{grid-template-columns:minmax(0,1fr);gap:8px;}
 #diagnostic .consultation-form .contact-button{min-height:63px;padding:13px 14px;gap:12px;}
 #diagnostic .consultation-form .contact-button>.icon{display:block;width:19px;height:19px;}
 #diagnostic .consultation-form .contact-button>div{display:block;}
 #diagnostic .consultation-form .contact-button strong{font-size:13px;}
 #diagnostic .consultation-form .contact-button small{font-size:11px;margin:5px 0 0;}
 #diagnostic .consultation-form .message-preview{margin-top:18px;padding:13px;}
 #diagnostic .consultation-form .message-preview p{font-size:13px;max-height:220px;}
 #diagnostic .consultation-form .message-preview-header>span{font-size:9px;line-height:1.6}
 .consultation-unsent{font-size:11px;margin-top:11px}
 .consultation-direct{margin-top:24px;padding-top:20px;}
 .consultation-direct>p{font-size:9px;margin-bottom:14px;}
 .consultation-direct-grid{gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .consultation-direct-link{flex-direction:column;align-items:flex-start;gap:9px;min-height:103px;padding:12px;}
 .consultation-direct-link>.icon{width:19px;height:19px;flex-basis:19px;}
 .consultation-direct-link>.icon:last-child{display:none;}
 .consultation-direct-link strong{font-size:12px;}
 .consultation-direct-link small{font-size:10px;line-height:1.45;margin-top:5px;}
 .consultation-location{font-size:10px;line-height:1.7;margin-top:18px;padding-top:17px;gap:9px;}
 .consultation-promises{grid-column:1;grid-row:3;padding:25px 25px 27px;}
 #diagnostic .consultation-promises .diagnostic-benefits{padding-top:0;border:0;gap:16px;margin:0;}
 #diagnostic .consultation-promises .diagnostic-benefit h3{font-size:13px;line-height:1.5;}
 #diagnostic .consultation-promises .diagnostic-benefit p{font-size:12px;line-height:1.65;}
 #diagnostic .consultation-promises .diagnostic-assurance{font-size:11px;line-height:1.7;margin-top:20px;padding-top:16px;}
}
@media(min-width:520px) and (max-width:760px){
 #diagnostic .consultation-form{padding:28px;width:calc(100% - 40px);margin-inline:20px;}
 #diagnostic .consultation-form .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 #diagnostic .consultation-form .topic{min-height:100px;align-items:flex-start;}
 #diagnostic .consultation-form .topic:last-child{grid-column:1 / -1;min-height:64px;align-items:center;}
 .consultation-stepper button{flex-direction:row;align-items:center;min-height:44px;gap:10px;}
 .consultation-stepper li:not(:last-child)::after{left:auto;width:20px;right:10px;top:22px;}
 .consultation-intro,.consultation-promises{padding-inline:32px;}
 .consultation-direct-link{flex-direction:row;align-items:center;min-height:82px;}
}
@media(max-width:359px){
 .consultation-intro,.consultation-promises{padding-inline:20px;}
 #diagnostic .consultation-intro .diagnostic-heading{font-size:26px;}
 #diagnostic .consultation-form{padding-inline:15px;}
 #diagnostic .consultation-form .topic{padding:12px;gap:9px;}
 #diagnostic .consultation-form .topic strong{font-size:12px;}
 .consultation-direct-link{padding:11px 9px;}
 .consultation-direct-link small{font-size:9px;}
 #diagnostic .consultation-actions .btn{font-size:12px;padding-inline:12px;}
 .consultation-back{min-width:53px;gap:5px;}
}
@media(prefers-reduced-motion:no-preference){
 .consultation-step.is-entering{animation:consultationEnter .28s var(--ease) both;}
 @keyframes consultationEnter{from{opacity:.2;translate:0 6px}to{opacity:1;translate:0 0}}
}
@media print{
 #diagnostic.consultation{background:#fff;color:#0b3049;display:block;border:1px solid #bbb}
 .consultation-art{display:none}
 .consultation-intro,.consultation-promises{padding:20px}
 #diagnostic .consultation-intro .diagnostic-heading,#diagnostic .consultation-intro .diagnostic-description,#diagnostic .consultation-promises *{color:#0b3049}
 #diagnostic .consultation-form{box-shadow:none;width:100%;margin:0}
 .consultation-step[hidden]{display:block!important}
 .consultation-stepper,.consultation-actions{display:none!important}
}
