
:root{
  --cream:#f7f1e6;
  --black:#050505;
  --coral:#e6544a;
  --muted:#e8dfd1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--black);
  font-family:Arial,Helvetica,sans-serif;overflow-x:hidden;
}
a{color:inherit}
.site-header{
  position:sticky;top:0;z-index:40;height:68px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:10px 4vw;border-bottom:2px solid var(--black);
  background:rgba(247,241,230,.95);backdrop-filter:blur(10px);
}
.header-brand{width:190px;height:42px;display:flex;align-items:center;overflow:hidden}
.header-brand img{width:100%;display:block}
.desktop-nav{display:flex;gap:30px}
.desktop-nav a{text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.1em}
.header-book{
  justify-self:end;background:var(--coral);border:2px solid var(--black);
  padding:11px 15px;text-decoration:none;font-size:12px;font-weight:900;text-transform:uppercase;
  box-shadow:3px 3px 0 var(--black);
}
.hero{min-height:calc(100svh - 68px);display:flex;flex-direction:column;justify-content:space-between}
.hero-copy{width:min(1180px,90vw);margin:auto;padding:7vh 0 5vh}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;margin:0 0 16px;text-transform:uppercase}
.coral{color:var(--coral)}
.hero-logo{display:block;width:min(920px,84vw);max-height:330px;object-fit:contain;object-position:left center;margin:0 0 10px}
.hero h1,.cuts h2,.proof h2,.story h2,.book h2{
  margin:0;font-weight:900;line-height:.88;letter-spacing:-.065em;
}
.hero h1{font-size:clamp(54px,8.5vw,132px)}
.hero h1 span{color:var(--coral)}
.hero-sub{font-size:clamp(18px,2vw,26px);font-weight:700;margin:22px 0}
.cta{
  display:inline-flex;gap:20px;align-items:center;background:var(--coral);
  border:2px solid var(--black);box-shadow:5px 5px 0 var(--black);
  padding:16px 22px;text-decoration:none;font-weight:900;font-size:16px;
}
.micro{font-size:12px;font-weight:700;margin:15px 0 0}
.ticker{overflow:hidden;background:var(--coral);border-top:2px solid var(--black);border-bottom:2px solid var(--black)}
.ticker-track{width:max-content;display:flex;gap:30px;padding:12px 0;font-weight:900;animation:marquee 24s linear infinite}
.ticker-track span:after{content:"✦";margin-left:30px}
@keyframes marquee{to{transform:translateX(-50%)}}

.cuts{background:var(--black);color:var(--cream);padding:9vw 6vw}
.cuts h2{font-size:clamp(64px,11vw,160px)}
.cut-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:55px;max-width:1200px}
.cut-list span{border:1px solid rgba(247,241,230,.55);padding:12px 15px;font-size:14px;font-weight:900}
.specialty{margin:28px 0 0;font-size:20px;color:var(--coral);font-weight:700}

.proof{padding:8vw 6vw;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;border-bottom:2px solid var(--black)}
.proof-number{font-size:clamp(150px,25vw,380px);font-weight:900;line-height:.68;letter-spacing:-.11em}
.proof-number span{color:var(--coral)}
.proof h2{font-size:clamp(48px,6vw,90px)}

.story{padding:9vw 6vw;display:grid;grid-template-columns:1fr .42fr;gap:8vw;align-items:start}
.story h2{font-size:clamp(50px,7vw,100px)}
.story-copy>p:not(.eyebrow){font-size:clamp(18px,1.8vw,25px);line-height:1.5;max-width:850px}
.fun-fact{background:var(--coral);border:2px solid var(--black);padding:30px;box-shadow:7px 7px 0 var(--black)}
.fun-fact>p:not(.eyebrow){font-size:23px;line-height:1.25;font-weight:800}
.fun-fact strong{font-size:38px;letter-spacing:-.04em}

.book{background:#fffaf2;padding:9vw 6vw}
.book-head h2{font-size:clamp(72px,12vw,180px)}
.book-head>p:not(.eyebrow){font-size:20px;font-weight:700}
.booking-notes{max-width:820px;margin:30px 0 22px;font-size:16px;line-height:1.5}
.calendly-shell{background:white;border:2px solid var(--black);box-shadow:8px 8px 0 var(--black);overflow:hidden}
.details{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--black);margin-top:50px}
.details div{padding:20px;border-right:1px solid var(--black)}
.details div:last-child{border-right:0}
.details span{font-size:10px;letter-spacing:.14em;font-weight:900}
.details p{font-weight:700;line-height:1.4}
footer{background:var(--black);color:var(--cream);padding:32px 6vw 45px;display:flex;justify-content:space-between;align-items:center}
footer img{width:220px}
footer p{font-size:13px;font-weight:700}
.mobile-book{display:none}

