@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');
/* Homepage layout: Luton Double Glazing Repairs */
.luton-home{color:#253244;font-family:'Open Sans',sans-serif;font-size:18px;line-height:1.7}.luton-home *{box-sizing:border-box}.luton-wrap{width:min(1160px,calc(100% - 40px));margin:auto}.luton-hero{background:#002d62;color:#fff;padding:90px 0}.luton-hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}.luton-home .luton-hero h1{color:#fff;font-family:Poppins,sans-serif;font-size:clamp(34px,4.5vw,58px);line-height:1.14;margin:12px 0 24px}.luton-eyebrow{color:#ffb45a;font-size:13px;font-weight:700;letter-spacing:.12em}.luton-lead{font-size:20px;line-height:1.7;max-width:690px;color:#f4f7fa}.luton-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.luton-btn{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:13px 24px;border-radius:7px;font-weight:700;text-decoration:none!important;text-align:center;transition:transform .15s,filter .15s}.luton-btn:hover{transform:translateY(-2px);filter:brightness(.96)}.luton-btn:focus-visible,.luton-text-link:focus-visible{outline:3px solid #f78f1e;outline-offset:4px}.luton-btn-orange{background:#f78f1e;color:#001f45!important}.luton-btn-white{background:#fff;color:#002d62!important}.luton-small{color:#dce7f3;font-size:14px;margin-top:18px}.luton-hero-visual{background:linear-gradient(145deg,#174d85,#001f45);border:1px solid #6b8bad;border-radius:20px;padding:32px;min-height:330px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px}.luton-window{width:min(240px,100%);aspect-ratio:1.1;background:#f4f7fa;border:12px solid #fff;border-radius:5px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:7px;box-shadow:0 16px 35px #00152e70}.luton-pane{background:linear-gradient(135deg,#b2d8eb,#eaf1f8 50%,#8cb8d5)}.luton-visual-label{color:#fff;font-size:14px;font-weight:600}.luton-section{padding:82px 0}.luton-section-pale{background:#f4f7fa}.luton-kicker{font-size:13px;color:#b55d00;font-weight:700;letter-spacing:.13em;margin:0 0 12px}.luton-home h2{font-family:Poppins,sans-serif;font-size:clamp(28px,3vw,38px);line-height:1.25;color:#002d62;margin:0 0 22px}.luton-home h3{font-family:Poppins,sans-serif;color:#002d62;font-size:22px;line-height:1.35}.luton-intro{max-width:790px;margin-bottom:35px}.luton-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.luton-card{padding:28px;border:1px solid #e1e5ea;border-radius:12px;background:#fff;box-shadow:0 6px 20px #001f450a}.luton-card h3{margin:14px 0 10px}.luton-card p{margin:0}.luton-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#fff3e6;color:#a75500;font-size:28px}.luton-two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.luton-info-panel{background:#fff;border-left:5px solid #f78f1e;padding:30px;border-radius:10px;box-shadow:0 6px 20px #001f450a}.luton-info-panel ul{padding-left:24px;margin-bottom:0}.luton-info-panel li{margin:9px 0}.luton-text-link{font-weight:700;color:#002d62}.luton-areas{display:flex;flex-wrap:wrap;gap:12px}.luton-areas span{background:#eaf1f8;border-radius:50px;padding:9px 18px;color:#002d62;font-weight:600;font-size:15px}.luton-faq{max-width:900px}.luton-faq details{background:#fff;border:1px solid #e1e5ea;border-radius:8px;padding:18px 22px;margin:12px 0}.luton-faq summary{cursor:pointer;font-weight:700;color:#002d62}.luton-faq details p{margin:15px 0 0}.luton-contact-band{padding:75px 0;background:#002d62;text-align:center;color:#fff}.luton-contact-band h2{color:#fff}.luton-contact-band p{color:#f4f7fa}.luton-actions-center{justify-content:center}@media(max-width:850px){.luton-hero-grid,.luton-two-col{grid-template-columns:1fr;gap:35px}.luton-hero-visual{min-height:230px}.luton-window{width:160px}.luton-cards{grid-template-columns:repeat(2,1fr)}.luton-hero{padding:65px 0}}@media(max-width:580px){.luton-wrap{width:min(100% - 32px,1160px)}.luton-hero{padding:55px 0}.luton-hero-visual{display:none}.luton-section{padding:55px 0}.luton-cards{grid-template-columns:1fr}.luton-actions{flex-direction:column}.luton-btn{width:100%}.luton-contact-band{padding:55px 0}}

/* Homepage typography refresh: preserve existing wording and layout. */
.luton-home{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.012em}
.luton-home .luton-hero h1,.luton-home h2,.luton-home h3{font-family:'Manrope',Arial,sans-serif;font-weight:800;letter-spacing:-.045em}
.luton-home .luton-hero h1{font-size:clamp(38px,5.2vw,70px);line-height:1.08;max-width:790px}
.luton-home h2{font-size:clamp(30px,3.5vw,44px);line-height:1.16}
.luton-home h3{letter-spacing:-.03em}
.luton-home .luton-hero-title-accent{display:block;font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.025em;color:#f78f1e;margin-top:.08em}
.luton-home .luton-eyebrow,.luton-home .luton-kicker{font-family:'Manrope',Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.15em}
.luton-home .luton-lead{font-weight:400;line-height:1.75}
.luton-home .luton-btn{font-family:'Manrope',Arial,sans-serif;font-weight:800;letter-spacing:-.01em}
@media(max-width:580px){.luton-home .luton-hero h1{font-size:clamp(34px,9vw,46px)}.luton-home h2{font-size:clamp(28px,7vw,36px)}}


/* Homepage photographic hero */
.luton-home .luton-hero-photo {
    padding: 0;
    min-height: 0;
    overflow: hidden;
    display: block;
    background: #002d62;
    border-radius: 18px;
    border: 1px solid #6b8bad;
}
.luton-home .luton-hero-photo img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 17px;
}
@media (max-width: 580px) {
    .luton-home .luton-hero-photo {
        display: block;
        margin-top: 10px;
    }
}

/* Larger homepage hero photograph on desktop */
@media (min-width: 851px) {
    .luton-home .luton-hero-grid {
        grid-template-columns: 1.15fr 0.85fr;
        gap: 40px;
    }
}


/* Homepage service card photographs */
.luton-home .luton-card {
    overflow: hidden;
}
.luton-home .luton-card-photo {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 18px;
}
@media (max-width: 580px) {
    .luton-home .luton-card-photo {
        height: 210px;
    }
}

/* Uniform homepage service card images */
.luton-home .luton-cards .luton-card-photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    margin: 0 0 18px;
}

