@font-face {
    font-family: Poppins;
    src: url('../fonts/poppins-medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: Poppins;
    src: url('../fonts/poppins-semibold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'Cormorant Garamond';
    src: url('../fonts/cormorant-garamond-semibold-italic.woff2') format('woff2');
    font-style: italic;
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: Inter;
    src: url('../fonts/inter-italic.woff2') format('woff2');
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}
.home-page { background: var(--cream); color: #002841; outline: none; }
.home-page p, .home-page h1, .home-page h2, .home-page h3 { margin: 0; }
.home-page h1, .home-page h2:not(.eyebrow) { font-family: Poppins, sans-serif; font-weight: 500; letter-spacing: -.03em; }
.home-page em { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-style: italic; font-size: 1.2em; letter-spacing: -.03em; }
.home-container { width: calc(100% - 143.6px); max-width: 1222.4px; margin-inline: auto; }
.home-page .eyebrow { font: 700 16px/22px Inter, sans-serif; letter-spacing: .23em; text-transform: uppercase; color: var(--gold); }
.home-hero { height: 832px; color: var(--cream); background: linear-gradient(180deg,#002841 0,rgba(1,40,65,0) 282px),url('../images/home-backdrop.png') center top / cover no-repeat; }
.hero-content { padding-top: 208px; }
.home-hero h1 { font-size: 53.333px; line-height: 58px; }
.home-hero h1 > span { display: block; }
.home-hero h1 > span + span { margin-top: 15px; }
.home-hero h1 em { font-size: 60px; line-height: 52px; color: var(--gold); }
.home-page .hero-location { margin-top: 36px; font-size: 16px; line-height: 19px; color: var(--gold); }
.hero-location::before { content: ''; display: block; width: 59px; height: 1px; background: var(--gold); margin-bottom: 20px; }
.button { display: inline-flex; align-items: center; justify-content: center; height: 41px; border-radius: 8px; text-transform: uppercase; font: 700 14.667px/20px Inter, sans-serif; padding: 0 26px; transition: background .15s, color .15s; }
.button-gold { background: var(--gold); color: #002841; width: 235.7px; }
.button-gold:hover { background: #ffd26d; color: #002841; }
.hero-content > .button { margin-top: 78px; }
.intro-sections { padding-top: .01px; }
.about-panel { position: relative; z-index: 1; margin-top: -102px; min-height: 396px; display: grid; grid-template-columns: 1.7fr 1fr; gap: 49px; padding: 48px 58px; background: #f6f6f6; border-radius: 20px; box-shadow: 0 14px 38px #001a2b12; }
.about-heading .eyebrow { font-size: 14.15px; line-height: 19.45px; }
.about-panel h2, .home-page .about-return { font-family: Poppins,sans-serif; font-weight: 500; letter-spacing: -.03em; font-size: 47.17px; line-height: 51.3px; }
.about-panel h2 { margin-top: 24px; }
.home-page .about-return { margin-top: 17px; }
.about-return em { font-size: 53px; }
.about-copy { align-self: center; border-left: 1px solid #f9b42b50; padding-left: 47px; font-size: 14.15px; line-height: 19.45px; }
.about-copy p + p { margin-top: 20px; }
.what-section { position: relative; padding-top: 192px; padding-bottom: 99px; text-align: center; }
.section-rule { height: 1px; background: #e5c988; }
.what-section > .section-rule { position: absolute; top: 102px; left: 8.5%; right: 8.5%; opacity: .5; }
.what-section h2 { margin: 31px auto 0; font-size: 53.333px; line-height: 58px; max-width: 1170px; }
.what-section h2 em { color: var(--gold); }
.home-page .what-description { margin-top: 44px; font-size: 20px; line-height: 27px; }
.treatment-hubs { display: grid; grid-template-columns: 1fr 1fr; text-align: left; background: radial-gradient(circle at top left,#003c61,#001a2b); border: 1px solid #b58b37; border-radius: 20px; box-shadow: 0 14px 55px #001a2b40; margin-top: 81px; overflow: hidden; }
.hub-card { position: relative; min-height: 304px; padding: 87px 49px 37px; color: var(--cream); }
.hub-card + .hub-card { border-left: 1px solid #ffffff0a; }
.hub-number { position: absolute; left: 48px; top: -29px; font: 600 272.46px/1.2 Poppins,sans-serif; letter-spacing: -.03em; color: #fffbec; opacity: .05; pointer-events: none; }
.hub-card h3 { position: relative; font: 600 40px/48px Poppins,sans-serif; letter-spacing: -.03em; color: var(--gold); }
.hub-card p { position: relative; margin-top: 12px; font: 600 16px/22px Poppins,sans-serif; letter-spacing: -.03em; }
.hub-card a { display: flex; align-items: center; justify-content: flex-end; gap: 8px; position: relative; margin-top: 22px; font: italic 14.667px/20px Inter,sans-serif; text-transform: uppercase; }
.hub-card a span { font-size: 25px; }
.why-section { position: relative; padding-block: 68px 100px; background: radial-gradient(circle at top left,#003c61,#001a2b); isolation: isolate; }
.why-section::before { content: ''; position: absolute; inset: 0; z-index: -1; background: url('../images/lubov-pattern.png') repeat; background-size: 147px 138px; opacity: .02; pointer-events: none; }
.why-section .eyebrow { text-align: center; }
.reasons-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 45px 36px; margin-top: 47px; padding-inline: 5px; }
.reason-card { width: calc((100% - 72px)/3); min-height: 546px; background: var(--cream); border-radius: 30px; overflow: hidden; }
.reason-photo { height: 309px; position: relative; overflow: hidden; }
.reason-photo img { width: 100%; height: 337px; object-fit: cover; display: block; }
.reason-doctor img { object-position: center 62.65%; }
.reason-skin img { object-position: center 42.4%; }
.reason-results img { object-position: center 75.3%; }
.reason-copy { padding: 50px 32px 42px; }
.reason-copy h3 { font-size: 26.666px; line-height: 31px; letter-spacing: -.03em; font-weight: 700; }
.reason-copy p { margin-top: 16px; font-size: 16px; line-height: 19px; letter-spacing: -.03em; }
.testimonials { padding: 79px 0 78px; background: #f8f9fa; text-align: center; }
.testimonials h2 { margin-top: 18px; font-size: 40px; line-height: 48px; }
.testimonials h2 em { color: var(--gold); font-size: 53.333px; }
.review-carousel { position: relative; margin-top: 80px; }
.review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; text-align: left; }
.review-card { background: #fff; border-radius: 28px; box-shadow: 0 3px 34px #001a2b08; min-height: 237px; padding: 39px 39px 30px; }
.review-author { display: flex; align-items: center; gap: 12px; }
.review-author img { width: 38px; height: 38px; border-radius: 50%; }
.review-author h3 { font-size: 13.333px; line-height: 16px; font-weight: 700; }
.review-author p { font-size: 12px; line-height: 14px; opacity: .5; }
.review-stars { margin-top: 10px; color: var(--gold); font-size: 18px; letter-spacing: 3px; line-height: 20px; }
.review-card blockquote { margin: 24px 0 12px; font-size: 16px; line-height: 19px; letter-spacing: -.03em; }
.review-heart { font-size: 25px; line-height: 20px; opacity: .4; }
.review-arrow { position: absolute; top: 85px; background: transparent; color: #002841; border: 0; width: 40px; height: 44px; cursor: pointer; font-size: 24px; opacity: .5; }
.review-prev { left: -48px; }.review-next { right: -48px; }
.review-pagination:not([hidden]) { margin-top: 42px; display: flex; gap: 12px; justify-content: center; }
.review-pagination button { position: relative; width: 16px; height: 20px; border: 0; padding: 0; background: none; cursor: pointer; }
.review-pagination button::after { content: ''; position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #00284140; inset: 5px auto auto 3px; }
.review-pagination button[aria-pressed='true']::after { background: #002841; }
.home-story { position: relative; min-height: 645px; color: var(--cream); overflow: hidden; background: radial-gradient(circle at top right,#003c61,#001a2b); }
.story-image { position: absolute; inset: 0; pointer-events: none; }
.story-image img { position: absolute; width: 1498.74px; height: 687.546px; max-width: none; object-fit: fill; left: calc(50% - 521.63px); top: -42.546px; }
.story-inner { position: relative; max-width: 1237px; margin-inline: auto; padding: 125px 0 60px; }
.home-story h2 { margin-top: 20px; font-size: 53.333px; line-height: 58px; }
.home-story h2 > span { display: block; font-size: 46.666px; line-height: 51px; }
.home-story em { color: var(--gold); font-size: 64px; }
.story-copy { margin-top: 112px; max-width: 677px; font-size: 16px; line-height: 19px; letter-spacing: -.03em; }
.story-copy p + p { margin-top: 19px; }
.button-outline { margin-top: 47px; color: var(--gold); border: 1px solid var(--gold); min-width: 180px; }
.button-outline:hover { background: var(--gold); color: var(--navy); }
.closing-cta { padding: 123px 24px 124px; text-align: center; }
.closing-cta .section-rule { width: 235.7px; margin: 0 auto 36px; }
.closing-cta h2 { font-size: 47.173px; line-height: 51px; }
.button-navy { margin-top: 48px; min-width: 235.7px; color: var(--cream); background: radial-gradient(circle at top left,#003c61,#001a2b); }
.button-navy:hover { color: var(--gold); }
@media (max-width:1250px) {
    .about-panel { padding-inline: 40px; gap: 30px; grid-template-columns: 1.5fr 1fr; }
    .about-panel h2,.home-page .about-return { font-size: 38px; line-height: 44px; }
    .about-copy { padding-left: 30px; }
    .what-section h2 { font-size: 45px; line-height: 52px; }
    .hub-card { padding-inline: 32px; }.hub-card h3 { font-size: 32px; line-height: 40px; }
    .reason-copy { padding-inline: 24px; }.reason-copy h3 { font-size: 23px; }
    .story-inner { margin-inline: 5.25%; }
    .review-card { padding-inline: 25px; }
}
@media (max-width:900px) {
    .home-container { width: calc(100% - 64px); }
    .home-hero { height: 760px; background-position: center top,58% top; }
    .hero-content { padding-top: 180px; }.home-hero h1 { font-size: 44px; line-height: 51px; }
    .hero-content > .button { margin-top: 54px; }
    .about-panel { grid-template-columns: 1fr; padding: 40px; }
    .about-panel h2,.home-page .about-return { font-size: 38px; line-height: 44px; }
    .about-copy { border-left: 0; border-top: 1px solid #f9b42b50; padding: 24px 0 0; font-size: 16px; line-height: 24px; }
    .desktop-break { display: none; }
    .what-section { padding-top: 135px; padding-bottom: 72px; }.what-section > .section-rule { top: 65px; }
    .what-section h2 { font-size: 38px; line-height: 46px; }.home-page .what-description { font-size: 18px; line-height: 27px; }
    .treatment-hubs { margin-top: 55px; grid-template-columns: 1fr; }.hub-card { padding: 55px 40px 35px; min-height: 275px; }
    .hub-card + .hub-card { border-left: 0; border-top: 1px solid #ffffff20; }.hub-card h3 { font-size: 36px; }
    .why-section { padding-block: 64px; }.reasons-grid { gap: 26px; padding: 0; }.reason-card { width: calc((100% - 26px)/2); min-height: 480px; }
    .reason-photo { height: 275px; }.reason-photo img { height: 300px; }.reason-copy { padding: 30px 24px; }
    .testimonials { padding: 64px 0; }.testimonials h2 { font-size: 34px; line-height: 42px; }.testimonials h2 em { font-size: 45px; }
    .review-carousel { margin-top: 48px; }.review-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 20px; padding: 6px; scrollbar-width: thin; }
    .review-card { flex: 0 0 calc((100% - 20px)/2); scroll-snap-align: start; }.review-prev { left: -34px; }.review-next { right: -34px; }
    .home-story { min-height: 670px; }.story-inner { padding-top: 75px; }.story-image { opacity: .7; }.story-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#001a2be6,transparent); }
    .story-copy { margin-top: 90px; max-width: 70%; }.home-story h2 { font-size: 46px; }.home-story h2 > span { font-size: 38px; }
    .closing-cta { padding-block: 85px; }.closing-cta h2 { font-size: 38px; line-height: 46px; }
}
@media (max-width:540px) {
    .home-container { width: calc(100% - 48px); }
    .home-page .eyebrow { font-size: 12px; line-height: 20px; letter-spacing: .2em; }
    .home-hero { height: 780px; background-image: linear-gradient(90deg,#001a2bcc,#001a2b30),linear-gradient(180deg,#002841 0,transparent 70%),url('../images/home-backdrop.png'); background-position: center,center,57% top; }
    .hero-content { padding-top: 175px; }.home-hero h1 { font-size: 35px; line-height: 42px; }.home-hero h1 em { font-size: 47px; }
    .home-hero h1 > span + span { margin-top: 20px; }.home-page .hero-location { max-width: 240px; margin-top: 32px; font-size: 13px; line-height: 20px; }.hero-content > .button { margin-top: 44px; }
    .about-panel { margin-top: -82px; padding: 30px 24px; border-radius: 18px; gap: 26px; }
    .about-panel h2,.home-page .about-return { font-size: 27px; line-height: 34px; }.about-return em { font-size: 36px; }.about-copy { font-size: 14px; line-height: 22px; }
    .what-section { padding-top: 111px; padding-bottom: 56px; }.what-section > .section-rule { top: 55px; }
    .what-section h2 { margin-top: 24px; font-size: 29px; line-height: 37px; }.home-page .what-description { margin-top: 28px; font-size: 16px; line-height: 24px; }
    .treatment-hubs { margin-top: 36px; border-radius: 18px; }.hub-card { min-height: 290px; padding: 49px 25px 30px; }.hub-card h3 { font-size: 29px; line-height: 36px; }.hub-card p { font-size: 14px; line-height: 21px; }.hub-card a { font-size: 11px; }.hub-number { font-size: 220px; left: 20px; top: -15px; }
    .reasons-grid { margin-top: 30px; gap: 28px; }.reason-card { width: 100%; min-height: 0; border-radius: 24px; }.reason-photo { height: 270px; }.reason-photo img { height: 295px; }.reason-copy { padding: 32px 26px 40px; }.reason-copy h3 { font-size: 24px; line-height: 29px; }.reason-copy p { font-size: 15px; line-height: 22px; }
    .testimonials h2 { font-size: 29px; line-height: 36px; margin-top: 20px; }.testimonials h2 em { font-size: 39px; }.review-card { flex-basis: 100%; padding: 30px 25px; }.review-carousel { margin-top: 32px; }.review-prev { left: -26px; }.review-next { right: -26px; }.review-arrow { width: 28px; }.review-pagination:not([hidden]) { margin-top: 24px; }
    .home-story { min-height: 0; }.story-image img { height: 640px; width: 1395px; left: -340px; top: 0; opacity: .5; }.story-image::after { background: linear-gradient(180deg,#001a2b70,#001a2be6); }.story-inner { margin-inline: 24px; padding: 70px 0 58px; }.home-story h2 { font-size: 40px; line-height: 49px; }.home-story h2 > span { font-size: 30px; line-height: 39px; }.home-story em { font-size: 43px; }.story-copy { margin-top: 82px; max-width: 100%; font-size: 15px; line-height: 23px; }.button-outline { margin-top: 30px; }
    .closing-cta { padding-block: 70px; }.closing-cta h2 { font-size: 29px; line-height: 37px; }.closing-cta .section-rule { width: 150px; margin-bottom: 28px; }.button-navy { margin-top: 34px; }
}
/* Canva's hero export includes transparency, so retain the navy canvas beneath it. */
.home-hero { background-color: #001a2b; }
@media (min-width:901px) {
    .story-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#001a2b 0%,#001a2bdb 30%,#001a2b66 53%,transparent 78%); }
}
@media (min-width:1251px) {
    .home-hero { background-size: 100% 100%,131.156% auto; background-position: center top,calc(50% + 5.264vw) -4.521vw; }
    .about-panel { grid-template-columns: minmax(0,632fr) minmax(0,431fr); gap: 43px; }
    .home-page .hero-location { margin-top: 24px; }
    .hero-content > .button { margin-top: 83px; }
}
@media (min-width:541px) and (max-width:900px) {
    .review-prev { left: -30px; }
    .review-next { right: -30px; }
}
@media (max-width:540px) {
    .review-arrow { width: 24px; padding: 0; }
    .review-prev { left: -24px; }
    .review-next { right: -24px; }
}
