:root {
  --navy-950: #071c2c;
  --navy-900: #0b2639;
  --navy-800: #10344b;
  --ink: #14232e;
  --muted: #5b6871;
  --orange: #ef6c35;
  --orange-dark: #d95320;
  --orange-soft: #fff0e9;
  --paper: #f6f3ed;
  --white: #ffffff;
  --line: #dfe3e3;
  --green: #1c8764;
  --shadow: 0 24px 60px rgba(7, 28, 44, 0.16);
}

html { font-size: 16px; scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "DM Sans", sans-serif; line-height: 1.6; }
h1, h2, h3, .brand-name { font-family: "Manrope", sans-serif; }
a { color: inherit; }
.site-container { max-width: 1180px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .75rem 1rem; color: var(--white); background: var(--navy-950); border-radius: .25rem; }
.skip-link:focus { top: 1rem; }

.site-header { position: relative; z-index: 10; background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(11,38,57,.1); }
.navbar { min-height: 78px; padding: .75rem 0; }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--navy-950); text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; color: var(--white); background: var(--orange); border-radius: 9px 9px 9px 2px; transform: rotate(-3deg); box-shadow: 4px 4px 0 var(--navy-950); }
.brand-mark span { font: 800 1.2rem/1 "Manrope", sans-serif; transform: rotate(3deg); }
.brand-name { font-size: 1.12rem; font-weight: 700; letter-spacing: -.035em; }
.brand-name strong { color: var(--orange-dark); }
.navbar .nav-link { margin-left: 1.1rem; padding: .6rem .25rem !important; color: #30414d; font-weight: 600; border-bottom: 2px solid transparent; }
.navbar .nav-link:hover, .navbar .nav-link:focus { color: var(--orange-dark); border-color: var(--orange); }
.nav-link-saved { display: flex; align-items: center; gap: .45rem; }
.saved-count { display: grid; place-items: center; min-width: 1.45rem; height: 1.45rem; padding: 0 .25rem; color: var(--white); background: var(--navy-900); border-radius: 2rem; font-size: .72rem; }
.navbar-toggler { border: 1px solid var(--line); }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(239,108,53,.25); }

