:root{--ink:#1f1714;--ink-soft:#5d4d47;--rose:#a77882;--rose-2:#c9a8ad;--cream:#f8f3ee;--parch:#f2e9e1;--nude:#dfcdc2;--line:rgba(31,23,20,.1);--white:#fff;--serif:'Cormorant Garamond',serif;--sans:'DM Sans',sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);background:var(--cream);color:var(--ink);font-weight:300;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.site-header{position:fixed;top:0;left:0;width:100%;z-index:50;transition:background .35s,box-shadow .35s}.site-header.is-scrolled{background:rgba(248,243,238,.9);backdrop-filter:blur(18px);box-shadow:0 12px 36px rgba(31,23,20,.07)}.site-header__inner{width:min(1460px,92vw);height:78px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.site-logo{font-family:var(--serif);font-size:1.85rem;color:#fff;letter-spacing:.02em}.site-logo em{font-style:italic;color:rgba(255,255,255,.72)}.site-header.is-scrolled .site-logo{color:var(--ink)}.site-header.is-scrolled .site-logo em{color:var(--rose)}.custom-logo{max-height:54px;width:auto}.primary-nav{display:flex;align-items:center;gap:28px}.primary-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:28px}.primary-menu a{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.72);transition:.25s}.site-header.is-scrolled .primary-menu a{color:rgba(31,23,20,.56)}.primary-menu a:hover{color:var(--rose)}.nav-book{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:#fff;border:1px solid rgba(255,255,255,.38);padding:12px 24px;transition:.25s}.site-header.is-scrolled .nav-book{color:var(--ink);border-color:rgba(31,23,20,.18)}.nav-book:hover{background:var(--rose);border-color:var(--rose);color:#fff}.nav-toggle{display:none;background:none;border:0;width:42px;height:42px;position:relative}.nav-toggle span{display:block;height:1px;background:#fff;margin:8px 0}.site-header.is-scrolled .nav-toggle span{background:var(--ink)}
.hero{position:relative;min-height:100svh;overflow:hidden;background:linear-gradient(135deg,#39231e 0%,#795349 54%,#a77b72 100%)}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(255,255,255,.14),transparent 28%),linear-gradient(90deg,rgba(31,23,20,.62),rgba(31,23,20,.16) 58%,rgba(31,23,20,.05));z-index:0}.hero-bg:after{content:'';position:absolute;inset:0;opacity:.045;background-image:linear-gradient(rgba(255,255,255,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.45) 1px,transparent 1px);background-size:80px 80px}.hero-soft-fade{position:absolute;left:0;right:0;bottom:-1px;height:26vh;z-index:4;background:linear-gradient(to bottom,rgba(248,243,238,0),rgba(248,243,238,.82) 66%,var(--parch) 100%);pointer-events:none}.hero-model{position:absolute;right:5vw;bottom:0;height:86svh;max-width:48vw;object-fit:contain;object-position:center bottom;z-index:2;filter:drop-shadow(0 36px 70px rgba(31,23,20,.22));-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.88) 82%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.88) 82%,transparent 100%)}.hero:after{content:'';position:absolute;right:0;top:0;width:58%;height:100%;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(121,83,73,0),rgba(121,83,73,.24) 34%,rgba(248,243,238,.2) 100%)}.hero-content{position:relative;z-index:5;width:min(1460px,92vw);min-height:100svh;margin:0 auto;display:grid;grid-template-columns:1fr .82fr;align-items:end;gap:5vw;padding:16vh 0 9vh}.kicker,.section-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;color:var(--rose);display:flex;align-items:center;gap:14px;margin-bottom:22px}.hero .kicker{color:rgba(255,255,255,.62)}.kicker:before,.section-kicker:before{content:'';width:28px;height:1px;background:currentColor}.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(6rem,14vw,12rem);line-height:.76;margin:0 0 38px;color:#fff;letter-spacing:-.04em}.hero h1 em{display:block;font-style:italic;color:rgba(255,255,255,.62);font-size:.72em;transform:translateX(5vw)}.hero-copy{align-self:center;max-width:430px;color:rgba(255,255,255,.78);font-size:1.05rem;line-height:1.9;margin-left:auto}.outline-btn,.dark-btn,.text-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;transition:.3s var(--ease)}.outline-btn{color:#fff;border:1px solid rgba(255,255,255,.55);padding:16px 34px}.outline-btn:hover{background:#fff;color:var(--ink)}.dark-btn{background:var(--ink);border:1px solid var(--ink);color:#fff;padding:17px 34px}.dark-btn:hover{background:var(--rose);border-color:var(--rose)}.text-link-btn{border-bottom:1px solid rgba(31,23,20,.25);padding-bottom:5px;color:var(--ink)}.text-link-btn:hover{color:var(--rose);border-color:var(--rose)}
.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:86vh;background:var(--parch);position:relative;z-index:8}.split-media{position:relative;overflow:hidden;background:#6f514b}.split-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(.95) brightness(.72)}.media-overlay{position:absolute;inset:0;background:linear-gradient(140deg,rgba(58,35,30,.62),rgba(242,233,225,.15) 70%)}.media-kicker{position:absolute;top:8%;left:7%;font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.62)}.split-content{padding:12vh 6vw;display:flex;flex-direction:column;justify-content:center}.split-content h2,.section-head h2,.gallery-head h2,.process-grid h2,.bottom-cta h2,.page-hero h1,.booking-form-card h2,.contact-hero h1{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:300;line-height:1.02;margin:0 0 28px;letter-spacing:-.02em}.split-content h2 em,.section-head h2 em{font-style:italic;color:var(--rose)}.split-content p,.section-head p,.gallery-head p,.process-grid p,.bottom-cta p,.page-hero p,.booking-visual-copy p,.contact-hero p{color:rgba(31,23,20,.58);font-size:1rem;line-height:1.95}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:34px}.feature-item{padding:26px 18px 0 0;border-right:1px solid var(--line)}.feature-item:last-child{border-right:0}.feature-item span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(167,120,130,.28);color:var(--rose);margin-bottom:14px}.feature-item h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;margin:0 0 8px}.feature-item p{font-size:.88rem;line-height:1.75;margin:0}.services-preview,.gallery-section,.process-section,.page-shell{padding:110px 5vw}.section-head,.gallery-head{max-width:1320px;margin:0 auto 48px;display:grid;grid-template-columns:1fr .8fr;gap:5vw;align-items:end}.section-head p,.gallery-head p{align-self:end}.service-card-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;box-shadow:0 18px 48px rgba(31,23,20,.07);overflow:hidden}.service-card img{width:100%;height:310px;object-fit:cover;filter:saturate(.94)}.service-card div{padding:28px}.service-card span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose)}.service-card h3{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.1;margin:12px 0}.service-card p{color:rgba(31,23,20,.56);font-size:.95rem;line-height:1.85}.center-actions{text-align:center;margin-top:42px}.gallery-section{background:linear-gradient(180deg,var(--cream),var(--parch))}.mosaic-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.15fr .8fr .8fr;grid-template-rows:340px 280px;gap:4px}.mosaic-grid figure{position:relative;margin:0;overflow:hidden;background:#583d38}.mosaic-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(.95);transition:transform .8s var(--ease)}.mosaic-grid figure:hover img{transform:scale(1.04)}.mosaic-grid figure:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(31,23,20,.68),rgba(31,23,20,.14) 55%,transparent)}.mosaic-main{grid-row:1/span 2}.mosaic-wide{grid-column:2/span 2}.mosaic-grid figcaption{position:absolute;left:20px;bottom:18px;z-index:2;color:#fff;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}.process-section{background:var(--parch)}.process-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw}.steps-list{display:grid;gap:0}.step{display:grid;grid-template-columns:70px 1fr;padding:30px 0;border-bottom:1px solid var(--line)}.step span{width:44px;height:44px;border-radius:50%;border:1px solid rgba(167,120,130,.28);display:grid;place-items:center;color:var(--rose);font-family:var(--serif);font-style:italic}.step h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;margin:0 0 7px}.step p{margin:0;font-size:.95rem}.bottom-cta{margin:0;padding:100px 5vw;text-align:center;background:linear-gradient(135deg,#efe2da,#f8f3ee);border-top:1px solid var(--line)}.bottom-cta h2{max-width:820px;margin-left:auto;margin-right:auto}.bottom-cta p{max-width:540px;margin:0 auto 32px}.bottom-cta .section-kicker{justify-content:center}.bottom-cta .section-kicker:before{display:none}
.site-footer{background:var(--parch);border-top:1px solid var(--line);color:rgba(31,23,20,.62)}.site-footer__inner{width:min(1320px,90vw);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4vw;padding:80px 0 40px;border-bottom:1px solid var(--line)}.footer-logo{font-family:var(--serif);font-size:2.6rem;color:var(--ink)}.footer-logo em{font-style:italic;color:var(--rose)}.footer-brand p{max-width:340px}.footer-social{display:inline-flex;margin-top:12px;color:var(--rose);border-bottom:1px solid rgba(167,120,130,.35);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.footer-col h4{font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(31,23,20,.36)}.footer-col a,.footer-col p{display:block;color:rgba(31,23,20,.62);line-height:2.25;font-size:.92rem}.footer-col a:hover{color:var(--rose)}.footer-bottom{width:min(1320px,90vw);margin:0 auto;padding:24px 0 32px;display:flex;justify-content:space-between;gap:20px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(31,23,20,.4)}.footer-bottom a:hover{color:var(--rose)}
.page-shell{padding-top:130px}.compact-hero{max-width:1120px;margin:0 auto 54px}.price-section{max-width:1120px;margin:0 auto;display:grid;gap:26px}.price-category{background:#fff;padding:34px;box-shadow:0 16px 42px rgba(31,23,20,.06)}.price-category h2{font-family:var(--serif);font-size:2.4rem;font-weight:400;margin:0 0 18px;color:var(--rose)}.price-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.price-row:last-child{border-bottom:0}.price-row strong{font-family:var(--serif);font-size:1.3rem;font-style:italic;font-weight:400;white-space:nowrap}.bottom-cta--page{margin-top:70px}.booking-layout{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:0;background:#fff;box-shadow:0 20px 60px rgba(31,23,20,.08)}.booking-visual{position:relative;min-height:720px;overflow:hidden;background:#3b2824}.booking-visual img{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.85)}.booking-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(31,23,20,.66),rgba(31,23,20,.1))}.booking-visual-copy{position:absolute;left:44px;right:44px;bottom:44px;color:#fff;z-index:2}.booking-visual-copy span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.booking-visual-copy h1{font-family:var(--serif);font-size:4rem;line-height:.95;font-weight:300;margin:14px 0}.booking-visual-copy p{color:rgba(255,255,255,.75)}.booking-form-card,.contact-form-card{padding:56px}.glo-form-placeholder{padding:22px;border:1px dashed rgba(167,120,130,.45);background:rgba(167,120,130,.06);color:var(--ink-soft)}.wpcf7-form label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(31,23,20,.45);margin-bottom:18px}.wpcf7 input,.wpcf7 select,.wpcf7 textarea{width:100%;border:0;border-bottom:1px solid rgba(31,23,20,.16);background:transparent;padding:12px 0;font-size:1.1rem;color:var(--ink);outline:none}.wpcf7 textarea{min-height:120px}.wpcf7-submit{background:var(--ink)!important;color:#fff!important;border:1px solid var(--ink)!important;padding:16px 28px!important;text-transform:uppercase!important;letter-spacing:.18em!important;font-size:.74rem!important;cursor:pointer}.contact-hero{max-width:1180px;margin:0 auto 54px;display:grid;grid-template-columns:1fr .72fr;gap:6vw}.contact-card{background:#fff;padding:34px;box-shadow:0 16px 42px rgba(31,23,20,.06)}.contact-card p{border-bottom:1px solid var(--line);padding-bottom:18px}.contact-card p:last-child{border-bottom:0}.contact-form-section{max-width:900px;margin:0 auto}
@media(max-width:980px){.primary-nav{position:fixed;inset:72px 16px auto 16px;background:rgba(248,243,238,.96);backdrop-filter:blur(18px);display:none;flex-direction:column;align-items:stretch;padding:24px;box-shadow:0 18px 54px rgba(31,23,20,.12)}.primary-nav.is-open{display:flex}.primary-menu{display:grid;gap:18px}.primary-menu a{color:var(--ink)!important}.nav-book{color:var(--ink);border-color:rgba(31,23,20,.18);text-align:center}.nav-toggle{display:block}.hero-content{grid-template-columns:1fr;padding-top:115px;align-items:end}.hero-model{right:-7vw;height:55svh;max-width:82vw;opacity:.9}.hero-copy{margin:0;max-width:560px}.split-section,.section-head,.gallery-head,.process-grid,.booking-layout,.contact-hero{grid-template-columns:1fr}.split-media{height:62vw;min-height:340px}.feature-grid,.service-card-grid{grid-template-columns:1fr}.feature-item{border-right:0;border-bottom:1px solid var(--line);padding:22px 0}.feature-item:last-child{border-bottom:0}.mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 260px}.mosaic-main{grid-column:1/span 2;grid-row:auto}.mosaic-wide{grid-column:1/span 2}.site-footer__inner{grid-template-columns:1fr 1fr}.booking-visual{min-height:380px}.booking-form-card,.contact-form-card{padding:34px}}
@media(max-width:560px){.site-header__inner{height:68px;width:calc(100vw - 36px)}.site-logo{font-size:1.55rem}.hero{min-height:100svh}.hero-content{width:calc(100vw - 44px);padding:96px 0 44px;min-height:100svh}.hero h1{font-size:clamp(4.7rem,24vw,7rem);margin-bottom:28px}.hero h1 em{transform:none}.hero-model{right:-26vw;height:49svh;max-width:105vw;bottom:22svh;opacity:.82}.hero-copy{font-size:.98rem;background:rgba(98,68,61,.24);padding:18px 0 0}.outline-btn{width:100%;padding:15px 22px}.hero-soft-fade{height:32vh}.split-content,.services-preview,.gallery-section,.process-section,.page-shell{padding:70px 22px}.split-media{height:92vw}.split-content h2,.section-head h2,.gallery-head h2,.process-grid h2,.bottom-cta h2,.page-hero h1{font-size:clamp(2.55rem,13vw,4rem)}.service-card img{height:245px}.mosaic-grid{grid-template-columns:1fr;grid-template-rows:300px 220px 220px 240px}.mosaic-main,.mosaic-wide{grid-column:auto}.step{grid-template-columns:54px 1fr;padding:24px 0}.bottom-cta{padding:76px 22px;text-align:left}.bottom-cta .section-kicker{justify-content:flex-start}.site-footer__inner{grid-template-columns:1fr;width:calc(100vw - 44px)}.footer-bottom{width:calc(100vw - 44px);flex-direction:column}.price-category{padding:24px}.price-row{grid-template-columns:1fr;gap:4px}.booking-form-card,.contact-form-card{padding:28px 22px}.booking-visual-copy{left:24px;right:24px;bottom:28px}.booking-visual-copy h1{font-size:3rem}.contact-card{padding:24px}}
/* === Glo Beauty fixes: CF7, process section, footer socials, default pages === */

.default-page-card {
    max-width: 980px;
    margin: 0 auto 90px;
    background: #fff;
    padding: clamp(34px, 6vw, 74px);
    box-shadow: 0 18px 54px rgba(31, 23, 20, .07);
}

.default-page-card h1 {
    font-family: var(--serif);
    font-size: clamp(3rem, 7vw, 6rem);
    font-weight: 300;
    line-height: .95;
    margin: 0 0 28px;
}

.entry-content {
    color: rgba(31, 23, 20, .66);
    font-size: 1rem;
    line-height: 1.95;
}

.entry-content p {
    margin: 0 0 18px;
}

/* Process section */
.process-section {
    background: linear-gradient(180deg, var(--parch), var(--cream));
    padding: clamp(76px, 9vw, 130px) 5vw;
}

.process-grid {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(320px, .82fr) minmax(540px, 1.18fr);
    gap: clamp(44px, 7vw, 110px);
    align-items: start;
}

.process-intro {
    position: sticky;
    top: 120px;
}

.process-intro h2 {
    font-family: var(--serif);
    font-size: clamp(2.8rem, 5vw, 5.5rem);
    font-weight: 300;
    line-height: .98;
    letter-spacing: -.02em;
    margin: 0 0 26px;
}

.process-intro p {
    max-width: 470px;
    color: rgba(31, 23, 20, .58);
    line-height: 1.95;
    margin: 0;
}

.steps-list {
    display: grid;
    gap: 0;
}

.step {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    column-gap: 28px !important;
    align-items: start !important;
    padding: 34px 0 !important;
    border-bottom: 1px solid var(--line);
}

.step:first-child {
    padding-top: 0 !important;
}

.step span {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(167, 120, 130, .32);
    background: rgba(167, 120, 130, .045);
    display: grid;
    place-items: center;
    font-family: var(--serif);
    font-style: italic;
    color: var(--rose);
    line-height: 1;
}

.step-copy {
    min-width: 0;
}

.step h3 {
    font-family: var(--serif);
    font-size: clamp(1.7rem, 2vw, 2.25rem);
    font-weight: 400;
    line-height: 1.12;
    margin: 0 0 12px;
}

.step p {
    max-width: 720px;
    margin: 0;
    font-size: 1rem;
    line-height: 1.9;
    color: rgba(31, 23, 20, .58);
}

/* CF7 forms */
.form-intro {
    max-width: 620px;
    color: rgba(31, 23, 20, .58);
    line-height: 1.85;
    margin: 0 0 30px;
}

.booking-form-card .wpcf7,
.contact-form-card .wpcf7 {
    margin-top: 26px;
}

.wpcf7 form {
    display: grid;
    gap: 18px;
}

.wpcf7-form p {
    margin: 0 0 18px;
}

.wpcf7-form label {
    display: block;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: rgba(31, 23, 20, .45);
    line-height: 1.55;
}

.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    margin-top: 8px;
    border: 0;
    border-bottom: 1px solid rgba(31, 23, 20, .16);
    background: transparent;
    padding: 12px 0;
    font-size: 1.08rem;
    color: var(--ink);
    outline: none;
    border-radius: 0;
}

.wpcf7 textarea {
    min-height: 130px;
    resize: vertical;
}

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    border-bottom-color: var(--rose);
}

.wpcf7-submit {
    width: auto !important;
    min-width: 220px;
    margin-top: 10px !important;
    padding: 16px 28px !important;
    background: var(--ink) !important;
    color: #fff !important;
    border: 1px solid var(--ink) !important;
    text-transform: uppercase !important;
    letter-spacing: .18em !important;
    font-size: .74rem !important;
    cursor: pointer;
    transition: .3s ease;
}

.wpcf7-submit:hover {
    background: var(--rose) !important;
    border-color: var(--rose) !important;
}

/* Footer socials */
.footer-socials {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.footer-social {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--rose);
    border-bottom: 1px solid rgba(167, 120, 130, .35);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    padding-bottom: 5px;
    transition: .25s ease;
}

.footer-social svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 18px;
}

.footer-social[aria-label="Facebook"] svg {
    fill: currentColor;
    stroke: none;
}

.footer-social:hover {
    color: var(--ink);
    border-color: var(--ink);
}

/* Contact/booking page polish */
.booking-layout {
    overflow: hidden;
}

.booking-visual img {
    filter: brightness(.42) saturate(.86) !important;
}

.booking-form-card h2,
.contact-form-card h2 {
    max-width: 680px;
}

.contact-card a {
    color: var(--rose);
}

.contact-card a:hover {
    color: var(--ink);
}

/* Mobile */
@media (max-width: 980px) {
    .process-grid {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .process-intro {
        position: static;
    }

    .step {
        grid-template-columns: 66px minmax(0, 1fr) !important;
        column-gap: 20px !important;
        padding: 30px 0 !important;
    }

    .site-footer__inner {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .process-section {
        padding: 78px 22px;
    }

    .process-intro h2 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .step {
        grid-template-columns: 1fr !important;
        padding: 28px 0 !important;
    }

    .step span {
        margin-bottom: 16px;
    }

    .step h3 {
        font-size: 1.75rem;
        margin-bottom: 10px;
    }

    .step p {
        font-size: .96rem;
        line-height: 1.85;
    }

    .wpcf7-submit {
        width: 100% !important;
    }

    .site-footer__inner {
        grid-template-columns: 1fr;
    }

    .footer-socials {
        align-items: flex-start;
    }

    .footer-social {
        font-size: .72rem;
    }
}
:root{--ink:#1f1714;--ink-soft:#5d4d47;--rose:#a77882;--rose-2:#c9a8ad;--cream:#f8f3ee;--parch:#f2e9e1;--nude:#dfcdc2;--line:rgba(31,23,20,.1);--white:#fff;--serif:'Cormorant Garamond',serif;--sans:'DM Sans',sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);background:var(--cream);color:var(--ink);font-weight:300;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.site-header{position:fixed;top:0;left:0;width:100%;z-index:50;transition:background .35s,box-shadow .35s}.site-header.is-scrolled{background:rgba(248,243,238,.9);backdrop-filter:blur(18px);box-shadow:0 12px 36px rgba(31,23,20,.07)}.site-header__inner{width:min(1460px,92vw);height:78px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.site-logo{font-family:var(--serif);font-size:1.85rem;color:#fff;letter-spacing:.02em}.site-logo em{font-style:italic;color:rgba(255,255,255,.72)}.site-header.is-scrolled .site-logo{color:var(--ink)}.site-header.is-scrolled .site-logo em{color:var(--rose)}.custom-logo{max-height:54px;width:auto}.primary-nav{display:flex;align-items:center;gap:28px}.primary-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:28px}.primary-menu a{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.72);transition:.25s}.site-header.is-scrolled .primary-menu a{color:rgba(31,23,20,.56)}.primary-menu a:hover{color:var(--rose)}.nav-book{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:#fff;border:1px solid rgba(255,255,255,.38);padding:12px 24px;transition:.25s}.site-header.is-scrolled .nav-book{color:var(--ink);border-color:rgba(31,23,20,.18)}.nav-book:hover{background:var(--rose);border-color:var(--rose);color:#fff}.nav-toggle{display:none;background:none;border:0;width:42px;height:42px;position:relative}.nav-toggle span{display:block;height:1px;background:#fff;margin:8px 0}.site-header.is-scrolled .nav-toggle span{background:var(--ink)}
.hero{position:relative;min-height:100svh;overflow:hidden;background:linear-gradient(135deg,#39231e 0%,#795349 54%,#a77b72 100%)}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(255,255,255,.14),transparent 28%),linear-gradient(90deg,rgba(31,23,20,.62),rgba(31,23,20,.16) 58%,rgba(31,23,20,.05));z-index:0}.hero-bg:after{content:'';position:absolute;inset:0;opacity:.045;background-image:linear-gradient(rgba(255,255,255,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.45) 1px,transparent 1px);background-size:80px 80px}.hero-soft-fade{position:absolute;left:0;right:0;bottom:-1px;height:26vh;z-index:4;background:linear-gradient(to bottom,rgba(248,243,238,0),rgba(248,243,238,.82) 66%,var(--parch) 100%);pointer-events:none}.hero-model{position:absolute;right:5vw;bottom:0;height:86svh;max-width:48vw;object-fit:contain;object-position:center bottom;z-index:2;filter:drop-shadow(0 36px 70px rgba(31,23,20,.22));-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.88) 82%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.88) 82%,transparent 100%)}.hero:after{content:'';position:absolute;right:0;top:0;width:58%;height:100%;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(121,83,73,0),rgba(121,83,73,.24) 34%,rgba(248,243,238,.2) 100%)}.hero-content{position:relative;z-index:5;width:min(1460px,92vw);min-height:100svh;margin:0 auto;display:grid;grid-template-columns:1fr .82fr;align-items:end;gap:5vw;padding:16vh 0 9vh}.kicker,.section-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;color:var(--rose);display:flex;align-items:center;gap:14px;margin-bottom:22px}.hero .kicker{color:rgba(255,255,255,.62)}.kicker:before,.section-kicker:before{content:'';width:28px;height:1px;background:currentColor}.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(6rem,14vw,12rem);line-height:.76;margin:0 0 38px;color:#fff;letter-spacing:-.04em}.hero h1 em{display:block;font-style:italic;color:rgba(255,255,255,.62);font-size:.72em;transform:translateX(5vw)}.hero-copy{align-self:center;max-width:430px;color:rgba(255,255,255,.78);font-size:1.05rem;line-height:1.9;margin-left:auto}.outline-btn,.dark-btn,.text-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;transition:.3s var(--ease)}.outline-btn{color:#fff;border:1px solid rgba(255,255,255,.55);padding:16px 34px}.outline-btn:hover{background:#fff;color:var(--ink)}.dark-btn{background:var(--ink);border:1px solid var(--ink);color:#fff;padding:17px 34px}.dark-btn:hover{background:var(--rose);border-color:var(--rose)}.text-link-btn{border-bottom:1px solid rgba(31,23,20,.25);padding-bottom:5px;color:var(--ink)}.text-link-btn:hover{color:var(--rose);border-color:var(--rose)}
.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:86vh;background:var(--parch);position:relative;z-index:8}.split-media{position:relative;overflow:hidden;background:#6f514b}.split-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(.95) brightness(.72)}.media-overlay{position:absolute;inset:0;background:linear-gradient(140deg,rgba(58,35,30,.62),rgba(242,233,225,.15) 70%)}.media-kicker{position:absolute;top:8%;left:7%;font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.62)}.split-content{padding:12vh 6vw;display:flex;flex-direction:column;justify-content:center}.split-content h2,.section-head h2,.gallery-head h2,.process-grid h2,.bottom-cta h2,.page-hero h1,.booking-form-card h2,.contact-hero h1{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:300;line-height:1.02;margin:0 0 28px;letter-spacing:-.02em}.split-content h2 em,.section-head h2 em{font-style:italic;color:var(--rose)}.split-content p,.section-head p,.gallery-head p,.process-grid p,.bottom-cta p,.page-hero p,.booking-visual-copy p,.contact-hero p{color:rgba(31,23,20,.58);font-size:1rem;line-height:1.95}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:34px}.feature-item{padding:26px 18px 0 0;border-right:1px solid var(--line)}.feature-item:last-child{border-right:0}.feature-item span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(167,120,130,.28);color:var(--rose);margin-bottom:14px}.feature-item h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;margin:0 0 8px}.feature-item p{font-size:.88rem;line-height:1.75;margin:0}.services-preview,.gallery-section,.process-section,.page-shell{padding:110px 5vw}.section-head,.gallery-head{max-width:1320px;margin:0 auto 48px;display:grid;grid-template-columns:1fr .8fr;gap:5vw;align-items:end}.section-head p,.gallery-head p{align-self:end}.service-card-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;box-shadow:0 18px 48px rgba(31,23,20,.07);overflow:hidden}.service-card img{width:100%;height:310px;object-fit:cover;filter:saturate(.94)}.service-card div{padding:28px}.service-card span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose)}.service-card h3{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.1;margin:12px 0}.service-card p{color:rgba(31,23,20,.56);font-size:.95rem;line-height:1.85}.center-actions{text-align:center;margin-top:42px}.gallery-section{background:linear-gradient(180deg,var(--cream),var(--parch))}.mosaic-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.15fr .8fr .8fr;grid-template-rows:340px 280px;gap:4px}.mosaic-grid figure{position:relative;margin:0;overflow:hidden;background:#583d38}.mosaic-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(.95);transition:transform .8s var(--ease)}.mosaic-grid figure:hover img{transform:scale(1.04)}.mosaic-grid figure:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(31,23,20,.68),rgba(31,23,20,.14) 55%,transparent)}.mosaic-main{grid-row:1/span 2}.mosaic-wide{grid-column:2/span 2}.mosaic-grid figcaption{position:absolute;left:20px;bottom:18px;z-index:2;color:#fff;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}.process-section{background:var(--parch)}.process-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw}.steps-list{display:grid;gap:0}.step{display:grid;grid-template-columns:70px 1fr;padding:30px 0;border-bottom:1px solid var(--line)}.step span{width:44px;height:44px;border-radius:50%;border:1px solid rgba(167,120,130,.28);display:grid;place-items:center;color:var(--rose);font-family:var(--serif);font-style:italic}.step h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;margin:0 0 7px}.step p{margin:0;font-size:.95rem}.bottom-cta{margin:0;padding:100px 5vw;text-align:center;background:linear-gradient(135deg,#efe2da,#f8f3ee);border-top:1px solid var(--line)}.bottom-cta h2{max-width:820px;margin-left:auto;margin-right:auto}.bottom-cta p{max-width:540px;margin:0 auto 32px}.bottom-cta .section-kicker{justify-content:center}.bottom-cta .section-kicker:before{display:none}
.site-footer{background:var(--parch);border-top:1px solid var(--line);color:rgba(31,23,20,.62)}.site-footer__inner{width:min(1320px,90vw);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4vw;padding:80px 0 40px;border-bottom:1px solid var(--line)}.footer-logo{font-family:var(--serif);font-size:2.6rem;color:var(--ink)}.footer-logo em{font-style:italic;color:var(--rose)}.footer-brand p{max-width:340px}.footer-social{display:inline-flex;margin-top:12px;color:var(--rose);border-bottom:1px solid rgba(167,120,130,.35);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.footer-col h4{font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(31,23,20,.36)}.footer-col a,.footer-col p{display:block;color:rgba(31,23,20,.62);line-height:2.25;font-size:.92rem}.footer-col a:hover{color:var(--rose)}.footer-bottom{width:min(1320px,90vw);margin:0 auto;padding:24px 0 32px;display:flex;justify-content:space-between;gap:20px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(31,23,20,.4)}.footer-bottom a:hover{color:var(--rose)}
.page-shell{padding-top:130px}.compact-hero{max-width:1120px;margin:0 auto 54px}.price-section{max-width:1120px;margin:0 auto;display:grid;gap:26px}.price-category{background:#fff;padding:34px;box-shadow:0 16px 42px rgba(31,23,20,.06)}.price-category h2{font-family:var(--serif);font-size:2.4rem;font-weight:400;margin:0 0 18px;color:var(--rose)}.price-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.price-row:last-child{border-bottom:0}.price-row strong{font-family:var(--serif);font-size:1.3rem;font-style:italic;font-weight:400;white-space:nowrap}.bottom-cta--page{margin-top:70px}.booking-layout{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:0;background:#fff;box-shadow:0 20px 60px rgba(31,23,20,.08)}.booking-visual{position:relative;min-height:720px;overflow:hidden;background:#3b2824}.booking-visual img{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.85)}.booking-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(31,23,20,.66),rgba(31,23,20,.1))}.booking-visual-copy{position:absolute;left:44px;right:44px;bottom:44px;color:#fff;z-index:2}.booking-visual-copy span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.booking-visual-copy h1{font-family:var(--serif);font-size:4rem;line-height:.95;font-weight:300;margin:14px 0}.booking-visual-copy p{color:rgba(255,255,255,.75)}.booking-form-card,.contact-form-card{padding:56px}.glo-form-placeholder{padding:22px;border:1px dashed rgba(167,120,130,.45);background:rgba(167,120,130,.06);color:var(--ink-soft)}.wpcf7-form label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(31,23,20,.45);margin-bottom:18px}.wpcf7 input,.wpcf7 select,.wpcf7 textarea{width:100%;border:0;border-bottom:1px solid rgba(31,23,20,.16);background:transparent;padding:12px 0;font-size:1.1rem;color:var(--ink);outline:none}.wpcf7 textarea{min-height:120px}.wpcf7-submit{background:var(--ink)!important;color:#fff!important;border:1px solid var(--ink)!important;padding:16px 28px!important;text-transform:uppercase!important;letter-spacing:.18em!important;font-size:.74rem!important;cursor:pointer}.contact-hero{max-width:1180px;margin:0 auto 54px;display:grid;grid-template-columns:1fr .72fr;gap:6vw}.contact-card{background:#fff;padding:34px;box-shadow:0 16px 42px rgba(31,23,20,.06)}.contact-card p{border-bottom:1px solid var(--line);padding-bottom:18px}.contact-card p:last-child{border-bottom:0}.contact-form-section{max-width:900px;margin:0 auto}
@media(max-width:980px){.primary-nav{position:fixed;inset:72px 16px auto 16px;background:rgba(248,243,238,.96);backdrop-filter:blur(18px);display:none;flex-direction:column;align-items:stretch;padding:24px;box-shadow:0 18px 54px rgba(31,23,20,.12)}.primary-nav.is-open{display:flex}.primary-menu{display:grid;gap:18px}.primary-menu a{color:var(--ink)!important}.nav-book{color:var(--ink);border-color:rgba(31,23,20,.18);text-align:center}.nav-toggle{display:block}.hero-content{grid-template-columns:1fr;padding-top:115px;align-items:end}.hero-model{right:-7vw;height:55svh;max-width:82vw;opacity:.9}.hero-copy{margin:0;max-width:560px}.split-section,.section-head,.gallery-head,.process-grid,.booking-layout,.contact-hero{grid-template-columns:1fr}.split-media{height:62vw;min-height:340px}.feature-grid,.service-card-grid{grid-template-columns:1fr}.feature-item{border-right:0;border-bottom:1px solid var(--line);padding:22px 0}.feature-item:last-child{border-bottom:0}.mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 260px}.mosaic-main{grid-column:1/span 2;grid-row:auto}.mosaic-wide{grid-column:1/span 2}.site-footer__inner{grid-template-columns:1fr 1fr}.booking-visual{min-height:380px}.booking-form-card,.contact-form-card{padding:34px}}
@media(max-width:560px){.site-header__inner{height:68px;width:calc(100vw - 36px)}.site-logo{font-size:1.55rem}.hero{min-height:100svh}.hero-content{width:calc(100vw - 44px);padding:96px 0 44px;min-height:100svh}.hero h1{font-size:clamp(4.7rem,24vw,7rem);margin-bottom:28px}.hero h1 em{transform:none}.hero-model{right:-26vw;height:49svh;max-width:105vw;bottom:22svh;opacity:.82}.hero-copy{font-size:.98rem;background:rgba(98,68,61,.24);padding:18px 0 0}.outline-btn{width:100%;padding:15px 22px}.hero-soft-fade{height:32vh}.split-content,.services-preview,.gallery-section,.process-section,.page-shell{padding:70px 22px}.split-media{height:92vw}.split-content h2,.section-head h2,.gallery-head h2,.process-grid h2,.bottom-cta h2,.page-hero h1{font-size:clamp(2.55rem,13vw,4rem)}.service-card img{height:245px}.mosaic-grid{grid-template-columns:1fr;grid-template-rows:300px 220px 220px 240px}.mosaic-main,.mosaic-wide{grid-column:auto}.step{grid-template-columns:54px 1fr;padding:24px 0}.bottom-cta{padding:76px 22px;text-align:left}.bottom-cta .section-kicker{justify-content:flex-start}.site-footer__inner{grid-template-columns:1fr;width:calc(100vw - 44px)}.footer-bottom{width:calc(100vw - 44px);flex-direction:column}.price-category{padding:24px}.price-row{grid-template-columns:1fr;gap:4px}.booking-form-card,.contact-form-card{padding:28px 22px}.booking-visual-copy{left:24px;right:24px;bottom:28px}.booking-visual-copy h1{font-size:3rem}.contact-card{padding:24px}}
/* === Glo Beauty fixes: CF7, process section, footer socials, default pages === */

.default-page-card {
    max-width: 980px;
    margin: 0 auto 90px;
    background: #fff;
    padding: clamp(34px, 6vw, 74px);
    box-shadow: 0 18px 54px rgba(31, 23, 20, .07);
}

.default-page-card h1 {
    font-family: var(--serif);
    font-size: clamp(3rem, 7vw, 6rem);
    font-weight: 300;
    line-height: .95;
    margin: 0 0 28px;
}

.entry-content {
    color: rgba(31, 23, 20, .66);
    font-size: 1rem;
    line-height: 1.95;
}

.entry-content p {
    margin: 0 0 18px;
}

/* Process section */
.process-section {
    background: linear-gradient(180deg, var(--parch), var(--cream));
    padding: clamp(76px, 9vw, 130px) 5vw;
}

.process-grid {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(320px, .82fr) minmax(540px, 1.18fr);
    gap: clamp(44px, 7vw, 110px);
    align-items: start;
}

.process-intro {
    position: sticky;
    top: 120px;
}

.process-intro h2 {
    font-family: var(--serif);
    font-size: clamp(2.8rem, 5vw, 5.5rem);
    font-weight: 300;
    line-height: .98;
    letter-spacing: -.02em;
    margin: 0 0 26px;
}

.process-intro p {
    max-width: 470px;
    color: rgba(31, 23, 20, .58);
    line-height: 1.95;
    margin: 0;
}

.steps-list {
    display: grid;
    gap: 0;
}

.step {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    column-gap: 28px !important;
    align-items: start !important;
    padding: 34px 0 !important;
    border-bottom: 1px solid var(--line);
}

.step:first-child {
    padding-top: 0 !important;
}

.step span {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(167, 120, 130, .32);
    background: rgba(167, 120, 130, .045);
    display: grid;
    place-items: center;
    font-family: var(--serif);
    font-style: italic;
    color: var(--rose);
    line-height: 1;
}

.step-copy {
    min-width: 0;
}

.step h3 {
    font-family: var(--serif);
    font-size: clamp(1.7rem, 2vw, 2.25rem);
    font-weight: 400;
    line-height: 1.12;
    margin: 0 0 12px;
}

.step p {
    max-width: 720px;
    margin: 0;
    font-size: 1rem;
    line-height: 1.9;
    color: rgba(31, 23, 20, .58);
}

/* CF7 forms */
.form-intro {
    max-width: 620px;
    color: rgba(31, 23, 20, .58);
    line-height: 1.85;
    margin: 0 0 30px;
}

.booking-form-card .wpcf7,
.contact-form-card .wpcf7 {
    margin-top: 26px;
}

.wpcf7 form {
    display: grid;
    gap: 18px;
}

.wpcf7-form p {
    margin: 0 0 18px;
}

.wpcf7-form label {
    display: block;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: rgba(31, 23, 20, .45);
    line-height: 1.55;
}

.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    margin-top: 8px;
    border: 0;
    border-bottom: 1px solid rgba(31, 23, 20, .16);
    background: transparent;
    padding: 12px 0;
    font-size: 1.08rem;
    color: var(--ink);
    outline: none;
    border-radius: 0;
}

.wpcf7 textarea {
    min-height: 130px;
    resize: vertical;
}

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    border-bottom-color: var(--rose);
}

.wpcf7-submit {
    width: auto !important;
    min-width: 220px;
    margin-top: 10px !important;
    padding: 16px 28px !important;
    background: var(--ink) !important;
    color: #fff !important;
    border: 1px solid var(--ink) !important;
    text-transform: uppercase !important;
    letter-spacing: .18em !important;
    font-size: .74rem !important;
    cursor: pointer;
    transition: .3s ease;
}

.wpcf7-submit:hover {
    background: var(--rose) !important;
    border-color: var(--rose) !important;
}

/* Footer socials */
.footer-socials {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.footer-social {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--rose);
    border-bottom: 1px solid rgba(167, 120, 130, .35);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    padding-bottom: 5px;
    transition: .25s ease;
}

.footer-social svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 18px;
}

.footer-social[aria-label="Facebook"] svg {
    fill: currentColor;
    stroke: none;
}

.footer-social:hover {
    color: var(--ink);
    border-color: var(--ink);
}

/* Contact/booking page polish */
.booking-layout {
    overflow: hidden;
}

.booking-visual img {
    filter: brightness(.42) saturate(.86) !important;
}

.booking-form-card h2,
.contact-form-card h2 {
    max-width: 680px;
}

.contact-card a {
    color: var(--rose);
}

.contact-card a:hover {
    color: var(--ink);
}

/* Mobile */
@media (max-width: 980px) {
    .process-grid {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .process-intro {
        position: static;
    }

    .step {
        grid-template-columns: 66px minmax(0, 1fr) !important;
        column-gap: 20px !important;
        padding: 30px 0 !important;
    }

    .site-footer__inner {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .process-section {
        padding: 78px 22px;
    }

    .process-intro h2 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .step {
        grid-template-columns: 1fr !important;
        padding: 28px 0 !important;
    }

    .step span {
        margin-bottom: 16px;
    }

    .step h3 {
        font-size: 1.75rem;
        margin-bottom: 10px;
    }

    .step p {
        font-size: .96rem;
        line-height: 1.85;
    }

    .wpcf7-submit {
        width: 100% !important;
    }

    .site-footer__inner {
        grid-template-columns: 1fr;
    }

    .footer-socials {
        align-items: flex-start;
    }

    .footer-social {
        font-size: .72rem;
    }
}
/* === Header, footer, maps and mobile call final polish === */

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 900;
    transition: background .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.site-header__inner {
    width: min(1560px, 92vw);
    height: 74px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.site-logo {
    font-family: var(--serif);
    font-size: 1.95rem;
    line-height: 1;
    color: rgba(255,255,255,.94);
    text-decoration: none;
    letter-spacing: .02em;
}

.site-logo em {
    font-style: italic;
    color: rgba(255,255,255,.68);
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 38px;
    margin-left: auto;
}

.main-nav a {
    color: rgba(255,255,255,.68);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .72rem;
    transition: color .25s ease;
}

.main-nav a:hover {
    color: #fff;
}

.header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 128px;
    height: 44px;
    padding: 0 22px;
    border: 1px solid rgba(255,255,255,.46);
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .72rem;
    transition: all .28s ease;
}

.header-cta:hover {
    background: var(--rose);
    border-color: var(--rose);
    color: #fff;
}

/* Inner pages: always visible navigation */
.site-header.is-inner {
    background: rgba(248,243,238,.96);
    border-bottom: 1px solid rgba(31,23,20,.08);
    box-shadow: 0 14px 38px rgba(31,23,20,.05);
    backdrop-filter: blur(16px);
}

.site-header.is-inner .site-logo,
.site-header.is-inner .site-logo em,
.site-header.is-inner .main-nav a {
    color: #211814 !important;
}

.site-header.is-inner .main-nav a:hover {
    color: var(--rose) !important;
}

.site-header.is-inner .header-cta {
    color: #211814 !important;
    border-color: rgba(31,23,20,.26) !important;
}

.site-header.is-inner .header-cta:hover {
    color: #fff !important;
    background: var(--rose) !important;
    border-color: var(--rose) !important;
}

/* Mobile menu */
.mobile-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,.32);
    background: transparent;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
}

.mobile-menu-toggle span {
    width: 18px;
    height: 1px;
    background: currentColor;
    color: #fff;
}

.site-header.is-inner .mobile-menu-toggle {
    border-color: rgba(31,23,20,.22);
}

.site-header.is-inner .mobile-menu-toggle span {
    color: #211814;
}

.mobile-menu-panel {
    display: none;
}

/* Footer */
.site-footer {
    background: var(--parch);
    color: rgba(31,23,20,.58);
    border-top: 1px solid rgba(31,23,20,.08);
}

.site-footer__inner {
    width: min(1320px, 90vw);
    margin: 0 auto;
    padding: clamp(70px, 8vw, 110px) 0 48px;
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1.1fr;
    gap: clamp(34px, 5vw, 76px);
    border-bottom: 1px solid rgba(31,23,20,.08);
}

.footer-logo {
    display: inline-block;
    font-family: var(--serif);
    font-size: 3rem;
    line-height: 1;
    color: var(--ink);
    text-decoration: none;
    margin-bottom: 20px;
}

.footer-logo em {
    font-style: italic;
    color: var(--rose);
}

.footer-brand p {
    max-width: 410px;
    line-height: 1.95;
    margin: 0;
    color: rgba(31,23,20,.58);
}

.footer-col h4 {
    margin: 0 0 22px;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .2em;
    color: rgba(31,23,20,.42);
}

.footer-col a,
.footer-col p {
    display: block;
    margin: 0;
    color: rgba(31,23,20,.62);
    text-decoration: none;
    line-height: 2.25;
    font-size: .93rem;
    transition: color .25s ease;
}

.footer-col a:hover {
    color: var(--rose);
}

.footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.footer-social {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--rose);
    border-bottom: 1px solid rgba(160,112,128,.35);
    padding-bottom: 5px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .74rem;
    transition: color .25s ease, border-color .25s ease;
}

.footer-social svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 18px;
}

.footer-social[aria-label="Facebook"] svg {
    fill: currentColor;
    stroke: none;
}

.footer-social:hover {
    color: var(--ink);
    border-color: var(--ink);
}

.footer-map-link {
    color: rgba(31,23,20,.68) !important;
}

.footer-map-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin: 14px 0 10px;
    padding: 12px 18px;
    border: 1px solid rgba(31,23,20,.18);
    color: var(--ink) !important;
    line-height: 1 !important;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .68rem !important;
    transition: all .28s ease;
}

.footer-map-button:hover {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff !important;
}

.footer-bottom {
    width: min(1320px, 90vw);
    margin: 0 auto;
    padding: 22px 0 32px;
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    color: rgba(31,23,20,.38);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.footer-bottom a {
    color: rgba(31,23,20,.5);
    text-decoration: none;
}

.footer-bottom a:hover {
    color: var(--rose);
}

/* Mobile call floating button */
.mobile-call-button {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9999;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: rgba(160,112,128,.96);
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 42px rgba(31,23,20,.24);
    border: 1px solid rgba(255,255,255,.36);
    backdrop-filter: blur(12px);
    transition: transform .25s ease, background .25s ease;
}

.mobile-call-button svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.mobile-call-button:hover {
    transform: translateY(-2px);
    background: var(--ink);
}

/* Desktop front page scroll state */
.site-header.is-front.scrolled,
.site-header.is-front.header-scrolled {
    background: rgba(248,243,238,.94);
    border-bottom: 1px solid rgba(31,23,20,.08);
    box-shadow: 0 14px 38px rgba(31,23,20,.05);
    backdrop-filter: blur(16px);
}

.site-header.is-front.scrolled .site-logo,
.site-header.is-front.scrolled .site-logo em,
.site-header.is-front.scrolled .main-nav a,
.site-header.is-front.header-scrolled .site-logo,
.site-header.is-front.header-scrolled .site-logo em,
.site-header.is-front.header-scrolled .main-nav a {
    color: #211814 !important;
}

.site-header.is-front.scrolled .header-cta,
.site-header.is-front.header-scrolled .header-cta {
    color: #211814 !important;
    border-color: rgba(31,23,20,.26) !important;
}

/* Mobile */
@media (max-width: 860px) {
    .site-header__inner {
        height: 66px;
        width: calc(100vw - 36px);
    }

    .main-nav {
        display: none;
    }

    .header-cta {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
        color: #fff;
    }

    .site-header.is-inner .mobile-menu-toggle {
        color: var(--ink);
    }

    .mobile-menu-panel {
        position: absolute;
        top: 66px;
        left: 18px;
        right: 18px;
        display: grid;
        gap: 0;
        background: rgba(248,243,238,.98);
        border: 1px solid rgba(31,23,20,.08);
        box-shadow: 0 22px 55px rgba(31,23,20,.12);
        padding: 12px;
        transform: translateY(-12px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: .25s ease;
    }

    body.mobile-menu-open .mobile-menu-panel {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .mobile-menu-panel a {
        color: var(--ink);
        text-decoration: none;
        padding: 14px 10px;
        border-bottom: 1px solid rgba(31,23,20,.08);
        text-transform: uppercase;
        letter-spacing: .14em;
        font-size: .72rem;
    }

    .mobile-menu-panel a:last-child {
        border-bottom: 0;
    }

    .mobile-call-button {
        display: flex;
    }

    body {
        padding-bottom: 74px;
    }

    .site-footer__inner {
        grid-template-columns: 1fr;
        width: calc(100vw - 44px);
        padding: 68px 0 38px;
    }

    .footer-bottom {
        width: calc(100vw - 44px);
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .footer-socials {
        align-items: flex-start;
    }
}
/* === Footer + mobile call clean fix === */

.footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 22px;
}

.footer-social {
    display: inline-flex !important;
    align-items: center;
    gap: 9px;
    width: fit-content;
    color: var(--rose) !important;
    border-bottom: 1px solid rgba(167, 120, 130, .35);
    padding-bottom: 5px;
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    line-height: 1.2 !important;
}

.footer-social svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 18px;
}

.footer-social[aria-label="Facebook"] svg {
    fill: currentColor;
    stroke: none;
}

.footer-social:hover {
    color: var(--ink) !important;
    border-color: var(--ink);
}

.footer-map-link {
    color: rgba(31, 23, 20, .68) !important;
}

.footer-map-link:hover {
    color: var(--rose) !important;
}

.footer-map-button {
    display: inline-flex !important;
    width: fit-content;
    align-items: center;
    justify-content: center;
    margin: 14px 0 10px;
    padding: 12px 18px;
    border: 1px solid rgba(31, 23, 20, .18);
    color: var(--ink) !important;
    line-height: 1 !important;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .68rem !important;
}

.footer-map-button:hover {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff !important;
}

/* Mobile call button */
.mobile-call-button {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9999;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: rgba(167, 120, 130, .96);
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 42px rgba(31, 23, 20, .24);
    border: 1px solid rgba(255, 255, 255, .36);
    backdrop-filter: blur(12px);
}

.mobile-call-button svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.mobile-call-button:hover {
    background: var(--ink);
}

@media (max-width: 768px) {
    .mobile-call-button {
        display: flex;
    }

    body {
        padding-bottom: 76px;
    }
}