:root{--pink:#e91e83;--deep:#ad1457;--ink:#29242a;--muted:#625b62;--soft:#fceaf3;--line:#eadde4;--white:#fff;--shadow:0 16px 42px rgba(73,27,52,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:inherit}button{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;top:-100px;left:10px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:10px}.top-strip{background:var(--deep);color:white;font-size:.81rem}.top-inner{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.top-strip a{font-weight:bold;text-decoration:none}.site-header{background:#fff;position:relative;z-index:20;box-shadow:0 2px 15px rgba(0,0,0,.04)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1.15;white-space:nowrap}.brand-symbol{display:grid;place-items:center;background:var(--pink);color:white;border-radius:14px;width:46px;height:46px;font-size:1.8rem}.brand strong{display:block;font-size:1.65rem;color:var(--deep);letter-spacing:-.8px}.brand small{display:block;font-size:.61rem;letter-spacing:1.35px;font-weight:bold;margin-top:5px}.main-nav{display:flex;align-items:center;gap:25px}.main-nav>a,.services-toggle{font-size:.9rem;font-weight:bold;text-decoration:none;background:none;border:0;cursor:pointer;padding:10px 0}.main-nav>a:hover,.services-toggle:hover,.main-nav .active{color:var(--deep)}.nav-dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:245px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);padding:8px;border-radius:10px}.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown.open .dropdown-menu{display:grid}.dropdown-menu a{padding:9px 12px;text-decoration:none;font-size:.89rem;border-radius:6px}.dropdown-menu a:hover{background:var(--soft);color:var(--deep)}.main-nav .nav-cta{background:var(--deep);color:white;padding:12px 18px;border-radius:8px}.main-nav .nav-cta:hover{background:#871045;color:white}.menu-toggle{display:none}.hero{background:linear-gradient(115deg,#fff7fb 0%,#fceaf3 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;min-height:560px;padding-top:60px;padding-bottom:60px}.eyebrow{display:block;color:var(--deep);font-weight:800;font-size:.78rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:13px}.hero h1{font-size:clamp(2.65rem,4.8vw,4.4rem);line-height:1.13;letter-spacing:-2px;margin:0 0 24px}.hero h1 em{font-style:normal;color:var(--deep)}.hero-copy>p{font-size:1.13rem;color:#554b52;max-width:550px;margin-bottom:28px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-weight:bold;font-size:.92rem;padding:13px 20px;border-radius:8px;min-height:48px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--deep);color:white}.button-primary:hover{background:#871045}.button-outline{border:1px solid var(--deep);color:var(--deep);background:white}.hero-note{margin-top:23px;font-size:.88rem;color:#5c5058}.check{color:var(--deep);font-weight:bold;margin-right:7px}.hero-visual{min-height:410px;position:relative;display:grid;place-items:center}.visual-circle{position:absolute;border-radius:50%}.visual-circle-one{width:460px;height:460px;background:#f6c6dc;right:-75px;top:-10px}.visual-circle-two{width:240px;height:240px;background:#f8dce9;left:-10px;bottom:-60px}.photo-placeholder{z-index:1;position:relative;width:85%;height:385px;border-radius:140px 140px 20px 20px;background:linear-gradient(140deg,#fff,#f6e1ec);border:2px dashed #dc95b8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:25px;color:#925476}.placeholder-icon{font-size:4rem;color:#c66b9a}.photo-placeholder strong,.about-photo strong{font-size:1.25rem}.photo-placeholder span:not(.placeholder-icon),.about-photo span:not(.placeholder-icon){max-width:250px;font-size:.9rem}.photo-placeholder small,.about-photo small{font-size:.76rem;margin-top:10px}.visual-tag{position:absolute;z-index:2;bottom:24px;left:-5px;background:white;box-shadow:var(--shadow);border-radius:10px;padding:14px 20px;font-weight:bold}.visual-tag span{color:var(--pink)}.trust-band{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:24px 0}.trust-grid>div{text-align:center;border-right:1px solid var(--line)}.trust-grid>div:last-child{border:0}.trust-grid strong,.trust-grid span{display:block}.trust-grid strong{color:var(--deep);font-size:1rem}.trust-grid span{font-size:.83rem;color:var(--muted)}.section{padding:90px 0}.section-heading{text-align:center;max-width:690px;margin:0 auto 40px}.section h2,.cta-section h2{font-size:clamp(2rem,3vw,2.75rem);line-height:1.2;letter-spacing:-.8px;margin:0 0 17px}.section-heading p,.about-copy p,.areas-grid p{color:var(--muted);font-size:1.03rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid var(--line);border-radius:16px;padding:30px;background:#fff;box-shadow:0 5px 22px rgba(50,20,40,.035);display:flex;flex-direction:column;min-height:245px;transition:box-shadow .2s,transform .2s}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.service-icon{width:54px;height:54px;border-radius:13px;background:var(--soft);color:var(--deep);display:grid;place-items:center;font-size:2rem}.service-card h3{font-size:1.15rem;line-height:1.3;margin:18px 0 7px}.service-card p{font-size:.92rem;color:var(--muted);margin:0 0 22px}.service-card a{font-size:.89rem;font-weight:bold;color:var(--deep);text-decoration:none;margin-top:auto}.service-card a:hover{text-decoration:underline}.about-section{background:#fff7fb}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-art{background:#f5d7e6;border-radius:26px;padding:35px}.about-photo{height:365px;border:2px dashed #ce8caf;border-radius:18px;background:#fff8fc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:30px;color:#925476}.about-copy p{margin:0 0 18px}.text-link{color:var(--deep);font-weight:bold;text-decoration:none}.text-link:hover{text-decoration:underline}.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.areas-grid .button{margin-top:14px}.location-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.location-list span{background:#fff7fb;border:1px solid #f0dce6;border-radius:9px;padding:15px 18px;font-weight:bold;color:#73465e}.location-list span:before{content:'⌖';color:var(--pink);margin-right:8px}.cta-section{background:var(--deep);color:white;padding:65px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-section .eyebrow{color:#ffd6e8}.cta-section h2{max-width:600px}.cta-section p{margin:0;color:#ffe4ef}.cta-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.button-white{background:white;color:var(--deep)}.cta-phone{color:white;font-weight:bold;text-decoration:none}.site-footer{background:#262128;color:#eee;padding:65px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.35fr;gap:35px}.footer-brand strong{color:white}.footer-grid h2{font-size:1rem;margin:3px 0 20px}.footer-grid p{font-size:.9rem;color:#d4cbd0;max-width:310px}.footer-grid>div>a:not(.brand){display:block;font-size:.89rem;color:#ded5db;text-decoration:none;margin:0 0 9px;overflow-wrap:anywhere}.footer-grid a:hover{color:#fff;text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #4d414b;margin-top:45px;padding:20px 0;font-size:.76rem;color:#c8bdc5}@media(max-width:1000px){.main-nav{gap:14px}.brand strong{font-size:1.4rem}.hero-grid{gap:20px}.about-grid{gap:40px}.footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:28px}.footer-grid>div:last-child{grid-column:1/-1}}@media(max-width:780px){.top-inner span{display:none}.top-inner{justify-content:center}.header-inner{min-height:74px}.menu-toggle{display:flex;align-items:center;gap:8px;background:var(--soft);color:var(--deep);border:0;border-radius:8px;padding:10px 14px;font-weight:bold;cursor:pointer}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:15px 20px 24px;box-shadow:0 15px 25px rgba(0,0,0,.1);flex-direction:column;align-items:stretch;gap:4px}.main-nav.is-open{display:flex}.main-nav>a,.services-toggle{padding:11px 8px;text-align:left;width:100%}.nav-dropdown{width:100%}.dropdown-menu{position:static;box-shadow:none;border:0;background:#fff7fb;display:none;margin-bottom:10px}.nav-dropdown:hover .dropdown-menu{display:none}.nav-dropdown.open .dropdown-menu{display:grid}.main-nav .nav-cta{text-align:center}.hero-grid,.about-grid,.areas-grid{grid-template-columns:1fr;gap:28px}.hero-grid{padding:54px 0}.hero-visual{min-height:340px}.photo-placeholder{height:320px;max-width:440px}.visual-circle-one{width:350px;height:350px;right:0}.service-grid{grid-template-columns:repeat(2,1fr)}.section{padding:65px 0}.cta-inner{flex-direction:column;align-items:flex-start}.cta-actions{align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}}@media(max-width:520px){.container{width:min(100% - 30px,1160px)}.brand-symbol{width:38px;height:38px}.brand strong{font-size:1.28rem}.brand small{font-size:.48rem;letter-spacing:1px}.hero h1{letter-spacing:-1px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-visual{min-height:280px}.photo-placeholder{height:265px}.visual-circle-one{width:280px;height:280px}.visual-tag{bottom:8px;left:0;font-size:.8rem}.trust-grid{grid-template-columns:1fr;gap:14px}.trust-grid>div{border:0;border-bottom:1px solid var(--line);padding-bottom:12px}.trust-grid>div:last-child{border:0;padding:0}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.about-art{padding:16px}.about-photo{height:280px}.location-list{grid-template-columns:1fr 1fr;gap:8px}.location-list span{padding:10px;font-size:.84rem}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.cta-actions,.cta-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Homepage V2 — larger identity and wide photographic hero */
.brand-logo{display:block;width:78px;height:78px;object-fit:contain;flex:none}.brand-name strong{font-size:1.7rem}.header-inner{min-height:106px}.footer-brand .brand-logo{width:72px;height:72px;background:white;border-radius:50%}.hero-wide{position:relative;isolation:isolate;background:linear-gradient(110deg,#fff4f9 0%,#f4c6dc 100%);min-height:540px}.hero-photo-layer{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(255,247,251,.98) 0%,rgba(255,247,251,.92) 40%,rgba(255,247,251,.18) 78%),url('../images/hero/house-proud-hero.webp');background-size:cover;background-position:center}.hero-wide-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:540px;padding-top:70px;padding-bottom:70px}.hero-wide .hero-copy{max-width:610px}.hero-wide .hero-copy p{max-width:510px}.hero-photo-instructions{align-self:flex-end;margin-bottom:20px;border:2px dashed #bb648f;border-radius:14px;background:rgba(255,255,255,.8);color:#81425f;padding:24px;text-align:center;min-width:240px}.hero-photo-instructions span{display:block;font-weight:bold;margin-bottom:10px}.hero-photo-instructions small{line-height:1.8}.hero-wide .button-outline{background:#fff}.about-photo-new{background:linear-gradient(145deg,#fff,#fbe5f0)}.social-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}.social-links a{font-size:.88rem;color:#fff;text-decoration:underline;text-underline-offset:3px}@media(max-width:1000px){.brand-logo{width:64px;height:64px}.brand-name strong{font-size:1.45rem}.main-nav{gap:12px}.hero-photo-instructions{min-width:190px}}@media(max-width:780px){.header-inner{min-height:86px}.brand-logo{width:62px;height:62px}.hero-wide-inner{min-height:560px;align-items:flex-start;flex-direction:column;padding:58px 0}.hero-photo-layer{background-image:linear-gradient(90deg,rgba(255,247,251,.95),rgba(255,247,251,.68)),url('../images/hero/house-proud-hero.webp')}.hero-photo-instructions{align-self:flex-start;margin:0}.hero-wide .hero-copy{max-width:100%}}@media(max-width:520px){.brand-logo{width:53px;height:53px}.brand-name strong{font-size:1.18rem}.brand-name small{font-size:.46rem}.hero-wide-inner{padding:45px 0;min-height:590px}.hero-photo-instructions{padding:15px;font-size:.85rem}.hero-wide h1{font-size:clamp(2.5rem,11vw,3.7rem)}}

/* V3: wide logo header, no top strip */
.top-strip{display:none}
.header-inner{min-height:112px}
.header-inner .brand-logo{width:clamp(245px,29vw,400px);height:auto;max-height:105px;object-fit:contain;object-position:left center}
.footer-brand .brand-logo{width:220px;height:auto;max-height:none;border-radius:4px;padding:4px;background:white}
@media(max-width:1000px){.header-inner .brand-logo{width:clamp(220px,29vw,315px)}}
@media(max-width:780px){.header-inner{min-height:88px}.header-inner .brand-logo{width:min(58vw,320px);max-height:80px}}
@media(max-width:520px){.header-inner .brand-logo{width:min(64vw,270px);max-height:70px}.header-inner{gap:8px}.menu-toggle{padding:9px 10px}}

/* V4: real desktop/mobile hero photographs and clickable telephone */
.hero-wide{background:#fceaf3}
.hero-photo-layer{background-image:linear-gradient(90deg,rgba(255,247,251,.97) 0%,rgba(255,247,251,.91) 27%,rgba(255,247,251,.68) 43%,rgba(255,247,251,.04) 68%),url('../images/hero/house-proud-hero.webp');background-size:cover;background-position:center center}
.hero-wide-inner{justify-content:flex-start;min-height:570px}
.hero-wide .hero-copy{max-width:580px}
.hero-phone{margin-top:18px;font-weight:600;color:#30232a;font-size:1.08rem}
.hero-phone span{color:var(--deep);margin-right:6px}
.hero-phone a{color:var(--deep);font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:780px){
  .hero-photo-layer{background-image:linear-gradient(180deg,rgba(255,247,251,.99) 0%,rgba(255,247,251,.96) 35%,rgba(255,247,251,.67) 57%,rgba(255,247,251,.05) 85%),url('../images/hero/house-proud-hero-mobile.webp');background-position:center 62%}
  .hero-wide-inner{min-height:900px;display:flex;align-items:flex-start;padding-top:48px;padding-bottom:36px}
  .hero-wide .hero-copy{max-width:610px}
}
@media(max-width:520px){
  .hero-wide-inner{min-height:860px;padding-top:36px}
  .hero-wide h1{font-size:clamp(2.15rem,9.2vw,3.15rem);letter-spacing:-1.2px}
  .hero-wide .hero-copy>p{font-size:1rem;line-height:1.5}
  .hero-actions .button{font-size:.83rem;padding:11px 13px}
  .hero-note{font-size:.78rem}
  .hero-photo-layer{background-position:center bottom}
}

/* ==========================================
   HOUSE PROUD - MOBILE HERO V5
   Add at the VERY BOTTOM of main.css
   ========================================== */

@media (max-width: 780px) {

    /* Allow photo and text to stack */
    .hero.hero-wide {
        display: flex;
        flex-direction: column;
        overflow: hidden;
        min-height: 0;
        background: #fceaf3;
    }

    /* Mobile photograph above the text */
    .hero-wide .hero-photo-layer {
        position: relative;
        inset: auto;
        z-index: auto;
        order: 0;
        display: block;
        width: 100%;
        height: clamp(340px, 105vw, 510px);
        background-image:
            url('../images/hero/house-proud-hero-mobile.webp');
        background-size: cover;
        background-position: center 38%;
        background-repeat: no-repeat;
    }

    /* Text panel beneath the photograph */
    .hero-wide .hero-wide-inner {
        order: 1;
        display: block;
        width: 100%;
        min-height: 0;
        padding-top: 30px;
        padding-bottom: 38px;
        background: #fceaf3;
    }

    .hero-wide .hero-copy {
        width: 100%;
        max-width: 100%;
    }

    .hero-wide .eyebrow {
        font-size: 0.7rem;
        letter-spacing: 1.5px;
    }

    .hero-wide h1 {
        font-size: clamp(2rem, 8.5vw, 3rem);
        line-height: 1.12;
        letter-spacing: -1px;
        margin-bottom: 18px;
    }

    .hero-wide .hero-copy > p {
        font-size: 1rem;
        line-height: 1.55;
        margin-bottom: 22px;
    }

    /* Stack the two booking buttons */
    .hero-wide .hero-actions {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .hero-wide .hero-actions .button {
        width: 100%;
        min-height: 48px;
        text-align: center;
    }

    /* Telephone number */
    .hero-wide .hero-phone {
        margin-top: 20px;
        font-size: 1rem;
        line-height: 1.5;
    }

    .hero-wide .hero-note {
        margin-top: 16px;
        font-size: 0.85rem;
    }
}

/* Mobile hero spacing correction */
@media (max-width: 780px) {

    .hero-wide .hero-wide-inner {
        width: 100%;
        max-width: none;
        padding: 30px 20px 38px;
        margin: 0;
        box-sizing: border-box;
    }

    .hero-wide .hero-copy {
        width: 100%;
        max-width: 100%;
    }

    .hero-wide .hero-actions {
        width: 100%;
    }
}


