:root{
  --pink:#e47fa4;
  --pink-dark:#cf688f;
  --pink-soft:#fff1f6;
  --sage:#9db9a8;
  --sage-dark:#4f6e5d;
  --sage-soft:#eef6f1;
  --violet:#6f4a8e;
  --violet-soft:#f4eff8;
  --yellow:#e3b84c;
  --yellow-soft:#fff8e3;
  --red:#a93443;
  --red-soft:#fff0f2;
  --ink:#302d32;
  --muted:#706a72;
  --bg:#fcfafb;
  --card:#ffffff;
  --border:#ebe5ec;
  --shadow:0 10px 28px rgba(71,52,76,.07);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
}
.container{max-width:940px;margin:auto;padding-left:18px;padding-right:18px}

.hero{
  padding:52px 0 42px;
  background:var(--bg);
  color:var(--ink);
  text-align:center;
}
.hero-inner{max-width:760px}
.eyebrow{
  margin:0 0 9px;
  color:var(--sage-dark);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:800;
}
h1{
  margin:0;
  color:var(--violet);
  font-size:46px;
  line-height:1.08;
}
.hero-subtitle{
  max-width:690px;
  margin:14px auto 30px;
  color:var(--ink);
  font-size:19px;
  line-height:1.5;
}
.intro-card{
  padding:22px;
  text-align:left;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:var(--shadow);
}
.profile-row{
  display:flex;
  align-items:center;
  gap:16px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
}
.profile-photo-wrap{
  width:72px;
  height:86px;
  flex:0 0 72px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  background:transparent;
  border:0;
  border-radius:0;
}
.profile-photo{
  display:block;
  width:68px;
  height:84px;
  object-fit:contain;
  object-position:center bottom;
  transform:none;
}
.profile-identity{display:flex;flex-direction:column;gap:4px}
.profile-identity strong{font-size:18px}
.profile-identity span{font-size:14px;color:var(--muted)}
.intro-copy{padding:19px 0 4px}
.intro-copy h2{margin:0 0 10px;color:var(--sage-dark);font-size:20px}
.intro-copy p{margin:8px 0;line-height:1.6}
.intro-notice{
  margin-top:16px;
  padding:13px 15px;
  color:#725a16;
  background:var(--yellow-soft);
  border:1px solid #f0d994;
  border-radius:12px;
  line-height:1.5;
  font-size:14px;
}
.hero-button{
  margin-top:22px;
  min-width:270px;
}
.duration{
  margin:11px 0 0;
  color:var(--muted);
  font-size:14px;
}

main{padding-top:8px;padding-bottom:54px}
.card,.result,.notice{
  margin-bottom:20px;
  padding:22px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.alert-card{border-left:5px solid var(--yellow)}

.section-title{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.section-title span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  color:#fff;
  font-weight:800;
  border-radius:50%;
}
.section-title h2{margin:0;font-size:21px}
.section-title.pink span{background:var(--pink)}
.section-title.pink h2{color:var(--pink-dark)}
.section-title.green span{background:var(--sage)}
.section-title.green h2{color:var(--sage-dark)}
.section-title.violet span{background:var(--violet)}
.section-title.violet h2{color:var(--violet)}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px 14px}
label{display:block;margin:13px 0 7px;font-weight:700}
.checks label{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0;
  padding:10px;
  font-weight:400;
  line-height:1.4;
  border-radius:10px;
}
.checks label:hover{background:var(--sage-soft)}
.checks input{margin-top:3px;accent-color:var(--pink)}

input[type=text],input[type=email],input[type=number],select,textarea{
  width:100%;
  padding:12px;
  font-size:16px;
  color:var(--ink);
  background:#fff;
  border:1px solid #cfc7d0;
  border-radius:11px;
}
input:focus,select:focus,textarea:focus{
  outline:2px solid rgba(228,127,164,.22);
  border-color:var(--pink);
}
textarea{min-height:92px;resize:vertical}