.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:700px){
  body{padding-bottom:76px}
  .site-header{height:54px;grid-template-columns:1fr;padding:8px 16px}
  .header-brand{width:142px;height:36px}
  .desktop-nav,.header-book{display:none}

  .hero{min-height:auto}
  .hero-copy{width:100%;padding:26px 18px 24px}
  .hero .eyebrow{margin-bottom:8px}
  .hero-logo{width:min(300px,84vw);height:145px;object-fit:contain;object-position:left center;margin:0 0 4px}
  .hero h1{font-size:clamp(50px,15vw,72px);line-height:.88}
  .hero-sub{font-size:15px;line-height:1.35;margin:14px 0}
  .cta{padding:14px 17px;font-size:14px;box-shadow:4px 4px 0 var(--black)}
  .micro{font-size:11px;margin-top:12px}
  .ticker-track{padding:9px 0;font-size:12px;gap:20px}
  .ticker-track span:after{margin-left:20px}

  /* Mobile is intentionally compressed: about four meaningful scroll sections. */
  .cuts{padding:48px 18px}
  .cuts h2{font-size:52px}
  .cut-list{gap:7px;margin-top:26px}
  .cut-list span{padding:8px 9px;font-size:10px}
  .specialty{font-size:14px;line-height:1.35;margin-top:18px}

  .proof{padding:42px 18px;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:center}
  .proof-number{font-size:28vw}
  .proof h2{font-size:30px;line-height:.93}
  .proof .eyebrow{font-size:9px;margin-bottom:8px}

  .story{padding:48px 18px;display:block}
  .story h2{font-size:43px}
  .story-copy>p:not(.eyebrow){font-size:15px;line-height:1.45;margin:13px 0}
  .fun-fact{margin-top:28px;padding:20px;box-shadow:5px 5px 0 var(--black)}
  .fun-fact>p:not(.eyebrow){font-size:17px;margin:10px 0}
  .fun-fact strong{font-size:28px}

  .book{padding:48px 12px 34px}
  .book-head,.booking-notes{padding-left:6px;padding-right:6px}
  .book-head h2{font-size:64px}
  .book-head>p:not(.eyebrow){font-size:15px}
  .booking-notes{font-size:13px;margin:18px 0}
  .calendly-shell{box-shadow:5px 5px 0 var(--black)}
  .calendly-inline-widget{height:650px!important}
  .details{grid-template-columns:1fr 1fr;margin-top:30px}
  .details div{padding:14px;border-bottom:1px solid var(--black)}
  .details div:nth-child(2){border-right:0}
  .details p{font-size:12px;margin-bottom:0}

  footer{padding:24px 18px 28px;display:block}
  footer img{width:150px}
  footer p{font-size:11px}

  .mobile-book{
    position:fixed;display:flex;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:100;
    align-items:center;justify-content:space-between;
    background:var(--coral);border:2px solid var(--black);box-shadow:4px 4px 0 var(--black);
    padding:15px 16px;text-decoration:none;font-size:14px;font-weight:900;
  }
}

@media(max-width:380px){
  .hero-logo{height:128px}
  .hero h1{font-size:49px}
  .cuts h2{font-size:47px}
  .story h2{font-size:39px}
  .book-head h2{font-size:58px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}
}


/* PHONE-OPTIMIZED V2
   This block deliberately overrides the general responsive rules to make
   booking visible immediately and keep the scroll very short. */
@media (max-width: 700px) {
  body { padding-bottom: 74px; }

  .site-header {
    position: sticky;
    top: 0;
    height: 50px;
    padding: 6px 14px;
  }

  .header-brand {
    width: 126px;
    height: 32px;
  }

  .hero-copy {
    padding: 16px 16px 18px;
  }

  .hero .eyebrow {
    font-size: 9px;
    margin-bottom: 2px;
  }

  .hero-logo {
    width: min(245px, 72vw);
    height: 112px;
    margin: -4px 0 0;
  }

  .hero h1 {
    font-size: clamp(46px, 13.8vw, 62px);
    max-width: 360px;
  }

  .hero-sub {
    font-size: 14px;
    margin: 10px 0 12px;
  }

  .cta {
    width: 100%;
    justify-content: space-between;
    padding: 15px 16px;
    font-size: 14px;
  }

  .micro {
    font-size: 10px;
    margin-top: 9px;
  }

  .ticker-track {
    padding: 7px 0;
    font-size: 10px;
  }

  .cuts {
    padding: 34px 16px;
  }

  .cuts h2 {
    font-size: 44px;
  }

  .cut-list {
    margin-top: 18px;
    gap: 6px;
  }

  .cut-list span {
    padding: 7px 8px;
    font-size: 9px;
  }

  .specialty {
    font-size: 12px;
    margin-top: 14px;
  }

  .proof {
    padding: 28px 16px;
    gap: 12px;
  }

  .proof-number {
    font-size: 24vw;
  }

  .proof h2 {
    font-size: 26px;
  }

  .story {
    padding: 34px 16px;
  }

  .story h2 {
    font-size: 36px;
  }

  .story-copy > p:not(.eyebrow) {
    font-size: 13px;
    line-height: 1.4;
    margin: 10px 0;
  }

  .fun-fact {
    margin-top: 18px;
    padding: 16px;
  }

  .fun-fact > p:not(.eyebrow) {
    font-size: 15px;
  }

  .fun-fact strong {
    font-size: 24px;
  }

  .book {
    padding: 34px 8px 28px;
  }

  .book-head,
  .booking-notes {
    padding-left: 8px;
    padding-right: 8px;
  }

  .book-head h2 {
    font-size: 56px;
  }

  .book-head > p:not(.eyebrow) {
    font-size: 13px;
  }

  .booking-notes {
    font-size: 12px;
    margin: 12px 0 14px;
  }

  .calendly-inline-widget {
    height: 610px !important;
  }

  .details {
    margin-top: 22px;
  }

  .details div {
    padding: 11px;
  }

  .details p {
    font-size: 11px;
  }

  footer {
    padding: 18px 16px 22px;
  }

  .mobile-book {
    left: 8px;
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    padding: 14px 15px;
    font-size: 13px;
  }
}