/* Clickable homepage service cards */
.luton-home .luton-card-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}
.luton-home .luton-card-link h3 {
    color: inherit;
}
.luton-home .luton-card-link:hover h3 {
    color: #f78f1e;
}
.luton-home .luton-card-link:focus-visible {
    outline: 3px solid #f78f1e;
    outline-offset: 4px;
}

/* Homepage Find Out More service links */
.luton-home .luton-find-more {
    display: inline-block;
    margin-top: 16px;
    color: #f78f1e;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
}
.luton-home .luton-find-more:hover {
    color: #002d62;
    text-decoration: underline;
}
.luton-home .luton-find-more:focus-visible {
    outline: 2px solid #f78f1e;
    outline-offset: 3px;
}

/* Equal-height homepage service cards */
.luton-home .luton-cards {
    align-items: stretch;
}

.luton-home .luton-cards .luton-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
}

/* Keep descriptions flexible and links aligned */
.luton-home .luton-cards .luton-card > p {
    flex-grow: 1;
    margin-bottom: 0;
}

/* Space above Find Out More links */
.luton-home .luton-cards .luton-find-more {
    display: inline-block;
    align-self: flex-start;
    margin-top: 28px;
    margin-bottom: 4px;
    color: #f78f1e;
    font-weight: 700;
    text-decoration: none;
}

/* Align uPVC Window Repairs link with first-row cards on desktop */
@media (min-width: 851px) {
    .luton-home .luton-cards .luton-card:nth-child(2) .luton-find-more {
        margin-top: auto;
        padding-top: 28px;
    }
}
