*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#171717;color:#f7f7f7;font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
header{height:76px;background:#202020;border-bottom:1px solid #2b2b2b;display:flex;align-items:center;padding:10px max(22px,calc((100% - 760px)/2))}
.logo{height:55px;width:78px;object-fit:contain;background:#fff;border-radius:10px}
main{max-width:760px;margin:auto;padding:28px 22px 120px}
.title-row{display:flex;align-items:center;gap:18px}
.profile-logo{width:90px;height:90px;object-fit:contain;background:white;border-radius:50%;padding:5px}
h1{font-size:32px;margin:0 0 6px}
.tagline{margin:0;color:#bbb}
h2{font-size:27px;margin:0 0 20px}
.info{margin-top:24px;color:#ddd;font-size:18px}
.contact-info p{display:flex;align-items:center;gap:11px;margin:13px 0}
.contact-icon{width:21px;height:21px;flex:0 0 21px;display:inline-flex;align-items:center;justify-content:center}
.contact-icon svg{width:100%;height:100%;fill:#fff}
.contact-info a{color:#fff;text-decoration:none}
.hours{margin-top:22px;padding-top:18px;border-top:1px solid #303030;color:#d8d8d8}
.hours p{margin:7px 0}.hours p:first-child{margin-bottom:10px;color:#fff}
.eyebrow{margin:0 0 7px;color:#999;font-size:12px;font-weight:800;letter-spacing:.16em}
.video-showcase{margin:34px 0 38px;padding-top:28px;border-top:1px solid #303030}
.section-heading h2{margin-bottom:16px}
.video-showcase video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;background:#111}
.services{border-top:1px solid #303030;padding-top:28px}
.service-card{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #303030}
.service-card h3{font-size:21px;margin:0 0 7px}.service-card p{margin:0;color:#aaa}
.price{text-align:right}.price strong{display:block;font-size:27px}.price span{color:#aaa}
.payment-note{padding:16px 0;color:#ccc}
.reviews{margin-top:38px;padding-top:30px;border-top:1px solid #303030}
.reviews-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}
.rating-summary{text-align:right;display:grid;gap:2px;justify-items:end}.rating-summary strong{font-size:30px;line-height:1}.rating-summary .stars{color:#f5c84b;letter-spacing:2px}.rating-summary small{color:#aaa}
.review-grid{display:grid;grid-template-columns:1fr;gap:12px}
.review-card{background:#242424;border:1px solid #303030;border-radius:14px;padding:18px}.review-card p{margin:12px 0 0;color:#e5e5e5;line-height:1.55}
.review-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.review-meta span{color:#f5c84b;font-size:14px;letter-spacing:1px}
.cta-panel{margin-top:36px;padding:26px;background:#f4f1ea;color:#171717;border-radius:16px}.cta-panel h2{margin-bottom:10px}.cta-panel>p:not(.eyebrow){margin:0 0 20px;color:#545454;line-height:1.5}.cta-panel .eyebrow{color:#777}
.inline-book{display:inline-block;background:#24a02b;color:#fff;font-weight:800;padding:13px 20px;border-radius:999px}
.policy{margin-top:28px;padding:22px;background:#262626;border-radius:16px}.policy h2{margin:0 0 16px;font-size:22px}.policy p{margin:8px 0;color:#e2e2e2;line-height:1.55}
.book{position:fixed;z-index:20;left:0;right:0;bottom:24px;display:flex;justify-content:center;pointer-events:none}.book a{pointer-events:auto;background:#24a02b;color:white;font-size:21px;font-weight:700;padding:17px 74px;border-radius:999px;box-shadow:0 8px 30px rgba(0,0,0,.35)}
footer{max-width:760px;margin:auto;border-top:1px solid #303030;padding:24px 22px 100px;color:#bbb;display:flex;gap:12px}
@media(min-width:680px){.review-grid{grid-template-columns:repeat(3,1fr)}.review-card{min-height:155px}}
@media(max-width:600px){main{padding:22px 18px 115px}header{padding-left:18px}.profile-logo{width:78px;height:78px}h1{font-size:27px}.video-showcase video{border-radius:13px}.reviews-top{align-items:flex-end}.rating-summary strong{font-size:27px}.book a{font-size:19px;padding:15px 60px}.cta-panel{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.video-showcase video{animation:none}}

/* Full portrait video: no crop */
.video-showcase video{width:min(100%,430px);margin:0 auto;aspect-ratio:9/16;object-fit:contain;background:#0d0d0d}

/* Setmore-inspired reviews */
.setmore-reviews{background:#fff;color:#111;border-radius:18px;padding:28px 26px;margin-top:38px;border:0}
.setmore-heading-row{display:flex;justify-content:space-between;align-items:center}.setmore-heading-row h2{margin:0 0 24px;font-size:28px}
.setmore-summary-card{border:1px solid #e6e6e6;border-radius:18px;padding:28px 24px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.score-wrap{display:flex;align-items:center;gap:13px;min-width:250px}.laurel{font-family:Georgia,serif;font-size:58px;line-height:1;transform:rotate(-38deg);color:#666}.laurel-right{transform:scaleX(-1) rotate(-38deg)}
.score-center{text-align:center;display:grid;gap:6px}.score-center strong{font-size:47px;line-height:1;font-weight:500}.summary-stars{font-size:25px;letter-spacing:1px}.score-center span{font-size:17px}
.write-review-button{border:1px solid #d2d2d2;background:#fff;color:#111;border-radius:999px;padding:14px 25px;font-size:17px;font-weight:600;cursor:pointer}
.rating-breakdown{padding:30px 0 12px}.rating-row{display:grid;grid-template-columns:145px 1fr 28px;align-items:center;gap:16px;margin:14px 0}.rating-row>span{font-size:21px;letter-spacing:2px;white-space:nowrap}.rating-track{height:7px;background:#efefef;border-radius:99px;overflow:hidden}.rating-track i{display:block;height:100%;background:#111;border-radius:99px;width:0}.rating-row b{text-align:right;font-size:18px;font-weight:500}
.setmore-review-list{border-top:1px solid #eee;margin-top:18px}.setmore-review-item{padding:27px 0;border-bottom:1px solid #eee}.setmore-review-item h3{font-size:19px;margin:0 0 10px}.review-line{display:flex;align-items:center;gap:9px;color:#333;font-size:15px}.review-stars{font-size:18px;letter-spacing:1px;color:#111}.review-dot{color:#777}.setmore-review-item p{font-size:18px;line-height:1.55;margin:16px 0 0;color:#171717}
.review-modal[hidden]{display:none}.review-modal{position:fixed;z-index:60;inset:0;background:rgba(0,0,0,.58);display:grid;place-items:center;padding:20px}.review-dialog{position:relative;width:min(100%,480px);background:#fff;color:#111;border-radius:18px;padding:27px}.review-dialog h2{margin:0 0 7px}.review-dialog>p{margin:0 0 22px;color:#666}.review-close{position:absolute;top:12px;right:15px;border:0;background:transparent;font-size:30px;cursor:pointer}.review-dialog form{display:grid;gap:9px}.review-dialog label{font-weight:700;margin-top:7px}.review-dialog input,.review-dialog select,.review-dialog textarea{width:100%;font:inherit;border:1px solid #d3d3d3;border-radius:10px;padding:12px;background:#fff;color:#111}.review-dialog textarea{resize:vertical}.review-dialog button[type=submit]{margin-top:10px;border:0;background:#111;color:#fff;border-radius:999px;padding:14px 20px;font-weight:700;font-size:16px;cursor:pointer}.review-dialog button[type=submit]:disabled{opacity:.55}.review-form-status{font-size:14px;color:#555;min-height:20px}.modal-open{overflow:hidden}
@media(max-width:600px){.setmore-reviews{padding:24px 16px;border-radius:15px}.setmore-summary-card{padding:22px 15px;gap:15px}.score-wrap{min-width:0;gap:6px}.laurel{font-size:41px}.score-center strong{font-size:39px}.summary-stars{font-size:20px}.score-center span{font-size:15px}.write-review-button{padding:12px 17px;font-size:15px}.rating-row{grid-template-columns:112px 1fr 20px;gap:10px}.rating-row>span{font-size:16px}.setmore-review-item p{font-size:17px}}
@media(max-width:420px){.setmore-summary-card{flex-direction:column}.write-review-button{width:100%}.score-wrap{justify-content:center}.rating-row{grid-template-columns:103px 1fr 18px}.rating-row>span{font-size:15px}}


/* JCuts review section — compact dark treatment */
.setmore-reviews{
  background:#0f0f0f;
  color:#fff;
  border:1px solid #2b2b2b;
  border-radius:14px;
  padding:20px 20px;
  margin-top:30px;
}
.setmore-heading-row h2{color:#fff;margin:0 0 16px;font-size:24px}
.setmore-summary-card{
  background:#171717;
  border:1px solid #333;
  border-radius:14px;
  padding:20px 18px;
  gap:18px;
}
.score-wrap{min-width:220px;gap:9px}
.laurel{font-size:45px;color:#aaa}
.score-center{gap:4px}
.score-center strong{font-size:38px;color:#fff}
.summary-stars{font-size:20px;color:#fff}
.score-center span{font-size:15px;color:#d7d7d7}
.write-review-button{
  border:1px solid #555;
  background:#0f0f0f;
  color:#fff;
  padding:11px 19px;
  font-size:15px;
}
.write-review-button:hover{background:#1d1d1d}
.rating-breakdown{padding:20px 0 6px}
.rating-row{grid-template-columns:120px 1fr 24px;gap:12px;margin:10px 0}
.rating-row>span{font-size:17px;color:#fff}
.rating-track{height:6px;background:#2c2c2c}
.rating-track i{background:#fff}
.rating-row b{font-size:15px;color:#fff}
.setmore-review-list{border-top:1px solid #303030;margin-top:12px}
.setmore-review-item{padding:19px 0;border-bottom:1px solid #303030}
.setmore-review-item h3{font-size:17px;color:#fff;margin:0 0 7px}
.review-line{color:#bbb;font-size:13px}
.review-stars{font-size:16px;color:#fff}
.review-dot{color:#888}
.setmore-review-item p{font-size:16px;line-height:1.45;margin:11px 0 0;color:#f1f1f1}

@media(max-width:600px){
  .setmore-reviews{padding:18px 14px;border-radius:13px;margin-top:28px}
  .setmore-summary-card{padding:17px 13px;gap:12px}
  .score-wrap{min-width:0;gap:4px}
  .laurel{font-size:34px}
  .score-center strong{font-size:33px}
  .summary-stars{font-size:17px}
  .score-center span{font-size:13px}
  .write-review-button{padding:10px 14px;font-size:14px}
  .rating-row{grid-template-columns:94px 1fr 18px;gap:8px;margin:9px 0}
  .rating-row>span{font-size:14px;letter-spacing:1px}
  .setmore-review-item{padding:17px 0}
  .setmore-review-item p{font-size:15px}
}
@media(max-width:420px){
  .setmore-summary-card{flex-direction:column;align-items:stretch}
  .write-review-button{width:100%}
  .score-wrap{justify-content:center}
}

.reviews-empty{padding:22px 0;color:#bbb;text-align:center}.reviews-empty p{margin:4px 0;font-size:15px}
