:root{
  /* ---- Live theme tokens ---- */
  --bg:#FBFBF6;          /* page background */
  --ink:#1E1E1E;         /* primary text */
  --ink-2:#414444;       /* secondary text, nav, footer bg */
  --accent:#A47864;      /* buttons, nav hover */
  --accent-2:#AE8E7D;    /* social hover */
  --sage:#437A51;        /* alt accent (wellness) */
  --sand:#EBE4DC;        /* service card bg */
  --taupe:#D0C3BA;       /* category panel bg */
  --cream:#F5E9D9;       /* submenu bg */
  --gold-line:#D9C0A0;   /* border accents */
  --ivory:#FFF9EA;       /* light text on dark */
  --footer-bottom:#3B3D3D;
  --radius:20px;

  --serif-light:"Editor's Note Light","Cormorant Garamond",Georgia,serif;
  --serif-xlight:"Editor's Note Extralight","Cormorant Garamond",Georgia,serif;
  --serif-italic:"Editor's Note ExtralightItalic","Cormorant Garamond",Georgia,serif;
  --sans:"TT Norms Pro Regular","DM Sans",Helvetica,Arial,sans-serif;
  --sans-med:"TT Norms Pro Medium","DM Sans",Helvetica,Arial,sans-serif;
  --sans-bold:"TT Norms Pro Bold","DM Sans",Helvetica,Arial,sans-serif;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

p a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}


.btn-sm{min-height:52px;font-size:16px;padding:8px 22px;min-width: auto;}
.btn-row{display:flex;gap:16px;flex-wrap:wrap}

.hero .btn.btn-border,
.book-cta-section .btn.btn-border,
.loc-info .btn.btn-border,
.sub .btn.btn-border {
    background: none !important;
    color: #fff !important;
    border-color: #fff !important;
}
.hero .btn.btn-border:hover,
.book-cta-section .btn.btn-border:hover,
.loc-info .btn.btn-border:hover {
    background: #A47864 !important;
    color: #fff !important;
    border-color: #A47864 !important;
}
.surgeons .center .btn.btn-border:hover,
#gallery .center .btn.btn-border:hover {
    background: #A47864 !important;
    color: #fff !important;
}
.sub .btn.btn-border {
    min-width: auto;
}
.sub .btn.btn-border:hover {
    background: #fff !important;
    color: #1E1E1E !important;
    opacity: 1;
}

