/* Calculator only. Shared website styles and navigation remain untouched. */
.sd-calc-page .sd-print-head { display:none; }
@media print {
	@page { margin:16mm; }
	body.sd-calc-body { background:#fff; color:#000; }
	body.sd-calc-body > :not(#sd-calc-root) { display:none!important; }
	#sd-calc-root { --paper:#000; --slate:#222; --slate-dim:#333; --gold:#000; --live:#000; --rule:#999; background:#fff; color:#000; padding:0; }
	#sd-calc-root .sd-wrap { width:100%; margin:0; }
	#sd-calc-root .sd-mast, #sd-calc-root .sd-title, #sd-calc-root .sd-lede,
	#sd-calc-root .sd-form, #sd-calc-root .sd-actions, #sd-calc-root .sd-warn,
	#sd-calc-root .sd-grid > div { display:none!important; }
	#sd-calc-root .sd-grid { display:block; }
	#sd-calc-root .sd-grid > aside { position:static; }
	#sd-calc-root .sd-print-head { display:block; border-bottom:1.5pt solid #000; padding-bottom:8pt; margin-bottom:14pt; }
	#sd-calc-root .sd-print-head p { margin:3pt 0 0; font-size:9.5pt; }
	#sd-calc-root .sd-board { background:#fff; border:1pt solid #000; border-radius:0; break-inside:avoid; }
	#sd-calc-root .sd-total { font-size:24pt; }
	#sd-calc-root .sd-fx { display:none!important; }
	#sd-calc-root .sd-fxnote { color:#333; font-style:normal; }
	#sd-calc-root .sd-foot { margin-top:18pt; }
}
.sd-calc-page { --ink:#111; --panel:#1b1b1b; --panel-2:#242424; --rule:#424242; --gold:#facc15; --gold-lit:#ffe36b; --paper:#fff; --slate:#d1d1d1; --slate-dim:#aaa; --live:#8ce0ad; --mono:ui-monospace,Consolas,monospace; color:var(--paper); background:var(--ink); padding:60px 0; }
.sd-calc-page * { box-sizing:border-box; }
.sd-calc-page [hidden] { display:none!important; }
.sd-calc-page .sd-wrap { width:min(1200px,100% - 40px); margin:auto; }
.sd-calc-page h1,.sd-calc-page h2 { font-family:inherit; letter-spacing:normal; text-transform:none; }
.sd-calc-page h1 { font-size:clamp(28px,3.6vw,42px); margin:20px 0 12px; line-height:1.2; }
.sd-calc-page h2 { font-size:20px; margin:0 0 6px; line-height:1.35; }
.sd-calc-page .sd-mast { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:16px; border-bottom:1px solid var(--rule); padding-bottom:20px; }
.sd-calc-page .sd-mast .sd-logo { grid-column:1; grid-row:1; }
.sd-calc-page .sd-mast p { grid-column:1/-1; grid-row:2; margin:0; }
.sd-calc-page .sd-mast .sd-live { grid-column:2; grid-row:1; justify-self:end; white-space:nowrap; }
.sd-calc-page .sd-logo { font-size:22px; font-weight:700; letter-spacing:.08em; color:var(--gold); }
.sd-calc-page .sd-mast p,.sd-calc-page .sd-lede { color:var(--slate); }
.sd-calc-page .sd-lede { max-width:75ch; margin-bottom:38px; }
.sd-calc-page .sd-live { font-size:13px; color:var(--live); }
.sd-calc-page .sd-dot { display:inline-block; width:7px; height:7px; background:var(--live); border-radius:50%; margin-right:6px; }
.sd-calc-page .sd-grid { display:grid; grid-template-columns:minmax(0,1.32fr) minmax(0,1fr); gap:32px; align-items:start; }
/* Sticky belongs on the grid item, not inside a same-height aside. */
.sd-calc-page .sd-grid > aside { position:sticky; top:110px; min-width:0; }
.sd-calc-page .sd-block { margin-bottom:32px; }
.sd-calc-page .sd-hint { color:var(--slate-dim); font-size:14px; line-height:1.6; margin:0 0 17px; }
.sd-calc-page .sd-opts { display:grid; gap:9px; }
.sd-calc-page .sd-opts[data-cols="4"] { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sd-calc-page .sd-opts[data-cols="5"] { grid-template-columns:repeat(5,minmax(0,1fr)); }
.sd-calc-page .sd-opt { position:relative; border:1px solid var(--rule); background:var(--panel); border-radius:10px; padding:26px 10px 14px; text-align:left; color:var(--paper); font:inherit; cursor:pointer; min-width:0; }
.sd-calc-page .sd-opt:hover { border-color:var(--gold-lit); }
.sd-calc-page .sd-val { font-family:var(--mono); font-size:19px; font-weight:600; display:block; }
.sd-calc-page .sd-val-unit { font-size:12px; }
.sd-calc-page .sd-sub { display:block; font-size:12px; color:var(--slate-dim); margin-top:4px; line-height:1.4; }
.sd-calc-page .sd-opt[aria-checked="true"] { background:var(--panel-2); border-color:var(--gold); }
.sd-calc-page .sd-opt[aria-checked="true"] .sd-val { color:var(--gold); }
.sd-calc-page .sd-tag { position:absolute; top:0; right:0; background:var(--gold); color:var(--ink); font:700 9px/1.5 sans-serif; padding:2px 4px; border-radius:0 9px 0 5px; }
.sd-calc-page .sd-freq { border:1px solid var(--rule); background:var(--panel); border-radius:12px; padding:18px; }
.sd-calc-page .sd-freq-top { display:flex; justify-content:space-between; gap:12px; margin-bottom:15px; }
.sd-calc-page .sd-freq-num { font:600 26px var(--mono); color:var(--gold); }
.sd-calc-page .sd-unit { display:block; font:14px/1.5 sans-serif; color:var(--slate); }
.sd-calc-page .sd-freq-meta { font-size:13px; text-align:right; color:var(--slate); }
/* Thumb diameter — keep in sync with ::-webkit-slider-thumb / ::-moz-range-thumb below. */
.sd-calc-page .sd-slider { --sd-thumb: 18px; }
.sd-calc-page input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	height: var(--sd-thumb);
	margin: 0;
	background: transparent;
	cursor: pointer;
	accent-color: var(--gold);
}
.sd-calc-page input[type="range"]:focus { outline: none; }
.sd-calc-page input[type="range"]:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 2px; }
.sd-calc-page input[type="range"]::-webkit-slider-runnable-track {
	height: 4px;
	border-radius: 2px;
	background: var(--rule);
}
.sd-calc-page input[type="range"]::-moz-range-track {
	height: 4px;
	border-radius: 2px;
	background: var(--rule);
	border: none;
}
.sd-calc-page input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: var(--sd-thumb);
	height: var(--sd-thumb);
	margin-top: calc((4px - var(--sd-thumb)) / 2);
	border: 2px solid var(--ink);
	border-radius: 50%;
	background: var(--gold);
	box-shadow: 0 0 0 1px #facc1540;
}
.sd-calc-page input[type="range"]::-moz-range-thumb {
	width: var(--sd-thumb);
	height: var(--sd-thumb);
	border: 2px solid var(--ink);
	border-radius: 50%;
	background: var(--gold);
	box-shadow: 0 0 0 1px #facc1540;
}
/* Inset equals half thumb so mark centers match native thumb travel. */
.sd-calc-page .sd-scale {
	position: relative;
	height: 1.35em;
	margin: 8px calc(var(--sd-thumb) / 2) 0;
}
.sd-calc-page .sd-scale-mark {
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	border: 0;
	background: transparent;
	padding: 2px 4px;
	margin: 0;
	color: var(--slate-dim);
	font: 12px/1.2 var(--mono);
	cursor: pointer;
	user-select: none;
}
.sd-calc-page .sd-scale-mark:hover { color: var(--paper); }
.sd-calc-page .sd-scale-mark.is-active { color: var(--gold); font-weight: 700; }
.sd-calc-page .sd-scale-mark:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 3px; }
.sd-calc-page .sd-freq-cap { margin:12px 0 0; }
.sd-calc-page .sd-board { border:1px solid var(--rule); border-radius:16px; background:linear-gradient(160deg,var(--panel-2),var(--panel)); overflow:hidden; }
.sd-calc-page .sd-board-head { display:flex; justify-content:space-between; align-items:center; gap:10px; border-bottom:1px solid var(--rule); padding:14px 20px; font:12px var(--mono); letter-spacing:.1em; color:var(--slate); }
.sd-calc-page .sd-fx { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; max-width:min(100%,220px); }
.sd-calc-page .sd-fx button { font:600 11px/1 var(--mono); letter-spacing:.04em; color:var(--slate); background:transparent; border:1px solid var(--rule); border-radius:999px; padding:5px 8px; cursor:pointer; }
.sd-calc-page .sd-fx button:hover { color:var(--paper); border-color:var(--gold-lit); }
.sd-calc-page .sd-fx button[aria-checked="true"] { color:var(--ink); background:var(--gold); border-color:var(--gold); font-weight:700; }
.sd-calc-page .sd-board-body { padding:22px; }
.sd-calc-page .sd-total-label { font-size:14px; margin:0 0 8px; color:var(--slate); }
.sd-calc-page .sd-total { font:700 clamp(24px,2.5vw,34px)/1.2 var(--mono); color:var(--gold); overflow-wrap:anywhere; }
.sd-calc-page .sd-total-note { font-size:13px; margin:10px 0 0; color:var(--slate-dim); }
.sd-calc-page .sd-fxnote { font-size:12px; color:var(--slate-dim); margin:8px 0 0; font-style:italic; line-height:1.45; }
.sd-calc-page .sd-fxnote[hidden] { display:none!important; }
.sd-calc-page .sd-rows { margin:20px 0 0; border-top:1px dashed var(--rule); padding-top:12px; }
.sd-calc-page .sd-row { display:flex; justify-content:space-between; gap:12px; padding:6px 0; font-size:13px; }
.sd-calc-page .sd-row dt { font-weight:400; color:var(--slate); }
.sd-calc-page .sd-row dd { margin:0; text-align:right; font-family:var(--mono); white-space:nowrap; }
.sd-calc-page .sd-credit dd { color:var(--live); }
.sd-calc-page .sd-strong { border-top:1px solid var(--rule); margin-top:8px; padding-top:12px; font-weight:700; }
.sd-calc-page .sd-delivery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; border-top:1px dashed var(--rule); margin-top:14px; padding-top:16px; }
.sd-calc-page .sd-stat span { display:block; font:600 18px var(--mono); }
.sd-calc-page .sd-stat small { font-size:12px; color:var(--slate-dim); }
.sd-calc-page .sd-warn { border-left:3px solid var(--gold); background:#facc1510; color:#ffe99b; font-size:13px; padding:10px 12px; margin-top:16px; }
.sd-calc-page .sd-actions { display:grid; gap:10px; margin-top:20px; }
.sd-calc-page .sd-btn { border:1px solid transparent; border-radius:30px; padding:13px 18px; font-family:inherit; font-size:15px; font-weight:600; line-height:1.4; cursor:pointer; }
.sd-calc-page .sd-btn-primary { color:var(--ink); background:var(--gold); }
.sd-calc-page .sd-btn-primary:hover { background:var(--gold-lit); }
.sd-calc-page .sd-btn-ghost { background:transparent; color:var(--paper); border-color:var(--rule); }
.sd-calc-page .sd-btn:disabled { opacity:.6; cursor:wait; }
.sd-calc-page :focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.sd-calc-page .sd-form { border-top:1px solid var(--rule); margin-top:44px; padding-top:30px; scroll-margin-top:115px; }
.sd-calc-page .sd-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; max-width:780px; margin-top:22px; }
.sd-calc-page .sd-field label { display:block; margin-bottom:7px; font-size:14px; color:var(--slate); }
.sd-calc-page .sd-field input,.sd-calc-page .sd-field textarea { width:100%; min-width:0; background:var(--panel); border:1px solid var(--rule); border-radius:8px; padding:12px; color:var(--paper); font:inherit; color-scheme:dark; }
.sd-calc-page .sd-field textarea { resize:vertical; }
.sd-calc-page .sd-field.sd-wide { grid-column:1/-1; }
.sd-calc-page .sd-req { color:var(--gold); }
.sd-calc-page .sd-error,.sd-calc-page .sd-form-error { display:block; color:#ffab9d; font-size:14px; margin-top:8px; }
.sd-calc-page [aria-invalid="true"] { border-color:#ffab9d!important; }
.sd-calc-page .sd-form-actions { max-width:260px; }
/* Enquiry submission feedback only. Preserve the idle button and page styles. */
.sd-calc-page #sd-send[aria-busy="true"] { background:#fff; color:#111; opacity:1; cursor:wait; }
.sd-calc-page #sd-send .sd-send-loading { display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.sd-calc-page #sd-send .sd-send-spinner { display:inline-block; width:16px; height:16px; border:2px solid #1113; border-top-color:currentColor; border-radius:50%; animation:sd-enquiry-spin .65s linear infinite; }
.sd-calc-page .sd-success-dialog { width:min(480px,calc(100% - 32px)); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:36px 30px 30px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--rule); border-top:3px solid var(--gold); border-radius:20px; background:var(--panel); color:var(--paper); font-family:inherit; text-align:center; box-shadow:0 24px 90px #0009; }
.sd-calc-page .sd-success-dialog[open] { animation:sd-enquiry-open .18s ease-out; }
.sd-calc-page .sd-success-dialog::backdrop { background:rgba(0,0,0,.72); animation:sd-enquiry-backdrop .18s ease-out; }
.sd-calc-page .sd-success-dialog .sd-success-icon { display:grid; place-items:center; width:80px; height:80px; margin:0 auto 22px; border-radius:50%; background:#219653; color:#fff; box-shadow:0 0 0 8px #21965314; }
.sd-calc-page .sd-success-dialog .sd-success-icon svg { display:block; width:44px; height:44px; }
.sd-calc-page .sd-success-dialog .sd-success-brand { margin:0 0 10px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.sd-calc-page .sd-success-dialog h2 { margin:0 0 14px; font-size:clamp(23px,4vw,28px); font-weight:600; line-height:1.25; }
.sd-calc-page .sd-success-dialog #sd-success-message { margin:0; color:var(--slate); font-size:15px; line-height:1.65; }
.sd-calc-page .sd-success-dialog .sd-success-reference { margin:22px 0; padding:13px 12px; background:#ffffff05; border:1px solid var(--rule); border-radius:10px; color:var(--slate-dim); font-size:12px; }
.sd-calc-page .sd-success-dialog .sd-success-reference strong { display:block; margin-top:5px; color:var(--paper); font-family:var(--mono); font-size:14px; overflow-wrap:anywhere; }
.sd-calc-page .sd-success-dialog .sd-success-done { width:100%; }
@keyframes sd-enquiry-spin { to { transform:rotate(360deg); } }
@keyframes sd-enquiry-open { from { opacity:0; transform:translateY(8px) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes sd-enquiry-backdrop { from { opacity:0; } to { opacity:1; } }
@media(max-width:480px) { .sd-calc-page .sd-success-dialog { padding:28px 20px 22px; } }
@media(prefers-reduced-motion:reduce) { .sd-calc-page .sd-success-dialog[open],.sd-calc-page .sd-success-dialog::backdrop,.sd-calc-page #sd-send .sd-send-spinner { animation:none; } }
.sd-calc-page .sd-hp { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.sd-calc-page .sd-foot { margin-top:40px; padding-top:18px; border-top:1px solid var(--rule); font-size:12px; color:var(--slate-dim); }
.sd-calc-page .sd-foot p { margin-bottom:6px; }
@media(max-width:1100px) { .sd-calc-page .sd-opts[data-cols="5"] { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1024px) { .sd-calc-page .sd-grid { grid-template-columns:1fr; } .sd-calc-page .sd-grid > aside { position:static; } }
@media(max-width:620px) { .sd-calc-page { padding:36px 0; } .sd-calc-page .sd-wrap { width:calc(100% - 28px); } .sd-calc-page .sd-opts[data-cols],.sd-calc-page .sd-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .sd-calc-page .sd-fields { grid-template-columns:1fr; } .sd-calc-page .sd-board-body { padding:18px 14px; } .sd-calc-page .sd-row { font-size:12px; gap:8px; } .sd-calc-page .sd-board-head { flex-direction:column; align-items:flex-start; } .sd-calc-page .sd-fx { max-width:100%; justify-content:flex-start; } }
