:root{--bg:#000}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:#fff}
body{min-height:100vh}
.page{position:relative;width:100%;margin:0 auto;background:#000;overflow:hidden}
.page img.visual{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.hotspot{position:absolute;display:block;z-index:5;background:transparent;border:0;text-decoration:none;color:transparent;font-size:0}
.hotspot:focus-visible{outline:2px solid #d8a74d;outline-offset:2px}
/* Header hotspots — calibrated against supplied mockups */
.home .h-home{left:51.1%;top:1.7%;width:7.8%;height:3.6%}
.home .h-services{left:58.8%;top:1.7%;width:8.2%;height:3.6%}
.home .h-about{left:67.0%;top:1.7%;width:8.5%;height:3.6%}
.home .h-contact{left:75.4%;top:1.7%;width:9.0%;height:3.6%}
.home .h-cta{left:85.8%;top:1.0%;width:12.1%;height:4.8%}
.home .hero-services{left:4.7%;top:37.4%;width:22.5%;height:3.6%}
.home .about-cta{left:7.9%;top:86.0%;width:21.2%;height:3.4%}
.home .wa{left:48.5%;top:91.5%;width:38%;height:6%}

.services .h-home{left:48.0%;top:1.2%;width:7.5%;height:5.3%}
.services .h-services{left:55.3%;top:1.2%;width:8.6%;height:5.3%}
.services .h-about{left:63.0%;top:1.2%;width:9.0%;height:5.3%}
.services .h-contact{left:70.8%;top:1.2%;width:9.3%;height:5.3%}
.services .h-cta{left:83.4%;top:1.4%;width:12.0%;height:5.2%}

.about .h-home{left:48.7%;top:1.3%;width:7.3%;height:5.2%}
.about .h-services{left:56.2%;top:1.3%;width:8.4%;height:5.2%}
.about .h-about{left:64.0%;top:1.3%;width:8.7%;height:5.2%}
.about .h-contact{left:72.3%;top:1.3%;width:9.5%;height:5.2%}
.about .h-cta{left:85.0%;top:1.4%;width:12.8%;height:5.2%}
.about .body-cta{left:51.1%;top:77.3%;width:20.5%;height:6.8%}

.contact .h-home{left:51.4%;top:1.2%;width:7.6%;height:5.5%}
.contact .h-services{left:59.3%;top:1.2%;width:8.3%;height:5.5%}
.contact .h-about{left:67.1%;top:1.2%;width:8.7%;height:5.5%}
.contact .h-contact{left:76.0%;top:1.2%;width:9.0%;height:5.5%}
.contact .h-cta{left:86.7%;top:1.2%;width:11.8%;height:5.5%}
.contact .phone{left:46.0%;top:49.0%;width:28%;height:8.8%}
.contact .email{left:46.0%;top:62.5%;width:32%;height:8.8%}
.contact .body-cta{left:40.1%;top:77.0%;width:23.4%;height:7.0%}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){
  .page{width:100%}
  /* Keep exact visual proportions; browser scales the artwork */
}

/* Questionnaire section — added below the existing home artwork */
.quiz-section{background:#050505;border-top:1px solid #1b1b1b;padding:72px 24px 84px;color:#fff;font-family:inherit}
.quiz-wrap{max-width:980px;margin:0 auto}
.quiz-eyebrow{margin:0 0 14px;color:#d8a74d;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.quiz-title{margin:0;max-width:720px;font-size:clamp(32px,5vw,58px);font-weight:400;line-height:1.06;letter-spacing:.01em}
.quiz-title .gold{color:#d8a74d}
.quiz-intro{max-width:610px;margin:22px 0 38px;color:#b8b8b8;font-size:17px;line-height:1.65}
.quiz-card{border:1px solid #292929;background:linear-gradient(145deg,#0e0e0e,#070707);padding:34px;box-shadow:0 18px 55px rgba(0,0,0,.28)}
.quiz-progress{height:2px;background:#222;margin-bottom:32px;overflow:hidden}
.quiz-progress-bar{height:100%;width:16.66%;background:#d8a74d;transition:width .25s ease}
.quiz-step{display:none}
.quiz-step.active{display:block}
.quiz-count{color:#777;font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
.quiz-question{font-size:clamp(23px,3.2vw,34px);font-weight:400;line-height:1.2;margin:0 0 24px}
.quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quiz-option{appearance:none;-webkit-appearance:none;width:100%;text-align:left;border:1px solid #333;background:#111;color:#fff;padding:17px 18px;font:inherit;font-size:15px;letter-spacing:.02em;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.quiz-option:hover,.quiz-option:focus-visible{border-color:#d8a74d;background:#15120d;outline:none}
.quiz-option.selected{border-color:#d8a74d;background:#1a150e}
.quiz-nav{display:flex;justify-content:space-between;gap:14px;margin-top:28px}
.quiz-btn{border:1px solid #d8a74d;background:#d8a74d;color:#070707;padding:14px 20px;font:inherit;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.quiz-btn.secondary{background:transparent;color:#fff;border-color:#444}
.quiz-btn:disabled{opacity:.35;cursor:not-allowed}
.quiz-input{width:100%;border:1px solid #333;background:#101010;color:#fff;padding:16px 17px;font:inherit;font-size:16px;outline:none;margin-top:6px}
.quiz-input:focus{border-color:#d8a74d}
.quiz-final{display:none;text-align:left}
.quiz-final.active{display:block}
.quiz-final h3{font-size:clamp(28px,4vw,44px);font-weight:400;margin:0 0 14px}
.quiz-final p{max-width:620px;color:#b8b8b8;line-height:1.65;margin:0 0 26px}
.quiz-whatsapp{display:inline-block;background:#d8a74d;color:#050505;text-decoration:none;padding:16px 22px;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.quiz-note{margin-top:14px;font-size:12px;color:#6f6f6f}
@media(max-width:700px){
  .quiz-section{padding:54px 18px 64px}
  .quiz-card{padding:24px 18px}
  .quiz-options{grid-template-columns:1fr}
  .quiz-nav{align-items:stretch}
  .quiz-btn{flex:1}
}
.quiz-input-wrap{position:relative;max-width:420px}
.quiz-input-wrap .quiz-input{padding-right:64px}
.quiz-input-wrap span{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:#8c8c8c;font-size:14px;pointer-events:none}
.quiz-textarea{width:100%;box-sizing:border-box;border:1px solid #333;background:#101010;color:#fff;padding:16px 17px;font:inherit;font-size:15px;line-height:1.5;outline:none;margin-top:14px;resize:vertical}
.quiz-textarea:focus{border-color:#d8a74d}
.quiz-textarea[hidden]{display:none}


/* Personal training philosophy — Chi sono */
.philosophy-section{background:#050505;border-top:1px solid #1b1b1b;padding:76px 24px 86px;color:#fff;font-family:inherit}
.philosophy-wrap{max-width:980px;margin:0 auto}
.philosophy-eyebrow{margin:0 0 14px;color:#d8a74d;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.philosophy-title{margin:0;max-width:780px;font-size:clamp(32px,5vw,58px);font-weight:400;line-height:1.06;letter-spacing:.01em}
.philosophy-title span{color:#d8a74d}
.philosophy-copy{max-width:760px;margin:24px 0 0;color:#b8b8b8;font-size:17px;line-height:1.7}
.philosophy-highlight{max-width:860px;margin:34px 0 0;padding:24px 28px;border-left:3px solid #d8a74d;background:#0d0d0d;color:#fff;font-size:clamp(24px,3.6vw,38px);line-height:1.2;font-weight:400}
.philosophy-copy-last{margin-top:28px}
@media(max-width:700px){
  .philosophy-section{padding:56px 18px 66px}
  .philosophy-highlight{padding:20px 20px;font-size:26px}
}