.section{padding:100px 0}
/* Image placeholders */
.ph{position:relative;background:linear-gradient(135deg,#cdbfb3 0%,#b9a494 45%,#9c8676 100%);border-radius:var(--radius);overflow:hidden}
.ph::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.25),transparent 55%)}
.ph-label{position:absolute;left:14px;bottom:14px;background:rgba(30,30,30,.72);color:#fff;font:500 12px/1.3 var(--sans-med);padding:6px 10px;border-radius:6px;max-width:calc(100% - 28px)}
.ph-label b{color:var(--gold-line);font-weight:500}

/* ---------- Module 1: Hero ---------- */
.breadcrumb{font:500 14px var(--sans-med);color:rgba(255,255,255,.75);margin-bottom:10px}
.breadcrumb a:hover{color:#fff}

/* ---------- Module 2: Proof strip ---------- */
.proof{background:var(--ink-2);color:#fff}
.proof-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    max-width: 1300px;
    margin: 0 auto;
}
.proof-item{padding:44px 40px;border-right:1px solid rgba(255,255,255,.18); text-align: center;}
.proof-item:last-child{border-right:none}
.proof-item strong{display:block;font-family:var(--serif-light);font-weight:300;font-size:34px;color:var(--ivory);margin-bottom:8px}
.proof-item span{font:400 16px/1.5 var(--sans);color:rgba(255,255,255,.8)}

/* ---------- Module 3: Intro ---------- */
.wellness-about-content p {
    text-wrap: balance;
}

/* ---------- Module 4: OPTIONS ---------- */
.cc-card-list {
    margin: 0 0 16px;
    padding: 0;
    list-style-position: inside;
}
.procedures-category-content ul li {
    margin-bottom: 8px;
}
.cc-card-list li:last-child {
    margin-bottom: 0;
}
.ready-update-options-section .procedures-category-row {
    margin: 80px 0px 0px;
}
.ready-update-options-section .procedures-category-content figcaption {
    margin: 0;
    min-height: auto;
}
span.kw {
    display: inline-block;
    margin-bottom: 14px;
    font: 500 11px var(--sans-med);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--sage);
    background: #fff;
    border-radius: 30px;
    padding: 5px 12px;
}
.bottom-close-content {
    max-width: 980px;
    margin: 80px auto 0;
}
.bottom-close-content p {
    text-align: center;
    font-size: 32px;
    line-height: 130%;
    font-family: 'Editor\'s Note Light';
    font-weight: 300;
    color: #1E1E1E;
}
/* ---------- Module 5: Surgeons ---------- */
.surgeons{background:var(--cream)}
.surgeon{display:grid;grid-template-columns:340px 1fr 420px;gap:44px;align-items:center;padding:44px 0;border-bottom:1px solid var(--gold-line)}
.surgeon:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.surgeon .headshot{aspect-ratio:4/5}

.spec{font:500 15px var(--sans-med);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:10px 0 18px}
.surgeon p{margin-bottom:26px}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ba .ph{aspect-ratio:3/4}
.ba-cap{grid-column:1/-1;font:500 14px var(--sans-med);color:var(--ink-2);text-align:center;margin-top:6px}
.surgeon .surgeons-profile-content {
    padding: 0;
    width: 100%;
}

/* ---------- MODULE 6 — COST AND FINANCING ---------- */
.cost{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:start}
.cost-copy .pull {
    font-style: italic;
    font-size: 26px;
    line-height: 1.35;
    color: var(--ink);
    border-left: 3px solid var(--accent);
    padding-left: 22px;
    margin: 30px 0;
    font-weight: normal;
    font-family: 'Editor\'s Note Regular';
}
.cost-side {
    background: #EBE4DC;
    border-radius: 20px;
    padding: 44px 40px;
}
.stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 28px;
}
.stat {
    background: #fff;
    border-radius: 14px;
    padding: 22px 20px;
}
.stat .num {
    display: block;
    font-family: 'Editor\'s Note Light';
    font-size: 44px;
    color: var(--ink);
    line-height: 1;
}
.stat .cap {
    display: block;
    color: #414444;
    margin-top: 10px;
    font-family: 'TT Norms Pro Regular';
    font-weight: normal;
    font-size: 16px;
    line-height: 22px;
}
.ontop h4 {
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #A47864;
    margin-bottom: 15px;
    font-weight: 500;
    font-family: 'TT Norms Pro Medium';
    font-size: 13px;
}
.inc {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px 18px;
    margin-bottom: 24px;
    padding: 0;
}
.inc li {
    color: #1E1E1E;
    padding-left: 26px;
    position: relative;
    margin: 0;
    font-weight: 400;
    font-family: 'TT Norms Pro Regular';
    font-size: 16px;
    line-height: 1;
}
.inc li::before{content:"";position:absolute;left:0;top:5px;width:14px;height:8px;border-left:2px solid var(--sage);border-bottom:2px solid var(--sage);transform:rotate(-45deg)}
.cherry{background:#fff;border-radius:14px;padding:22px 24px;display:flex;align-items:center;gap:18px;margin-bottom:28px}
.cherry-logo{flex:none;width:70px;height:70px;border-radius:50%;background:#1E1E1E;color:#fff;display:flex;align-items:center;justify-content:center;font:700 14px var(--sans-bold);letter-spacing:.05em}
.cherry b{display:block;font:500 17px var(--sans-med);color:var(--ink);margin-bottom:4px}
.cherry span{font:400 14px/1.5 var(--sans);color:var(--ink-2)}
/* ---------- Module 6: Feature panels ---------- */
.section.feature-panels-sec {
    padding-top: 0;
}
.feature-panels-sec .procedures-category-row {
    margin: 0;
}
.feature-panels-sec .procedures-category-col {
    width: calc(50% - 15px);
}
.panels.two{grid-template-columns:1fr 1fr}
.panels{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:30px}
.panel{background:var(--taupe);border-radius:var(--radius);padding:52px 44px;display:flex;flex-direction:column}
.panel h3{font-family:var(--serif-italic);font-style:italic;font-size:44px;margin-bottom:18px}
.panel p{color:var(--ink);font-size:17px;margin-bottom:18px}
.panel .btn{margin-top:auto;align-self:flex-start}
.price-band{font-family:var(--serif-light);font-size:40px;color:var(--ink);margin:4px 0 6px}
.price-note{font:500 13px var(--sans-med);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:22px}

.brief-tag{display:inline-block;background:#fff4d6;color:#7a5a00;border:1px dashed #c9a23a;font:500 12px var(--sans-med);padding:5px 10px;border-radius:6px;margin-bottom:14px}
.brief-tag.dark{background:rgba(255,244,214,.15);color:#f3dfa8;border-color:#c9a23a}
body.hide-tags .brief-tag{display:none}
.intro .brief-tag{margin-bottom:22px}
.flag{display:inline-block;background:#fff4d6;color:#7a5a00;border:1px dashed #c9a23a;font:500 12px var(--sans-med);padding:5px 10px;border-radius:6px;margin-bottom:14px}

/* ---------- Module 7: Pull-quote ---------- */
.quote-band{position:relative;min-height:560px;display:flex;align-items:center;color:#fff;overflow:hidden}
.quote-band .ph{position:absolute;inset:0;border-radius:0}
.quote-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,30,30,.9) 0%,rgba(30,30,30,.7) 55%,rgba(30,30,30,.25) 100%);z-index:1}
.quote-band .container{position:relative;z-index:2;width:100%}
.quote-mark{font-family:var(--serif-light);font-size:140px;line-height:.6;color:var(--gold-line);display:block;height:60px}
blockquote {
    font-family: 'Editor\'s Note Light';
    font-weight: 300;
    font-size: 50px;
    line-height: 1.25;
    max-width: 980px;
    color: #fff;
}
.cred{margin-top:34px;display:flex;align-items:center;gap:18px}
.cred-line{width:60px;height:1px;background:var(--gold-line)}
.cred b{display:block;font:500 19px var(--sans-med);color:#fff}
.cred span{font:400 15px var(--sans);color:rgba(255,255,255,.75)}
.quote-band .ph-label{z-index:3;left:auto;right:18px}


/* ---------- Module 8: Gallery ---------- */
.gallery-grid {
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap;
}
.gallery-sec .g-item {
    width: calc(33.33% - 20px);
}
.g-item .pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.g-item .ph{aspect-ratio:3/4;border-radius:16px}
.g-item h4{font-family:var(--sans-med);font-weight:500;font-size:17px;margin-top:14px;text-align:center;color:var(--ink)}
.g-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:-24px 0 44px}
.g-tabs button{border:1px solid var(--ink-2);background:transparent;border-radius:40px;padding:10px 22px;font:500 15px var(--sans-med);color:var(--ink-2);cursor:pointer}
.g-tabs button.on{background:var(--ink-2);color:#fff}
.center{text-align:center;margin-top:50px}
.gallery-sec .heading h2 {
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
}
.gallery-sec .heading p {
    max-width: 100%;
}
.gallery-sec .g-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.before, .after {
    position: relative;
}
/* ---------- Module 9: CTA banner ---------- */
.cta{position:relative;padding:100px 0;color:#fff;text-align:center;overflow:hidden}
.cta .ph{position:absolute;inset:0;border-radius:0;background:linear-gradient(135deg,#8d9a86,#6f7d6a 50%,#55604f)}
.cta::after{content:"";position:absolute;inset:0;background:rgba(30,30,30,.55);z-index:1}
.cta .container{position:relative;z-index:2}
.cta .heading {
    margin-bottom: 0;
}
.cta h2{color:#fff;max-width:980px;margin:0 auto 22px}
.cta p{color:rgba(255,255,255,.88);max-width:760px;margin:0px auto 20px}
.cta p a{color:#fff}
.cta .btn-row{justify-content:center}
.cta .ph-label{z-index:3;left:auto;right:18px}
.book-cta-section .btn-row {
    margin-top: 40px;
}
/* ---------- Module 10: Videos ---------- */
.videos{background:var(--sand)}
.featured-videos-item h4 {
    color: var(--ink);
}

/* ---------- Module 12: Location ---------- */
.faqs-row.faq-blackcolor-content {
    max-width: 1280px;
    margin: 0 auto;
}
.section.lp-sec {
    padding-top: 0;
}
.location{display:grid;grid-template-columns:1fr 1.2fr;gap:0;border-radius:var(--radius);overflow:hidden;background:var(--ink-2)}
.loc-info{padding:64px 56px;color:#fff}
.loc-info h2{color:#fff;font-size:52px;margin-bottom:24px}
.loc-row{display:flex;gap:18px;padding:18px 0;border-top:1px solid rgba(255,255,255,.16)}
.loc-row:last-of-type{border-bottom:1px solid rgba(255,255,255,.16);margin-bottom:34px}
.loc-row .lbl{flex:none;width:90px;font:500 12px var(--sans-med);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-line);padding-top:4px}
.loc-row .val{font:400 18px/1.5 var(--sans);color:#fff}
.map.ph{border-radius:0;min-height:480px;background:
  repeating-linear-gradient(0deg,transparent 0 58px,rgba(255,255,255,.35) 58px 62px),
  repeating-linear-gradient(90deg,transparent 0 88px,rgba(255,255,255,.35) 88px 92px),#d9d3c7}
.pin{position:absolute;left:50%;top:46%;transform:translate(-50%,-100%);width:38px;height:38px;border-radius:50% 50% 50% 0;background:var(--accent);transform-origin:center;rotate:-45deg;box-shadow:0 6px 14px rgba(0,0,0,.25)}
.loc-info .heading {
    margin: 0;
}

/* ---------- Pre-footer + footer ---------- */
.section.sub-sec {
    padding-top: 0;
}
.sub-sec .procedures-category-row {
    margin-bottom: 80px;
}
.sub-sec .procedures-category-content figcaption {
    min-height: auto;
    text-align: center;
}
.pre{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.pre .box{background:var(--sand);border-radius:var(--radius);padding:40px;text-align:center; width: 100%;height: 100%;}
.pre .box h3{font-size:32px;margin-bottom:8px}
.pre .box p{font-size:16px;margin-bottom:22px}
.minutes{margin-top:30px;background:var(--sage);border-radius:var(--radius);padding:56px;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.minutes h3{color:#fff;font-size:44px}
.minutes p{color:rgba(255,255,255,.85);font-size:17px}
.sub{display:flex;gap:10px}
.sub-btn {
    position: relative;
}
.sub-input {
    flex: 1;
}
.sub input{width: 100%;min-height:64px;border-radius:10px;border:none;padding:0 20px;}
.ftr-logo img {
    margin: 0 auto;
}
.sub-btn .btn {
    min-width: auto !important;
    background: transparent !important;
    color: #fff !important;
    border-color: #fff !important;
}
.sub-btn .btn:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: #1E1E1E !important;
    opacity: 1;
}
.surgeon .headshot img, .quote-band .ph img, .book-cta-section .ph img {width: 100%;height: 100%;object-fit: cover;}
.ba .before, .ba .after {
    position: relative;
}
.wpcf7-not-valid-tip {
    color: #e1b0b0 !important;
    position: relative;
    top: 4px;
}
.wpcf7-response-output {
    border: 1px solid #fff1f1 !important;
    background: #fff1f1;
    padding: 5px 12px !important;
    color: #dc3232;
    margin: 10px 0 0!important;
}


.gallery-sec .g-item.is-hidden {
  display: none;
}

.gallery-sec .g-item:not(.is-hidden) {
  animation: gItemFade 0.4s ease;
}

@keyframes gItemFade {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.breast-3-colum-category.gird2 .procedures-category-col {
    width: calc(50% - 15px);
}
.pb0 {
    padding-bottom: 0 !important;
}
.pt0 {
    padding-top: 0 !important;
}
.section.feature-panels-sec.pt100 {
    padding-top: 100px;
}
.feature-panels-sec .breast-3-colum-category.grid3 .procedures-category-col {
    width: calc(33% - 15px);
}
.featured-videos-wrap {
    justify-content: center;
}
/** RESPONSIVE CSS START **/
@media (max-width:1699px) {
    .practice-hero-section.inner-hero-section {
        height: 580px;
    }
    .ready-update-section .container {
        padding: 0 40px;
    }
    .our-sergeons-row {
        max-width: 100%;
    }
    .sub-sec .procedures-category-content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    blockquote {
        font-size: 45px;
        line-height: 1.25;
    }
    .loc-info h2 {
        font-size: 45px;
    }
}
@media (max-width:1439px) {
    .proof-item {
        padding: 44px 24px;
    }
    .surgeon {
        grid-template-columns: 300px 1fr 350px;
        gap: 24px;
        padding: 36px 0;
    }
    .loc-info {
        padding: 50px 35px;
    }
}
@media (max-width:1199px) {
    .practice-hero-section.inner-hero-section {
        height: 450px;
    }
    .proof-item {
        padding: 34px 15px;
    }
    .proof-item strong {
        font-size: 28px;
        line-height: 1;
    }
    .proof-item span {
        font-size: 15px;
    }
    .section {
        padding: 50px 0;
    }
    .ready-update-options-section .procedures-category-row {
        margin: 50px 0px 0px;
    }
    .bottom-close-content {
        margin: 50px auto 0;
        max-width: 760px;
    }
    .bottom-close-content p {
        font-size: 25px;
    }
    .surgeon:first-child {
        padding-top: 0;
    }
    .surgeon {
        grid-template-columns: 260px 1fr;
        gap: 24px;
        padding: 36px 0;
    }
    .ba {
        grid-column: 1 / -1;
        max-width: 520px;
    }
    .loc-info h2 {
        font-size: 35px;
    }
    .minutes h3 {
        font-size: 38px;
    }
    .minutes {
        padding: 37px;
        gap: 30px;
    }
    .center {
        margin-top: 30px;
    }
    blockquote {
        font-size: 35px;
        line-height: 1.25;
    }
    .quote-band {
        min-height: 430px;
    }
    .cta {
        padding: 50px 0;
    }
    .cta p {
        margin: 0px auto 15px;
    }
    .section.feature-panels-sec.pt100 {
        padding-top: 50px;
    }
    .feature-panels-sec .breast-3-colum-category.grid3 .procedures-category-col {
        width: calc(50% - 15px);
        margin-bottom: 0;
    }
}
@media (max-width:1023px) {
    .proof-grid {
        grid-template-columns: 1fr;
    }
    .proof-item {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,.18);
        padding: 28px 0;
    }
    .surgeons-profile-content h3 {
        font-size: 30px;
    }
    .cost {
        gap: 40px;
        grid-template-columns: 1fr;
    }
    .gallery-grid {
        grid-template-columns: repeat(2,1fr);
        gap: 20px;
    }
    .gallery-sec .g-item {
        width: calc(50% - 10px);
    }
    .gallery-sec .center {
        margin-top: 10px;
    }
    .featured-videos-item {
        width: 50%;
    }
    .featured-videos-img-card {
        height: auto;
        aspect-ratio: 16/9;
    }
    .location {
        grid-template-columns: 1fr 0.9fr;
    }
    .loc-info {
        padding: 20px 20px;
    }
    .loc-row {
        gap: 10px;
        padding: 15px 0;
    }
    .loc-row .lbl {
        width: 80px;
        font-size: 11px;
    }
    .loc-row .val {
        font-size: 16px;
    }
    .map.ph {
        min-height: 420px;
    }
    .section  .procedures-category-content {
        min-height: auto !important;
    }
    .minutes {
        grid-template-columns: 1fr;
    }
}
@media (max-width:680px) {
    .surgeon {
        grid-template-columns: 1fr;
    }
    .cost-side {
        padding: 30px 22px;
    }
    .stats {
        grid-template-columns: 1fr;
    }
    .feature-panels-sec .procedures-category-col {
        width: 100%;
    }
    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 0px;
    }
    .gallery-sec .g-item {
        width: 100%;
    }
    .featured-videos-item {
        width: 100%;
    }
    .featured-videos-img-card {
        height: auto;
    }
    .ready-update-section .container {
        padding: 0 20px;
    }
    .ready-update-options-section .procedures-category-row {
        margin: 30px 0px 0px;
    }
    .ready-update-options-section .repeat-flex-column .whybuild-repeat-part:nth-child(odd) .column-2-row {
        flex-direction: column-reverse;
        gap: 30px;
    }
    .ready-update-section .whybuild-repeat-part .column-2-col-text-info {
        margin: 0;
    }
    .procedures-category-row.breast-3-colum-category .procedures-category-col {
        margin-bottom: 30px;
    }
    .surgeons-profile-content h3 {
        font-size: 24px;
    }
    .surgeon .surgeons-profile-content .btn {
        width: 100%;
    }
    .stat .num {
        font-size: 38px;
    }
    .stat .cap {
        font-size: 14px;
        line-height: 22px;
    }
    .inc {
        grid-template-columns: 1fr;
        gap: 20px 18px;
    }
    .cherry {
        padding: 12px 12px;
        gap: 12px;
        margin-bottom: 18px;
    }
    .cost-side .btn {
        width: 100%;
    }
    .quote-band {
        min-height: auto;
        padding: 50px 0px;
    }
    blockquote {
        font-size: 30px;
        line-height: 1.25;
    }
    .cta p {
        margin: 0px auto 9px;
    }
    .book-cta-section .btn-row {
        margin-top: 30px;
    }
    .featured-videos-wrap {
        row-gap: 30px;
    }
    .location {
        grid-template-columns: 1fr;
    }
    .loc-info h2 {
        font-size: 30px;
    }
    .loc-info .btn-row .btn {
        width: 100%;
    }
    .loc-info .btn-row {
        gap: 12px;
        margin-top: 15px;
    }
    .sub-sec .procedures-category-row {
        margin-bottom: 40px;
        margin-top: 0;
    }
    .minutes h3 {
        font-size: 32px;
        margin-bottom: 12px;
    }
    .minutes {
        padding: 25px;
    }
    .minutes p {
        font-size: 16px;
        line-height: 22px;
    }
    .sub {
        flex-direction: column;
    }
    .breadcrumb {
        justify-content: center;
    }
    .feature-panels-sec .procedures-category-content figcaption {
        min-height: auto;
    }
    .breast-3-colum-category.gird2 .procedures-category-col {
        width: 100%;
    }
    .feature-panels-sec .breast-3-colum-category.grid3 .procedures-category-col {
        width: 100%;
        margin-bottom: 30px;
    }
    .feature-panels-sec .breast-3-colum-category.grid3 .procedures-category-col:last-child {
        margin-bottom: 0px;
    }
}
/** RESPONSIVE CSS END **/
