

:root{--bg:#f3f3f3;--card:#ffffff;--ink:#000000;--muted:#5e5e5e;--line:#dadada;--soft:#efefef;--accent:#000;--container:min(1200px,calc(100% - 48px));--heading:24px;--shadow:0 18px 38px rgba(0,0,0,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Times New Roman",Times,serif;line-height:1.65}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.container{width:var(--container);margin:0 auto}.topbar{background:#000;color:#fff;padding:12px 16px;text-align:center;font-size:12px;letter-spacing:.22em}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid #ececec}.header-inner{display:grid;grid-template-columns:auto 1fr auto auto;gap:24px;align-items:center;padding:16px 0}.brand{display:flex;flex-direction:column;gap:2px}.brand-logo{display:block;width:225px;max-width:100%;height:auto}.brand-sub{font-size:12px;letter-spacing:.28em}.desktop-nav{display:flex;justify-content:center;gap:28px;font-size:14px;text-transform:uppercase;letter-spacing:.18em}.desktop-nav a{position:relative;padding-bottom:8px}.desktop-nav a:hover::after,.desktop-nav a:first-child::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#000}.menu-toggle{display:none;background:none;border:0;padding:0;cursor:pointer}.menu-toggle span{display:block;width:28px;height:2px;background:#000;margin:6px 0}.mobile-nav{display:none;padding:0 24px 20px;border-top:1px solid #eee;background:#fff}.mobile-nav a{display:block;padding:12px 0;text-transform:uppercase;letter-spacing:.14em;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:15px 28px;border:1px solid #000;font-size:14px;letter-spacing:.18em;text-transform:uppercase;transition:.25s ease;position:relative;overflow:hidden}.button::before{content:"";position:absolute;inset:-120% auto auto -160%;width:60%;height:300%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transition:transform .6s ease}.button:hover::before{transform:translateX(370%) rotate(24deg)}.button--solid{background:#000;color:#fff}.button--solid:hover{background:#1a1a1a}.button--outline{background:transparent;color:#000}.button--light{border-color:#fff;color:#fff}.button--light:hover{background:rgba(255,255,255,.08)}.button--pill{padding:16px 22px}.button--wide{min-width:min(420px,100%)}
.hero{position:relative;min-height:calc(100vh - 96px);display:flex;align-items:center}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media{background:url('../media/custom/hero-waves.png') center center/cover no-repeat;filter:grayscale(100%)}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.48) 38%,rgba(0,0,0,.18) 66%,rgba(0,0,0,.08) 100%)}.hero-content{position:relative;z-index:1;color:#fff;padding:70px 0 84px;max-width:720px}.eyebrow{margin:0 0 14px;font-size:12px;letter-spacing:.26em;text-transform:uppercase}.eyebrow--light{color:#fff}.hero h1,.section-head h2,.split-copy h2,.final-cta h2{margin:0 0 18px;font-family:"Times New Roman",Times,serif}.hero h1{font-size:clamp(56px,7vw,98px);line-height:.92;letter-spacing:.02em;max-width:700px}.hero-copy{font-size:22px;max-width:700px;margin:0 0 30px}.button-row{display:flex;flex-wrap:wrap;gap:16px}.section{padding:88px 0}.section--alt{background:#ececec}.section--reviews{background:#f0f0f0}.section-head{max-width:800px;margin:0 auto 38px}.section-head.center{text-align:center}.section-head h2{font-size:var(--heading);line-height:1.2}.section-head p:last-child{font-size:18px;color:var(--muted)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;border:1px solid #e6e6e6;border-radius:26px;padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;transition:transform .25s ease, box-shadow .25s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(0,0,0,.12)}.service-card h3{margin:0;font-family:"Times New Roman",Times,serif;font-size:30px;line-height:1}.service-card p{margin:0;color:#444}.service-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px}.price{font-weight:700}.text-link{font-size:13px;text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid #000;padding-bottom:3px}
.results-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.result-card{position:relative;overflow:hidden;border-radius:26px;min-height:360px;box-shadow:var(--shadow);background:#ddd}.result-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.result-card:hover img{transform:scale(1.05)}.result-overlay{position:absolute;inset:auto 18px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:14px 10px;color:#fff;text-align:center}.result-overlay strong{font-size:14px;line-height:1.2;letter-spacing:.12em;white-space:nowrap}.result-overlay em{font-style:normal;text-transform:uppercase;font-size:11px;letter-spacing:.22em;margin-top:6px}
.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.split-layout--image-left .split-image{order:-1}.split-copy h2{font-size:var(--heading);line-height:1.2;margin-bottom:18px}.split-copy .lead{font-size:21px;color:#111}.split-copy p{margin:0 0 18px;font-size:18px}.split-image img{border-radius:34px;box-shadow:var(--shadow);width:100%;height:100%;object-fit:cover}.split-image--portrait img{background:#fff;padding:0;max-height:780px;object-position:center top}
.care-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.care-main img{border-radius:34px;box-shadow:var(--shadow)}.care-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.care-card{background:#fff;border:1px solid #e8e8e8;border-radius:26px;padding:18px;box-shadow:var(--shadow);text-align:center;height:100%}.care-card img{width:100%;height:230px;object-fit:cover;border-radius:16px;margin-bottom:14px}.care-card h3{font-family:"Times New Roman",Times,serif;font-size:24px;line-height:1.05;margin:0 0 8px}.set-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;background:#fff}.set-card span{font-size:14px;text-transform:uppercase;letter-spacing:.18em;color:#555}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.review-card{background:#fff;border:1px solid #e3e3e3;border-radius:28px;padding:28px;box-shadow:var(--shadow)}.review-card h3{margin:8px 0 10px;font-size:18px;line-height:1.2;text-transform:uppercase}.review-card p{margin:0;font-size:18px}.stars{letter-spacing:.24em;font-size:20px}.reviews-action{text-align:center;margin-top:34px}
.final-cta{background:#000;color:#fff}.final-cta-inner{text-align:center;max-width:760px}.final-cta h2{font-size:var(--heading);line-height:1.2;margin-bottom:16px}.final-cta p{margin:0 auto 22px;font-size:18px;color:rgba(255,255,255,.88)}.social-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:22px 0}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border:1px solid rgba(255,255,255,.7);border-radius:999px;color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:14px}.icon-button:hover{background:rgba(255,255,255,.08)}
@media (max-width:1180px){.results-grid{grid-template-columns:repeat(3,1fr)}.services-grid,.reviews-grid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:72px}}@media (max-width:900px){.desktop-nav,.header-book{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-nav.show{display:block}.header-inner{grid-template-columns:auto 1fr auto}.split-layout,.care-layout{grid-template-columns:1fr;gap:28px}.split-layout--image-left .split-image{order:0}.results-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:88vh}.hero-content{padding:56px 0 70px}.hero h1{font-size:54px}.hero-copy{font-size:20px}.services-grid,.reviews-grid{grid-template-columns:1fr}.care-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){:root{--container:min(100% - 28px)}.topbar{font-size:11px;letter-spacing:.18em;padding:10px}.brand-logo{width:185px}.hero{min-height:78vh}.hero h1{font-size:42px}.hero-copy{font-size:18px}.button{width:100%}.button-row{gap:12px}.section{padding:64px 0}.results-grid,.care-grid{grid-template-columns:1fr}.result-card{min-height:330px}.result-overlay strong{white-space:normal}.service-bottom{flex-direction:column;align-items:flex-start}.review-card p,.split-copy p,.section-head p:last-child{font-size:17px}.button--wide{min-width:100%}}


/* V6: exact edits requested for header, hero, results, about, home care, reviews. */
/* 1. Compact, left-aligned brand; single-line navigation and booking button. */
.site-header .header-inner {
  width: calc(100% - 80px);
  max-width: 1760px;
  grid-template-columns: 158px minmax(0, 1fr) auto;
  column-gap: clamp(18px, 2vw, 36px);
  padding: 13px 0;
}
.site-header .brand { justify-self: start; align-items: flex-start; }
.site-header .brand-logo { width: 158px; height: auto; max-width: none; }
.site-header .desktop-nav {
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  gap: clamp(10px, 1.35vw, 26px);
  font-size: clamp(11px, .88vw, 13px);
  letter-spacing: .10em;
}
.site-header .header-book {
  width: auto;
  padding: 12px 19px;
  font-size: 12px;
  line-height: 1.1;
  letter-spacing: .09em;
  white-space: nowrap;
  flex-shrink: 0;
}
/* 2. Left-aligned, lighter, smaller home hero text; visible primary action. */
.hero .hero-content {
  width: var(--container);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.hero .hero-content > .eyebrow,
.hero .hero-content > h1,
.hero .hero-content > .hero-copy,
.hero .hero-content > .button-row {
  margin-left: 0;
  margin-right: 0;
}
.hero h1 {
  max-width: 610px;
  font-size: clamp(36px, 3.6vw, 55px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: .015em;
}
.hero .hero-copy { max-width: 570px; font-size: 19px; line-height: 1.55; }
.hero .button-row { justify-content: flex-start; }
.hero .button-row .button--solid {
  background: #fff;
  border-color: #fff;
  color: #000;
  font-weight: 700;
}
.hero .button-row .button--solid:hover {
  background: #eee;
  border-color: #eee;
}
.hero .button-row .button--solid::before {
  background: linear-gradient(90deg,transparent,rgba(0,0,0,.10),transparent);
}
/* 3. Two fixed lines for just the permanent-straightening card. */
.result-overlay .result-title--stacked {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1px;
  white-space: normal;
  font-size: 13px;
  letter-spacing: .035em;
  line-height: 1.12;
}
/* 4. About tagline at body-text scale, italic and light. */
#about .about-statement {
  font-size: 21px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: normal;
  text-transform: none;
  max-width: 620px;
  margin-bottom: 18px;
}
/* 5. Subtle home-care hover motion, actual photo of the complete set, shop button. */
#care .care-card, #care .care-main img {
  transition: transform .28s ease, box-shadow .28s ease;
}
#care .care-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 48px rgba(0,0,0,.13);
}
#care .care-main img:hover { transform: scale(1.012); box-shadow: 0 22px 45px rgba(0,0,0,.11); }
#care .care-card img { transition: transform .34s ease; }
#care .care-card:hover img { transform: scale(1.03); }
#care .care-set-tile { overflow: hidden; }
#care .care-set-tile > span { color: #555; font-size: 13px; letter-spacing: .06em; }
#care .care-shop-action { display: flex; justify-content: center; margin-top: 32px; }
/* 6. Reviews: names stripped out in HTML, all six reviews preserved. */
@media (max-width: 1160px) {
  .site-header .desktop-nav, .site-header .header-book { display: none; }
  .site-header .menu-toggle { display: block; margin-left: auto; }
  .site-header .header-inner { grid-template-columns: 158px 1fr auto; }
}
@media (max-width: 640px) {
  .site-header .header-inner { width: calc(100% - 32px); grid-template-columns: 130px 1fr auto; }
  .site-header .brand-logo { width: 130px; }
  .hero h1 { font-size: clamp(31px, 8vw, 40px); }
  .hero .hero-copy { font-size: 17px; }
  #about .about-statement { font-size: 19px; }
  #care .care-shop-action .button { width: 100%; }
}


/* V9 global footer + motion refinements */
.site-footer{background:#000;color:#fff;padding:54px 0 22px;margin-top:0}.site-footer-main{display:grid;grid-template-columns:1.15fr 1.85fr;gap:48px;align-items:start}.site-footer-logo{display:block;width:148px;height:auto;margin-bottom:18px}.site-footer-brand p{margin:0;color:rgba(255,255,255,.78);font-size:16px;line-height:1.7}.site-footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.site-footer-nav h3{margin:0 0 14px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;color:rgba(255,255,255,.66)}.site-footer-nav a{display:block;color:#fff;opacity:.88;margin:0 0 11px;font-size:16px;transition:opacity .25s ease,transform .25s ease}.site-footer-nav a:hover{opacity:1;transform:translateX(4px)}.site-footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.site-footer-bottom p{margin:0;color:rgba(255,255,255,.56);font-size:13px}.reveal-up{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.reveal-up.is-visible{opacity:1;transform:none}.desktop-nav a,.mobile-nav a,.button,.tx-button{transition:transform .22s ease,opacity .22s ease,box-shadow .28s ease}.desktop-nav a:hover,.mobile-nav a:hover{opacity:.72}.service-card,.result-card,.care-card,.review-card{will-change:transform}.site-header{box-shadow:0 4px 18px rgba(0,0,0,.04)}@media (max-width:980px){.site-footer-main{grid-template-columns:1fr;gap:32px}.site-footer-nav{grid-template-columns:1fr 1fr 1fr}}@media (max-width:640px){.site-footer{padding:42px 0 18px}.site-footer-nav{grid-template-columns:1fr;gap:16px}.site-footer-nav a{margin-bottom:9px;font-size:15px}}

@media (prefers-reduced-motion: reduce) {html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal-up{opacity:1!important;transform:none!important}}
