:root{
  --navy:#263b4e;
  --blue:#006dcc;
  --blue-dark:#0052a3;
  --link:#0066bd;
  --border:#d8d8d8;
  --soft:#f7f7f7;
  --cream:#fff8e6;
  --cream-border:#ecd98d;
  --text:#1e2a33;
  --muted:#66717a;
  --alert:#d9edf7;
  --alert-border:#bce8f1;
}
*{box-sizing:border-box}
body{margin:0;background:#f4f4f4;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{background:var(--navy);color:#fff}
.topbar-inner{max-width:820px;margin:0 auto;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px}
.brand{color:#fff;font-size:17px;font-weight:700;letter-spacing:.2px}
.brand:hover{text-decoration:none}
.nav{display:flex;gap:32px}
.nav a{color:#fff;font-size:14px}
.nav a.active,.nav a:hover{opacity:.9;text-decoration:underline}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:24px}
.main-wrap{max-width:820px;margin:0 auto;background:#fff;min-height:560px;padding:0 30px 40px}
.secure-note{text-align:right;color:#617a65;font-size:10px;padding:5px 12px 8px}
.calculator-card{border:1px solid #e5e5e5;border-radius:5px;background:#fff;padding:30px 30px 24px;margin:12px 0 0}
.calculator-card h1{text-align:center;color:#003b73;margin:0 0 10px;font-size:25px;line-height:1.2;font-weight:700}
.intro{text-align:center;max-width:700px;margin:0 auto 18px;color:#111}
.calc-form{max-width:640px;margin:0 auto}
.tabs{border-bottom:1px solid var(--border);display:flex;justify-content:flex-start;margin:6px 0 18px;padding-left:90px}
.tab{background:#fff;border:1px solid transparent;border-bottom:0;color:#1d5fae;font-size:14px;padding:11px 16px;cursor:pointer;margin-bottom:-1px}
.tab.active{border-color:var(--border);border-bottom:1px solid #fff;color:#444;border-radius:3px 3px 0 0}
.form-row{display:grid;grid-template-columns:150px minmax(0,220px) auto;gap:10px;align-items:center;margin:14px 0}
.form-row>label:first-child{text-align:right;font-weight:bold;color:#111}
.gender-row{margin-top:22px}
.inline-radios{display:flex;gap:10px}
.inline-radios label{font-weight:normal}
.calc-form input,.calc-form select,.inline-recalc input,.inline-recalc select{border:1px solid #cfcfcf;border-radius:4px;background:#fff;min-height:34px;padding:6px 10px;font-size:14px}
.calc-form input[type=number]{width:60px}
.calc-form select{width:200px}
.with-unit{display:flex;align-items:center;gap:6px}
.with-unit span{color:#6e7c83}
.bodyfat-row label span{display:block;color:#777;font-weight:bold;line-height:1}
.bodyfat-input input{width:48px!important}
.height-pair{display:flex;gap:8px}
.height-pair select{width:90px}
.form-action{padding:10px 0 18px;margin-left:160px}
.btn-calc{font-size:20px;background:#006dcc;border:1px solid #005bb5;color:#fff;border-radius:6px;padding:10px 17px;cursor:pointer}
.btn-calc:hover{background:#005bb5}
.error-box{background:#fdeaea;border:1px solid #f0b5b5;color:#8a1f1f;border-radius:4px;padding:12px;margin:16px auto;max-width:640px}
.content-wrap{max-width:820px;margin:0 auto;background:#fff;padding:35px 30px 50px}
.content-grid{display:grid;grid-template-columns:1fr 280px;gap:28px;border-top:1px solid #eee;padding-top:22px}
.content-wrap h2{font-size:22px;color:#333;margin-top:0}
.mini-card{border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;padding:18px}
.mini-card h3{margin-top:0;color:#003b73}
.mini-card ul{padding-left:18px;margin-bottom:0}
.result-wrap{padding-top:20px}
.result-card{padding:8px 0 25px}
.result-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.result-heading h1{font-size:32px;font-weight:400;letter-spacing:.5px;margin:0 0 15px;color:#222}
.result-heading p{font-size:12px;font-style:italic;margin:10px 0 0}
.inline-recalc{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:5px 0 12px}
.inline-recalc input{height:26px;min-height:26px;width:43px;padding:3px 7px}
.inline-recalc select{height:30px;min-height:30px;padding:3px 7px}
.inline-recalc select[name=act]{width:145px}
.inline-recalc input[name=cm],.inline-recalc input[name=kg]{width:43px}
.bf-inline{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;max-width:110px;font-size:12px;text-align:center}
.bf-inline input{width:44px}
.bf-inline small{color:#7a5800}
.inline-recalc button,.result-actions button,.result-actions a{background:#337ab7;color:#fff;border:1px solid #2e6da4;border-radius:4px;padding:7px 10px;min-height:31px;cursor:pointer;text-decoration:none}
.inline-recalc button:hover,.result-actions button:hover,.result-actions a:hover{background:#286090;text-decoration:none}
.info-alert{background:var(--alert);border:1px solid var(--alert-border);border-radius:4px;color:#28607e;padding:15px;margin:14px 0 20px}
.top-result-grid{display:grid;grid-template-columns:238px 1fr;gap:30px;align-items:start}
.top-result-grid h2{font-size:14px;margin:0 0 12px 28px}
.calorie-box{border:1px solid var(--cream-border);background:var(--cream);border-radius:18px;text-align:center;overflow:hidden}
.calorie-big{font-size:42px;font-weight:700;letter-spacing:1px;margin-top:20px;color:#24384c}
.calorie-box em{display:block;color:#000;font-size:13px;margin:0 0 24px}
.box-divider{border-top:1px solid #efe0aa}
.weekly{font-size:42px;margin-top:17px}
.explanation-block p{margin:0 0 10px;font-size:14px}
.activity-table{border-collapse:collapse;width:100%;font-size:14px}
.activity-table td{border-top:1px solid #ddd;padding:5px 6px}
.activity-table td:last-child{text-align:left;white-space:nowrap}
.activity-table tr.selected td{font-weight:bold;background:#f8f8f8}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:20px 0 10px}
.summary-grid h2{font-weight:400;font-size:21px;margin:0 0 6px;color:#25384a}
.summary-grid p{margin:0}
.target-section,.macro-section,.bodycomp-section{margin-top:26px}
.target-section h2,.macro-section h2,.bodycomp-section h2{font-size:22px;font-weight:400;margin:0 0 12px;color:#25384a}
.targets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.target-card{border:1px solid #ddd;background:#fafafa;border-radius:5px;text-align:center;padding:12px 8px}
.target-card span{display:block;color:#59646d;font-size:12px}
.target-card strong{display:block;font-size:22px;color:#25384a}
.target-card small{font-size:11px;color:#777}
.target-card.strong,.target-card.maintain{background:#fff8e6;border-color:#ecd98d}
.macro-table{width:100%;border-collapse:collapse}
.macro-table th,.macro-table td{border-top:1px solid #ddd;padding:9px;text-align:left}
.macro-table th{background:#f5f5f5;color:#333}
.macro-table td:not(:first-child){font-size:18px;color:#25384a}
.summary-grid.two{grid-template-columns:1fr 1fr;gap:15px}
.summary-grid.two div{border:1px solid #ddd;border-radius:5px;padding:15px;background:#fafafa;text-align:center}
.summary-grid.two strong{display:block;font-size:26px}
.summary-grid.two span{display:block;color:#666}
.result-actions{display:flex;gap:10px;justify-content:center;align-items:center;margin:26px 0 8px;flex-wrap:wrap}
.disclaimer,.small-muted{font-size:12px;color:#747474;text-align:center}
.simple-page{max-width:820px}
.simple-page h1{text-align:left}
.simple-page p{font-size:15px}
.faq-page details{border-top:1px solid #ddd;padding:14px 0}
.faq-page summary{font-weight:bold;cursor:pointer}
.tool-card{margin-top:26px}
.text-button{display:inline-block;background:#337ab7;color:#fff;border-radius:4px;padding:8px 11px}
.text-button:hover{text-decoration:none;background:#286090}
.footer{background:#f4f4f4}
.footer-inner{max-width:820px;margin:0 auto;padding:20px 30px;color:#666;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e5e5e5}
.footer-links{display:flex;gap:15px;flex-wrap:wrap}
@media (max-width:760px){.topbar-inner{height:auto;min-height:52px;flex-wrap:wrap}.menu-toggle{display:block}.nav{display:none;width:100%;flex-direction:column;gap:0;padding:8px 0 14px}.nav.open{display:flex}.nav a{padding:7px 0}.main-wrap,.content-wrap{padding-left:14px;padding-right:14px}.calculator-card{padding:22px 14px}.calculator-card h1{font-size:22px}.tabs{padding-left:0}.form-row{grid-template-columns:1fr;gap:6px;margin:13px 0}.form-row>label:first-child{text-align:left}.form-action{margin-left:0}.calc-form select{width:100%}.calc-form input[type=number]{width:100%}.with-unit input{flex:1}.content-grid,.top-result-grid,.summary-grid,.targets-grid{grid-template-columns:1fr}.result-heading{display:block}.inline-recalc{align-items:flex-start}.inline-recalc select[name=act]{width:100%;max-width:240px}.top-result-grid h2{margin-left:0}.activity-table td:last-child{white-space:normal}.footer-inner{display:block}.footer-links{margin-top:8px}.brand{font-size:17px}}
@media print{.topbar,.footer,.result-actions,.inline-recalc button{display:none!important}body,.main-wrap,.content-wrap{background:#fff}.main-wrap{max-width:100%;padding:0}.calculator-card,.result-card{border:0}.info-alert{border:1px solid #aaa}.result-heading p{display:none}.target-card,.calorie-box{break-inside:avoid}}

/* Hide browser up/down arrows from number fields on home and result pages. */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
input[type="number"]{ -moz-appearance:textfield; appearance:textfield; }

.ideal-section,.simple-section{margin-top:24px}
.ideal-section h2,.simple-section h2{font-size:22px;font-weight:400;margin:0 0 8px;color:#25384a}
.simple-result-table{width:48%;min-width:360px;border-collapse:collapse;font-size:14px}
.simple-result-table td{border-top:1px solid #ddd;padding:6px 6px}
.simple-result-table td:last-child{text-align:right;white-space:nowrap}
.muscular-section p{margin:4px 0 0;line-height:1.45}
.macro-tabs{border-bottom:1px solid #ddd;display:flex;align-items:center;gap:0;margin:6px 0 12px;position:relative;min-height:42px}
.macro-tabs a{display:inline-block;padding:11px 16px;border:1px solid transparent;border-bottom:0;margin-bottom:-1px;color:#1267b4}
.macro-tabs a.active{border-color:#ddd;background:#fff;color:#333;border-radius:4px 4px 0 0;text-decoration:none}
.macro-tabs span{margin-left:auto;font-size:11px;color:#5f6972;white-space:nowrap;padding-left:12px}
.macro-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:34px}
.macro-card{border:1px solid #ecd98d;background:#fff8e6;border-radius:10px;position:relative;overflow:visible;text-align:center}
.macro-ribbon{position:absolute;left:-1px;top:-18px;background:#2879bd;color:#fff;font-weight:bold;font-size:10px;padding:2px 6px;border-radius:1px 1px 0 0}
.macro-value{padding:18px 8px 12px;border-top:1px solid #efe0aa;min-height:84px}
.macro-value:first-of-type{border-top:0}
.macro-value strong{display:block;font-size:31px;line-height:1;color:#24384c}
.macro-value em{display:inline-block;margin-top:5px;color:#000;font-size:13px;border-bottom:1px dotted #b6a77c}
.small-center{font-size:12px;text-align:center;color:#111;margin:14px 0 0}
@media (max-width:760px){.simple-result-table{width:100%;min-width:0}.macro-tabs{flex-wrap:wrap}.macro-tabs span{margin-left:0;width:100%;padding:6px 0 0}.macro-cards{grid-template-columns:1fr;gap:26px}.macro-card{margin-top:4px}}

/* Tooltip terms on the home intro. Dedicated standalone pages can be added later. */
.term-tip{position:relative;color:var(--link);border-bottom:1px dotted var(--link);cursor:help}
.term-tip:focus{outline:1px dotted var(--link);outline-offset:2px}
.term-tip:hover::after,.term-tip:focus::after{content:attr(data-tip);position:absolute;left:50%;bottom:135%;transform:translateX(-50%);width:230px;max-width:80vw;background:#222;color:#fff;border-radius:4px;padding:8px 9px;font-size:12px;line-height:1.35;text-align:left;z-index:10;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.term-tip:hover::before,.term-tip:focus::before{content:"";position:absolute;left:50%;bottom:118%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#222;z-index:11}

/* Result-page macro tabs, matching the requested tab interaction. */
.macro-tabs button{font:inherit;background:#fff;border:1px solid transparent;border-bottom:0;margin-bottom:-1px;color:#1267b4;padding:11px 16px;cursor:pointer}
.macro-tabs button.active{border-color:#ddd;background:#fff;color:#333;border-radius:4px 4px 0 0;text-decoration:none}
.macro-tabs button:hover{text-decoration:underline}
.macro-tabs button.active:hover{text-decoration:none}
.macro-panel{display:none}
.macro-panel.active{display:block}
.bmi-section{margin-top:24px}
.bmi-section h2{font-size:22px;font-weight:400;margin:0 0 8px;color:#25384a}
.bmi-table tr.selected td{font-weight:bold;background:#f8f8f8}

/* Contact form and medical advisor blocks */
.advisor-card{border:1px solid #dfe6ee;border-radius:6px;background:#fbfdff;padding:18px;margin-top:22px}
.advisor-card h2{font-size:22px;font-weight:400;color:#25384a;margin:4px 0 2px}
.advisor-badge{display:inline-block;background:#263b4e;color:#fff;border-radius:3px;padding:4px 8px;font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:.3px}
.advisor-role{color:#56616b;font-weight:bold;margin-top:0!important}
.small-muted.left{text-align:left}
.contact-form{max-width:620px;margin-top:18px}
.contact-form label{display:block;font-weight:bold;margin:12px 0 5px;color:#111}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #cfcfcf;border-radius:4px;background:#fff;padding:9px 10px;font-size:14px;font-family:Arial,Helvetica,sans-serif}
.contact-form textarea{resize:vertical;line-height:1.45}
.human-check{display:grid;grid-template-columns:220px 90px;gap:10px;align-items:center;margin:14px 0}
.human-check label{margin:0}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.success-box{background:#e8f6ec;border:1px solid #b9e2c2;color:#236534;border-radius:4px;padding:12px;margin:16px auto;max-width:640px}
@media(max-width:760px){.human-check{grid-template-columns:1fr}.contact-form{max-width:100%}}
