/* Body Proportions Calculator — bodyshapecalculator.net */
.bp-wrap,.bp-wrap *,.bp-wrap *::before,.bp-wrap *::after{box-sizing:border-box}
.bp-wrap{--bp-bg:#0d0d0d;--bp-surface:#161616;--bp-card:#1e1e1e;--bp-gold:#c9a84c;--bp-gold-l:#e8c97a;--bp-cream:#f5efe0;--bp-muted:#8a8a8a;--bp-border:#2a2a2a;--bp-b:#4fd1c5;--bp-text:#f0e8d8;
  --bp-serif:"Playfair Display",Georgia,"Times New Roman",serif;--bp-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-family:var(--bp-sans);background:var(--bp-bg);color:var(--bp-text);line-height:1.6;-webkit-font-smoothing:antialiased;position:relative;padding-bottom:64px}
.bp-wrap::before{content:"";position:absolute;top:0;left:0;width:60%;height:520px;background:radial-gradient(circle at 20% 10%,rgba(201,168,76,.08) 0,transparent 65%);pointer-events:none}
.bp-wrap [hidden]{display:none!important}
.bp-wrap button{font-family:inherit}
.bp-wrap :focus-visible{outline:2px solid var(--bp-gold);outline-offset:3px;border-radius:6px}
.bp-wrap a{color:var(--bp-gold-l);text-decoration:none;border-bottom:1px solid rgba(232,201,122,.35)}
.bp-wrap a:hover{border-bottom-color:var(--bp-gold-l)}
.bp-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.bp-container{max-width:780px;margin:0 auto;padding:36px 24px 4px;position:relative;z-index:1}
.bp-header{text-align:center;margin-bottom:14px}
.bp-eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--bp-gold);margin:0 0 14px;font-weight:500}
.bp-h1{font-family:var(--bp-serif);font-size:clamp(32px,5.4vw,48px);font-weight:900;line-height:1.05;color:var(--bp-cream);margin:0 0 10px}
.bp-h1 span{color:var(--bp-gold);font-style:italic}
.bp-subtitle{color:var(--bp-muted);font-size:15px;max-width:600px;margin:0 auto}
.bp-trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:12px 0 4px;font-size:12.5px;color:var(--bp-muted)}
.bp-trust-row span{white-space:nowrap}
.bp-updated{text-align:center;font-size:11.5px;color:#555;margin:0 0 16px}

/* mobile summary strip */
.bp-stripwrap{display:none}
.bp-strip{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;min-height:38px}
.bp-strip-empty{font-size:12.5px;color:var(--bp-muted)}
.bp-chip{display:inline-flex;align-items:baseline;gap:6px;background:#1b1b1b;border:1px solid #2c2c2c;border-radius:100px;padding:5px 12px}
.bp-chip i{font-style:normal;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--bp-muted);font-weight:600}
.bp-chip b{font-family:var(--bp-serif);font-size:16px;color:var(--bp-cream)}

/* layout */
.bp-tool{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:24px;max-width:1120px;margin:0 auto;padding:0 24px;position:relative;z-index:1;align-items:start}
.bp-panel{position:sticky;top:calc(var(--bp-hdr,58px) + 12px);background:var(--bp-card);border:1px solid var(--bp-border);border-radius:18px;padding:18px;max-height:calc(100vh - var(--bp-hdr,58px) - 28px);overflow:auto}
.bp-lbl{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--bp-gold);font-weight:500;margin:0 0 8px}
.bp-panel .bp-lbl.bp-sec{margin-top:18px}
.bp-seg{display:inline-flex;background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:100px;padding:3px}
.bp-seg button{border:none;background:transparent;color:var(--bp-muted);padding:7px 18px;border-radius:100px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s,color .2s}
.bp-seg button.is-on{background:var(--bp-gold);color:#000}
.bp-row2{display:flex;flex-wrap:wrap;gap:14px 24px;margin-bottom:12px}
.bp-help{font-size:11.5px;color:var(--bp-muted);margin:2px 0 0}
.bp-helplink{font-size:12.5px;margin:0 0 6px}
.bp-field{padding:8px 0 6px;border-top:1px solid #262626}
.bp-field:first-child{border-top:none}
.bp-ftop{display:flex;align-items:center;gap:8px}
.bp-ftop label{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--bp-cream);font-weight:600}
.bp-tipbtn{width:20px;height:20px;border-radius:50%;border:1px solid #3a3a3a;background:transparent;color:#8a8a8a;font-size:11px;line-height:1;cursor:pointer;padding:0;flex-shrink:0}
.bp-tipbtn:hover,.bp-tipbtn[aria-expanded="true"]{border-color:var(--bp-gold);color:var(--bp-gold-l)}
.bp-iw{margin-left:auto;position:relative;width:118px}
.bp-wrap input[type=number]{width:100%;background:transparent;border:none;border-bottom:1px solid var(--bp-border);padding:3px 30px 3px 0;font-size:20px;font-family:var(--bp-serif);color:var(--bp-cream);outline:none;text-align:right;-moz-appearance:textfield;transition:border-color .2s}
.bp-wrap input[type=number]::-webkit-outer-spin-button,.bp-wrap input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bp-wrap input[type=number]:focus{border-bottom-color:var(--bp-gold)}
.bp-wrap input[type=number]::placeholder{color:#444}
.bp-wrap input[aria-invalid="true"]{border-bottom-color:#d97a7a}
.bp-unit{position:absolute;right:0;bottom:6px;font-size:11.5px;color:var(--bp-muted)}
.bp-tip{font-size:12.5px;color:#a9a9a9;background:#181818;border:1px solid #2a2a2a;border-radius:10px;padding:8px 12px;margin:8px 0 0}
.bp-err{font-size:12px;color:#e59a9a;margin:4px 0 0}
.bp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.bp-btn{flex:1 1 auto;text-align:center;padding:10px 14px;border-radius:12px;border:1px solid var(--bp-border);background:#1a1a1a;color:var(--bp-cream)!important;font-size:13.5px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.bp-btn:hover{border-color:var(--bp-gold);color:var(--bp-gold-l)!important}
.bp-btn.is-primary{background:var(--bp-gold);border-color:var(--bp-gold);color:#000!important;border-bottom:1px solid var(--bp-gold)}
.bp-btn.is-primary:hover{background:var(--bp-gold-l);color:#000!important}
.bp-btn.is-off{opacity:.55}

/* results */
.bp-results-col{min-width:0}
.bp-summary{background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.28);border-left:4px solid var(--bp-gold);border-radius:12px;padding:12px 16px;font-size:15px;color:#e6dfcd;margin:0 0 6px}
.bp-group{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--bp-gold);font-weight:600;margin:22px 0 10px}
.bp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.bp-card{background:var(--bp-card);border:1px solid var(--bp-border);border-radius:16px;padding:15px 16px 14px;min-width:0}
.bp-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}
.bp-card h3{font-size:12.5px;letter-spacing:.6px;font-weight:600;color:var(--bp-cream);margin:0;line-height:1.35}
.bp-tag{flex-shrink:0;font-size:10.5px;font-weight:600;border-radius:100px;padding:3px 9px;white-space:nowrap;border:1px solid #333;color:#b9b2a2;background:#191919}
.bp-tag-ok{color:#e8c97a;border-color:rgba(201,168,76,.5);background:rgba(201,168,76,.12)}
.bp-tag-mid{color:#f0b26a;border-color:rgba(222,150,70,.5);background:rgba(222,150,70,.12)}
.bp-tag-hi{color:#f09a92;border-color:rgba(200,90,80,.5);background:rgba(200,90,80,.12)}
.bp-tag-lo{color:#9fb7d3;border-color:rgba(120,150,190,.5);background:rgba(120,150,190,.12)}
.bp-val{font-family:var(--bp-serif);font-size:34px;font-weight:700;color:var(--bp-cream);line-height:1.1;margin:2px 0 10px}
.bp-val .bp-shape{font-size:24px}
.bp-gauge{position:relative;height:14px;margin:4px 0 2px}
.bp-zones{position:absolute;inset:4px 0;border-radius:6px;overflow:hidden;background:#262626}
.bp-z{position:absolute;top:0;bottom:0}
.bp-z-ok{background:rgba(201,168,76,.6)}.bp-z-mid{background:rgba(222,150,70,.6)}.bp-z-hi{background:rgba(200,90,80,.6)}.bp-z-lo{background:rgba(120,150,190,.5)}.bp-z-n{background:rgba(255,255,255,.10)}
.bp-marker{position:absolute;top:0;width:4px;height:14px;margin-left:-2px;background:#fff;border-radius:2px;box-shadow:0 0 0 2px #141414}
.bp-tick{position:absolute;top:-1px}
.bp-tick i{position:absolute;left:0;top:0;width:1px;height:16px;background:rgba(255,255,255,.55)}
.bp-tick em{position:absolute;top:19px;left:0;transform:translateX(-50%);font-style:normal;font-size:10px;color:#9a9a9a;white-space:nowrap}
.bp-scale{display:flex;justify-content:space-between;font-size:10px;color:#666;margin:2px 0 0}
.bp-note{font-size:12.5px;color:#a9a396;line-height:1.5;margin:14px 0 0}
.bp-formula{font-size:11.5px;color:#7f7f7f;margin:6px 0 0;font-variant-numeric:tabular-nums}
.bp-empty{background:var(--bp-card);border:1px dashed #3a3a3a;border-radius:16px;padding:26px 24px}
.bp-empty h3{font-family:var(--bp-serif);font-size:22px;color:var(--bp-cream);margin:0 0 8px}
.bp-empty p{color:#b0a999;font-size:14.5px;margin:0 0 12px}
.bp-empty .bp-btn{flex:none;display:inline-block}
.bp-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#1e1e1e;border:1px solid var(--bp-gold);color:var(--bp-cream);padding:10px 18px;border-radius:100px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:200}
.bp-toast.is-on{opacity:1;transform:translate(-50%,0)}
.bp-noscript{max-width:640px;margin:24px auto;padding:16px 20px;border:1px solid var(--bp-border);border-radius:12px;color:#b0a999;text-align:center}

@media (max-width:980px){
  .bp-stripwrap{display:block;position:sticky;top:var(--bp-hdr,58px);z-index:30;background:rgba(13,13,13,.94);backdrop-filter:blur(6px);border-bottom:1px solid #222;padding:6px 14px;margin-bottom:12px}
  .bp-tool{grid-template-columns:1fr;gap:16px;padding:0 14px}
  .bp-panel{position:static;max-height:none;overflow:visible}
  .bp-container{padding-top:30px}
  .bp-cards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.bp-wrap *{transition-duration:.01ms!important}}

/* h1 sub line */
.bp-h1 .bp-h1-sub{display:block;font-family:var(--bp-sans);font-size:clamp(14px,2.3vw,19px);font-weight:500;font-style:normal;letter-spacing:.6px;color:#b9b2a2;margin-top:12px;line-height:1.35}

/* ---------- long-form article ---------- */
.bp-content{max-width:820px;margin:64px auto 0;padding:0 24px;position:relative;z-index:1}
.bp-article section{margin-top:52px;scroll-margin-top:calc(var(--bp-hdr,58px) + 16px)}
.bp-article h2{font-family:var(--bp-serif);font-size:clamp(25px,3.6vw,33px);font-weight:900;line-height:1.2;color:var(--bp-cream);margin:0 0 16px}
.bp-article h3{font-size:19px;font-weight:700;line-height:1.3;color:var(--bp-cream);margin:30px 0 8px}
.bp-article p{font-size:16px;line-height:1.78;color:#cfc8b8;margin:0 0 16px}
.bp-article strong{color:var(--bp-cream);font-weight:600}
.bp-article em{color:#e6dfcd}
.bp-article ul,.bp-article ol{margin:0 0 18px;padding-left:22px;color:#cfc8b8;line-height:1.75}
.bp-article li{margin:0 0 8px;font-size:16px}
.bp-toc{background:var(--bp-card);border:1px solid var(--bp-border);border-radius:16px;padding:18px 22px 10px;margin-bottom:8px}
.bp-toc-h{font-size:11px!important;letter-spacing:2px;text-transform:uppercase;color:var(--bp-gold)!important;font-weight:500;margin:0 0 10px!important}
.bp-toc ol{list-style:none;margin:0;padding:0;columns:2;column-gap:28px}
.bp-toc li{margin:0 0 8px;break-inside:avoid;font-size:14.5px}
.bp-toc a{border-bottom:none}
.bp-answer{background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.28);border-left:4px solid var(--bp-gold);border-radius:12px;padding:16px 18px;font-size:17px!important;color:#e6dfcd!important}
ol.bp-steps{list-style:none;counter-reset:step;padding:0;margin:8px 0 22px}
ol.bp-steps>li{counter-increment:step;position:relative;padding:2px 0 22px 58px;margin:0;border-left:0}
ol.bp-steps>li::before{content:counter(step);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--bp-gold);color:#000;font-family:var(--bp-serif);font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center}
ol.bp-steps>li::after{content:"";position:absolute;left:18px;top:42px;bottom:4px;width:2px;background:linear-gradient(#3a3320,transparent)}
ol.bp-steps>li:last-child::after{display:none}
.bp-article .bp-step-h{font-size:18px;margin:4px 0 6px}
ol.bp-steps p{margin:0;font-size:15.5px}
.bp-callout{background:#191919;border:1px solid #2c2c2c;border-left:4px solid var(--bp-gold);border-radius:12px;padding:14px 18px;margin:18px 0}
.bp-callout p{margin:0!important;font-size:15px!important}
.bp-checks{list-style:none;padding-left:0!important}
.bp-checks li{position:relative;padding-left:28px}
.bp-checks li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--bp-gold);font-weight:700}
.bp-tablewrap{overflow-x:auto;margin:0 0 20px;border:1px solid var(--bp-border);border-radius:14px;background:var(--bp-card);-webkit-overflow-scrolling:touch}
.bp-t{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
.bp-t th,.bp-t td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #262626;line-height:1.5;color:#cfc8b8}
.bp-t thead th{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--bp-gold);font-weight:600;white-space:nowrap;background:#1a1a1a}
.bp-t tbody th{color:var(--bp-cream);font-weight:600;white-space:nowrap}
.bp-t tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.bp-t tr:last-child th,.bp-t tr:last-child td{border-bottom:none}
.bp-t-num td:not(:first-child),.bp-t-num th:not(:first-child){white-space:nowrap}
.bp-t-meas tbody th,.bp-t-ratio tbody th,.bp-t-ai tbody th,.bp-t-sex tbody th{white-space:normal;min-width:130px}
.bp-fig{margin:22px 0}
.bp-fig img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--bp-border);background:#111}
.bp-fig figcaption{font-size:13px;color:var(--bp-muted);margin-top:8px;line-height:1.5}
.bp-faq-item{background:var(--bp-card);border:1px solid var(--bp-border);border-radius:14px;margin:0 0 10px;overflow:hidden}
.bp-faq-item summary{list-style:none;cursor:pointer;padding:15px 48px 15px 18px;position:relative}
.bp-faq-item summary::-webkit-details-marker{display:none}
.bp-faq-item summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--bp-gold);font-weight:400}
.bp-faq-item[open] summary::after{content:"\2212"}
.bp-faq-item summary h3{margin:0;font-size:16.5px;font-weight:600;color:var(--bp-cream);line-height:1.4}
.bp-faq-a{padding:0 18px 6px}
.bp-faq-a p{font-size:15.5px;margin:0 0 12px}
.bp-related{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bp-related li{margin:0}
.bp-related a{display:block;height:100%;background:var(--bp-card);border:1px solid var(--bp-border)!important;border-radius:14px;padding:14px 16px;transition:border-color .2s}
.bp-related a:hover{border-color:var(--bp-gold)!important}
.bp-related strong{display:block;color:var(--bp-gold-l);font-size:15px;margin-bottom:3px}
.bp-related span{display:block;color:#b0a999;font-size:13.5px;line-height:1.5}
.bp-refs{font-size:13.5px;color:#a9a396}
.bp-refs li{font-size:13.5px;margin-bottom:8px}
.bp-meta{font-size:13px!important;color:#7f7f7f!important;margin-top:18px!important}
@media (max-width:640px){
  .bp-toc ol{columns:1}
  .bp-related{grid-template-columns:1fr}
  .bp-content{margin-top:44px}
  .bp-article p,.bp-article li{font-size:15.5px}
  ol.bp-steps>li{padding-left:50px}
  ol.bp-steps>li::before{width:34px;height:34px;font-size:17px}
  ol.bp-steps>li::after{left:16px}
}
