:root{
  --ink:#171613;
  --paper:#f4f0e8;
  --paper2:#ebe2d5;
  --taupe:#c7b6a1;
  --clay:#b96f54;
  --sage:#6f7d69;
  --soft:#ddd2c4;
  --white:#fffdf8;
  --line:rgba(23,22,19,.55);
  --pad:clamp(20px,4.1vw,66px);
  --display:"Arial Black","Arial Narrow",Arial,Helvetica,sans-serif;
  --body:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
img{max-width:100%;height:auto}
.site{width:min(100%,1920px);margin:auto;background:var(--paper);overflow:hidden}
.utility-bar{min-height:37px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:7px 20px;border-bottom:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.utility-bar .mini-brand{justify-self:start}.utility-bar .socials{justify-self:end;display:flex;gap:13px}.socials a:hover,.socials a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.header{min-height:88px;display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(230px,1fr);align-items:stretch;border-bottom:1px solid var(--line);background:rgba(244,240,232,.96);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.wordmark{display:flex;align-items:center;padding-inline:var(--pad);text-transform:uppercase}.wordmark-logo{display:block;width:34px;max-width:34px;height:auto;flex:0 0 34px;margin-right:10px;object-fit:contain}.wordmark-copy{display:grid;grid-template-columns:1fr;justify-items:start;align-content:center;gap:1px;line-height:.76}.wordmark-main{display:block;font-family:var(--display);font-size:clamp(22px,2vw,32px);font-weight:900;letter-spacing:-.075em;line-height:.82;text-transform:uppercase}.wordmark-small{display:block;font-family:var(--body);font-size:clamp(7px,.56vw,9px);font-weight:800;letter-spacing:.22em;line-height:1;text-transform:uppercase}.wordmark-standard{justify-self:end;padding-right:1px}
.nav{display:flex;align-items:stretch;justify-content:center}.nav a{min-width:98px;display:grid;place-items:center;padding:0 17px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.22s ease}.nav a:hover,.nav a:focus-visible,.nav a[aria-current="page"]{background:var(--ink);color:var(--paper);outline:0}
.header-actions{display:flex;justify-content:flex-end;align-items:stretch}.community-button,.menu-button{border:0;border-left:1px solid var(--line);background:var(--ink);color:var(--paper);padding-inline:clamp(20px,3vw,46px);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;transition:.2s ease}.community-button{display:grid;place-items:center;min-width:176px;text-align:center;white-space:nowrap}.community-button:hover{background:var(--clay)}.menu-button{display:none;min-width:90px;cursor:pointer}.mobile-panel{display:none;position:fixed;inset:68px 0 0;z-index:49;background:var(--paper);padding:28px var(--pad) 42px;overflow-y:auto}.mobile-panel.open{display:block}.mobile-panel a{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--soft);font-family:var(--display);font-size:clamp(22px,8vw,34px);line-height:1;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow::before{content:"";width:31px;height:1px;background:currentColor;flex:0 0 31px}

/* Simplified calculator: inputs, one goal-specific result, optional method. */
[hidden]{display:none!important}
.calc-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(530px,1.14fr);border-bottom:1px solid var(--line)}
.calc-hero-copy{padding:clamp(56px,6.5vw,104px) var(--pad);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:26px}
.calc-hero h1{margin:0;max-width:800px;font-family:var(--display);font-size:clamp(52px,5.5vw,94px);font-weight:900;line-height:.88;letter-spacing:-.075em;text-transform:uppercase;overflow-wrap:break-word}
.calc-hero h1 span{display:block}
.calc-hero-copy>p{max-width:650px;margin:0;font-size:clamp(17px,1.3vw,20px);line-height:1.55}
.calculator-panel{padding:clamp(42px,5vw,70px) var(--pad);background:var(--paper2)}
.calorie-form h2{margin:0;font-family:var(--display);font-size:clamp(36px,3.8vw,60px);line-height:.98;letter-spacing:-.06em;text-transform:uppercase}
.form-intro{margin:12px 0 28px;font-size:16px;line-height:1.55}
.calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.field{min-width:0}.field.full{grid-column:1/-1}
.field label,.field legend{display:block;margin:0 0 8px;font-size:14px;font-weight:800;line-height:1.35}
.field legend{padding:0}
.field input,.field select{width:100%;min-height:54px;border:1px solid rgba(23,22,19,.65);border-radius:0;background:var(--white);color:var(--ink);padding:0 14px;font-size:16px;outline:0}
.field input:focus,.field select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(23,22,19,.14)}
.input-wrap{position:relative}.input-wrap input{padding-right:60px}
.unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:800;pointer-events:none}
.field-note{margin:7px 0 0;font-size:13px;line-height:1.4;color:#4b4540}
.field-check{display:flex;align-items:center;gap:10px;margin-top:10px;min-height:32px}
.field-check input{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--ink);flex:0 0 20px}
.field-check label{margin:0;font-size:14px;font-weight:700;cursor:pointer}
.field input:disabled,.field select:disabled{background:var(--soft);color:#514c46;cursor:not-allowed}
fieldset.field{border:0;margin:0;padding:0}
.goal-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.goal-option{position:relative}
.goal-option input{position:absolute;opacity:0;pointer-events:none}
.goal-option label{margin:0;min-height:56px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:12px 8px;text-align:center;cursor:pointer;background:var(--white);font-size:14px;font-weight:800;line-height:1.25}
.goal-option input:checked+label{background:var(--ink);color:var(--paper)}
.goal-option input:focus-visible+label{outline:3px solid var(--clay);outline-offset:2px}
.calc-submit{width:100%;min-height:60px;margin-top:24px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;cursor:pointer;font-size:15px;font-weight:900;letter-spacing:.02em}
.calc-submit:hover,.calc-submit:focus-visible{background:var(--clay);color:var(--ink);outline:2px solid var(--ink);outline-offset:2px}
.form-error{display:none;margin:18px 0 0;padding:14px;border:1px solid #a04f3c;background:#f9e8de;font-size:14px;line-height:1.5}
.form-error.show{display:block}
.results-section{display:none;background:var(--ink);color:var(--paper);border-bottom:1px solid var(--line);scroll-margin-top:90px}
.results-section.show{display:block}
.result-main{padding:clamp(28px,3.3vw,46px) var(--pad)}
.result-main h2{margin:9px 0 11px;font-family:var(--display);font-size:clamp(32px,3.8vw,52px);line-height:1;letter-spacing:-.05em;text-transform:uppercase}
.result-summary{max-width:860px;margin:0 0 16px;font-size:15px;line-height:1.5;color:#f1e9df}
.macro-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}
.macro-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:124px;padding:14px clamp(14px,1.3vw,20px);border:1px solid rgba(244,240,232,.23);background:#302d29;color:var(--paper)}
.macro-calories{background:var(--clay);color:var(--ink);border-color:var(--clay)}
.macro-card span{font-size:14px;font-weight:800;line-height:1.3}
.macro-card strong{display:block;margin:9px 0 3px;max-width:100%;font-family:var(--display);font-size:clamp(32px,3.3vw,49px);font-weight:900;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.macro-calories strong{font-size:clamp(36px,3.8vw,56px)}
.macro-card small{font-size:13px;font-weight:700;line-height:1.25;opacity:.88}
.maintenance-line{margin:12px 0 0;font-size:14px;line-height:1.45;color:#eadfd2}
.result-safety{max-width:900px;border-left:4px solid var(--clay);margin:0 0 22px;padding:18px 20px;background:#3a312a;font-size:16px;line-height:1.6}
.result-controls{margin-top:14px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.result-reset{min-height:44px;border:1px solid rgba(244,240,232,.7);background:transparent;color:var(--paper);padding:8px 16px;font-size:14px;font-weight:800;cursor:pointer}
.result-reset:hover,.result-reset:focus-visible{background:var(--paper);color:var(--ink);outline:2px solid var(--clay);outline-offset:2px}
.result-math{width:100%;border-top:1px solid rgba(244,240,232,.32)}
.result-math summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px;cursor:pointer;font-size:14px;font-weight:800;list-style:none}
.result-math summary::-webkit-details-marker{display:none}
.result-math summary:after{content:"+";font-size:24px}
.result-math[open] summary:after{content:"−"}
.result-math-inner{padding:12px 0 8px;font-size:15px;line-height:1.55;color:#eadfd2}
.result-math-inner p{max-width:850px;margin:12px 0}
.calculation-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.calculation-detail-grid>div{padding:16px;border:1px solid rgba(244,240,232,.24)}
.calculation-detail-grid span,.calculation-detail-grid strong{display:block}
.calculation-detail-grid span{font-size:13px;font-weight:700}
.calculation-detail-grid strong{margin-top:9px;font-size:22px;line-height:1.25;overflow-wrap:anywhere}
.results-section:focus{outline:2px solid var(--clay);outline-offset:-2px}
.use-note{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:clamp(18px,4vw,65px);padding:clamp(34px,4vw,58px) var(--pad);border-bottom:1px solid var(--line);background:var(--paper2)}
.use-note h2{margin:0;font-family:var(--display);font-size:clamp(26px,2.6vw,40px);line-height:1.05;letter-spacing:-.05em;text-transform:uppercase}
.use-note p{max-width:850px;margin:0;font-size:16px;line-height:1.6}
.calc-details{border-bottom:1px solid var(--line)}
.calc-details details{padding:0 var(--pad)}
.calc-details summary{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-size:15px;font-weight:800;line-height:1.4}
.calc-details summary::-webkit-details-marker{display:none}
.calc-details summary::after{content:"+";font-family:var(--display);font-size:26px}
.calc-details details[open] summary::after{content:"−"}
.details-inner{padding:0 0 40px;max-width:1050px}
.details-inner p,.details-inner li{font-size:15px;line-height:1.65}
.details-inner ul{margin:14px 0 20px;padding-left:22px}
.details-inner li{margin:8px 0}
.details-inner a{text-decoration:underline;text-underline-offset:3px}
.medical-note{padding:18px;border:1px solid var(--line);background:var(--paper2)}

.tms-v86-footer{--footer-line:rgba(244,240,232,.35);width:100%;background:var(--ink);color:var(--paper);font-family:var(--body);text-align:left}.tms-v86-footer a{color:inherit;text-decoration:none}.tms-v86-footer a:hover,.tms-v86-footer a:focus-visible{text-decoration:underline;text-underline-offset:3px;outline:0}.tms-v86-footer-top{min-height:430px;display:grid;grid-template-columns:minmax(0,60%) minmax(0,40%);border-bottom:1px solid var(--footer-line)}.tms-v86-footer-brand{min-width:0;padding:clamp(46px,5.5vw,82px) var(--pad);border-right:1px solid var(--footer-line);display:flex;flex-direction:column;justify-content:space-between;overflow:visible}.tms-v86-footer-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 30px;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.tms-v86-footer-eyebrow::before{content:"";width:31px;height:1px;background:currentColor;flex:0 0 31px}.tms-v86-footer-lockup{display:grid;width:max-content;max-width:100%;gap:9px;margin:0 0 0 -5px;line-height:1;overflow:visible}.tms-v86-footer-small{display:block;font-size:clamp(13px,1.25vw,20px);font-weight:700;line-height:1;letter-spacing:.20em;text-transform:uppercase}.tms-v86-footer-small:last-child{justify-self:end;margin-top:7px}.tms-v86-footer-main{display:block;width:max-content;max-width:100%;font-family:var(--display);font-size:clamp(68px,9.3vw,145px);font-weight:900;line-height:.78;letter-spacing:-.085em;text-transform:uppercase;white-space:nowrap}.tms-v86-footer-links{min-width:0;padding:clamp(46px,5.5vw,82px) var(--pad);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:space-between;column-gap:clamp(24px,3vw,46px);row-gap:42px}.tms-v86-footer-links h3{margin:0 0 17px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.tms-v86-footer-links a{display:block;margin:0 0 10px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.tms-v86-footer-bottom{min-height:62px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px var(--pad);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tms-v86-footer-legal{white-space:nowrap}

@media(max-width:1180px){
  .nav a{min-width:82px;padding-inline:10px}
  .calc-hero{grid-template-columns:1fr}
  .calc-hero-copy{border-right:0;border-bottom:1px solid var(--line);padding-top:60px;padding-bottom:55px}
  .calc-hero h1{max-width:1000px;font-size:clamp(52px,7vw,85px)}
}
@media(max-width:1040px){
  .utility-bar{display:none}
  .header{min-height:68px;grid-template-columns:1fr auto}
  .nav,.community-button{display:none}
  .menu-button{display:block}
  .macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calc-hero-copy,.calculator-panel{padding-left:var(--pad);padding-right:var(--pad)}
  .tms-v86-footer-top{grid-template-columns:1fr;min-height:0}
  .tms-v86-footer-brand{min-height:300px;border-right:0;border-bottom:1px solid var(--footer-line)}
}
@media(max-width:720px){
  .wordmark{padding-left:20px}
  .wordmark-logo{width:29px;max-width:29px;flex-basis:29px;margin-right:9px}
  .wordmark-main{font-size:21px}
  .wordmark-small{font-size:6.5px;letter-spacing:.18em}
  .calc-hero-copy,.calculator-panel,.result-main,.use-note{padding-left:20px;padding-right:20px}
  .calc-hero-copy{padding-top:46px;padding-bottom:42px;gap:19px}
  .calc-hero h1{font-size:clamp(42px,10vw,62px);line-height:.95}
  .calculator-panel{padding-top:34px;padding-bottom:42px}
  .calc-grid{gap:16px 12px}
  .macro-card{min-height:114px;padding:13px 15px}
  .macro-card strong{font-size:clamp(32px,5.6vw,42px)}
  .macro-calories strong{font-size:clamp(36px,6.2vw,48px)}
  .result-main{padding-top:26px;padding-bottom:28px}
  .result-main h2{font-size:clamp(30px,6.3vw,42px)}
  .calculation-detail-grid{grid-template-columns:1fr}
  .use-note{grid-template-columns:1fr;gap:16px}
  .calc-details details{padding-left:20px;padding-right:20px}
  .tms-v86-footer-links{grid-template-columns:1fr 1fr}
  .tms-v86-footer-main{font-size:clamp(60px,18vw,92px)}
  .tms-v86-footer-bottom{align-items:flex-start;flex-direction:column}
  .tms-v86-footer-legal{white-space:normal}
}
@media(max-width:480px){
  .calc-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .goal-options{gap:6px}
  .goal-option label{padding:9px 4px;min-height:54px;font-size:13px}
  .macro-grid{gap:8px}
  .macro-card{min-height:105px;padding:12px 11px}
  .macro-card span{font-size:14px}
  .macro-card small{font-size:12px}
  .macro-card strong{font-size:clamp(30px,8vw,36px)}
  .macro-calories strong{font-size:clamp(32px,8.5vw,39px)}
  .result-main h2{font-size:clamp(28px,7.5vw,35px)}
  .result-summary{font-size:15px;margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 320px phones: keep the footer wordmark inside the content frame. */
@media (max-width:360px) {
  .tms-v86-footer-lockup { width:auto;max-width:100%;margin-left:0; }
  .tms-v86-footer-main {
    font-size:clamp(39px,12.5vw,43px);
    letter-spacing:-.085em;
  }
  .tms-v86-footer-small { font-size:10px;letter-spacing:.12em; }
}
