
    :root{--ink:#090909;--panel:#131313;--soft:#1b1b1b;--red:#e3182d;--red2:#ff3046;--white:#fff;--muted:#b9b9b9;--line:#303030;--max:1180px}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:84px}
    body{margin:0;background:var(--ink);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button{font:inherit}
    .wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
    .eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:#ff9ca7;font-size:.78rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
    .eyebrow:before{content:"";width:34px;height:3px;background:var(--red)}
    h1,h2,h3{margin:0;line-height:.98;text-transform:uppercase;letter-spacing:-.045em;font-weight:950}
    h1{font-size:clamp(3.3rem,8.5vw,7.8rem);max-width:820px}
    h2{font-size:clamp(2.25rem,5vw,4.6rem)}
    h3{font-size:1.45rem;line-height:1.1;letter-spacing:-.02em}
    p{margin:0}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;border:1px solid transparent;border-radius:4px;background:var(--red);color:white;font-size:.9rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;transition:.2s ease}
    .btn:hover,.btn:focus-visible{background:var(--red2);transform:translateY(-2px)}
    .btn.alt{background:transparent;border-color:#777}
    .btn.alt:hover,.btn.alt:focus-visible{border-color:white;background:#ffffff12}
    .site-header{position:fixed;inset:0 0 auto;z-index:20;background:#080808df;border-bottom:1px solid #ffffff19;backdrop-filter:blur(14px)}
    .nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{display:flex;align-items:center;gap:12px;font-weight:950;letter-spacing:-.04em;text-transform:uppercase}
    .mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;overflow:hidden;background:#fff;border:2px solid var(--red)}
    .mark img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
    .brand small{display:block;color:#aaa;font-size:.62rem;letter-spacing:.16em;line-height:1.2}
    .navlinks{display:flex;align-items:center;gap:24px;font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
    .navlinks>a:not(.btn):hover{color:#ff9ca7}
    .menu{display:none;border:0;background:transparent;color:#fff;font-size:1.5rem;padding:8px}
    .hero{position:relative;min-height:790px;display:flex;align-items:center;padding:150px 0 92px;background:#090909;overflow:hidden}
    .hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070707 0%,#090909ea 28%,#09090973 55%,#090909d6 100%),linear-gradient(0deg,#090909 0%,transparent 28%);z-index:1}
    .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.82}
    .hero-content{position:relative;z-index:2}
    .hero h1.hero-one-line{max-width:none;white-space:nowrap;font-size:clamp(1.45rem,5.8vw,5.1rem);letter-spacing:-.055em;line-height:1.08}
    .hero-copy{max-width:640px;margin:24px 0 30px;color:#e3e3e3;font-size:clamp(1.04rem,2vw,1.28rem)}
    .actions{display:flex;flex-wrap:wrap;gap:12px}
    .hero-strip{position:absolute;z-index:2;inset:auto 0 0;background:#e3182de8}
    .hero-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
    .proof{padding:21px 22px;border-left:1px solid #ffffff36}
    .proof:last-child{border-right:1px solid #ffffff36}
    .proof strong{display:block;font-size:1.15rem;text-transform:uppercase}
    .proof span{display:block;font-size:.76rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:#ffdce0}
    .facilities{padding:0;background:#0d0d0d}
    .facility-intro{padding:88px 0 38px;text-align:center}
    .facility-intro .eyebrow{justify-content:center}.facility-intro .eyebrow:before{display:none}
    .facility-intro p:last-child{max-width:670px;margin:20px auto 0;color:var(--muted)}
    .facility-grid{display:grid;grid-template-columns:1fr 1fr}
    .facility{position:relative;min-height:600px;overflow:hidden;display:flex;align-items:end;padding:46px}
    .facility>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
    .facility:first-child>img{object-position:center 18%}
    .facility:hover>img{transform:scale(1.025)}
    .facility:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080808 4%,#080808d9 34%,transparent 76%)}
    .facility.recovery-facility:after{background:linear-gradient(0deg,#07121e 4%,#07121edb 34%,transparent 76%)}
    .facility-content{position:relative;z-index:1;max-width:540px}
    .facility-tag{display:inline-block;margin-bottom:14px;padding:7px 10px;background:var(--red);font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
    .recovery-facility .facility-tag{background:#217fe5}
    .facility-content h3{font-size:clamp(2rem,4vw,3.3rem)}
    .facility-content p{margin:14px 0 22px;color:#ddd}
    .facility-content .facility-address{margin:0 0 22px;padding-left:14px;border-left:3px solid var(--red);color:#fff;font-size:.9rem;font-weight:800;line-height:1.45}
    .recovery-facility .facility-content .facility-address{border-color:#4ca3ff}
    section{padding:100px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}
    .section-head>p{max-width:520px;color:var(--muted)}
    .programs{background:linear-gradient(180deg,#090909,#101010)}
    .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
    .card{min-height:300px;padding:30px 26px;border:1px solid var(--line);background:linear-gradient(145deg,#1c1c1c,#111);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
    .card:after{content:"";position:absolute;right:-36px;bottom:-40px;width:120px;height:120px;border:18px solid #e3182d18;transform:rotate(20deg)}
    .num{color:var(--red2);font-size:.82rem;font-weight:900;letter-spacing:.12em}
    .card p{color:var(--muted);margin-top:14px}
    .card-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:850;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
    .card-link span{color:var(--red);font-size:1.25rem}
    .academy-gallery{display:grid;grid-template-columns:.85fr 1.15fr;height:440px;margin-top:18px;gap:14px}
    .academy-gallery figure{margin:0;position:relative;overflow:hidden;border:1px solid var(--line)}
    .academy-gallery img{width:100%;height:100%;object-fit:cover}
    .academy-gallery figure:last-child img{object-position:center 18%}
    .academy-gallery figure:first-child{background:#0b0b0b}
    .academy-gallery figure:first-child img{object-fit:contain}
    .academy-gallery figcaption{position:absolute;inset:auto 0 0;padding:18px 20px;background:linear-gradient(transparent,#080808e8);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
    .schedule{background:var(--white);color:#111}
    .schedule .eyebrow{color:#9b1826}
    .schedule-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px}
    .day{padding:28px;border:1px solid #d8d8d8;background:#f6f6f6}
    .day.featured{background:#111;color:white;border-color:#111}
    .day h3{padding-bottom:15px;border-bottom:3px solid var(--red);margin-bottom:14px}
    .class-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #bdbdbd;color:#3f3f3f}
    .featured .class-row{border-color:#383838;color:#ddd}
    .class-row strong{white-space:nowrap}
    .schedule-note{margin-top:24px;color:#666;font-size:.9rem}
    .recovery{position:relative;background:radial-gradient(circle at 80% 40%,#152637 0,#111 38%,#090909 68%)}
    .recovery-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
    .recovery-copy>p{margin:22px 0;color:#ccc;font-size:1.08rem;max-width:620px}
    .service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
    .service{padding:18px;border:1px solid #ffffff25;background:#ffffff08;font-weight:800}
    .recovery-panel{padding:38px;border-left:8px solid #2c8fff;background:#0c1520;box-shadow:0 24px 70px #0008}
    .recovery-brand{width:min(100%,390px);margin:0 0 22px;border-radius:4px}
    .recovery-panel h3{font-size:2rem}
    .recovery-panel p{margin:16px 0 24px;color:#b9cee7}
    .story{background:#111}
    .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
    .story-photos{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:220px 220px;gap:10px}
    .story-photos img{width:100%;height:100%;object-fit:cover;border:1px solid #383838}
    .story-photos img:first-child{grid-row:1/3}
    .quote{padding:36px;border:1px solid #363636;background:#181818;position:relative}
    .quote:before{content:'“';position:absolute;top:-28px;left:20px;color:var(--red);font-size:7rem;font-weight:950;line-height:1}
    .quote p{position:relative;font-size:1.45rem;font-weight:750;line-height:1.45}
    .quote span{display:block;margin-top:20px;color:#aaa;font-size:.82rem;text-transform:uppercase;letter-spacing:.09em}
    .story-copy p{margin-top:22px;color:#bbb;font-size:1.08rem}
    .cta{padding:82px 0;background:var(--red);text-align:center}
    .cta h2{max-width:950px;margin:auto}
    .cta p{max-width:680px;margin:20px auto 28px;color:#ffe5e8;font-size:1.1rem}
    .cta .btn{background:#080808}
    footer{padding:48px 0 28px;background:#050505}
    .footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;padding-bottom:38px;border-bottom:1px solid #2d2d2d}
    footer h3{font-size:1rem;letter-spacing:.05em;margin-bottom:14px}
    footer p,footer a{color:#aaa}
    footer a:hover{color:#fff}
    .contact-list{display:grid;gap:8px}
    .legal{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:#777;font-size:.78rem}
    .mobile-cta{display:none}
    .stacked-mantra span{display:block}
    .booking{background:#f6f6f6;color:#111}
    .booking .eyebrow{color:#9b1826}
    .booking-intro{max-width:760px;margin:18px 0 30px;color:#444}
    .booking-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .booking-choice{min-height:92px;padding:18px 20px;border:2px solid #d5d5d5;border-radius:5px;background:#fff;color:#111;text-align:left;font-weight:900;font-size:1.08rem;cursor:pointer;transition:border-color .2s,background .2s}
    .booking-choice:hover,.booking-choice:focus-visible,.booking-choice[aria-pressed="true"]{border-color:#b11d2f;background:#fff4f5}
    .booking-choice small{display:block;margin-top:4px;color:#666;font-size:.8rem;font-weight:650}
    .booking-times{margin-top:24px;padding:26px;background:#fff;border:1px solid #ddd;border-top:5px solid #b11d2f}
    .booking-times[hidden]{display:none}
    .booking-times h3{margin-bottom:8px}
    .booking-times p{color:#555}
    .time-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
    .time-link{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid #ddd;border-radius:4px;background:#fafafa;color:#161616;font-weight:800}
    .time-link:hover,.time-link:focus-visible{border-color:#b11d2f;background:#fff4f5}
    .time-link small{display:block;color:#666;font-weight:600}
    .time-link .arrow{color:#b11d2f;font-size:1.2rem}
    .booking-next{margin-top:20px;font-size:.88rem}
    .booking-help{margin-top:18px;color:#555}
    .booking-help a{color:#a91f2d;text-decoration:underline}
    @media(max-width:1100px){
      .grid{grid-template-columns:repeat(2,1fr)}
      .schedule-grid{grid-template-columns:1fr}
      .facility-grid,.recovery-grid,.story-grid{grid-template-columns:1fr;gap:42px}
      .facility-grid{gap:0}.facility{min-height:520px}
      .navlinks{display:none;position:absolute;top:76px;left:0;right:0;padding:24px;background:#0b0b0bf7;border-bottom:1px solid #333;flex-direction:column;align-items:stretch}
      .navlinks.open{display:flex}
      .menu{display:block}
      .nav>.btn{display:none}
    }
    @media(max-width:640px){
      .wrap{width:min(calc(100% - 28px),var(--max))}
      h1{font-size:clamp(3rem,16vw,5.2rem)}
      section{padding:76px 0}
      .hero{min-height:760px;padding-top:130px;align-items:flex-start}
      .hero:before{background:linear-gradient(180deg,#070707df 0%,#09090955 45%,#090909 81%),linear-gradient(90deg,#090909db,transparent)}
      .hero-bg{object-position:62% center}
      .hero-copy{font-size:1rem;max-width:92%}
      .hero-strip .wrap{grid-template-columns:1fr}
      .proof{padding:10px 12px;border-left:3px solid #ffffff40}
      .proof:last-child{border-right:0}
      .proof strong{font-size:.92rem}.proof span{font-size:.66rem}
      .section-head{align-items:start;flex-direction:column}
      .grid,.service-list{grid-template-columns:1fr}
      .academy-gallery{grid-template-columns:1fr;height:auto}.academy-gallery figure{height:330px}
      .facility{min-height:460px;padding:28px}
      .story-photos{grid-template-rows:180px 180px}
      .card{min-height:240px}
      .footer-grid{grid-template-columns:1fr;gap:30px}
      .legal{flex-direction:column}
      .mobile-cta{display:block;position:fixed;z-index:30;right:14px;bottom:14px;box-shadow:0 10px 30px #000b}
      .booking-choices,.time-list{grid-template-columns:1fr}
      .booking-choice{min-height:72px}
    }
    .professor-button{display:flex;width:100%;max-width:440px;min-height:72px;padding:20px 26px;justify-content:space-between;gap:18px;font-size:clamp(1.05rem,3.5vw,1.3rem);font-weight:950;line-height:1.3;border:2px solid #ff6b7d;box-shadow:0 6px 22px #0005;margin-top:28px}
    .professor-button:focus-visible{outline:3px solid white;outline-offset:5px}
    .professor-callout{display:flex;align-items:center;gap:18px;margin-top:28px}.professor-portrait{flex:0 0 118px}.professor-portrait img{width:118px;height:138px;object-fit:cover;object-position:50% 15%;border:2px solid #444;border-radius:6px}.professor-callout .professor-button{margin-top:0;padding:16px 18px;letter-spacing:.025em;font-size:clamp(1rem,2vw,1.2rem)}@media(max-width:600px){.professor-callout{gap:12px}.professor-portrait{flex-basis:82px}.professor-portrait img{width:82px;height:110px}.professor-callout .professor-button{padding:14px 12px;font-size:1rem}}
  
.navlinks a[aria-current="page"]{color:#ff9ca7}
@media(min-width:981px){.navlinks{gap:18px}}
