/* Kent additions to the approved Forge Lifts visual foundation. */
.kent-wordmark { display:block; font-family:Manrope,var(--font); font-size:1.62rem; font-weight:800; line-height:1.25; letter-spacing:-.04em; }
.kent-wordmark > span { display:block; margin-top:6px; font-family:var(--font); font-size:.7rem; font-weight:500; letter-spacing:.025em; color:var(--muted); }
.site-header { min-height:112px; gap:24px; }
.desktop-nav { gap:26px; }
.header-call { padding-left:24px; }
.hero h1 { font-size:clamp(2.75rem,4.45vw,4.5rem); line-height:1.07; letter-spacing:-.045em; }
.hero .eyebrow { letter-spacing:.065em; }
.hero { padding-block:58px 42px; }
.hero-intro { font-size:1.075rem; line-height:1.8; }
.hero-image img { height:clamp(390px,37vw,520px); }
.hero-copy { min-width:0; }
.kent-intro,.kent-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,90px); align-items:start; }
.kent-split { align-items:center; }
.kent-intro h2,.kent-split h2 { max-width:550px; }
.kent-intro .body-copy { padding-top:3px; }
.kent-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.kent-card-grid article { border-top:1px solid #c4c4c4; padding-top:24px; }
.kent-card-grid .item-number { font-size:.75rem; color:var(--muted); }
.kent-card-grid h3 { font-size:1.35rem; font-weight:600; line-height:1.35; letter-spacing:-.025em; margin:26px 0 14px; }
.kent-card-grid p { color:var(--muted); font-size:1rem; line-height:1.8; margin:0; }
.service-link { min-height:214px; background:white; padding:26px; }
.service-link p { font-size:.9375rem; line-height:1.7; color:var(--muted); margin:12px 0 0; }
.kent-photo { margin:0; }
.kent-photo img { display:block; width:100%; height:390px; object-fit:cover; border-radius:16px; }
.kent-photo figcaption { font-size:.8125rem; color:var(--muted); margin-top:14px; line-height:1.6; }
.kent-cta { padding-block:52px; background:var(--charcoal); color:white; }
.kent-cta > .shell { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.kent-cta .eyebrow { color:#dedede; margin-bottom:16px; }
.kent-cta h2 { font-size:clamp(1.8rem,2.5vw,2.45rem); }
.kent-cta p:not(.eyebrow) { color:#dedede; font-size:1rem; line-height:1.75; margin-bottom:0; }
.kent-cta-actions { display:flex; flex-direction:column; flex-shrink:0; gap:12px; min-width:230px; }
.kent-cta .button { background:white; color:var(--charcoal); border-color:white; }
.kent-cta .button-secondary { background:transparent; color:white; border-color:#b5b5b5; }
.kent-cta .button:hover { background:#eee; }
.kent-cta .button-secondary:hover { background:#484848; }
.kent-cta a:focus-visible { outline-color:white; }
.breadcrumbs { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:14px; padding-top:22px; font-size:.8125rem; color:var(--muted); }
.breadcrumbs a { min-height:28px; text-decoration:underline; text-underline-offset:4px; }
.breadcrumbs + .hero { padding-top:32px; }
.kent-source { border-left:3px solid var(--repair-accent); padding:12px 24px; background:var(--surface); }
.kent-source p { margin:0; line-height:1.8; font-size:.9375rem; }
.kent-source a,.kent-prose a,.kent-small a { text-decoration:underline; text-underline-offset:4px; }
.kent-contact-heading { padding-bottom:46px; }
.kent-contact-heading h1 { font-size:clamp(2.75rem,4.45vw,4.5rem); }
.kent-contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,90px); padding-bottom:64px; border-bottom:1px solid var(--line); }
.kent-contact-card { padding:36px; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
.kent-contact-card h2 { font-size:1.8rem; margin:18px 0; }
.kent-contact-card h3 { font-size:1.3rem; margin-bottom:10px; }
.kent-contact-card p:not(.eyebrow) { color:var(--muted); line-height:1.8; font-size:1rem; }
.kent-big-phone { display:inline-flex; min-height:44px; font-size:clamp(1.8rem,3vw,2.65rem); font-weight:600; letter-spacing:-.03em; }
.kent-email { display:block; min-height:44px; margin-bottom:20px; text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.kent-contact-card hr { border:0; border-top:1px solid var(--line); margin:30px 0; }
.kent-contact-card .form-hint { font-size:.8rem!important; margin-top:16px; }
.kent-enquiry-list { padding-left:22px; margin-top:28px; }
.kent-enquiry-list li { padding-left:10px; margin-bottom:24px; }
.kent-enquiry-list li::marker { color:#9b4800; font-size:.9rem; }
.kent-enquiry-list h3 { margin-bottom:6px; font-size:1.1rem; }
.kent-enquiry-list p { font-size:1rem; margin-top:0; }
.kent-small { font-size:.875rem!important; }
address { font-style:normal; line-height:1.9; font-size:1.15rem; }
.kent-prose { max-width:850px; }
.kent-prose h1 { margin-bottom:42px; }
.kent-prose h2 { font-size:1.7rem; margin-top:32px; }
.kent-prose p { line-height:1.85; font-size:1.025rem; color:var(--muted); }
.footer-main .kent-wordmark { font-size:1.45rem; }
.footer-main nav { min-width:120px; }
@media (max-width:1200px) { .desktop-nav { gap:18px; } .kent-wordmark { font-size:1.4rem; } .site-header { gap:18px; } .header-call { padding-left:16px; } }
@media (max-width:800px) {
 .site-header { min-height:90px; }
 .kent-wordmark { font-size:1.45rem; }
 .kent-intro,.kent-split,.kent-contact-layout { grid-template-columns:1fr; gap:32px; }
 .kent-card-grid { grid-template-columns:1fr; gap:30px; }
 .kent-card-grid h3 { margin-top:16px; }
 .hero { padding-top:36px; }
 .hero h1,.kent-contact-heading h1 { font-size:clamp(2.55rem,7vw,3.5rem); }
 .hero-image img { height:400px; }
 .kent-cta > .shell { flex-direction:column; align-items:stretch; gap:28px; }
 .kent-cta-actions { flex-direction:row; flex-wrap:wrap; }
 .kent-photo img { height:350px; }
 .kent-contact-card { padding:26px; }
 .kent-contact-heading { padding-bottom:32px; }
 .faq-layout { gap:32px; }
}
@media (max-width:600px) {
 .utility { font-size:.65rem; gap:16px; }
 .utility span { max-width:55%; }
 .utility span:last-child { text-align:right; max-width:42%; }
 .header-call { font-size:.8rem; gap:5px; padding-left:0; }
 .header-call svg { display:none; }
 .kent-wordmark { font-size:1.28rem; }
 .kent-wordmark > span { font-size:.62rem; margin-top:5px; }
 .hero-image img { height:350px; }
 .hero .eyebrow { font-size:.73rem; }
 .hero-actions { gap:12px; }
 .hero-actions .button { flex:1 1 200px; }
 .kent-photo img { height:280px; }
 .service-link { min-height:185px; }
 .kent-cta-actions { flex-direction:column; }
 .footer-bottom { gap:12px; flex-wrap:wrap; }
 .kent-contact-card { padding:22px; }
}
@media (max-width:370px) {
 .kent-wordmark { font-size:1.12rem; }
 .header-call { font-size:.73rem; }
 .hero h1 { font-size:2.45rem; }
 .hero-image img { height:290px; }
 .kent-big-phone { font-size:1.8rem; }
}

/* Forge is the site brand; Kent describes the service area. */
.kent-wordmark > span { font-size:.8125rem; color:var(--muted); letter-spacing:0; }
.contact-identity-note a,#business-identity .body-copy a { text-decoration:underline; text-underline-offset:4px; }
.contact-identity-note { max-width:640px; font-size:.875rem; color:var(--muted); line-height:1.8; margin-top:22px; }
#business-identity { scroll-margin-top:24px; }
@media (max-width:800px) { .kent-wordmark > span { font-size:.75rem; } }
@media (max-width:370px) { .kent-wordmark > span { font-size:.7rem; } }

/* Keep Waghorn’s cone visible on the Medway page. */
.hero-image.kent-landmark img { object-position:50% 35%; }
.kent-landmark figcaption a { text-decoration:underline; text-underline-offset:3px; }

/* Coverage overview and regional navigation. */
.area-nav { display:flex; gap:10px 28px; flex-wrap:wrap; padding-block:18px; border-bottom:1px solid var(--line); }
.area-nav a { display:inline-flex; align-items:center; min-height:36px; font-size:.875rem; color:var(--muted); }
.area-nav a[aria-current="page"] { color:var(--ink); font-weight:650; text-decoration:underline; text-decoration-color:var(--repair-accent); text-underline-offset:8px; }
.coverage-intro { padding-top:48px; }
.coverage-intro h1 { font-size:clamp(2.75rem,4.45vw,4.5rem); }
.coverage-intro > .hero-intro { max-width:680px; }
.area-card-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:40px; }
.area-card { display:flex; flex-direction:column; padding:36px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.area-card .eyebrow { margin:0 0 22px; }
.area-card h2 { margin:0 0 16px; }
.area-card > p:not(.eyebrow) { color:var(--muted); font-size:1rem; line-height:1.8; margin:0 0 24px; max-width:460px; }
.area-card-action { display:flex; align-items:center; gap:14px; font-weight:600; font-size:.9375rem; margin-top:auto; }
.area-card-action svg { width:19px; height:19px; color:#a44b00; }
.area-card:hover { border-color:var(--ink); background:#eee; }
.area-crosslink { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.area-crosslink h2 { font-size:clamp(1.65rem,2.5vw,2.3rem); }
@media (max-width:800px) { .area-card-grid { grid-template-columns:1fr; gap:20px; } .area-card { padding:26px; } .area-crosslink { align-items:flex-start; flex-direction:column; } }

/* Town pages sit below Kent in the coverage hierarchy. */
.town-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.town-card { display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:10px; background:white; }
.town-card h3 { font-size:1.5rem; margin:0 0 14px; }
.town-card p { font-size:.9375rem; line-height:1.8; color:var(--muted); margin:0 0 24px; }
.town-card .area-card-action { align-items:flex-start; line-height:1.6; }
.town-card svg { flex-shrink:0; margin-top:3px; }
.town-card:hover { border-color:var(--ink); background:var(--surface); }
.town-coverage-note { max-width:850px; margin:30px 0 0; color:var(--muted); font-size:1rem; line-height:1.8; }
.town-coverage-note a { text-decoration:underline; text-underline-offset:3px; }
#rochester-workshop { scroll-margin-top:24px; }
@media(max-width:1000px) { .town-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .town-grid { grid-template-columns:1fr; } .town-card { padding:24px; } .breadcrumbs { gap:8px; } }
