/* EngineersCalc Legal Layer v0.1 | visual language derived from Contact; all selectors scoped. */
.ec-legal-page,.ec-legal-page *{box-sizing:border-box}
.ec-legal-page{background:var(--ec-bg-off,#f9fafb);color:var(--ec-black-mid,#111827);padding-bottom:76px}
.ec-legal-page .ec-container{width:100%;max-width:var(--ec-max-width,1180px);margin:0 auto;padding:0 24px}
.ec-legal-page a{text-underline-offset:3px}
.ec-legal-page a:focus-visible{outline:3px solid var(--ec-info-color,#2563eb);outline-offset:3px}
.ec-legal-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ec-bg,#fff);border-bottom:1px solid var(--ec-border-light,#e2e8f0);padding:60px 0 54px;margin-bottom:48px}
.ec-legal-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to right,var(--ec-border-light,#e2e8f0) 1px,transparent 1px),linear-gradient(to bottom,var(--ec-border-light,#e2e8f0) 1px,transparent 1px);background-size:32px 32px;opacity:.42}
.ec-legal-hero:after{content:'';position:absolute;width:520px;height:520px;right:-230px;top:-270px;z-index:-1;background:radial-gradient(circle,rgba(37,99,235,.09),transparent 70%);pointer-events:none}
.ec-legal-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:center;gap:54px}
.ec-legal-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:var(--ec-soft,#64748b);font-size:11px;font-weight:800;line-height:1.3;letter-spacing:.09em;text-transform:uppercase}
.ec-legal-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--ec-red,#cf2e2e);box-shadow:0 0 0 4px rgba(207,46,46,.09)}
.ec-legal-hero h1{margin:0 0 20px;font-size:clamp(2.2rem,4.5vw,3.55rem);font-weight:800;line-height:1.08;letter-spacing:-.045em;color:var(--ec-black-mid,#111827)}
.ec-legal-period{color:var(--ec-red,#cf2e2e)}
.ec-legal-lead{margin:0 0 12px;color:var(--ec-slate,#334155);font-size:clamp(16px,1.6vw,19px);font-weight:600;line-height:1.55}
.ec-legal-sublead{max-width:620px;margin:0;color:var(--ec-soft,#64748b);font-size:14px;line-height:1.8}
.ec-legal-panel{padding:28px;border-radius:var(--ec-radius-2xl,18px);background:var(--ec-black-mid,#111827);color:#cbd5e1;box-shadow:var(--ec-shadow-md,0 8px 22px rgba(15,23,42,.06));background-image:linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px}
.ec-legal-panel-kicker{display:block;margin-bottom:10px;color:#7dd3fc;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ec-legal-panel h2{margin:0 0 15px;color:white;font-size:23px;line-height:1.2;letter-spacing:-.03em}
.ec-legal-panel p{margin:0 0 12px;color:#b6c3d3;font-size:13px;line-height:1.75}
.ec-legal-panel p:last-child{margin-bottom:0}
.ec-legal-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);align-items:start;gap:30px}
.ec-legal-sidebar{min-width:0}.ec-legal-navbox{position:sticky;top:110px;padding:23px;border:1px solid var(--ec-border-light,#e2e8f0);border-radius:18px;background:#fff}
.ec-legal-navbox h2{margin:0 0 14px;font-size:12px;font-weight:800;line-height:1.3;letter-spacing:.075em;text-transform:uppercase;color:var(--ec-soft,#64748b)}
.ec-legal-navbox nav{display:flex;flex-direction:column;gap:0}.ec-legal-navbox nav a{display:flex;gap:10px;align-items:baseline;padding:10px 0;border-top:1px solid var(--ec-border-light,#e2e8f0);font-size:12px;line-height:1.5;font-weight:650;color:var(--ec-slate,#334155);text-decoration:none;overflow-wrap:anywhere}
.ec-legal-navbox nav a:hover,.ec-legal-navbox nav a[aria-current="page"]{color:var(--ec-info-color,#2563eb)}
.ec-legal-navbox nav a span{color:var(--ec-info-color,#2563eb);font:800 11px/1.4 ui-monospace,Menlo,monospace}.ec-legal-nav-related{margin-top:25px!important}
.ec-legal-article{min-width:0;padding:32px 38px;border:1px solid var(--ec-border-light,#e2e8f0);border-radius:18px;background:#fff;box-shadow:var(--ec-shadow-sm,0 4px 12px rgba(15,23,42,.05))}
.ec-legal-warning{padding:20px 22px;border-left:3px solid #b45309;border-radius:8px;background:#fffbeb;margin-bottom:34px}.ec-legal-warning strong{font-size:14px;color:#78350f}.ec-legal-warning p{margin:7px 0 0;font-size:13px;line-height:1.7;color:#92400e}
.ec-legal-section{padding:0 0 34px;margin:0 0 36px;border-bottom:1px solid var(--ec-border-light,#e2e8f0);scroll-margin-top:125px}
.ec-legal-section-label{display:flex;align-items:center;gap:14px;margin-bottom:15px}.ec-legal-section-label span{flex:0 0 auto;color:var(--ec-soft,#64748b);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ec-legal-section-label i{height:1px;background:var(--ec-border-light,#e2e8f0);flex:1}
.ec-legal-section h2{margin:0 0 17px;color:var(--ec-black-mid,#111827);font-size:clamp(1.3rem,2vw,1.65rem);font-weight:800;line-height:1.3;letter-spacing:-.025em}.ec-legal-section p{margin:0;color:var(--ec-slate,#334155);font-size:15px;line-height:1.9;overflow-wrap:anywhere}
.ec-legal-endnote{padding:23px 25px;border-radius:14px;background:var(--ec-bg-subtle,#f8fafc);border:1px solid var(--ec-border-light,#e2e8f0)}.ec-legal-endnote h2{font-size:19px;margin:0 0 10px}.ec-legal-endnote p{font-size:13px;line-height:1.7;color:var(--ec-soft,#64748b);margin:0 0 13px}.ec-legal-endnote a{font-size:13px;font-weight:800;color:var(--ec-info-color,#2563eb)}
@media(max-width:930px){.ec-legal-hero-grid{grid-template-columns:1fr;gap:25px}.ec-legal-panel{max-width:680px}.ec-legal-layout{grid-template-columns:1fr}.ec-legal-navbox{position:static}.ec-legal-sidebar{order:0}.ec-legal-article{order:1}}
@media(max-width:650px){.ec-legal-page{padding-bottom:42px}.ec-legal-page .ec-container{padding:0 18px}.ec-legal-hero{padding:39px 0 35px;margin-bottom:30px}.ec-legal-hero h1{font-size:clamp(2rem,9vw,2.65rem)}.ec-legal-panel{padding:22px}.ec-legal-layout{gap:18px}.ec-legal-article{padding:24px 20px}.ec-legal-navbox{padding:20px}.ec-legal-section{scroll-margin-top:90px}}
@media(max-width:375px){.ec-legal-page .ec-container{padding:0 15px}.ec-legal-article{padding:22px 16px}}
@media print{.ec-legal-page{background:#fff;padding:0;color:#000}.ec-legal-hero{padding:10px 0 20px;margin:0 0 15px}.ec-legal-hero:before,.ec-legal-hero:after,.ec-legal-panel,.ec-legal-sidebar,.ec-legal-endnote{display:none!important}.ec-legal-hero-grid,.ec-legal-layout{display:block}.ec-legal-article{border:0;box-shadow:none;padding:0}.ec-legal-section{break-inside:avoid;scroll-margin-top:0}.ec-legal-warning{border:1px solid #777;background:#fff}.ec-legal-page .ec-container{max-width:none;padding:0}}
@media(prefers-reduced-motion:reduce){.ec-legal-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
