/* ===== Penile Size Estimator tool ===== */
.svc-section.pi-calc-band{padding:clamp(20px,2.4vw,36px) 0}
.svc-section:has(+ .pi-calc-band){padding-bottom:clamp(20px,2.4vw,36px)}
.pi-calc-band + .svc-section{padding-top:clamp(20px,2.4vw,36px)}
.svc-center-head.pi-calc-head{max-width:none;margin:0 auto 16px}
.svc-center-head.pi-calc-head h2{font-size:clamp(24px,2.6vw,34px);margin:0}
.pi-calc-intro{max-width:720px;margin:10px auto 0}
.pi-calc{--pc-dark:var(--c-primary-950);--pc-brown:var(--c-primary-700);--pc-tan:var(--c-primary-300);--pc-cream:var(--c-bg-alt);--pc-track:#ece3d5;--pc-err:#b4483c;max-width:1120px;margin:0 auto;border:1px solid var(--c-line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 12px 48px -18px rgba(0,0,0,.14)}
.pi-calc *{box-sizing:border-box}
.pi-calc button{font:inherit;cursor:pointer;border:0;background:none}
.pi-calc-top{background:var(--pc-dark);padding:18px 28px 16px;color:#fff}
.pi-calc-toplabel{font-family:var(--font-sans);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--pc-tan);margin:0 0 6px}
.pi-calc-toptitle{font-family:var(--font-display);font-size:22px;line-height:1.2;color:#fff;margin:0}
.pi-calc-steps{display:flex;gap:8px;margin-top:14px}
.pi-calc-stepbar{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.18)}
.pi-calc-stepbar.done{background:var(--pc-tan)}
.pi-calc-stepcount{font-family:var(--font-sans);font-size:12px;letter-spacing:1px;color:rgba(255,255,255,.7);margin:8px 0 0}
.pi-calc-body{padding:22px 28px 20px}
.pi-calc-question{font-family:var(--font-display);font-size:23px;line-height:1.25;color:var(--c-text);margin:0 0 8px}
.pi-calc-help{font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--c-text-soft);margin:0 0 14px}
.pi-calc-howto{background:var(--pc-cream);border-left:3px solid var(--pc-tan);border-radius:0 8px 8px 0;padding:14px 18px;margin:0 0 16px}
.pi-calc-howto.with-figure{display:flex;gap:24px;align-items:center}
.pi-calc-howto-text{flex:1 1 auto;min-width:0}
.pi-calc-howto-title{font-family:var(--font-sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--pc-brown);margin:0 0 8px}
.pi-calc-howto-list{margin:0;padding:0;list-style:none}
.pi-calc-howto-list li{position:relative;padding-left:20px;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--c-text-soft);margin-bottom:4px}
.pi-calc-howto-list li:last-child{margin-bottom:0}
.pi-calc-howto-list li::before{content:"";position:absolute;left:4px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--pc-tan)}
.pi-calc-figure{flex:0 0 260px;max-width:260px;margin:0}
.pi-calc-figure svg{width:100%;height:auto;display:block}
.pi-calc-inputrow{display:flex;align-items:center;gap:12px;max-width:260px}
.pi-calc-input{flex:1;width:100%;font-family:var(--font-sans);font-size:22px;color:var(--c-text);padding:11px 14px;border:1px solid #d8cec2;border-radius:8px;background:#fff;outline:none;transition:border-color .2s}
.pi-calc-input:focus{border-color:var(--pc-brown)}
.pi-calc-input.err{border-color:var(--pc-err)}
.pi-calc-unit{font-family:var(--font-sans);font-size:18px;color:var(--c-text-muted)}
.pi-calc-example{font-family:var(--font-sans);font-size:14px;color:var(--c-text-muted);margin:8px 0 0}
.pi-calc-error{font-family:var(--font-sans);font-size:14px;color:var(--pc-err);margin:10px 0 0}
.pi-calc-actions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.pi-calc button.pi-calc-next{font-family:var(--font-sans);font-size:13px;letter-spacing:2px;text-transform:uppercase;background:var(--pc-dark);color:#fff;padding:12px 30px;border-radius:6px;transition:background .2s}
.pi-calc button.pi-calc-next:hover{background:var(--pc-brown)}
.pi-calc-back,.pi-calc-reset{font-family:var(--font-sans);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--pc-brown);padding:12px 8px}
.pi-calc-back:hover,.pi-calc-reset:hover{color:var(--c-text)}
.pi-calc-resulttop{background:var(--pc-cream);padding:20px 28px;border-bottom:1px solid var(--c-line)}
.pi-calc-resultlabel{font-family:var(--font-sans);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--pc-brown);margin:0 0 8px}
.pi-calc-resulttitle{font-family:var(--font-display);font-size:24px;margin:0;color:var(--c-text)}
.pi-calc-section{padding:20px 28px;border-bottom:1px solid var(--c-line)}
.pi-calc-section:last-child{border-bottom:none}
.pi-calc-sectiontitle{font-family:var(--font-sans);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--pc-brown);margin:0 0 14px}
.pi-calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pi-calc-tile{background:var(--pc-cream);border-radius:8px;padding:14px 16px}
.pi-calc-tile.hi{background:var(--pc-dark)}
.pi-calc-tilelabel{font-family:var(--font-sans);font-size:13px;line-height:1.4;color:var(--pc-brown);margin:0 0 6px}
.pi-calc-tile.hi .pi-calc-tilelabel{color:var(--pc-tan)}
.pi-calc-tilevalue{font-family:var(--font-display);font-size:24px;color:var(--c-text);margin:0}
.pi-calc-tile.hi .pi-calc-tilevalue{color:#fff}
.pi-calc-compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 36px}
.pi-calc-compare-group{margin-bottom:0}
.pi-calc-compare-title{font-family:var(--font-sans);font-size:15px;font-weight:600;color:var(--c-text);margin:0 0 10px}
.pi-calc-bar{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.pi-calc-barlabel{flex:0 0 88px;font-family:var(--font-sans);font-size:13px;color:var(--c-text-muted)}
.pi-calc-bartrack{display:block;flex:1;height:18px;background:var(--pc-track);border-radius:4px;overflow:hidden}
.pi-calc-barfill{display:block;height:100%;border-radius:4px;background:var(--pc-tan);transition:width .5s ease}
.pi-calc-barfill.after{background:var(--pc-brown)}
.pi-calc-barvalue{flex:0 0 62px;text-align:right;font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--c-text)}
.pi-calc-rows{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);column-gap:36px}
.pi-calc-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed var(--c-line);font-family:var(--font-sans);font-size:15px}
.pi-calc-row:nth-last-child(-n+2){border-bottom:none}
.pi-calc-rowlabel{color:var(--c-text-soft)}
.pi-calc-rowlabel.strong{font-weight:600;color:var(--c-text)}
.pi-calc-rowvalue{font-weight:600;color:var(--c-text);white-space:nowrap}
.pi-calc-note{background:var(--pc-cream);border-left:3px solid var(--pc-tan);border-radius:0 8px 8px 0;padding:14px 18px;margin:0 0 16px}
.pi-calc-note p{font-family:var(--font-sans);font-size:14px;line-height:1.55;color:var(--c-text-soft);margin:0 0 8px}
.pi-calc-note p:last-child{margin-bottom:0}
.pi-calc-cta{display:inline-block;font-family:var(--font-sans);font-size:13px;letter-spacing:2px;text-transform:uppercase;background:var(--pc-dark);color:#fff;padding:12px 30px;border-radius:6px;transition:background .2s}
.pi-calc-cta:hover{background:var(--pc-brown);color:#fff}
.pi-calc .ruler{fill:#fff;stroke:var(--pc-tan);stroke-width:1}
.pi-calc .tick{stroke:var(--pc-tan);stroke-width:1}
.pi-calc .boneLine{stroke:var(--pc-brown);stroke-width:1.4;stroke-dasharray:4 4}
.pi-calc .bodyBlock{fill:#efe7dc}
.pi-calc .shaft{fill:#f2ece4;stroke:var(--pc-tan);stroke-width:1.2}
.pi-calc .dimLine{stroke:var(--pc-brown);stroke-width:2;fill:none;stroke-dasharray:170;stroke-dashoffset:170;animation:piDrawDim 3.2s ease-in-out infinite}
.pi-calc .arrowHead{stroke:var(--pc-brown);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pi-calc .marker{fill:var(--pc-brown);animation:piMarkerMove 3.2s ease-in-out infinite}
.pi-calc .pressArrow{stroke:var(--pc-err);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;animation:piPressPulse 1.7s ease-in-out infinite}
.pi-calc .figLabel{fill:var(--pc-brown);font-family:var(--font-sans);font-size:10px}
.pi-calc .figLabelStrong{fill:var(--c-text);font-family:var(--font-sans);font-size:10px;letter-spacing:1px;text-transform:uppercase}
.pi-calc .figLabelWarn{fill:var(--pc-err);font-family:var(--font-sans);font-size:9px}
@keyframes piDrawDim{0%{stroke-dashoffset:170}55%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes piMarkerMove{0%{transform:translateX(0);opacity:0}8%{opacity:1}55%{transform:translateX(160px);opacity:1}70%{transform:translateX(160px);opacity:0}100%{transform:translateX(160px);opacity:0}}
@keyframes piPressPulse{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(-4px);opacity:1}}
@media (prefers-reduced-motion:reduce){.pi-calc .dimLine{animation:none;stroke-dashoffset:0}.pi-calc .marker{animation:none;opacity:0}.pi-calc .pressArrow{animation:none;opacity:1}}
@media (max-width:900px){.pi-calc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.pi-calc-compare-grid{grid-template-columns:1fr}.pi-calc-rows{grid-template-columns:1fr}.pi-calc-row:nth-last-child(-n+2){border-bottom:1px dashed var(--c-line)}.pi-calc-row:last-child{border-bottom:none}}
@media (max-width:700px){.pi-calc-top,.pi-calc-body,.pi-calc-section,.pi-calc-resulttop{padding-left:20px;padding-right:20px}.pi-calc-question{font-size:22px}.pi-calc-resulttitle{font-size:23px}.pi-calc-grid{grid-template-columns:1fr}.pi-calc-barlabel{flex-basis:66px;font-size:12px}.pi-calc-next,.pi-calc-cta{width:100%;text-align:center}.pi-calc-howto.with-figure{flex-direction:column;align-items:stretch}.pi-calc-figure{flex-basis:auto;max-width:320px;margin:6px auto 0}}
