:root{
  --cc-blue-950:#0f2f6f;
  --cc-blue-900:#13408f;
  --cc-blue-850:#1b58ae;
  --cc-blue-800:#2166c6;
  --cc-blue-700:#3d8cff;
  --cc-blue-100:#eaf4ff;
  --cc-blue-50:#f5faff;
  --cc-line:#b8d0ef;
  --cc-line-strong:#8fb3de;
  --cc-card:#f8fbff;
  --cc-text:#183764;
  --cc-muted:#5776a1;
  --cc-shadow:0 24px 42px rgba(13, 54, 117, .16);
  --cc-soft-shadow:0 12px 26px rgba(18, 66, 139, .12);
}
.page-health{
  --accent:#2c6fe0;
  --accent-2:#75c6ff;
}
.page-health .page-shell{
  background:
    radial-gradient(circle at top left, rgba(104,170,255,.12), transparent 24%),
    radial-gradient(circle at top right, rgba(255,255,255,.30), transparent 20%),
    linear-gradient(180deg, #e8f3ff 0%, #d7ebff 34%, #edf6ff 100%);
}
.calorie-page{
  display:grid;
  gap:18px;
  color:var(--cc-text);
}
.calorie-page,
.calorie-page *{min-width:0;}
.calorie-shell-top{
  margin-top:0;
}
.calorie-shell-top .calorie-shell-panel{
  display:grid;
  gap:16px;
}
.calorie-top-intro{
  display:grid;
  gap:12px;
  padding:4px 2px 6px;
}
.calorie-top-copy p{
  margin:0;
  color:var(--cc-muted);
  line-height:1.7;
}
.calorie-shell-top .calorie-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#19427a;
  font-size:1rem;
  font-weight:800;
}
.calorie-shell-top .calorie-brand-badge{
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(180deg, #2f79df 0%, #0c4cad 100%);
  border:1px solid rgba(12,76,173,.24);
  box-shadow:0 12px 18px rgba(12,76,173,.18);
}
.calorie-shell-top .calorie-hero-pills{
  justify-content:flex-start;
}
.calorie-shell-top .calorie-hero-pill{
  min-height:36px;
  padding:0 12px;
  background:#edf5ff;
  border:1px solid #cfe0f5;
  color:#24518a;
  font-size:.88rem;
}
.calorie-shell,
.calorie-card,
.calorie-content-card,
.calorie-related-card,
.calorie-faq-card{
  border-radius:26px;
  border:1px solid rgba(143,179,222,.72);
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(245,250,255,.98) 100%);
  box-shadow:var(--cc-soft-shadow);
}
.calorie-hero{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:30px 28px 28px;
  color:#fff;
  background:
    radial-gradient(circle at left top, rgba(255,255,255,.18), transparent 30%),
    radial-gradient(circle at right top, rgba(143,202,255,.22), transparent 28%),
    linear-gradient(135deg, #10377d 0%, #1450a5 48%, #1f74dc 100%);
  box-shadow:0 24px 46px rgba(16, 55, 125, .24);
}
.calorie-hero::before,
.calorie-hero::after{
  content:'';
  position:absolute;
  left:-8%;
  right:-8%;
  border-radius:50%;
  pointer-events:none;
}
.calorie-hero::before{
  height:220px;
  bottom:64px;
  background:linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,.34), rgba(255,255,255,.12));
  transform:rotate(-7deg);
  opacity:.85;
}
.calorie-hero::after{
  height:190px;
  bottom:-18px;
  background:linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,.65), rgba(255,255,255,.14));
  transform:rotate(4deg);
  opacity:.9;
}
.calorie-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  gap:18px;
}
.calorie-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:1.45rem;
  font-weight:800;
  letter-spacing:-.04em;
}
.calorie-brand-badge{
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.09));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
}
.calorie-brand-badge svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:#fff;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.calorie-hero-head{
  display:grid;
  gap:12px;
  justify-items:center;
  text-align:center;
  padding:10px 0 128px;
}
.calorie-hero-head h1{
  margin:0;
  font-size:clamp(2rem, 4vw, 3.5rem);
  line-height:1.02;
  letter-spacing:-.07em;
}
.calorie-hero-head p{
  margin:0;
  max-width:760px;
  font-size:clamp(1rem, 1.8vw, 1.4rem);
  line-height:1.65;
  color:rgba(255,255,255,.88);
}
.calorie-hero-pills{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
.calorie-hero-pill{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.10);
  color:#fff;
  font-weight:700;
  font-size:.94rem;
}
.calorie-shell{
  position:relative;
  margin-top:0;
  padding:18px;
  background:linear-gradient(180deg, rgba(49,105,196,.82), rgba(18,72,159,.92));
  border-color:rgba(79,127,201,.62);
  box-shadow:var(--cc-shadow);
}
.calorie-shell-head{
  display:flex;
  align-items:center;
  gap:16px;
  justify-content:center;
  color:#fff;
  margin-bottom:12px;
}
.calorie-shell-head::before,
.calorie-shell-head::after{
  content:'';
  height:2px;
  flex:1 1 auto;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,.82), rgba(255,255,255,.18));
}
.calorie-shell-head h1,
.calorie-shell-head h2{
  margin:0;
  font-size:clamp(1.35rem, 2vw, 1.95rem);
  letter-spacing:-.04em;
  color:#fff;
}
.calorie-shell-panel{
  border-radius:22px;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(246,250,255,.98) 100%);
  border:1px solid rgba(171,197,232,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.calorie-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.calorie-toolbar-copy h3{
  margin:0;
  font-size:1.2rem;
  letter-spacing:-.03em;
  color:#173a6b;
}
.calorie-toolbar-copy p{
  margin:6px 0 0;
  color:var(--cc-muted);
  line-height:1.6;
}
.calorie-unit-toggle{
  display:inline-flex;
  padding:4px;
  gap:4px;
  border-radius:16px;
  background:#e8f2ff;
  border:1px solid var(--cc-line);
}
.calorie-unit-toggle button{
  min-height:44px;
  padding:0 14px;
  border-radius:12px;
  border:0;
  background:transparent;
  color:#3b679f;
  font-weight:800;
  cursor:pointer;
}
.calorie-unit-toggle button.is-active{
  background:linear-gradient(180deg, #2d74da 0%, #0d4fb4 100%);
  color:#fff;
  box-shadow:0 10px 18px rgba(13,79,180,.22);
}
.calorie-form-alert{
  display:none;
  padding:12px 14px;
  border-radius:14px;
  background:#fff3f3;
  border:1px solid rgba(220, 38, 38, .18);
  color:#b42318;
  font-weight:700;
  margin-bottom:14px;
}
.calorie-form-alert.is-visible{display:block;}
.calorie-form{
  display:grid;
  gap:14px;
}
.calorie-grid-4,
.calorie-grid-3,
.calorie-grid-2{
  display:grid;
  gap:14px;
}
.calorie-grid-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.calorie-grid-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.calorie-grid-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.calorie-field,
.calorie-fieldset{
  display:grid;
  gap:8px;
}
.calorie-field label,
.calorie-fieldset legend,
.calorie-inline-help,
.calorie-table-wrap th,
.calorie-faq-item summary{
  font-weight:800;
}
.calorie-field small,
.calorie-inline-help,
.calorie-content-card p,
.calorie-bullet-list li,
.calorie-faq-item p,
.calorie-table-wrap td,
.calorie-table-wrap th,
.calorie-copy,
.calorie-note,
.calorie-related-card p{
  color:var(--cc-muted);
  line-height:1.65;
}
.calorie-fieldset{
  border:0;
  margin:0;
  padding:0;
}
.calorie-gender-toggle{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:8px;
}
.calorie-pill{
  min-height:48px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid #c5d9f3;
  background:linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
  color:#2d5387;
  cursor:pointer;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.calorie-pill.is-active{
  color:#fff;
  border-color:#1e63c7;
  background:linear-gradient(180deg, #2d74da 0%, #0b4bab 100%);
  box-shadow:0 12px 20px rgba(11,75,171,.22);
}
.calorie-pill svg,
.calorie-feature-icon svg,
.calorie-content-icon svg,
.calorie-badge-row svg,
.calorie-check svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.calorie-inline-input{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.calorie-inline-help{
  min-height:50px;
  min-width:72px;
  padding:0 14px;
  border-radius:14px;
  background:linear-gradient(180deg, #f9fbff 0%, #edf5ff 100%);
  border:1px solid #cfdef2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.calorie-bodyfat-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(140px,.55fr);
  gap:10px;
}
.calorie-divider{
  height:1px;
  background:linear-gradient(90deg, rgba(180,204,234,0), rgba(180,204,234,.95), rgba(180,204,234,0));
  margin:4px 0;
}
.calorie-button-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 220px));
  justify-content:center;
  gap:12px;
  padding-top:2px;
}
.calorie-btn,
.calorie-btn-secondary{
  width:100%;
  min-width:0;
  min-height:50px;
  padding:0 20px;
  border-radius:24px;
  border:0;
  cursor:pointer;
  font-weight:800;
  letter-spacing:-.02em;
}
.calorie-btn{
  color:#fff;
  background:linear-gradient(180deg, #2f79df 0%, #0b4bac 100%);
  box-shadow:0 18px 24px rgba(11,75,172,.20);
}
.calorie-btn-secondary{
  color:#fff;
  background:linear-gradient(180deg, #5b84c8 0%, #3b5ea0 100%);
  box-shadow:0 18px 24px rgba(59,94,160,.18);
}
.calorie-results-grid-3,
.calorie-results-grid-4,
.calorie-feature-grid,
.calorie-content-grid-3,
.calorie-content-grid-2,
.calorie-related-grid{
  display:grid;
  gap:16px;
}
.calorie-results-grid-3{grid-template-columns:repeat(3, minmax(0,1fr));}
.calorie-results-grid-4{grid-template-columns:repeat(4, minmax(0,1fr));}
.calorie-feature-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
.calorie-content-grid-3{grid-template-columns:repeat(3, minmax(0,1fr));}
.calorie-content-grid-2{grid-template-columns:repeat(2, minmax(0,1fr));}
.calorie-related-grid{grid-template-columns:repeat(4, minmax(0,1fr));}
.calorie-card{
  padding:18px;
  border-radius:22px;
}
.calorie-card h3,
.calorie-content-card h2,
.calorie-faq-card h2,
.calorie-related-head h2{
  margin:0;
  letter-spacing:-.04em;
  color:#1b4278;
}
.calorie-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(184,208,239,.82);
}
.calorie-card-head h3{font-size:1.15rem;}
.calorie-feature-icon,
.calorie-content-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(180deg, #3281ee 0%, #0e53b7 100%);
  box-shadow:0 12px 18px rgba(14,83,183,.18);
}
.calorie-stat-list,
.calorie-bullet-list{
  margin:0;
  padding:0;
  list-style:none;
}
.calorie-stat-list li,
.calorie-bullet-list li{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-top:1px dashed rgba(184,208,239,.9);
}
.calorie-stat-list li:first-child,
.calorie-bullet-list li:first-child{border-top:0;padding-top:0;}
.calorie-stat-label{
  font-weight:700;
  color:#2e4f80;
}
.calorie-stat-value{
  text-align:right;
  font-weight:900;
  font-size:1.1rem;
  color:#103a74;
}
.calorie-stat-value .unit{font-size:.94rem;font-weight:700;color:#506f9b;}
.calorie-stat-value.is-warm{color:#d0671b;}
.calorie-stat-value.is-cool{color:#0e53b7;}
.calorie-stat-value.is-green{color:#17844e;}
.calorie-range-note,
.calorie-small-note,
.calorie-disclaimer{
  margin:12px 0 0;
  padding:12px 14px;
  border-radius:16px;
  background:#f3f8ff;
  border:1px solid rgba(184,208,239,.92);
  color:var(--cc-muted);
  line-height:1.6;
}
.calorie-small-note{margin-top:14px;}
.calorie-disclaimer{
  background:#fff8f2;
  border-color:rgba(225,137,49,.24);
}
.calorie-highlight{
  display:grid;
  gap:10px;
  align-content:start;
}
.calorie-highlight-value{
  font-size:clamp(2rem, 3.5vw, 2.9rem);
  line-height:1;
  font-weight:900;
  letter-spacing:-.07em;
  color:#103a74;
}
.calorie-highlight-label{
  font-size:.86rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#5a7aa5;
}
.calorie-highlight-sub{
  color:#355887;
  font-weight:700;
  line-height:1.6;
}
.calorie-progress{
  position:relative;
  height:16px;
  border-radius:999px;
  background:linear-gradient(90deg, #d8e8fb 0%, #b7d4f9 100%);
  overflow:hidden;
}
.calorie-progress::after{
  content:'';
  position:absolute;
  inset:0;
  width:var(--progress, 50%);
  border-radius:999px;
  background:linear-gradient(90deg, #66b3ff 0%, #1160cb 100%);
}
.calorie-progress.is-loss::after{background:linear-gradient(90deg, #7ab5ff 0%, #2b74dc 100%);}
.calorie-progress.is-gain::after{background:linear-gradient(90deg, #ffd17a 0%, #e07f15 100%);}
.calorie-progress.is-maintain::after{background:linear-gradient(90deg, #97daff 0%, #1e92d0 100%);}
.calorie-badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:#31588d;
}
.calorie-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 12px;
  border-radius:999px;
  background:#edf5ff;
  border:1px solid #cfe0f5;
  font-weight:700;
}
.calorie-content-card,
.calorie-faq-card,
.calorie-related-card{
  padding:22px;
}
.calorie-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.calorie-section-head p,
.calorie-related-head p{margin:8px 0 0;}
.calorie-table-wrap{
  overflow-x:auto;
  border-radius:18px;
  border:1px solid rgba(184,208,239,.9);
  background:#fff;
}
.calorie-table{
  width:100%;
  border-collapse:collapse;
  min-width:620px;
}
.calorie-table th,
.calorie-table td{
  padding:13px 14px;
  text-align:left;
  border-bottom:1px solid rgba(184,208,239,.75);
  vertical-align:top;
}
.calorie-table thead th{
  color:#244a80;
  background:#eef5ff;
}
.calorie-table tbody tr:last-child td{border-bottom:0;}
.calorie-formula{
  margin:0;
  padding:14px 16px;
  border-radius:16px;
  background:#eff6ff;
  border:1px solid #d4e4f8;
  color:#21477d;
  line-height:1.7;
  font-weight:700;
}
.calorie-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:999px;
  color:#0d56ba;
  background:#eaf3ff;
  border:1px solid #c8dbf3;
}
.calorie-faq-list{
  display:grid;
  gap:12px;
}
.calorie-faq-item{
  border-radius:18px;
  border:1px solid rgba(184,208,239,.9);
  background:#fbfdff;
  padding:0 16px;
}
.calorie-faq-item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:60px;
  color:#1f477e;
}
.calorie-faq-item summary::-webkit-details-marker{display:none;}
.calorie-faq-item summary::after{
  content:'+';
  font-size:1.3rem;
  font-weight:900;
  color:#1e63c7;
}
.calorie-faq-item[open] summary::after{content:'−';}
.calorie-faq-item p{margin:0 0 16px;}
.calorie-related-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.calorie-related-card{
  display:grid;
  gap:8px;
  align-content:start;
}
.calorie-related-card span{
  font-size:1rem;
  font-weight:800;
  color:#1f477e;
}
@media (max-width: 1180px){
  .calorie-results-grid-4,
  .calorie-feature-grid,
  .calorie-related-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 980px){
  .calorie-grid-4,
  .calorie-grid-3,
  .calorie-grid-2,
  .calorie-results-grid-3,
  .calorie-results-grid-4,
  .calorie-feature-grid,
  .calorie-content-grid-3,
  .calorie-content-grid-2,
  .calorie-related-grid,
  .calorie-bodyfat-row{grid-template-columns:1fr;}
  .calorie-hero-head{padding-bottom:92px;}
  .calorie-toolbar{align-items:stretch;}
  .calorie-shell-top .calorie-hero-pills{justify-content:flex-start;}
}
@media (max-width: 720px){
  .calorie-hero{padding:22px 18px 18px; border-radius:24px;}
  .calorie-hero::before{height:170px; bottom:58px;}
  .calorie-hero::after{height:120px; bottom:-18px;}
  .calorie-hero-head{padding:4px 0 74px;}
  .calorie-brand{font-size:1.2rem;}
  .calorie-brand-badge{width:46px;height:46px;border-radius:16px;}
  .calorie-shell{padding:14px; border-radius:22px;}
  .calorie-shell-panel,
  .calorie-content-card,
  .calorie-faq-card,
  .calorie-related-card,
  .calorie-card{padding:16px; border-radius:18px;}
  .calorie-shell-top .calorie-brand{font-size:.96rem;}
  .calorie-shell-top .calorie-brand-badge{width:38px;height:38px;border-radius:12px;}
  .calorie-shell-top .calorie-hero-pills{gap:8px;}
  .calorie-shell-top .calorie-hero-pill{min-height:34px; padding:0 10px; font-size:.84rem;}
  .calorie-btn,
  .calorie-btn-secondary{min-height:48px; border-radius:20px; font-size:1rem;}
  .calorie-button-row{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
  .calorie-toolbar-copy p,
  .calorie-content-card p,
  .calorie-bullet-list li,
  .calorie-faq-item p,
  .calorie-table-wrap td,
  .calorie-table-wrap th{font-size:.95rem;}
}

@media (max-width: 420px){
  .calorie-shell-head::before,
  .calorie-shell-head::after{display:none;}
  .calorie-shell-head{justify-content:flex-start;}
  .calorie-unit-toggle{width:100%;}
  .calorie-unit-toggle button{flex:1 1 0; min-width:0; padding:0 10px; font-size:.9rem;}
  .calorie-button-row{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .calorie-btn,
  .calorie-btn-secondary{padding:0 12px;}
}
