@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-f63bc007ec7aaf5e94b9f8691cbfbe30.woff2?h=d1f6672224ba6b0dd05f84fd6f530710) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-3c60428cf3d7a18bf5c07f31fea7b889.woff2?h=d1f6672224ba6b0dd05f84fd6f530710) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-2b9ae9011fc336cc36fb0b849d775b70.woff2?h=d1f6672224ba6b0dd05f84fd6f530710) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-2f943efef9a857a7505c0c6c9cdb9b0e.woff2?h=d1f6672224ba6b0dd05f84fd6f530710) format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-ce073f06d6d908e18ca1785a95c53502.woff2?h=d1f6672224ba6b0dd05f84fd6f530710) format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-73147132d8260cb75f5da3e996b8b7a0.woff2?h=d1f6672224ba6b0dd05f84fd6f530710) format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-009e3d71bcec7b10e67d48fb8890b582.woff2?h=d1f6672224ba6b0dd05f84fd6f530710) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-e676c1fd3f8c8d3f78ce9f48d420ea8b.woff2?h=d1f6672224ba6b0dd05f84fd6f530710) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-0f6239301a0cb2f21901779c10e789e5.woff2?h=d1f6672224ba6b0dd05f84fd6f530710) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/Big%20Shoulders%20Display-391c45f12a37b52f4aefc82f2bede767.woff2?h=605f7f13192b80c6b003737513c80e8e) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/Big%20Shoulders%20Display-8f846678ca422f8798272641e5ce303c.woff2?h=605f7f13192b80c6b003737513c80e8e) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/Big%20Shoulders%20Display-a93cad5f1ffa0aa553957d2345a8d7ea.woff2?h=605f7f13192b80c6b003737513c80e8e) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/Big%20Shoulders%20Display-391c45f12a37b52f4aefc82f2bede767.woff2?h=605f7f13192b80c6b003737513c80e8e) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/Big%20Shoulders%20Display-8f846678ca422f8798272641e5ce303c.woff2?h=605f7f13192b80c6b003737513c80e8e) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/Big%20Shoulders%20Display-a93cad5f1ffa0aa553957d2345a8d7ea.woff2?h=605f7f13192b80c6b003737513c80e8e) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/Big%20Shoulders%20Display-391c45f12a37b52f4aefc82f2bede767.woff2?h=605f7f13192b80c6b003737513c80e8e) format('woff2');font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/Big%20Shoulders%20Display-8f846678ca422f8798272641e5ce303c.woff2?h=605f7f13192b80c6b003737513c80e8e) format('woff2');font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/Big%20Shoulders%20Display-a93cad5f1ffa0aa553957d2345a8d7ea.woff2?h=605f7f13192b80c6b003737513c80e8e) format('woff2');font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-622af18000ba2cb8de99dcd596963ae4.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-961fa38584f234b98b1f1413ec97d848.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-e440c5189ca8c7fa087e6fc2261d351a.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-0ea12c113d03acbcb49edce395a77f14.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-3b31854915bb8840f83f85fd242452fa.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-37915b53461fa0ca80a3353b26bf3102.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-f780abc4664ad8ffd57d0e018b8b9dc8.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-ef6e241507f521e06f90d2e595a41261.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-9d411b79d68097e5b5c406ddfd7fa521.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/IBM%20Plex%20Mono-329fd17d3e92156f4731b0ddb9d829f9.woff2?h=3fba83164cb03d4992cf04440674420d) format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.od-legal-page{--od-legal-measure:68ch;padding-block:var(--section-y-phone)}@media (min-width:768px){.od-legal-page{padding-block:var(--section-y-tablet)}}.od-marker{display:block;width:32px;height:2px;background-color:var(--accent);margin:0 0 var(--space-4)}.od-lede{font-size:var(--text-lg);line-height:var(--leading-body);color:var(--fg);max-width:var(--od-legal-measure);margin:0 0 var(--space-8)}.od-mailto{font-family:var(--font-display);font-size:var(--text-base);color:var(--fg);text-decoration:underline;text-decoration-color:var(--fg);text-underline-offset:0.18em}.od-legal{max-width:var(--od-legal-measure)}.od-legal h2{font-size:var(--text-xl);line-height:var(--leading-tight);color:var(--fg);margin:var(--space-8) 0 var(--space-4)}.od-legal h2:first-child{margin-top:0}.od-legal__h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:500;line-height:var(--leading-tight);color:var(--fg);margin:var(--space-6) 0 var(--space-3)}.od-legal p{font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg);margin:0 0 var(--space-4)}.od-legal ul{margin:0 0 var(--space-4);padding-left:var(--space-5)}.od-legal li{font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg)}.od-legal li+li{margin-top:var(--space-2)}.od-legal a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:0.18em}.od-legal a:focus-visible,.od-legal a:hover{color:var(--fg);text-decoration-color:var(--accent)}.od-legal__code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg);word-break:break-word}.od-legal__callout{background-color:var(--surface-2);border-left:2px solid var(--danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-4) var(--space-5);margin:0 0 var(--space-4)}.od-legal__callout>:last-child{margin-bottom:0}@media (max-width:768px){.od-legal h2{margin-top:var(--space-6)}.od-legal h2:first-child{margin-top:0}}.od-about,.od-calc,.od-contact,.od-elements,.od-hero,.od-hub__section{padding-block:var(--section-y-phone)}@media (min-width:768px){.od-about,.od-contact,.od-elements,.od-hero,.od-hub__section{padding-block:var(--section-y-tablet)}}.od-jsonld{display:none}.od-hero{min-height:52vh;display:flex;align-items:flex-start;border-bottom:var(--hairline) solid var(--border-soft)}@media (min-width:992px){.od-hero{min-height:64vh}}.od-about__title,.od-contact__title,.od-elements__title,.od-hero__eyebrow{margin:0 0 var(--space-3)}.od-hero__title{max-width:20ch;margin:0 0 var(--space-5)}.od-hero__lede{font-size:var(--text-lg);line-height:var(--leading-body);color:var(--fg-2);max-width:56ch;margin:0 0 var(--space-6)}.od-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin:0 0 var(--space-8)}.od-hero__secondary{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--muted)}.od-hero__stats{display:flex;flex-wrap:wrap;gap:var(--space-8);margin:0;padding-top:var(--space-6);border-top:var(--hairline) solid var(--border-soft)}.od-hero__stat dt{margin:0 0 var(--space-1);font-weight:400}.od-hero__stat dd{margin:0}.od-about__lede,.od-contact__lede,.od-elements__lede{color:var(--fg-2);max-width:64ch;margin:0 0 var(--space-8)}.od-about__grid,.od-calc__cards,.od-elements__grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width:768px){.od-about__grid,.od-elements__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.od-hub__row{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:var(--space-6);align-items:baseline}}@media (min-width:1200px){.od-about,.od-contact,.od-elements,.od-hero,.od-hub__section,.od-legal-page{padding-block:var(--section-y-desktop)}.od-elements__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.od-element{border:var(--hairline) solid var(--el,var(--border));border-radius:var(--radius-md);padding:var(--space-5);background:var(--surface)}.od-element__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.od-element__list{list-style:none;margin:0;padding:0}.od-element__list li+li{margin-top:var(--space-2)}.od-element__list--backlog{color:var(--muted);font-size:var(--text-sm)}.od-element__backlog-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--muted);margin:var(--space-5) 0 var(--space-2)}.od-about__item h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}.od-about__item p{color:var(--fg-2);margin:0}.od-about__note{margin:var(--space-8) 0 0;padding-top:var(--space-5);border-top:var(--hairline) solid var(--border-soft);color:var(--muted);font-size:var(--text-sm);max-width:72ch}.od-contact__row{display:flex;align-items:center;gap:var(--space-4);margin:0}.od-contact__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;height:2.5rem;border:var(--hairline) solid var(--border);border-radius:var(--radius-pill);color:var(--accent);font-size:var(--text-lg)}.od-calc__title,.od-hub__title{margin:var(--space-5) 0 var(--space-4)}.od-hub__lede{font-size:var(--text-lg);line-height:var(--leading-body);color:var(--fg-2);max-width:64ch;margin:0 0 var(--space-6)}.od-hub__section+.od-hub__section{border-top:var(--hairline) solid var(--border-soft)}.od-hub__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.od-calc__readout-block p,.od-hub__head h2,.od-hub__list{margin:0}.od-hub__row{padding:var(--space-4) 0;border-top:var(--hairline) solid var(--border-soft)}.od-hub__row dt{font-weight:400;font-size:var(--text-lg);margin:0 0 var(--space-1)}.od-hub__row dd{margin:0;color:var(--fg-2)}.od-hub__backlog{color:var(--muted);margin:0;padding-left:var(--space-5)}.od-hub__note{color:var(--muted);font-size:var(--text-sm);max-width:72ch}.od-hub__table-wrap{overflow-x:auto}.od-hub__table{min-width:44rem}@media (min-width:768px){.od-hub__row dt{margin:0}.od-calc{padding-block:var(--section-y-tablet)}}.od-calc__lede{font-size:var(--text-lg);line-height:var(--leading-body);color:var(--fg-2);max-width:64ch;margin:0 0 var(--space-8)}.od-calc__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}.od-calc__field+.od-calc__field{margin-top:var(--space-6)}.od-calc__pair{display:grid;grid-template-columns:minmax(0,1fr) 7rem;gap:var(--space-4);align-items:center}.od-calc__pair--even{grid-template-columns:repeat(2,minmax(0,1fr))}.od-calc__echo{font-family:var(--font-mono);font-variant-numeric:var(--numeric);font-size:var(--text-sm);color:var(--muted)}.od-calc__help{font-size:var(--text-sm);color:var(--muted);margin:var(--space-2) 0 0}.od-calc__panel{border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-5)}.od-calc__readout-block+.od-calc__readout-block{margin-top:var(--space-5);padding-top:var(--space-5);border-top:var(--hairline) solid var(--border-soft)}.od-calc__readout-block .od-eyebrow{margin-bottom:var(--space-2)}.od-readout--sm{font-size:var(--text-lg)}.od-calc__cta{margin:var(--space-6) 0 0}.od-calc__cta .btn{width:100%}@media (min-width:920px){.od-calc__grid{grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:var(--space-12);align-items:start}.od-calc__panel{position:sticky;top:var(--space-6)}.od-calc__cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.od-calc__card{border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-5);display:flex;flex-direction:column}.od-calc__card h2{margin:0 0 var(--space-2);font-size:var(--text-xl)}.od-calc__card .od-calc__inputs{flex:1 1 auto;margin-top:var(--space-5)}.od-calc__readout-block--card{margin-top:var(--space-6);padding-top:var(--space-5);border-top:var(--hairline) solid var(--border-soft)}.od-calc__prose{margin-top:var(--space-12);padding-top:var(--space-8);border-top:var(--hairline) solid var(--border-soft);max-width:76ch}.od-calc__prose h2{margin:var(--space-8) 0 var(--space-4)}.od-calc__prose h2:first-child{margin-top:0}.od-calc__prose h3{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg)}.od-calc__prose li+li{margin-top:var(--space-2)}.od-calc__formula{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg);background:var(--surface-2);border:var(--hairline) solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-4);overflow-x:auto}:root{--bg:#0d1218;--surface:#181f26;--surface-2:#252c34;--surface-warm:var(--surface-2);--fg:#eef2f7;--fg-2:#cbd2d9;--muted:#8f9aa4;--meta:#7d8792;--border:#323940;--border-soft:#21272d;--accent:#b6ea3a;--accent-on:var(--bg);--accent-hover:#9fce22;--accent-active:#8eba10;--accent-ink:#517000;--accent-ink-hover:#425d00;--success:#4ac06c;--warn:#f9ad26;--danger:#f45249;--danger-ink:#c2181d;--el-air:#64c4f0;--el-land:#d58b4b;--el-water:#14bbc2;--el-ice:#a3dce7;--font-display:'Big Shoulders Display','Barlow Condensed','Arial Narrow',sans-serif;--font-body:'Barlow',system-ui,-apple-system,sans-serif;--font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:20px;--text-xl:26px;--text-2xl:34px;--text-3xl:46px;--text-4xl:64px;--text-5xl:88px;--leading-body:1.55;--leading-tight:1.15;--leading-numeric:1.3;--tracking-display:-0.015em;--tracking-eyebrow:0.06em;--numeric:tabular-nums;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-20:80px;--section-y-desktop:96px;--section-y-tablet:56px;--section-y-phone:40px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--elev-flat:none;--elev-ring:0 0 0 var(--hairline) var(--border);--elev-raised:0 0 0 var(--hairline) var(--border),0 12px 32px rgb(0 0 0 / 0.55);--focus-ring:0 0 0 2px var(--bg),0 0 0 4px var(--accent);--motion-fast:140ms;--motion-base:200ms;--ease-standard:cubic-bezier(0.2, 0, 0, 1);--container-max:1200px;--container-gutter-desktop:24px;--container-gutter-tablet:16px;--container-gutter-phone:12px;--bg-rgb:13,18,24;--fg-rgb:238,242,247;--hairline:1px}[data-surface=reading]{--bg:#f3f5f8;--surface:#ffffff;--surface-2:#eaedf1;--surface-warm:var(--surface-2);--fg:#1c2229;--fg-2:#2f3841;--muted:#555f69;--meta:var(--muted);--border:#d5d8db;--border-soft:#e6e9ec;--bg-rgb:243,245,248;--fg-rgb:28,34,41;--accent:var(--accent-ink);--accent-on:#ffffff;--accent-hover:var(--accent-ink-hover);--accent-active:var(--accent-ink-hover);--danger:var(--danger-ink);--elev-ring:0 0 0 var(--hairline) var(--border);--elev-raised:0 0 0 var(--hairline) var(--border),0 8px 24px rgba(var(--fg-rgb), 0.1);--focus-ring:0 0 0 2px var(--bg),0 0 0 4px var(--accent-ink);background:var(--bg);color:var(--fg);--bs-body-bg:var(--bg);--bs-body-color:var(--fg);--bs-secondary-color:var(--muted);--bs-secondary-bg:var(--surface);--bs-tertiary-bg:var(--surface-2);--bs-border-color:var(--border);--bs-emphasis-color:var(--fg);--bs-heading-color:var(--fg);--bs-link-color:var(--fg);--bs-link-hover-color:var(--fg);--bs-focus-ring-color:var(--accent-ink)}:root,[data-bs-theme=dark]{--bs-body-bg:var(--bg);--bs-body-bg-rgb:var(--bg-rgb);--bs-body-color:var(--fg);--bs-body-color-rgb:var(--fg-rgb);--bs-emphasis-color:var(--fg);--bs-emphasis-color-rgb:var(--fg-rgb);--bs-secondary-color:var(--muted);--bs-tertiary-color:var(--meta);--bs-secondary-bg:var(--surface);--bs-tertiary-bg:var(--surface-2);--bs-heading-color:var(--fg);--bs-border-color:var(--border);--bs-border-color-translucent:rgba(var(--fg-rgb), 0.12);--bs-border-width:var(--hairline);--bs-border-radius-sm:var(--radius-sm);--bs-border-radius:var(--radius-md);--bs-border-radius-lg:var(--radius-lg);--bs-border-radius-xl:var(--radius-lg);--bs-border-radius-xxl:var(--radius-lg);--bs-border-radius-pill:var(--radius-pill);--bs-link-color:var(--fg);--bs-link-color-rgb:var(--fg-rgb);--bs-link-hover-color:var(--fg);--bs-link-hover-color-rgb:var(--fg-rgb);--bs-link-decoration:underline;--bs-font-sans-serif:var(--font-body);--bs-font-monospace:var(--font-mono);--bs-body-font-family:var(--font-body);--bs-body-font-size:var(--text-base);--bs-body-line-height:var(--leading-body);--bs-code-color:var(--fg-2);--bs-success:var(--success);--bs-warning:var(--warn);--bs-danger:var(--danger);--bs-primary:var(--accent);--bs-focus-ring-width:3px;--bs-focus-ring-opacity:1;--bs-focus-ring-color:var(--accent)}.form-check-input:focus,.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}.form-range::-webkit-slider-runnable-track{background-color:var(--border)}.form-range::-moz-range-track{background-color:var(--border)}.form-range::-webkit-slider-thumb{background-color:var(--fg)}.form-range::-moz-range-thumb{background-color:var(--fg)}.form-range::-webkit-slider-thumb:active{background-color:var(--fg-2)}.form-range::-moz-range-thumb:active{background-color:var(--fg-2)}.form-range:focus::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.form-range:focus::-moz-range-thumb{box-shadow:var(--focus-ring)}.navbar-toggler-icon{background-image:none;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") center/100% 100% no-repeat}.btn:focus-visible,.dropdown-item:focus-visible,.nav-link:focus-visible,.navbar-toggler:focus-visible,a:focus-visible{outline:0;box-shadow:var(--focus-ring)}.od-btn-primary{--bs-btn-bg:var(--accent);--bs-btn-color:var(--accent-on);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:var(--accent-hover);--bs-btn-hover-color:var(--accent-on);--bs-btn-hover-border-color:var(--accent-hover);--bs-btn-active-bg:var(--accent-active);--bs-btn-active-color:var(--accent-on);--bs-btn-active-border-color:var(--accent-active);--bs-btn-disabled-bg:var(--surface-2);--bs-btn-disabled-color:var(--meta);--bs-btn-disabled-border-color:var(--border);--bs-btn-border-radius:var(--radius-sm);--bs-btn-font-family:var(--font-display);--bs-btn-font-weight:600;min-height:44px;letter-spacing:.02em}.od-btn-secondary{--bs-btn-bg:transparent;--bs-btn-color:var(--fg);--bs-btn-border-color:var(--border);--bs-btn-hover-bg:var(--surface-2);--bs-btn-hover-color:var(--fg);--bs-btn-hover-border-color:var(--muted);--bs-btn-active-bg:var(--surface-2);--bs-btn-active-color:var(--fg);--bs-btn-border-radius:var(--radius-sm);--bs-btn-font-family:var(--font-display);--bs-btn-font-weight:600;min-height:44px;letter-spacing:.02em}.od-btn-ghost{--bs-btn-bg:transparent;--bs-btn-color:var(--fg);--bs-btn-border-color:transparent;--bs-btn-hover-bg:var(--surface-2);--bs-btn-hover-color:var(--fg);--bs-btn-hover-border-color:transparent;--bs-btn-active-bg:var(--surface-2);--bs-btn-active-color:var(--fg);--bs-btn-border-radius:var(--radius-sm);--bs-btn-font-family:var(--font-display);--bs-btn-font-weight:600;min-height:44px;letter-spacing:.02em}.od-eyebrow,.od-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--muted)}.od-label{display:block;margin-block-end:var(--space-2)}.od-input{width:100%;min-height:44px;padding:10px 12px;background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-sm);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--motion-fast) var(--ease-standard)}.od-input::placeholder{color:var(--meta)}.od-input:hover{border-color:var(--muted)}.od-input:focus,.od-input:focus-visible{outline:0;border-color:var(--accent);box-shadow:var(--focus-ring)}.od-input-num{font-family:var(--font-mono);font-variant-numeric:var(--numeric)}.od-input-invalid,.od-input-invalid:hover{border-color:var(--danger)}.od-input:disabled{background:var(--surface-2);color:var(--meta);cursor:not-allowed}select.od-input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:right 18px center,right 12px center;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.od-help{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.od-help-error,.od-readout--danger{color:var(--danger)}.od-readout{font-family:var(--font-mono);font-variant-numeric:var(--numeric);font-size:var(--text-2xl);line-height:var(--leading-numeric);color:var(--fg)}.od-readout .od-unit{font-size:var(--text-sm);color:var(--muted);margin-inline-start:var(--space-2)}.od-band{display:flex;gap:2px;margin-block-start:var(--space-4)}.od-band>span{flex:1;height:6px;border-radius:2px;background:var(--border);transition:background-color var(--motion-fast) var(--ease-standard)}.od-band[data-band='1']>span:nth-child(-n+1),.od-band[data-band='2']>span:nth-child(-n+2),.od-band[data-band='3']>span:nth-child(-n+3),.od-band[data-band='4']>span:nth-child(-n+4){background:var(--el-air)}.od-tag{display:inline-flex;align-items:center;padding:3px 10px;border:var(--hairline) solid var(--el,var(--border));border-radius:var(--radius-pill);color:var(--el,var(--muted));background:0 0;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.od-el-air{--el:var(--el-air)}.od-el-land{--el:var(--el-land)}.od-el-water{--el:var(--el-water)}.od-el-ice{--el:var(--el-ice)}.od-status{display:inline-flex;align-items:center;gap:var(--space-2);padding:3px 10px;border:var(--hairline) solid currentColor;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.od-status--live{color:var(--success)}.od-status--soon{color:var(--warn)}.od-status--lapsed{color:var(--danger)}[data-surface=reading] .od-btn-primary{--bs-btn-bg:var(--accent-ink);--bs-btn-color:var(--accent-on);--bs-btn-border-color:var(--accent-ink);--bs-btn-hover-bg:var(--accent-ink-hover);--bs-btn-hover-color:var(--accent-on);--bs-btn-hover-border-color:var(--accent-ink-hover);--bs-btn-active-bg:var(--accent-ink-hover);--bs-btn-active-color:var(--accent-on)}body{font-family:var(--font-body)}.navbar-brand,h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}.od-readout,output,td.od-num{font-family:var(--font-mono);font-variant-numeric:var(--numeric)}.od-social a{color:var(--muted);display:inline-flex;transition:color var(--motion-fast) var(--ease-standard)}.od-social a:focus-visible,.od-social a:hover{color:var(--accent)}.od-foot__title{margin-bottom:var(--space-3)}.od-foot__link{color:var(--fg-2);text-decoration:none;transition:color var(--motion-fast) var(--ease-standard)}.od-foot__link:focus-visible,.od-foot__link:hover{color:var(--accent);text-decoration:underline}@media (prefers-reduced-motion:reduce){.od-band>span,.od-foot__link,.od-social a{transition:none}}.navbar-brand .od-mark,.od-foot__mark{width:28px;height:28px}.bs-icon{--bs-icon-size:.75rem;display:flex;flex-shrink:0;justify-content:center;align-items:center;font-size:var(--bs-icon-size);width:calc(var(--bs-icon-size) * 2);height:calc(var(--bs-icon-size) * 2);color:var(--bs-primary)}.bs-icon-xs{--bs-icon-size:1rem;width:calc(var(--bs-icon-size) * 1.5);height:calc(var(--bs-icon-size) * 1.5)}.bs-icon-sm{--bs-icon-size:1rem}.bs-icon-md{--bs-icon-size:1.5rem}.bs-icon-lg{--bs-icon-size:2rem}.bs-icon-xl{--bs-icon-size:2.5rem}.bs-icon.bs-icon-primary{color:var(--bs-white);background:var(--bs-primary)}.bs-icon.bs-icon-primary-light{color:var(--bs-primary);background:rgba(var(--bs-primary-rgb),.2)}.bs-icon.bs-icon-semi-white{color:var(--bs-primary);background:rgba(255,255,255,.5)}.bs-icon.bs-icon-rounded{border-radius:.5rem}.bs-icon.bs-icon-circle{border-radius:50%}