:root{color-scheme:dark;font-family:Inter,Segoe UI,Arial,sans-serif;background:#0b1523;color:#eef3f8;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:1px solid #34465b;background:#17273a;color:#e9f2fa;border-radius:10px;padding:12px 16px}button:hover{background:#253c52}button:disabled{opacity:.4;cursor:default}a{color:#bbd2de;text-decoration:none}.app-header{display:flex;align-items:center;gap:32px;padding:22px 4vw;border-bottom:1px solid #263447;background:linear-gradient(110deg,#0a1b31,#101a29)}.app-header>a:last-child{margin-left:auto;font-size:13px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;color:#fff;font-size:20px}.brand-icon{background:#9bd8cc;color:#0e2630;border-radius:10px;padding:8px 13px}.brand-caption,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#9bd8cc}main{max-width:1530px;margin:auto;padding:44px 4vw}.intro{max-width:970px;margin-bottom:30px}h1{font-size:clamp(29px,3.3vw,45px);letter-spacing:-1.5px;margin:12px 0}p{line-height:1.7;color:#acbdcf}h2{font-size:25px;letter-spacing:-.6px;margin:10px 0 16px}h3{margin-top:28px}.notice{border:1px solid #62553a;background:#27271f;color:#e0cd9e;padding:13px 16px;border-radius:10px;font-size:12px;line-height:1.6}.workspace{display:grid;grid-template-columns:180px minmax(0,1fr) 330px;gap:24px;align-items:start}nav{display:grid;gap:8px;position:sticky;top:24px}nav button{display:flex;align-items:center;gap:12px;text-align:left;border-color:transparent;background:none;font-size:12px;padding:14px 8px}nav button span{color:#738ca6}nav button[aria-current]{background:#1b353d;color:#b9ecdf;border-color:#355b5b}nav button[aria-current] span{color:#9bd8cc}.builder,.summary{border:1px solid #2a3b4e;border-radius:17px;background:#111f30;padding:25px;min-width:0}.builder{min-height:540px}.summary{position:sticky;top:24px}.summary h2{font-size:19px}.summary button{width:100%;margin-top:10px}.total{padding:22px 0;border-top:1px solid #2a3b4e;display:grid;gap:8px}.total span,.total small{font-size:12px;color:#adbdce}.total strong{font-size:42px;letter-spacing:-1.5px;color:#a6e0d3}.line{display:flex;gap:15px;justify-content:space-between;padding:11px 0;border-bottom:1px solid #243549;font-size:11px;line-height:1.5}.line b{white-space:nowrap}summary{cursor:pointer;padding:10px 0;font-size:13px}.footnote{font-size:11px;line-height:1.6}.options{display:grid;gap:12px}.option{display:flex;gap:14px;align-items:start;border:1px solid #34465b;border-radius:12px;padding:18px;cursor:pointer;background:#142538}.option:hover{border-color:#6a968f}.option.selected{background:#1a353c;border-color:#99d7c8;box-shadow:inset 3px 0 #99d7c8}.option input{margin-top:4px;accent-color:#a8dfd0}.option>span{flex:1}.option strong{font-size:14px}.option b{font-size:17px;color:#b9e7dc;white-space:nowrap}.option small{display:block;font-size:9px;font-weight:400;color:#a5b8c7;margin-top:7px}.description{display:block;font-size:12px;color:#b7c6d3;line-height:1.7;margin-top:8px}.meta{display:block;font-size:10px;color:#9bd8cc;margin-top:10px}.builder>div>label:not(.option){display:block;margin:20px 0;font-size:13px}select{display:block;width:100%;margin-top:10px;padding:12px;border:1px solid #42566d;border-radius:8px;background:#172a3c;color:#fff}.navigation{display:flex;justify-content:space-between;margin-top:30px;padding-top:20px;border-top:1px solid #304055}.primary{background:#a5dfd0;color:#0c2730;border-color:#a5dfd0;font-weight:700}.primary:hover{background:#c0f0e3}.review div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #34465b;font-size:13px}.review span{color:#97adbf;text-transform:capitalize}.review strong{text-align:right}.check{line-height:1.7}#status{font-size:12px}@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) 300px}nav{grid-column:1/-1;display:flex;overflow:auto;position:static}nav button{white-space:nowrap}.brand-caption{display:none}}@media(max-width:760px){main{padding:25px 16px}.app-header{padding:15px 16px;gap:10px}.brand{font-size:16px}.app-header>a:last-child{font-size:11px}.workspace{grid-template-columns:1fr;gap:16px}.builder,.summary{padding:20px;position:static}.builder{min-height:0}.option{padding:14px;gap:10px}.option b{font-size:15px}.option strong{font-size:13px}.total strong{font-size:38px}.intro{margin-bottom:20px}nav{gap:3px}nav button{padding:12px;font-size:11px}}

.spare-offer{margin-top:30px;padding:22px;border:1px solid #688d85;border-radius:14px;background:#142d34}.spare-offer h3{margin-top:8px;font-size:24px}.spare-offer>label{display:block;line-height:1.7}.spare-controls>label{display:block;margin:18px 0;font-size:13px}.spare-price{display:grid;grid-template-columns:1fr auto;gap:12px;margin:24px 0;padding:18px 0;border-top:1px solid #42645f;border-bottom:1px solid #42645f;font-size:13px}.spare-price strong{color:#a5dfd0}

.staff-catalogue{margin:0 0 24px;padding:18px 22px;border:1px solid #344a5f;border-radius:12px;background:#132637;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.staff-catalogue .eyebrow{margin:0}.staff-catalogue span{font-size:12px;color:#a7bbc9;line-height:1.6}

.option.recommended,.spare-offer.recommended{border:2px solid #57c985}
.option.recommended.selected{box-shadow:inset 3px 0 #57c985;background:#1a353c}
.recommendation-badge{display:block;width:fit-content;margin-bottom:9px;padding:4px 9px;border-radius:20px;background:#163e2c;color:#a5f1c0;font-size:10px;font-weight:700;letter-spacing:.3px}
.implant-discussion{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid #34465b;border-radius:12px;margin-top:24px}.implant-discussion input{margin-top:6px;accent-color:#57c985;flex:none}
.consultation-actions{margin-top:28px;padding:22px;border:1px solid #537c70;border-radius:14px;background:#142d34}.consultation-actions h3{margin-top:0}.consultation-actions button,.consultation-link{display:block;width:100%;padding:14px;margin-top:12px;border-radius:10px;text-align:center;line-height:1.5;white-space:normal}.consultation-link{border:1px solid #688d85}.consultation-link:focus-visible{outline:2px solid #baf5d0}.consultation-link:hover{background:#253c52}.consultation-link.primary:hover{background:#c0f0e3}
@media(max-width:760px){.consultation-actions{padding:16px}.option>span{min-width:0}.recommendation-badge{font-size:10px}.review strong{overflow-wrap:anywhere}}

/* Checked state is distinct from the Recommended outline; retain native input semantics. */
.option input[type="radio"],.option input[type="checkbox"],.check input[type="checkbox"]{appearance:none;-webkit-appearance:none;display:inline-block;flex:0 0 32px;width:32px;height:32px;margin:0 8px 0 0;vertical-align:middle;border:2px solid #678096;border-radius:8px;background:#0d1b2a;cursor:pointer}
.option input:checked,.check input[type="checkbox"]:checked{border-color:#70e69e;background-color:#133e2b;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 16l6 6L25 9' fill='none' stroke='%2370e69e' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:28px 28px}
.option input:focus-visible,.check input:focus-visible{outline:3px solid #e4f7ee;outline-offset:4px}
.option input:disabled{cursor:default}.option input:disabled:not(:checked){opacity:.45}
@media(forced-colors:active){.option input[type="radio"],.option input[type="checkbox"],.check input[type="checkbox"]{appearance:auto;-webkit-appearance:auto;background-image:none}}

/* Final actions are the dominant next step; offers remain a secondary route. */
.consultation-actions{margin-top:36px;padding:30px;border:3px solid #9ce7bf;border-radius:18px;background:#e6f6ed;color:#122b24;box-shadow:0 10px 30px #0004}
.consultation-actions .eyebrow{color:#236545;margin:0 0 12px;letter-spacing:2px}
.consultation-actions h3{font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-.7px;margin:0 0 16px;color:#102d23}
.consultation-actions p{color:#385a4a}.consultation-intro{font-size:16px;line-height:1.6}
.consultation-buttons{display:grid;gap:14px;margin-top:24px}
.consultation-actions .consultation-main{display:block;width:100%;margin:0;min-height:76px;padding:20px 18px;border:2px solid #1c6b43;border-radius:12px;background:#1c6b43;color:#fff;text-align:center;font-size:18px;font-weight:750;line-height:1.4;white-space:normal;box-shadow:0 3px 0 #11432b}
.consultation-actions .consultation-main:hover:not(:disabled){background:#145233;border-color:#145233}
.consultation-actions button:disabled{opacity:1;cursor:default}
.consultation-main .contact-number{display:block;margin-top:5px;font-size:15px;font-weight:500}
.consultation-actions a:focus-visible{outline:3px solid #0b4430;outline-offset:5px}
.offers-signup{margin-top:26px;padding-top:22px;border-top:1px solid #abcdb9}.offers-signup h4{font-size:18px;margin:0 0 8px;color:#163c2a}.offers-signup p{font-size:13px;line-height:1.6}
.consultation-actions .offers-button{padding:15px;min-height:52px;border:2px solid #397455;background:#f4fbf7;color:#17492f;font-size:15px;font-weight:700}
.consultation-actions .offers-button:hover:not(:disabled){background:#d5efdf}
@media(max-width:760px){.consultation-actions{padding:22px 18px;margin-top:28px}.consultation-actions .consultation-main{font-size:17px;padding:18px 14px}}

#email-estimate{margin-top:14px;padding:4px 0;border-top:1px solid #34465b}#email-estimate summary{font-size:14px;font-weight:700;color:#c2eadb;padding:14px 0}#email-estimate label{display:block;font-size:12px;margin-top:14px}#email-estimate input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #688497;border-radius:8px;background:#0d1b2a;color:#fff}#email-estimate input:disabled{opacity:.5}#estimate-email-status{font-size:12px;line-height:1.6}

.staff-discount{margin-top:28px;padding:24px;border:1px solid #6caa91;border-radius:14px;background:#152b37}.staff-discount input{display:block;width:160px;max-width:100%;margin-top:10px;padding:13px;border:1px solid #84bca3;border-radius:8px;background:#0c1c2b;color:#fff;font:inherit}.staff-discount .discount-final{border-top:2px solid #8dc9ac;margin-top:12px;padding-top:18px}.staff-discount .discount-final strong{font-size:26px;color:#bcebd5}
.staff-discount .discount-final strong{white-space:nowrap}@media(max-width:760px){.staff-discount .discount-final{display:block}.staff-discount .discount-final strong{display:block;margin-top:12px;text-align:left}}