.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 19px;
  color:#fff;
  font-weight:800;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  background:var(--pink);
  border:0;
  border-radius:12px;
}
.button:hover{background:var(--pink-dark)}
.button-secondary{background:#eee9ee;color:var(--ink)}
.button-secondary:hover{background:#e4dfe5}
.button-contact{background:var(--sage-dark)}
.button-contact:hover{background:#405b4d}
.hidden{display:none!important}

.result{padding:25px}
.result-header{margin-bottom:18px}
.result-header h2{margin:0;color:var(--violet);font-size:30px}
.result-eyebrow{color:var(--sage-dark)}
.result-section{margin:27px 0}
.result-section h3{margin:0 0 10px;color:var(--violet);font-size:20px}
.muted{margin:0 0 13px;color:var(--muted);font-size:14px;line-height:1.5}

.level{
  margin:10px 0 22px;
  padding:17px;
  border-radius:13px;
  line-height:1.55;
}
.level h3{margin:0 0 8px}
.level-physio{color:var(--sage-dark);background:var(--sage-soft)}
.level-recommended{color:var(--violet);background:var(--violet-soft)}
.level-essential{color:#8a3458;background:var(--pink-soft)}
.level-medical{color:#7e2734;background:var(--red-soft);border-left:5px solid var(--yellow)}

.personal-summary{
  padding:16px;
  color:var(--ink);
  background:var(--violet-soft);
  border-radius:13px;
  line-height:1.65;
}
.concise-priorities{padding:0}
.priority-card{
  position:relative;
  margin:10px 0;
  padding:15px 15px 15px 51px;
  border:1px solid var(--border);
  border-radius:13px;
  background:#fff;
}
.priority-number{
  position:absolute;
  left:13px;
  top:15px;
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  color:#fff;
  font-weight:800;
  background:var(--pink);
  border-radius:50%;
}
.priority-card h4{margin:0 0 5px;font-size:16px}
.priority-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.priority-tag{
  display:inline-block;
  margin-top:8px;
  padding:4px 8px;
  color:#863a5b;
  background:var(--pink-soft);
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}
.concise-domains{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
}
.compact-domain{
  padding:8px 11px;
  color:var(--sage-dark);
  background:var(--sage-soft);
  border-radius:999px;
  font-size:13px;
}
.compact-domain p,.compact-tag{display:none}
.compact-domain strong{font-size:13px}

.reassuring-box{
  padding:15px;
  color:var(--sage-dark);
  background:var(--sage-soft);
  border:1px solid #cfe0d5;
  border-radius:13px;
}
.reassuring-box ul{margin:0;padding-left:21px}
.reassuring-box li{margin:7px 0;line-height:1.5}

.aplv-box{
  padding:16px;
  color:#6c5214;
  background:var(--yellow-soft);
  border:1px solid #eed589;
  border-left:5px solid var(--yellow);
  border-radius:13px;
  line-height:1.55;
}
.aplv-box h4{margin:0 0 8px;color:#735816}

.next-step{
  padding:19px;
  background:var(--pink-soft);
  border-radius:15px;
}
.next-step p{line-height:1.62}
.booking-button{width:100%;margin-top:9px}

.email-report-card{
  margin-top:28px;
  padding:20px;
  background:var(--violet-soft);
  border:1px solid #dfd1e9;
  border-radius:16px;
}
.email-report-card h3{margin:0 0 10px;color:var(--violet)}
.email-report-card p{line-height:1.55}
.consent-label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:16px;
  font-weight:400;
  line-height:1.5;
}
.consent-label input{margin-top:4px;flex:0 0 auto;accent-color:var(--pink)}
.privacy-note{font-size:13px;color:var(--muted)}
.button-email{width:100%;margin-top:8px}
.email-status{min-height:22px;margin:12px 0 0;font-size:14px;font-weight:800}
.email-status.success{color:var(--sage-dark)}
.email-status.error{color:var(--red)}

.email-success{
  margin-top:26px;
  padding:21px;
  text-align:center;
  background:var(--sage-soft);
  border:1px solid #cadfd1;
  border-radius:16px;
}
.email-success h3{margin:0 0 10px;color:var(--sage-dark)}
.email-success p{line-height:1.6}
.success-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}

.contact-block{
  margin-top:24px;
  padding-top:18px;
  text-align:center;
  border-top:1px solid var(--border);
}
.contact-block p{margin:0 0 6px;color:var(--muted)}
.text-contact{color:var(--violet);font-weight:800;text-decoration:none}

footer{
  padding:25px 0;
  color:#fff;
  font-size:13px;
  line-height:1.5;
  background:#342d38;
}

@media(max-width:700px){
  .hero{padding:37px 0 32px}
  h1{font-size:35px}
  .hero-subtitle{font-size:16px;margin-bottom:23px}
  .intro-card{padding:18px}
  .profile-photo-wrap{width:58px;height:72px;flex-basis:58px}
  .profile-identity strong{font-size:16px}
  .profile-identity span{font-size:13px}
  .hero-button{width:100%;min-width:0}
  .card,.result{padding:18px}
  .result-header h2{font-size:25px}
  .success-actions .button{width:100%}
}

@media print{
  .hero,form,footer,.email-report-card,.contact-block,.booking-button{display:none!important}
  .result{display:block!important;border:0;box-shadow:none}
  body{background:#fff}
}


.observation-box,
.consultation-box,
.action-plan-box{
  padding:17px;
  border-radius:14px;
  line-height:1.6;
}
.observation-box{
  background:var(--yellow-soft);
  border:1px solid #edd898;
}
.consultation-box{
  background:var(--sage-soft);
  border:1px solid #cadfd1;
}
.action-plan-box{
  background:var(--violet-soft);
  border:1px solid #ddcee8;
}
.observation-box ul,
.consultation-box ul,
.action-plan-box ul{
  margin:0;
  padding-left:21px;
}
.observation-box li,
.consultation-box li,
.action-plan-box li{
  margin:8px 0;
}
.section-intro{
  margin:0 0 12px;
  color:var(--muted);
  line-height:1.55;
}


.usage-counter{
  margin:8px 0 0;
  color:var(--sage-dark);
  font-size:13px;
  font-weight:800;
}
.next-step h4{
  margin:20px 0 8px;
  color:var(--violet);
  font-size:18px;
}