.hero { overflow: hidden; background: var(--paper); }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 4rem; align-items: center; min-height: 650px; padding-top: 5rem; padding-bottom: 5rem; }
.eyebrow, .section-kicker { display: inline-flex; align-items: center; gap: .55rem; color: var(--orange-dark); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow > span { width: 22px; height: 3px; background: var(--orange); }
.hero h1 { max-width: 720px; margin: 1.1rem 0 1.4rem; color: var(--navy-950); font-size: clamp(3rem, 6vw, 5.15rem); font-weight: 800; line-height: .98; letter-spacing: -.065em; }
.hero h1 em { color: var(--orange); font-style: normal; }
.hero-lead { max-width: 620px; margin-bottom: 2rem; color: var(--muted); font-size: 1.16rem; }
.hero-actions { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.btn-brand { padding: .9rem 1.25rem; color: var(--white); background: var(--orange); border: 2px solid var(--orange); border-radius: .35rem; font-weight: 800; box-shadow: 4px 4px 0 var(--navy-950); }
.btn-brand:hover, .btn-brand:focus { color: var(--white); background: var(--orange-dark); border-color: var(--orange-dark); transform: translate(1px,1px); box-shadow: 3px 3px 0 var(--navy-950); }
.text-link { display: inline-flex; align-items: center; gap: .6rem; color: var(--navy-900); font-weight: 700; text-decoration: none; }
.play-icon { display: grid; place-items: center; width: 34px; height: 34px; padding-left: 2px; color: var(--orange); border: 1px solid #cbd0d1; border-radius: 50%; font-size: .65rem; }
.trust-list { display: flex; gap: 1.25rem; flex-wrap: wrap; margin: 2.2rem 0 0; padding: 0; color: var(--muted); font-size: .85rem; list-style: none; }
.trust-list span { color: var(--green); font-weight: 800; }

.hero-visual { position: relative; min-height: 480px; display: grid; place-items: center; }
.blueprint-grid { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(var(--navy-800) 1px,transparent 1px),linear-gradient(90deg,var(--navy-800) 1px,transparent 1px); background-size: 28px 28px; mask-image: radial-gradient(circle,#000 25%,transparent 70%); }
.tool-card { position: relative; z-index: 2; width: min(100%, 430px); padding: 1.7rem; background: var(--white); border: 1px solid #d9dddc; border-radius: .65rem; box-shadow: var(--shadow); transform: rotate(1.25deg); }
.tool-card-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.mini-label { display: block; margin-bottom: .15rem; color: var(--muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.tool-card-head strong { color: var(--navy-950); font-size: 1.1rem; }
.status-pill { padding: .3rem .55rem; color: var(--green); background: #e6f5ef; border-radius: 2rem; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.price-block { padding: 1.5rem 0; }
.price-block span, .price-block small { display: block; color: var(--muted); }
.price-block strong { display: block; margin: .1rem 0; color: var(--navy-950); font: 800 3.1rem/1 "Manrope", sans-serif; letter-spacing: -.06em; }
.metric-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .65rem; }
.metric-grid div { padding: .8rem; background: var(--paper); border-radius: .25rem; }
.metric-grid span { display: block; color: var(--muted); font-size: .68rem; }
.metric-grid strong { color: var(--navy-900); font-size: .9rem; }
.margin-meter { margin-top: 1.35rem; }
.meter-label { display: flex; justify-content: space-between; margin-bottom: .35rem; font-size: .78rem; }
.meter-track { overflow: hidden; height: 8px; background: #e7e8e5; border-radius: 1rem; }
.meter-track span { display: block; width: 72%; height: 100%; background: var(--orange); border-radius: 1rem; }
.floating-note { position: absolute; z-index: 3; display: flex; align-items: center; gap: .75rem; padding: .65rem .8rem; background: var(--white); border: 1px solid var(--line); border-radius: .3rem; box-shadow: 0 10px 30px rgba(7,28,44,.12); font-size: .75rem; font-weight: 700; }
.floating-note strong { color: var(--green); }
.note-cost { left: 0; top: 16%; }
.note-profit { right: -1rem; bottom: 15%; }

.proof-strip { color: var(--white); background: var(--navy-950); }
.proof-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.proof-grid > div { padding: 1.45rem 1.25rem; border-right: 1px solid rgba(255,255,255,.13); }
.proof-grid > div:first-child { border-left: 1px solid rgba(255,255,255,.13); }
.proof-grid strong, .proof-grid span { display: block; }
.proof-grid strong { color: #ffb28f; font: 800 1.35rem "Manrope", sans-serif; }
.proof-grid span { color: #aebbc3; font-size: .78rem; }

.section { padding: 6rem 0; }
.section-heading { max-width: 680px; margin-bottom: 2.5rem; }
.section-heading h2, .process-section h2 { margin: .7rem 0 1rem; color: var(--navy-950); font-size: clamp(2rem,4vw,3.1rem); font-weight: 800; letter-spacing: -.045em; }
.section-heading p { color: var(--muted); font-size: 1.05rem; }
.preview-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; }
.preview-card { position: relative; padding: 1.65rem; border: 1px solid var(--line); border-radius: .45rem; background: var(--white); }
.preview-card.featured { border-top: 4px solid var(--orange); }
.card-number { position: absolute; right: 1.25rem; top: 1.1rem; color: #c7ccce; font: 800 .8rem "Manrope", sans-serif; }
.card-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 1.4rem; color: var(--orange-dark); background: var(--orange-soft); border-radius: .35rem; font: 800 1.15rem "Manrope", sans-serif; }
.preview-card h3 { color: var(--navy-950); font-size: 1.2rem; font-weight: 800; }
.preview-card p { min-height: 4.8rem; color: var(--muted); font-size: .92rem; }
.coming-label { color: var(--orange-dark); font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tools-preview-action { margin-top: 1.75rem; }
.directory-hero { color: var(--white); background: var(--navy-950); }
.directory-hero .site-container { padding-top: 2rem; padding-bottom: 4.5rem; }
.breadcrumb-nav ol { display: flex; gap: .55rem; margin: 0 0 3.4rem; padding: 0; color: #9eacb5; font-size: .78rem; list-style: none; }
.breadcrumb-nav li + li::before { content: "/"; margin-right: .55rem; color: #667985; }
.breadcrumb-nav a { color: #c7d0d5; text-decoration: none; }
.breadcrumb-nav a:hover, .breadcrumb-nav a:focus { color: var(--white); }
.directory-heading { display: grid; grid-template-columns: 1.1fr .7fr; gap: 5rem; align-items: end; }
.directory-heading h1 { margin: .9rem 0 0; font-size: clamp(3rem,6.5vw,5.5rem); font-weight: 800; line-height: .98; letter-spacing: -.065em; }
.directory-heading h1 em { color: var(--orange); font-style: normal; }
.directory-heading > p { max-width: 480px; margin: 0 0 .6rem; color: #bcc7cd; font-size: 1.08rem; }
.directory-principles { display: flex; gap: 2rem; flex-wrap: wrap; margin-top: 3.5rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.13); color: #aebbc3; font-size: .78rem; }
.directory-principles strong { margin-right: .35rem; color: #ff9a70; font-family: "Manrope",sans-serif; }
.directory-section { padding: 6rem 0; background: var(--paper); }
.directory-intro { display: grid; grid-template-columns: 1fr .75fr; gap: 4rem; align-items: end; margin-bottom: 2.75rem; }
.directory-intro h2 { max-width: 650px; margin: .65rem 0 0; color: var(--navy-950); font-size: clamp(2rem,4vw,3.25rem); font-weight: 800; letter-spacing: -.045em; }
.directory-intro > p { max-width: 500px; margin: 0 0 .4rem; color: var(--muted); }
.calculator-directory-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.25rem; }
.directory-card { display: flex; flex-direction: column; min-height: 430px; padding: 1.7rem; background: var(--white); border: 1px solid #d8dddc; border-radius: .45rem; }
.directory-card-featured { border-top: 5px solid var(--orange); box-shadow: 0 16px 35px rgba(7,28,44,.08); }
.directory-card-wide { grid-column: 1/-1; min-height: 360px; }
.directory-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
.directory-icon { display: grid; place-items: center; width: 46px; height: 46px; color: var(--orange-dark); background: var(--orange-soft); border-radius: .35rem; font: 800 1.15rem "Manrope",sans-serif; }
.tool-status { display: inline-flex; align-items: center; gap: .4rem; color: #7a878f; font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.tool-status i { width: 7px; height: 7px; background: #a6b0b5; border-radius: 50%; }
.tool-status.status-next { color: var(--green); }
.tool-status.status-next i { background: var(--green); box-shadow: 0 0 0 4px #e3f2ed; }
.tool-status.status-live { color: var(--green); }
.tool-status.status-live i { background: var(--green); box-shadow: 0 0 0 4px #e3f2ed; }
.tool-category { color: var(--orange-dark); font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.directory-card h3 { margin: .45rem 0 .7rem; color: var(--navy-950); font-size: 1.42rem; font-weight: 800; letter-spacing: -.025em; }
.directory-card > p { color: var(--muted); font-size: .93rem; }
.tool-details { display: grid; gap: .65rem; margin: 1rem 0 1.35rem; }
.tool-details div { display: grid; grid-template-columns: 78px 1fr; gap: .75rem; padding-top: .65rem; border-top: 1px solid var(--line); }
.tool-details dt { color: var(--navy-800); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.tool-details dd { margin: 0; color: var(--muted); font-size: .78rem; }
.tool-availability { margin-top: auto; color: var(--navy-800); font-size: .75rem; font-weight: 800; }
.tool-launch-link { display: inline-flex; align-items: center; gap: .4rem; align-self: flex-start; margin-top: auto; color: var(--orange-dark); font-size: .78rem; font-weight: 800; text-decoration: none; }
.tool-launch-link:hover, .tool-launch-link:focus { color: var(--navy-900); }
.calculator-page-hero { color: var(--white); background: var(--navy-950); }
.calculator-page-hero .site-container { padding-top: 2rem; padding-bottom: 4rem; }
.breadcrumb-dark { margin-bottom: 2.75rem; }
.calculator-title-grid { display: grid; grid-template-columns: 1.05fr .65fr; gap: 5rem; align-items: end; }
.calculator-title-grid h1 { margin: .8rem 0 0; font-size: clamp(3rem,6vw,5rem); font-weight: 800; line-height: 1; letter-spacing: -.06em; }
.calculator-title-grid h1 em { color: var(--orange); font-style: normal; }
.calculator-title-grid > p { margin: 0 0 .5rem; color: #bdc8ce; font-size: 1.05rem; }
.calculator-workspace { padding: 4.5rem 0 5rem; background: var(--paper); }
.calculation-grid { display: grid; grid-template-columns: 1fr .92fr; gap: 1.5rem; align-items: start; }
.calculator-form-card, .calculator-results-card { overflow: hidden; background: var(--white); border: 1px solid #d7dcdb; border-radius: .5rem; box-shadow: 0 14px 35px rgba(7,28,44,.08); }
.panel-heading { display: flex; align-items: center; gap: .85rem; padding: 1.15rem 1.35rem; background: #edeae4; border-bottom: 1px solid #d7dcdb; }
.panel-heading-dark { color: var(--white); background: var(--navy-900); border-color: var(--navy-900); }
.panel-step { display: grid; place-items: center; width: 32px; height: 32px; color: var(--white); background: var(--orange); border-radius: 50%; font-size: .72rem; font-weight: 800; }
.panel-heading div span, .panel-heading div strong { display: block; }
.panel-heading div span { color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.panel-heading-dark div span { color: #9eafb9; }
.panel-heading div strong { color: var(--navy-950); font-family: "Manrope",sans-serif; }
.panel-heading-dark div strong { color: var(--white); }
.calculator-form-card form { padding: 1.5rem 1.35rem 1.7rem; }
.field-group { margin-bottom: 1.45rem; }
.field-group > label, .mode-fieldset legend { margin-bottom: .2rem; color: var(--navy-950); font: 800 .92rem "Manrope",sans-serif; }
.field-help { display: block; margin-bottom: .6rem; color: var(--muted); font-size: .76rem; }
.input-with-unit { display: flex; align-items: center; overflow: hidden; background: var(--white); border: 1px solid #bfc8ca; border-radius: .35rem; }
.input-with-unit:focus-within { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(239,108,53,.16); }
.input-with-unit > span { padding: 0 .8rem; color: var(--navy-800); font-weight: 800; }
.input-with-unit input { width: 100%; min-height: 50px; padding: .65rem .8rem; color: var(--navy-950); background: transparent; border: 0; font: 700 1.05rem "DM Sans",sans-serif; }
.input-with-unit input:focus { outline: 0; }
.mode-fieldset { padding: 0; border: 0; }
.mode-options { display: grid; gap: .55rem; }
.mode-options label { cursor: pointer; }
.mode-options input { position: absolute; opacity: 0; pointer-events: none; }
.mode-options label > span { display: block; padding: .7rem .85rem; border: 1px solid #cdd3d4; border-radius: .35rem; }
.mode-options label > span strong, .mode-options label > span small { display: block; }
.mode-options label > span strong { color: var(--navy-900); font-size: .85rem; }
.mode-options label > span small { color: var(--muted); font-size: .72rem; }
.mode-options input:checked + span { border-color: var(--orange); background: var(--orange-soft); box-shadow: inset 4px 0 0 var(--orange); }
.mode-options input:focus-visible + span { outline: 3px solid #f5a381; outline-offset: 2px; }
.field-error { display: block; margin-top: .35rem; color: #a52e1a; font-size: .75rem; font-weight: 700; }
.validation-summary { margin-bottom: 1rem; color: #8b2517; background: #fff0ed; border-radius: .3rem; font-size: .8rem; }
.validation-summary:empty, .field-error:empty { display: none; }
.validation-summary ul { margin: 0; padding: .7rem 1rem .7rem 2rem; }
.calculator-submit { width: 100%; }
.calculator-results-card { color: var(--white); background: var(--navy-950); }
.primary-result { padding: 2rem 1.5rem 1.5rem; }
.primary-result span, .primary-result small { display: block; color: #aebbc3; }
.primary-result strong { display: block; margin: .15rem 0; font: 800 clamp(3rem,6vw,4.4rem)/1 "Manrope",sans-serif; letter-spacing: -.06em; }
.result-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(255,255,255,.12); border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.result-metrics div { padding: 1rem; background: var(--navy-950); }
.result-metrics span, .result-metrics strong { display: block; }
.result-metrics span { color: #93a3ad; font-size: .68rem; }
.result-metrics strong { font-size: 1rem; }
.result-metrics .negative-result strong { color: #ff9279; }
.result-explanation { padding: 1.35rem 1.5rem .5rem; }
.result-label, .formula-box > span { color: #ff9a70; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.result-explanation p { margin: .45rem 0; color: #d2dadd; font-size: .88rem; }
.formula-box { margin: 1rem 1.5rem; padding: 1rem; background: rgba(255,255,255,.07); border-left: 3px solid var(--orange); }
.formula-box span, .formula-box code { display: block; }
.formula-box code { margin-top: .35rem; color: var(--white); font-size: .77rem; }
.save-note { margin: 1rem 1.5rem 1.5rem; color: #83949e; font-size: .7rem; }
.save-note span { color: var(--orange); }
.save-calculation-box { margin: 1rem 1.5rem 1.5rem; padding: 1rem; color: var(--navy-950); background: var(--white); border-radius: .35rem; }
.save-calculation-box strong, .save-calculation-box span { display: block; }
.save-calculation-box span { color: var(--muted); font-size: .7rem; }
.save-calculation-box form { display: grid; grid-template-columns: 1fr auto; gap: .75rem; align-items: end; margin-top: .8rem; }
.save-title-field label, .save-title-field small { display: block; }
.save-title-field label { margin-bottom: .2rem; font-size: .72rem; font-weight: 800; }
.save-title-field label span { display: inline; font-weight: 500; }
.save-title-field input { width: 100%; min-height: 42px; padding: .55rem .65rem; border: 1px solid #bfc8ca; border-radius: .25rem; font-size: .78rem; }
.save-title-field input:focus { border-color: var(--orange); outline: 3px solid rgba(239,108,53,.16); }
.save-title-field small { margin-top: .2rem; color: var(--muted); font-size: .64rem; }
.save-calculation-box button { min-height: 42px; padding: .55rem .7rem; color: var(--white); background: var(--orange); border: 0; border-radius: .25rem; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.history-hero { color: var(--white); background: var(--navy-950); }
.history-hero .site-container { padding-top: 2rem; padding-bottom: 4rem; }
.history-hero h1 { margin: .65rem 0 .8rem; font-size: clamp(3rem,6vw,5rem); font-weight: 800; letter-spacing: -.06em; }
.history-hero > div > p { max-width: 700px; color: #b8c4ca; }
.history-section { min-height: 55vh; padding: 4rem 0 6rem; background: var(--paper); }
.history-alert { margin-bottom: 1rem; padding: .8rem 1rem; border-radius: .3rem; font-size: .84rem; font-weight: 700; }
.history-alert.success { color: #145d46; background: #e5f4ee; }
.history-alert.error { color: #8b2517; background: #fff0ed; }
.recovery-code-reveal { margin-bottom: 1.5rem; padding: 1.5rem; color: var(--white); background: var(--navy-900); border-top: 5px solid var(--orange); border-radius: .4rem; box-shadow: var(--shadow); }
.recovery-code-reveal h2 { margin: .35rem 0 .4rem; font-size: 1.65rem; font-weight: 800; }
.recovery-code-reveal > p { max-width: 760px; margin-bottom: 1rem; color: #c9d3d8; }
.recovery-code-copy-row { display: flex; max-width: 620px; }
.recovery-code-copy-row code { flex: 1; padding: .8rem 1rem; color: var(--navy-950); background: var(--white); border-radius: .3rem 0 0 .3rem; font: 800 clamp(1.15rem,4vw,1.55rem) "Manrope",sans-serif; letter-spacing: .09em; }
.recovery-code-copy-row button { padding: .75rem 1rem; color: var(--white); background: var(--orange); border: 0; border-radius: 0 .3rem .3rem 0; font-weight: 800; }
.recovery-code-status { min-height: 1.2rem; margin: .35rem 0 0 !important; color: #aee2d1 !important; font-size: .76rem; }
.recovery-code-warning { margin: .5rem 0 0 !important; font-size: .76rem; }
.recovery-tools { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin-bottom: 1.5rem; }
.recovery-tool-card { padding: 1.25rem; background: var(--white); border: 1px solid var(--line); border-radius: .4rem; }
.recovery-tool-card h2 { margin: .3rem 0 .35rem; color: var(--navy-950); font-size: 1.15rem; font-weight: 800; }
.recovery-tool-card > p { color: var(--muted); font-size: .78rem; }
.recovery-form label { display: block; margin-bottom: .3rem; color: var(--navy-900); font-size: .74rem; font-weight: 800; }
.recovery-form > div { display: flex; }
.recovery-form input { min-width: 0; flex: 1; padding: .65rem; text-transform: uppercase; border: 1px solid #bfc8ca; border-radius: .25rem 0 0 .25rem; font-weight: 700; letter-spacing: .05em; }
.recovery-form button, .history-action-secondary { padding: .65rem .8rem; color: var(--white); background: var(--navy-900); border: 0; border-radius: 0 .25rem .25rem 0; font-size: .74rem; font-weight: 800; }
.history-action-secondary { border-radius: .25rem; }
.recovery-form small { display: block; margin-top: .35rem; color: var(--muted); font-size: .68rem; }
.history-privacy-note { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 2rem; padding: 1rem 1.2rem; background: var(--white); border-left: 4px solid var(--orange); }
.history-privacy-note strong, .history-privacy-note span { display: block; }
.history-privacy-note span { color: var(--muted); font-size: .74rem; }
.history-privacy-note a { color: var(--orange-dark); font-size: .75rem; font-weight: 800; }
.history-empty { max-width: 650px; margin: 3rem auto; padding: 3rem; text-align: center; background: var(--white); border: 1px solid var(--line); }
.history-empty > span { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto; color: var(--orange); border: 1px solid var(--line); border-radius: 50%; font: 800 1.5rem "Manrope",sans-serif; }
.history-empty h2 { margin: 1rem 0 .4rem; color: var(--navy-950); font-size: 1.6rem; font-weight: 800; }
.history-empty p { color: var(--muted); }
.history-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin: 2.5rem 0 1rem; }
.history-heading-row h2 { margin: .35rem 0 0; color: var(--navy-950); font-size: 1.7rem; font-weight: 800; }
.button-danger-link { padding: .25rem; color: #9b2f20; background: transparent; border: 0; font-size: .76rem; font-weight: 800; text-decoration: underline; }
.history-list { display: grid; gap: 1rem; }
.history-card { display: grid; grid-template-columns: 1fr 280px; gap: 1.5rem; padding: 1.4rem; background: var(--white); border: 1px solid var(--line); border-radius: .4rem; }
.history-card h3 { margin: .3rem 0 0; color: var(--navy-950); font-size: 1.1rem; font-weight: 800; }
.history-date { color: var(--muted); font-size: .7rem; }
.history-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: .7rem; margin-top: 1rem; }
.history-metrics div { padding: .65rem; background: var(--paper); }
.history-metrics span, .history-metrics strong { display: block; }
.history-metrics span { color: var(--muted); font-size: .65rem; }
.history-metrics strong { color: var(--navy-900); font-size: .85rem; }
.history-card-actions { display: grid; gap: .7rem; align-content: start; padding-left: 1.25rem; border-left: 1px solid var(--line); }
.history-action-primary { width: 100%; padding: .65rem; color: var(--white); background: var(--navy-900); border: 0; border-radius: .25rem; font-size: .75rem; font-weight: 800; }
.rename-form label { display: block; color: var(--muted); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.rename-form > div { display: flex; }
.rename-form input { min-width: 0; width: 100%; padding: .5rem; border: 1px solid #c5cdcf; }
.rename-form button { padding: .5rem .65rem; color: var(--navy-950); background: var(--orange-soft); border: 1px solid #efbca7; font-size: .72rem; font-weight: 800; }
.privacy-hero { min-height: auto; }
.privacy-content { padding: 4rem 0 6rem; }
.privacy-content h2 { margin: 2rem 0 .5rem; color: var(--navy-950); font-size: 1.35rem; font-weight: 800; }
.privacy-content p { color: var(--muted); }
.empty-result { display: grid; place-items: center; min-height: 520px; padding: 2rem; text-align: center; }
.empty-result-mark { display: grid; place-items: center; width: 76px; height: 76px; color: var(--orange); border: 1px solid #395064; border-radius: 50%; font: 800 1.7rem "Manrope",sans-serif; }
.empty-result h2 { max-width: 320px; margin: 1rem 0 .35rem; font-size: 1.4rem; font-weight: 800; }
.empty-result p { max-width: 360px; color: #9cadb6; font-size: .85rem; }
.calculator-guide { padding: 6rem 0; }
.guide-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5rem; }
.calculator-guide h2 { max-width: 650px; margin: .65rem 0 1rem; color: var(--navy-950); font-size: clamp(2rem,4vw,3.2rem); font-weight: 800; letter-spacing: -.045em; }
.calculator-guide article > p { max-width: 720px; color: var(--muted); }
.comparison-example { display: grid; grid-template-columns: 1fr auto 1fr auto 1.2fr; gap: .75rem; align-items: center; margin: 1.75rem 0; }
.comparison-example > div { padding: 1rem; background: var(--paper); border: 1px solid var(--line); border-radius: .35rem; }
.comparison-example span, .comparison-example strong { display: block; }
.comparison-example div span { color: var(--muted); font-size: .72rem; }
.comparison-example div strong { color: var(--navy-900); font: 800 1.25rem "Manrope",sans-serif; }
.comparison-example .comparison-total { color: var(--white); background: var(--navy-900); border-color: var(--navy-900); }
.comparison-example .comparison-total span, .comparison-example .comparison-total strong { color: var(--white); }
.example-callout { padding: 1rem 1.2rem; background: var(--orange-soft); border-left: 4px solid var(--orange); }
.guide-grid aside { align-self: start; padding: 1.4rem; background: var(--paper); border-radius: .4rem; }
.guide-grid aside h3 { color: var(--navy-950); font-size: 1.1rem; font-weight: 800; }
.guide-grid table { width: 100%; margin: 1rem 0; font-size: .8rem; }
.guide-grid th, .guide-grid td { padding: .55rem .25rem; border-bottom: 1px solid #d7d8d4; }
.guide-grid th:last-child, .guide-grid td:last-child { text-align: right; }
.guide-grid aside p { margin: 0; color: var(--muted); font-size: .72rem; }
.directory-method { padding: 5rem 0; color: var(--white); background: var(--navy-900); }
.method-grid { display: grid; grid-template-columns: 1fr .85fr; gap: 5rem; align-items: center; }
.directory-method h2 { margin: .6rem 0 0; font-size: clamp(2rem,4vw,3rem); font-weight: 800; letter-spacing: -.045em; }
.method-copy p { color: #b8c4ca; }
.text-link-light { color: var(--white); }
.text-link-light:hover, .text-link-light:focus { color: #ffab87; }
.process-section { color: var(--white); background: var(--navy-900); }
.process-section h2 { color: var(--white); }
.section-kicker.light { color: #ff9a70; }
.process-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 5rem; }
.process-list { margin: 0; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.process-list li > span { display: grid; place-items: center; width: 36px; height: 36px; color: var(--navy-950); background: var(--orange); border-radius: 50%; font-weight: 800; }
.process-list strong { font-family: "Manrope", sans-serif; }
.process-list p { margin: .2rem 0 0; color: #b7c3ca; font-size: .9rem; }

.page-hero { min-height: 55vh; padding: 7rem 0; background: var(--paper); }
.narrow-content { max-width: 760px; }
.page-hero h1 { margin: .75rem 0 1rem; color: var(--navy-950); font-size: clamp(2.6rem,6vw,4.6rem); font-weight: 800; letter-spacing: -.055em; }
.page-hero p { color: var(--muted); font-size: 1.12rem; }

.site-footer { color: #c1cbd0; background: #061722; }
.footer-main { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 2rem; padding: 2.5rem 0; }
.brand-footer { color: var(--white); }
.footer-main p { margin: 0; font-size: .88rem; }
.footer-main nav { display: flex; gap: 1.3rem; }
.footer-main nav a { color: #c1cbd0; font-size: .82rem; text-decoration: none; }
.footer-main nav a:hover, .footer-main nav a:focus { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; border-top: 1px solid rgba(255,255,255,.1); color: #82929b; font-size: .72rem; }

*:focus-visible { outline: 3px solid #f5a381; outline-offset: 3px; }
@media (max-width: 991.98px) {
  .navbar-collapse { padding: 1rem 0; }
  .navbar .nav-link { margin-left: 0; }
  .hero-grid { grid-template-columns: 1fr; gap: 2rem; padding-top: 4rem; }
  .hero-copy { max-width: 760px; }
  .hero-visual { min-height: 430px; }
  .note-cost { left: 4%; }
  .note-profit { right: 2%; }
  .process-grid { grid-template-columns: 1fr; gap: 2rem; }
  .directory-heading, .directory-intro, .method-grid, .calculator-title-grid, .calculation-grid, .guide-grid { grid-template-columns: 1fr; gap: 2rem; }
  .calculator-results-card { min-height: 480px; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-main nav { grid-column: 1/-1; }
}
@media (max-width: 767.98px) {
  .hero-grid { min-height: auto; padding-top: 3.25rem; padding-bottom: 3.5rem; }
  .hero h1 { font-size: clamp(2.7rem,13vw,4rem); }
  .hero-lead { font-size: 1rem; }
  .trust-list { display: grid; gap: .45rem; }
  .hero-visual { min-height: 395px; }
  .tool-card { padding: 1.15rem; transform: none; }
  .price-block strong { font-size: 2.5rem; }
  .floating-note { display: none; }
  .proof-grid { grid-template-columns: repeat(2,1fr); }
  .proof-grid > div, .proof-grid > div:first-child { border: 1px solid rgba(255,255,255,.1); }
  .section { padding: 4.5rem 0; }
  .preview-grid { grid-template-columns: 1fr; }
  .calculator-directory-grid { grid-template-columns: 1fr; }
  .directory-card-wide { grid-column: auto; }
  .directory-card { min-height: auto; }
  .directory-heading h1 { font-size: clamp(2.75rem,13vw,4.2rem); }
  .directory-heading > p { font-size: 1rem; }
  .directory-principles { display: grid; gap: .45rem; }
  .calculator-page-hero .site-container { padding-bottom: 3rem; }
  .calculator-title-grid h1 { font-size: clamp(2.7rem,12vw,4rem); }
  .result-metrics { grid-template-columns: 1fr; }
  .result-metrics div { display: flex; justify-content: space-between; }
  .comparison-example { grid-template-columns: 1fr; }
  .comparison-example > span { text-align: center; }
  .save-calculation-box, .history-privacy-note, .history-heading-row { align-items: stretch; flex-direction: column; }
  .save-calculation-box form { grid-template-columns: 1fr; }
  .recovery-tools { grid-template-columns: 1fr; }
  .recovery-code-copy-row, .recovery-form > div { flex-direction: column; }
  .recovery-code-copy-row code, .recovery-code-copy-row button, .recovery-form input, .recovery-form button { border-radius: .25rem; }
  .history-card { grid-template-columns: 1fr; }
  .history-card-actions { padding: 1rem 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .history-metrics { grid-template-columns: repeat(2,1fr); }
  .preview-card p { min-height: auto; }
  .footer-main { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
  .footer-bottom { flex-direction: column; }
}
@media (max-width: 420px) {
  .brand-name { font-size: 1rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .btn-brand { width: 100%; }
  .metric-grid { grid-template-columns: 1fr; }
  .metric-grid div { display: flex; justify-content: space-between; }
  .hero-visual { min-height: 505px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; } }
