.homepage-section{padding:76px 20px}.homepage-section.alt{background:#fff}.homepage-inner{width:min(100%,1120px);margin:auto}.homepage-heading{max-width:720px}.homepage-heading h2{margin:0;color:#241b31;font-size:clamp(32px,4vw,48px);font-weight:400;letter-spacing:-.04em;line-height:1.1}.homepage-heading p{max-width:680px;margin:14px 0 0;color:#5f7281;font-size:18px}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}.journey-card{display:flex;flex-direction:column;padding:24px;border:1px solid #d8e2e8;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(36,27,49,.07)}.journey-card h3{margin:0;color:#241b31;font-size:22px;font-weight:600}.journey-card p{margin:10px 0 0;color:#5f7281;font-size:16px}.journey-card a{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px;color:#261838;font-size:16px;font-weight:700}.journey-card.featured{border-color:#f2cf73;background:#fffaf0}.tool-grid,.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}.tool-card,.benefit-card{padding:25px;border:1px solid #d8e2e8;border-radius:16px;background:#f7f4f8}.tool-card h3,.benefit-card h3{margin:0;color:#241b31;font-size:21px;font-weight:600}.tool-card p,.benefit-card p{margin:10px 0 0;color:#5f7281;font-size:16px}.tool-card a{display:inline-flex;margin-top:18px;color:#261838;font-weight:700}.feature-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.homepage-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;border-radius:10px;color:#fff;background:#35234f;font-size:16px;font-weight:700;text-decoration:none}.homepage-button.secondary{color:#241b31;background:#f2cf73}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:32px}.process-card{padding:22px;border-radius:15px;background:#f7f4f8}.process-card span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;background:#35234f;font-size:14px;font-weight:700}.process-card h3{margin:16px 0 0;color:#241b31;font-size:19px}.process-card p{margin:8px 0 0;color:#5f7281;font-size:15px}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}.guide-card{padding:25px;border-top:4px solid #f2cf73;background:#fff;box-shadow:0 12px 30px rgba(36,27,49,.07)}.guide-card h3{margin:0;color:#241b31;font-size:21px}.guide-card p{margin:10px 0 0;color:#5f7281;font-size:16px}.guide-card a{display:inline-flex;margin-top:18px;color:#261838;font-weight:700}.homepage-faq{max-width:900px;margin-top:30px;border-top:1px solid #d8e2e8}.homepage-faq details{padding:18px 0;border-bottom:1px solid #d8e2e8}.homepage-faq summary{cursor:pointer;color:#241b31;font-size:18px;font-weight:700;list-style:none}.homepage-faq summary::-webkit-details-marker{display:none}.homepage-faq summary::after{float:right;color:#35234f;content:"+"}.homepage-faq details[open] summary::after{content:"−"}.homepage-faq details p{max-width:820px;margin:10px 28px 0 0;color:#5f7281;font-size:16px}.homepage-final{padding:70px 20px;color:#fff;background:linear-gradient(125deg,#261838 0%,#35234f 58%,#4a9c8b 100%)}.homepage-final-inner{width:min(100%,900px);margin:auto;text-align:center}.homepage-final h2{margin:0;color:#fff;font-size:clamp(30px,4vw,46px);font-weight:400;letter-spacing:-.04em}.homepage-final p{max-width:650px;margin:14px auto 0;color:#e5dced;font-size:18px}.homepage-final .feature-actions{justify-content:center}.homepage-final .homepage-button.secondary{color:#241b31}
@media(max-width:760px){.homepage-section{padding:58px 16px}.journey-grid,.tool-grid,.benefit-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.journey-grid,.tool-grid,.benefit-grid,.guide-grid,.process-grid{grid-template-columns:1fr}.homepage-heading p,.homepage-final p{font-size:17px}.journey-card,.tool-card,.benefit-card,.guide-card{padding:22px}.feature-actions{display:grid}.homepage-button{width:100%}.homepage-final{padding:56px 16px}}

.journey-accordion{max-width:900px;margin-top:30px;border-top:1px solid #d8e2e8}.journey-accordion details{padding:0;border-bottom:1px solid #d8e2e8}.journey-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4px;cursor:pointer;color:#241b31;font-size:20px;font-weight:600;list-style:none}.journey-accordion summary::-webkit-details-marker{display:none}.journey-accordion summary::after{color:#35234f;content:"+";font-size:24px;font-weight:400}.journey-accordion details[open] summary::after{content:"−"}.journey-accordion details>div{padding:0 48px 24px 4px}.journey-accordion p{max-width:700px;margin:0;color:#5f7281;font-size:17px}.journey-accordion .homepage-button{margin-top:18px}
@media(max-width:620px){.journey-accordion summary{font-size:18px}.journey-accordion details>div{padding-right:20px}.journey-accordion p{font-size:16px}}

/* Homepage layout and accessible controls */
.homepage-main { line-height: 1.55; background: #fff; }
.homepage-main a:focus-visible, .homepage-main summary:focus-visible { outline: 3px solid #35234f; outline-offset: 5px; }
.homepage-main .hero a:focus-visible, .homepage-final a:focus-visible { outline-color: #f2cf73; }
.homepage-main .hero { min-height: 0; display: block; }
.homepage-main .hero-shell { min-height: 0; grid-template-columns: minmax(0,1fr); padding: 64px max(20px,calc((100% - 1120px)/2)); }
.homepage-main .hero-copy { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,440px); column-gap: 64px; max-width: none; min-width: 0; }
.homepage-main .hero-copy > :not(.hero-actions) { grid-column: 1; }
.homepage-main .hero .eyebrow { color: #f2cf73; margin: 0 0 16px; font-size: 13px; }
.homepage-main .hero h1 { font-size: clamp(36px,4.3vw,60px); line-height: 1.08; max-width: 620px; }
.homepage-main .hero-intro { margin: 22px 0 0; font-size: 18px; }
.homepage-main .hero-actions { position: static; transform: none; grid-column: 2; grid-row: 1 / 5; align-self: center; width: 100%; min-width: 0; margin: 0; padding: 28px; }
.homepage-main .cta-heading { font-size: 28px; margin: 0; }
.homepage-main .cta-copy { margin: 0 0 6px; }
.homepage-main .hero-button { height: auto; min-height: 54px; white-space: normal; font-size: 17px; padding: 12px 16px; text-align: center; }
.homepage-main .hero-proof { margin-top: 24px; gap: 8px; }
.homepage-section { padding: 56px 20px; }
.homepage-section.alt { background: #f7f4f8; }
.homepage-heading h2 { font-size: clamp(28px,3.2vw,40px); }
.tool-grid, .benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.tool-card { background: #fff; }
.tool-links { padding: 0; margin: 12px 0 0; list-style: none; }
.tool-links a { margin: 0; padding: 7px 0; min-height: 44px; align-items: center; }
.journey-card a, .guide-card a { min-height: 44px; }
.journey-card.featured { grid-column: 1 / -1; }
.specialist-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; list-style: none; padding: 0; margin: 24px 0 0; }
.specialist-links a { display: block; color: #35234f; padding: 15px 0; border-bottom: 1px solid #d8e2e8; font-size: 17px; }
.homepage-faq summary { display: flex; justify-content: space-between; gap: 16px; }
.homepage-faq summary::after, .journey-accordion summary::after { flex: 0 0 auto; }
.homepage-final .mortgage-enquiry-form { display: grid; gap: 16px; max-width: 680px; margin: 32px auto 0; padding: 28px; border-radius: 18px; color: var(--ink); background: #fff; text-align: left; }
.homepage-final .mortgage-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.homepage-final .mortgage-enquiry-form label { display: block; min-width: 0; font-size: 16px; font-weight: 600; }
.homepage-final .mortgage-enquiry-form input, .homepage-final .mortgage-enquiry-form select, .homepage-final .mortgage-enquiry-form textarea { width: 100%; min-width: 0; min-height: 52px; margin-top: 7px; padding: 10px 13px; border: 2px solid #d8e2e8; border-radius: 10px; color: var(--ink); background: #fff; font: inherit; }
.homepage-final .mortgage-enquiry-form textarea { min-height: 92px; resize: vertical; }
.homepage-final .mortgage-enquiry-form input:focus, .homepage-final .mortgage-enquiry-form select:focus, .homepage-final .mortgage-enquiry-form textarea:focus { border-color: var(--green); outline: 0; box-shadow: 0 0 0 4px rgba(53,35,79,.14); }
.homepage-final .mortgage-enquiry-form button { justify-self: start; min-height: 54px; padding: 12px 21px; border: 0; border-radius: 10px; color: #fff; background: var(--green); font: inherit; font-size: 17px; font-weight: 600; cursor: pointer; }
.homepage-final .mortgage-enquiry-form button:hover { background: var(--green-dark); }
.homepage-final .mortgage-enquiry-form button:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.homepage-final .mortgage-enquiry-form button:disabled { cursor: wait; opacity: .65; }
.homepage-final .mortgage-enquiry-form small { color: #5f7281; font-size: 14px; }
.homepage-final .mortgage-status { width: 100%; margin: 0; padding: 14px 16px; border-radius: 10px; color: var(--green-dark); background: #f2edf9; font-size: 16px; font-weight: 600; }
.homepage-final .mortgage-status[hidden] { display: none; }
.homepage-final .mortgage-status.failure { color: #ad3d34; background: #fbeceb; }
@media (max-width: 620px) {
 .homepage-final .mortgage-enquiry-form { padding: 20px; }
 .homepage-final .mortgage-form-grid { grid-template-columns: 1fr; }
 .homepage-final .mortgage-enquiry-form button { width: 100%; }
}
.homepage-final .callback-note { max-width: 640px; font-size: 14px; margin-top: 24px; }
@media (max-width: 1000px) {
 .homepage-main .hero-copy { column-gap: 28px; grid-template-columns: minmax(0,1fr) minmax(0,380px); }
 .journey-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
 .homepage-main .hero-shell { padding: 40px 20px; }
 .homepage-main .hero-copy { display: flex; flex-direction: column; gap: 0; }
 .homepage-main .hero-actions { margin-top: 28px; max-width: 560px; align-self: flex-start; }
 .homepage-main .hero h1 { max-width: 600px; }
}
@media (max-width: 620px) {
 .homepage-main .hero-shell { padding: 32px 16px; }
 .homepage-main .hero h1 { font-size: clamp(34px,9vw,42px); }
 .homepage-main .hero-actions { padding: 22px; }
 .homepage-section { padding: 40px 16px; }
 .journey-grid, .tool-grid, .benefit-grid, .specialist-links { grid-template-columns: 1fr; }
 .journey-grid, .tool-grid, .benefit-grid, .guide-grid { gap: 12px; margin-top: 24px; }
 .journey-card { padding: 18px; }
 .journey-card h3 { font-size: 20px; }
 .journey-card p { margin-top: 6px; }
 .journey-card a { padding-top: 10px; }
 .homepage-final .feature-actions { display: flex; flex-direction: column; }
}



/* Homepage enhancements */
.journey-card{position:relative;min-height:230px;padding-top:28px;overflow:hidden}.journey-card::before{position:absolute;top:0;left:0;width:58px;height:5px;background:#f2cf73;content:""}.journey-card.featured::before{width:100%}.journey-card a span{transition:transform .2s ease}.journey-card a:hover span,.journey-card a:focus-visible span{transform:translateX(4px)}.journey-card.featured{min-height:0}.journey-card.featured a{margin-top:18px}
.benefit-grid{counter-reset:benefit}.benefit-card{position:relative;min-height:190px;overflow:hidden}.benefit-card::before{position:absolute;top:17px;right:22px;color:rgba(53,35,79,.12);font-size:58px;font-weight:800;line-height:1;content:counter(benefit)}.benefit-card{counter-increment:benefit}.benefit-card:nth-child(2n){transform:translateY(18px);background:#fff}.benefit-card h3,.benefit-card p{max-width:340px}
.tool-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.tool-links li{display:contents}.tool-links a.tool-action,.tool-card > a.tool-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin:0;padding:10px 14px;border-radius:9px;color:#241b31;background:#f2cf73;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 3px 0 rgba(36,27,49,.12)}.tool-card > a.tool-action{margin-top:18px}.tool-links a.tool-action:hover,.tool-card > a.tool-action:hover{background:#f7d98c;transform:translateY(-1px)}
.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:46px}.process-grid::before{position:absolute;top:20px;right:21px;left:21px;height:2px;background:#d8e2e8;content:""}.process-card{position:relative;z-index:1;padding:0 12px 0 0;background:transparent}.process-card span{width:42px;height:42px;border:5px solid #fff;box-shadow:0 0 0 1px #35234f}.process-card:nth-child(3n+2) span{background:#4a9c8b;box-shadow:0 0 0 1px #4a9c8b}.process-card:nth-child(3n+3) span{color:#241b31;background:#f2cf73;box-shadow:0 0 0 1px #f2cf73}.process-card h3{margin-top:18px}
.specialist-links a{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0 0 12px;padding:11px 16px;border:0;border-radius:9px;color:#241b31;background:#f2cf73;font-size:16px;font-weight:700;text-align:center;text-decoration:none;box-shadow:0 3px 0 rgba(36,27,49,.12);transition:background .2s ease,transform .2s ease}.specialist-links a:hover,.specialist-links a:focus-visible{background:#f7d98c;transform:translateY(-1px)}
@media(max-width:820px){.process-grid{overflow-x:auto;grid-template-columns:repeat(4,minmax(190px,1fr));padding:0 8px 12px}.process-grid::before{right:29px;left:29px}.process-card{padding-right:10px}}
@media(max-width:620px){.benefit-card:nth-child(2n){transform:none}.journey-card{min-height:0}.tool-links{display:grid;grid-template-columns:1fr}.tool-links a.tool-action,.tool-card > a.tool-action{width:100%}.process-grid{grid-template-columns:repeat(4,minmax(210px,1fr));gap:22px;margin-right:-16px;margin-left:-8px;padding-left:8px}.process-grid::before{right:29px;left:29px}}



/* Inline hero links follow the purple hero background */
.homepage-main .hero-copy > p a{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
