
:root{--navy:#142c3b;--blue:#234656;--gold:#d8b267;--paper:#fff;--cream:#f5f3ed;--ink:#18313f;--muted:#526572;--line:#dce3e6;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}button{font:inherit}.wrap{max-width:1280px;padding-inline:48px;margin:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(44px,5.7vw,78px)}h2{font-size:clamp(32px,3.7vw,50px);margin-bottom:24px}h3{font-size:24px;margin-bottom:16px}p{margin-bottom:22px}.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#8a682a;margin-bottom:17px}.topbar{background:var(--navy);color:#fff;font-size:12px}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:36px}.topbar strong{font-weight:500;color:#f0d69e}.topbar a{text-decoration:none}.site-header{position:sticky;top:0;background:#fff;z-index:20;border-bottom:1px solid var(--line)}.header-row{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none;flex-shrink:0}.brand img{height:48px;width:48px}.wordmark{display:block;line-height:1}.wordmark strong{display:block;font-size:21px;letter-spacing:.035em;font-weight:700}.wordmark small{display:block;font-size:11px;letter-spacing:.3em;font-weight:500;margin-top:9px}.main-nav{display:flex;align-items:center;gap:26px}.main-nav>a{text-decoration:none;font-size:14px;font-weight:600;position:relative}.main-nav>a[aria-current=page]:after{content:'';position:absolute;bottom:-12px;height:2px;background:#9b7738;left:0;right:0}.main-nav>a:hover{color:#8a682a}.main-nav .nav-cta{background:var(--navy);color:white;padding:12px 18px;border-radius:4px}.nav-cta:hover{background:var(--blue);color:white!important}.menu-button{display:none;border:1px solid var(--line);background:white;border-radius:4px;padding:9px 14px;font-size:14px}.btn{display:inline-flex;text-decoration:none;gap:24px;align-items:center;justify-content:center;background:var(--gold);border:1px solid var(--gold);color:#142c3b;font-weight:700;font-size:14px;padding:16px 24px;border-radius:4px;transition:background .2s,transform .2s}.btn:hover{background:#e6c98e;transform:translateY(-1px)}.btn.light{background:#fff;color:var(--navy);border-color:#fff}.btn.outline{background:transparent;border-color:var(--line);color:var(--ink)}.link{font-size:14px;font-weight:600;text-underline-offset:6px;text-decoration-thickness:1px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.hero{background:var(--navy);position:relative;color:white;min-height:660px;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center 55%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,29,40,.94) 0%,rgba(10,29,40,.76) 43%,rgba(10,29,40,.13) 100%)}.hero-inner{position:relative;z-index:1;width:100%;padding-block:85px}.hero-copy{max-width:710px}.hero .eyebrow{color:#eed49b}.hero h1{max-width:700px;margin:0 0 25px;letter-spacing:-.055em;line-height:1.04}.hero h1 span{color:#ecd098}.hero p{font-size:19px;max-width:555px;color:#e5ebec;line-height:1.6;margin-bottom:30px}.hero-note{font-size:12px!important;margin-top:25px;margin-bottom:0!important;color:#d1dcdf!important}.location-stamp{display:inline-flex;gap:8px;align-items:center;background:#ffffff14;border:1px solid #ffffff30;border-radius:30px;padding:6px 12px;font-size:11px;letter-spacing:.07em;margin-bottom:26px}.dot{height:6px;width:6px;display:inline-block;background:var(--gold);border-radius:50%}.intro-bar{background:var(--cream);border-bottom:1px solid #e4e6de}.intro-bar .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding-block:25px}.stat{font-size:13px;color:var(--muted);border-right:1px solid #d3dadb;padding-inline:34px}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{display:block;color:var(--navy);font-size:19px;line-height:1.4;margin-bottom:3px}.section{padding-block:96px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.body-copy{color:var(--muted)}.lead{font-size:21px;line-height:1.55;color:var(--ink)}.rounded-img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:var(--radius)}.image-stack{position:relative;padding:0 0 28px 25px}.image-stack:before{content:'';position:absolute;inset:30px 25px 0 0;border-radius:var(--radius);background:#e9e3d6;z-index:-1}.heading-row{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:38px}.heading-row h2{margin-bottom:0}.heading-row p{max-width:420px;color:var(--muted);font-size:16px;margin:0}.soft{background:var(--cream)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.program-card{padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:white;display:flex;flex-direction:column}.program-card .icon{width:46px;height:46px;margin-bottom:30px;display:grid;place-items:center;border-radius:50%;background:#f0eadb;color:#795b28}.program-card p{color:var(--muted);font-size:16px;max-width:460px}.program-card a{align-self:start;margin-top:auto}.icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}.tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#6d582e;background:#f1ecdf;border-radius:3px;padding:5px 8px;margin-bottom:18px}.fine{font-size:12px;color:var(--muted);line-height:1.6;margin:25px 0 0}.campus-preview{position:relative;border-radius:var(--radius);overflow:hidden;min-height:420px;background:var(--navy);display:flex;align-items:end}.campus-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.campus-preview:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0d253ae0)}.campus-preview>div{position:relative;z-index:1;color:white;padding:40px;display:flex;justify-content:space-between;gap:40px;width:100%;align-items:end}.campus-preview h3{font-size:34px;margin-bottom:8px}.campus-preview p{color:#e2e8e9;margin:0;max-width:550px;font-size:16px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:36px}.features h3{font-size:19px;letter-spacing:-.025em}.features p{font-size:15px;color:var(--muted);margin:0}.feature-num{font-size:12px;color:#947235;display:block;margin-bottom:13px}.banner{background:var(--navy);color:white;padding-block:64px}.banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:60px}.banner .eyebrow{color:var(--gold)}.banner h2{font-size:36px;margin-bottom:16px}.banner p{color:#d4dfe4;max-width:690px;font-size:16px;margin:0}.banner .btn{flex-shrink:0}.faq-list{max-width:800px}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font-size:17px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:24px;color:#8a682a;line-height:1.1}details[open] summary:after{content:'−'}details p{font-size:16px;color:var(--muted);margin:17px 28px 0 0}.faq-home{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-band{background:#ece7da;padding-block:65px}.contact-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band h2{font-size:36px;margin:0 0 14px}.contact-band p{font-size:16px;margin:0;color:var(--muted)}footer{background:#102432;color:#dce5e9;padding-block:60px 28px}.footer-grid{display:grid;grid-template-columns:1.5fr .75fr 1fr;gap:75px}.footer-brand{color:white}.footer-brand .brand img{border:1px solid #ffffff30;border-radius:12px}.footer-grid p{font-size:14px;color:#aebdc6;max-width:350px;margin:22px 0 0}.footer-grid h3{color:#e4c685;font-size:11px;text-transform:uppercase;letter-spacing:.13em;margin:0 0 20px}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:14px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-grid address{font-style:normal;font-size:14px;color:#b4c2ca;margin-top:16px}.footer-bottom{border-top:1px solid #ffffff20;margin-top:44px;padding-top:24px;color:#9eb0ba;font-size:11px;display:flex;justify-content:space-between;gap:30px}.footer-bottom p{max-width:630px;margin:0}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:30px}.breadcrumb a{text-underline-offset:3px}.page-intro{background:var(--cream);padding-block:48px 65px}.page-intro h1{font-size:clamp(39px,5vw,64px);max-width:850px;margin-bottom:22px}.page-intro .lead{max-width:760px;color:var(--muted);margin-bottom:0}.page-note{background:#e9eef0;border-left:3px solid #a47b35;padding:22px 25px;font-size:14px;color:var(--muted);margin-bottom:50px}.content-block{max-width:800px}.content-block h2{font-size:35px}.content-block p{color:var(--muted)}.program-detail{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:45px;border-top:1px solid var(--line);scroll-margin-top:120px}.program-detail p{color:var(--muted)}.program-detail h2{font-size:36px}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:14px 0 14px 28px;border-bottom:1px solid var(--line);font-size:15px;position:relative}.checklist li:before{content:'↗';position:absolute;left:0;color:#977236}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery figure{margin:0}.gallery figure:first-child{grid-column:span 2}.gallery img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:6px}.gallery figure:first-child img{aspect-ratio:2.1}.gallery figcaption{font-size:13px;color:var(--muted);padding-top:10px}.map{width:100%;height:360px;border:0;background:#e4e9e8;border-radius:var(--radius)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-panel{border:1px solid var(--line);padding:35px;border-radius:var(--radius)}.contact-panel h2{font-size:27px}.contact-item{padding:20px 0;border-top:1px solid var(--line)}.contact-item small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.contact-item>a{font-size:19px;text-decoration:none;font-weight:600;overflow-wrap:anywhere}.contact-item>a:hover{text-decoration:underline}.contact-item address{font-style:normal}.mobile-call{display:none}.skip{position:fixed;top:-100px;left:15px;background:white;padding:12px;z-index:100}.skip:focus{top:15px}:focus-visible{outline:3px solid #a67d35;outline-offset:5px}@media(max-width:1100px){.main-nav{gap:18px}.main-nav>a{font-size:13px}.main-nav .nav-cta{display:none}.split,.contact-grid{gap:45px}.wordmark strong{font-size:18px}.wordmark small{font-size:10px}}@media(max-width:760px){.wrap{padding-inline:24px}.topbar .wrap{justify-content:center}.topbar a{display:none}.header-row{min-height:80px}.brand img{height:42px;width:42px}.wordmark strong{font-size:17px}.wordmark small{font-size:9px;letter-spacing:.3em}.menu-button{display:block}.main-nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:20px 24px;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav>a{padding:13px 0;font-size:16px}.main-nav>a[aria-current=page]:after{display:none}.main-nav .nav-cta{display:block;text-align:center;margin-top:10px}.hero{min-height:640px}.hero:after{background:linear-gradient(90deg,#0b2232ed,#0b223278)}.hero-photo{object-position:65% center}.hero-inner{padding-block:65px}.hero h1{font-size:51px;max-width:510px}.hero p{font-size:17px}.hero .actions{gap:20px}.hero .btn{padding:14px 19px}.intro-bar .wrap{padding-block:22px}.stat{padding-inline:13px;font-size:11px}.stat strong{font-size:15px}.section{padding-block:64px}.split,.faq-home,.contact-grid,.program-detail{grid-template-columns:1fr;gap:32px}.heading-row{display:block}.heading-row p{margin-top:23px}.cards{grid-template-columns:1fr;gap:18px}.program-card{padding:28px}.features{grid-template-columns:1fr;gap:25px}.features h3{margin-bottom:10px}.campus-preview{min-height:450px}.campus-preview>div{display:block;padding:26px}.campus-preview .btn{margin-top:25px}.campus-preview h3{font-size:29px}.banner .wrap,.contact-band .wrap{display:block}.banner .btn,.contact-band .actions{margin-top:28px}.banner h2,.contact-band h2{font-size:31px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{display:block}.footer-bottom p{margin-top:15px}footer{padding-bottom:100px}.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:#fff;box-shadow:0 -3px 20px #00000012;padding:10px 18px;gap:10px}.mobile-call a{flex:1;padding:12px;font-size:13px}.image-stack{padding-left:12px}.page-intro{padding-block:30px 45px}.gallery{gap:14px}.gallery img{aspect-ratio:1.1}.gallery figure:first-child img{aspect-ratio:1.3}.contact-panel{padding:25px}.contact-item>a{font-size:17px}.actions .btn{padding-inline:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Use the supplied full logo consistently without cropping. */
.brand .official-logo{display:block;width:300px;max-width:100%;background:#fff;flex-shrink:0}
.brand .official-logo img{position:static;display:block;width:100%;height:auto;max-width:100%;border:0;border-radius:0}
.header-row{min-height:132px}
.footer-brand .official-logo{width:300px;background:#fff;border-radius:4px;overflow:hidden}
.footer-brand .brand img{border:0;border-radius:0}
.hero .treatment-headline{font-size:clamp(44px,5.1vw,70px);line-height:1.08;max-width:760px;letter-spacing:-.045em}
.hero .treatment-headline span{display:block}
.hero-copy{max-width:780px}
@media(max-width:1100px){.brand .official-logo{width:270px}}
@media(max-width:760px){.brand .official-logo{width:230px}.header-row{min-height:104px}.main-nav{top:104px}.footer-brand .official-logo{width:300px}.hero .treatment-headline{font-size:clamp(38px,9vw,51px)}}
@media(max-width:380px){.brand .official-logo{width:210px}.footer-brand .official-logo{width:275px}}

/* Approved master logo variants. */
.brand .official-logo{width:300px;background:#fff}.footer-brand .official-logo{background:#000}.header-row{min-height:158px}.footer-brand .official-logo img{border:0}@media(max-width:760px){.brand .official-logo{width:210px}.header-row{min-height:112px}.main-nav{top:112px}}

/* Prominent sober living link shared across all pages. */
.sober-living-banner{display:block;background:var(--gold);color:var(--navy);text-align:center;padding:18px 20px;font-size:clamp(22px,3vw,34px);font-weight:700;line-height:1.3;text-decoration:underline;text-underline-offset:5px}.sober-living-banner:hover{background:#e6c98e}.sober-living-banner:focus-visible{outline:3px solid var(--navy);outline-offset:-6px}