@media (max-width: 390px) {
  .hero-logo { width: 220px; height: 102px; }
  .hero h1 { font-size: 48px; }
  .cuts h2 { font-size: 41px; }
  .story h2 { font-size: 34px; }
  .book-head h2 { font-size: 52px; }
}


/* ===== V3 refinements ===== */

/* Real transparent logo asset; larger and more dominant. */
.hero-logo {
  width: min(1080px, 92vw) !important;
  max-height: 390px !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: -10px 0 6px -1vw !important;
  background: transparent !important;
}

/* Header mark should stay clean and compact. */
.header-brand {
  overflow: visible !important;
}
.header-brand img {
  object-fit: contain;
  object-position: left center;
  background: transparent;
}

/* Keep pricing statement useful and direct. */
.cuts .eyebrow {
  font-size: 12px;
  letter-spacing: .14em;
}

/* Phone-specific V3 */
@media (max-width: 700px) {
  .hero-copy {
    padding-top: 14px !important;
  }

  .hero-logo {
    width: 100% !important;
    max-width: 100% !important;
    height: 205px !important;
    max-height: 205px !important;
    margin: -8px 0 0 0 !important;
  }

  .hero h1 {
    margin-top: -4px !important;
  }

  .hero-sub {
    max-width: 340px;
  }

  .cuts {
    padding-top: 30px !important;
  }

  .cuts .eyebrow {
    font-size: 10px;
    margin-bottom: 8px;
  }

  .header-brand {
    width: 154px !important;
    height: 34px !important;
  }

  .header-brand img {
    width: 100%;
    height: 100%;
  }
}

@media (max-width: 390px) {
  .hero-logo {
    width: 100% !important;
    height: 186px !important;
    max-height: 186px !important;
    margin-left: 0 !important;
  }
}


/* ===== Sharing (V4) ===== */

.share-btn{
  display:inline-flex;align-items:center;gap:16px;
  font-family:inherit;font-size:14px;font-weight:900;text-transform:uppercase;
  color:var(--black);background:var(--cream);
  border:2px solid var(--black);box-shadow:4px 4px 0 var(--black);
  padding:14px 18px;cursor:pointer;
  transition:transform .08s ease, box-shadow .08s ease;
}
.share-btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--black)}
.share-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--black)}
.share-btn:focus-visible{outline:3px solid var(--coral);outline-offset:3px}

/* Persistent block under the booking details */
.share{
  margin-top:40px;padding:24px;
  background:var(--cream);border:2px solid var(--black);
  display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
}
.share-line{font-size:19px;font-weight:800;margin:0;line-height:1.25}

/* Revealed after a completed Calendly booking */
.booked{
  margin-bottom:26px;padding:28px;
  background:var(--coral);border:2px solid var(--black);box-shadow:7px 7px 0 var(--black);
}
.booked h3{
  font-size:clamp(30px,4.4vw,46px);font-weight:900;line-height:.9;
  letter-spacing:-.05em;margin:0 0 10px;
}
.booked>p:not(.eyebrow){font-size:18px;font-weight:700;margin:0 0 20px;line-height:1.3}

@media(max-width:700px){
  .share{margin-top:28px;padding:18px;gap:16px;align-items:flex-start}
  .share-line{font-size:16px}
  .share-btn{width:100%;justify-content:space-between;padding:14px 16px;font-size:13px}
  .booked{padding:20px;margin-bottom:20px;box-shadow:5px 5px 0 var(--black)}
  .booked>p:not(.eyebrow){font-size:15px;margin-bottom:16px}
}

@media(prefers-reduced-motion:reduce){
  .share-btn{transition:none}
  .share-btn:hover,.share-btn:active{transform:none}
}
