:root{--bg: #f4f6fb;--panel: #ffffff;--panel-alt: #eef3ff;--text: #14213d;--muted: #50607b;--border: #d5ddea;--primary: #2155cd;--primary-strong: #173b8c;--accent: #f5cf5b;--success: #1f7a4a;--error: #b42318;--warning-bg: #fff6da;--shadow: 0 18px 40px rgba(20, 33, 61, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#ffffff 0%,var(--bg) 55%);color:var(--text);font-family:"Source Sans 3",Segoe UI,sans-serif;line-height:1.5}a{color:var(--primary-strong)}.site-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto}.site-header,.site-footer{background:#ffffffeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.site-footer{border-top:1px solid var(--border);border-bottom:0;margin-top:4rem;padding:1rem 0 2rem}.site-header .site-shell,.site-footer .site-shell{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.footer-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.85rem}.footer-link,.footer-link-button{color:var(--muted);font-weight:600;text-decoration:none}.footer-link-button{border:0;background:transparent;padding:0;cursor:pointer;font:inherit}.footer-link:hover,.footer-link-button:hover{color:var(--primary-strong)}.email-us-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.8rem 1.15rem;border:1px solid #334155;border-radius:999px;background:linear-gradient(180deg,#334155,#1e293b);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 10px 24px #0f172a2e;transition:transform .12s ease,background-color .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease}.email-us-button:hover{background:#fff;color:#1e293b;border-color:#1e293b;transform:translateY(-1px)}.email-us-button:focus,.footer-link:focus,.footer-link-button:focus,.consent-button:focus{outline:none}.email-us-button:focus-visible,.footer-link:focus-visible,.footer-link-button:focus-visible,.consent-button:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #2155cd8c}.faq-entry+.faq-entry{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.consent-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:0 0 1rem}.consent-banner[hidden]{display:none}.consent-banner-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:#14213df5;border:1px solid rgba(147,197,253,.3);border-radius:22px;box-shadow:0 20px 45px #0f172a47}.consent-copy{flex:1 1 420px}.consent-copy h2,.consent-copy p{color:#f8fbff}.consent-copy h2{margin:0 0 .35rem;font-size:1.1rem}.consent-copy p{margin:0}.consent-actions{display:flex;flex-wrap:wrap;gap:.75rem}.consent-actions .secondary-link{border-color:#bfdbfe73;color:#e2ecff;background:transparent}.consent-actions .primary-link{background:#93c5fd;color:#10243d}.site-brand{font-family:Georgia,serif;font-size:1.3rem;font-weight:700;text-decoration:none}.site-nav{display:flex;flex-wrap:wrap;gap:1rem}.site-nav a{text-decoration:none}.hero,.page-header,.content-section,.calculator-shell,.hero-card{background:var(--panel);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.hero{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-top:2rem;padding:2rem}.hero-card,.content-section,.page-header,.calculator-shell{padding:1.5rem;margin-top:1.5rem}.eyebrow{margin:0 0 .5rem;color:var(--primary);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,legend,summary{font-family:Georgia,serif}.hero-copy,.page-header p,.content-section p,.content-section li{color:var(--muted)}.hero-actions,.toolbar,.copy-actions,.operation-options,.dimension-selector,.page-header-top,.site-nav,.link-grid,.result-matrix-row{display:flex;flex-wrap:wrap;gap:.75rem}.page-header-top{margin-bottom:.85rem}.primary-link,.secondary-link,.calculate-button,.operation-button,.copy-actions button{border:1px solid transparent;border-radius:999px;cursor:pointer;font:inherit;text-decoration:none;transition:transform .12s ease,background-color .12s ease}.primary-link,.calculate-button{background:var(--primary);color:#fff;padding:.8rem 1.2rem}.secondary-link,.copy-actions button,.operation-button{background:#fff;color:var(--text);border-color:var(--border);padding:.7rem 1rem}.back-home-link{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.back-home-link:hover{background:#bfdbfe;color:#1e40af}.operation-button.active{background:var(--accent);border-color:#d1aa37}.primary-link:hover,.secondary-link:hover,.calculate-button:hover,.operation-button:hover,.copy-actions button:hover{transform:translateY(-1px)}.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.link-grid a{display:block;padding:1rem;background:var(--panel-alt);border:1px solid var(--border);border-radius:18px;text-decoration:none}.calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.matrix-panel,.operation-panel,.result-panel,.step-list,.error-summary{margin-top:1.25rem}.dimension-selector{align-items:end}.dimension-selector label,.toolbar label,.operation-options label{display:grid;gap:.35rem;color:var(--muted);font-weight:600}input,select{width:100%;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);padding:.75rem .9rem;font:inherit}input:focus,select:focus,button:focus,a:focus,summary:focus{outline:3px solid rgba(33,85,205,.2);outline-offset:2px}.matrix-grid-card{margin-top:1rem;background:var(--panel-alt);border:1px solid var(--border);border-radius:20px;padding:1rem}.matrix-grid-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.matrix-grid{display:grid;gap:.75rem;margin-top:1rem}.matrix-cell-label{display:grid;gap:.25rem}.field-error{color:var(--error);font-size:.8rem}[aria-invalid=true]{border-color:var(--error)}.operation-group+.operation-group{margin-top:1.35rem}.operation-group h3{margin-bottom:.9rem}.operation-buttons{gap:.9rem}.operation-panel{padding-top:1.75rem;padding-bottom:1.75rem}.operation-options{align-items:end;justify-content:space-between;gap:1.25rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.operation-settings{display:flex;flex-wrap:wrap;align-items:end;gap:1rem 1.25rem;flex:1 1 420px}.operation-field{min-width:140px}.operation-field-label{color:var(--muted);font-size:.95rem;font-weight:700}.operation-check{align-self:center;padding-bottom:.35rem}.checkbox-row{display:inline-flex;align-items:center;gap:.5rem}.checkbox-row input{width:auto}.operation-cta{min-width:170px;min-height:3.5rem;padding-inline:1.6rem}.result-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.result-matrix,.step-matrix{display:grid;gap:.65rem;margin-top:1rem;padding:1rem;background:#f9fbff;border:1px solid var(--border);border-radius:16px}.result-matrix-row span{min-width:4rem;padding:.35rem .6rem;background:#fff;border:1px solid var(--border);border-radius:12px;text-align:center}.scalar-result{margin:1rem 0 0;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700}.warning-box,.error-summary{border-radius:18px;padding:1rem 1.1rem}.warning-box{background:var(--warning-bg);border:1px solid #efd17b}.error-summary{background:#fff3f0;border:1px solid #f1b8ae}.status-message{color:var(--success);font-weight:700}.faq-list details{padding:.9rem 0;border-bottom:1px solid var(--border)}.step-list ol{display:grid;gap:1rem;padding-left:1.2rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.hero,.calculator-grid{grid-template-columns:1fr}.result-header,.site-header .site-shell,.site-footer .site-shell{flex-direction:column;align-items:flex-start}.footer-actions{width:100%;justify-content:flex-start}.footer-link-button,.email-us-button{width:100%}.footer-link,.consent-actions .secondary-link,.consent-actions .primary-link,.operation-options{align-items:stretch}.operation-settings{width:100%}.operation-field{min-width:min(100%,220px)}.operation-check{width:100%;padding-bottom:0}.operation-cta{width:100%}.consent-banner{padding-inline:1rem}.consent-banner-inner,.consent-actions{width:100%}}
