/* 3.4: same section structure; larger navigation/labels; entirely flat hero. */
.topbar .socials { align-items:center; }
.topbar .phone.kpf-phone-chip { display:inline-flex; align-items:center; gap:9px; padding:7px 12px; border:1px solid #ffcf0080; border-radius:8px; width:auto; height:auto; background:#ffffff0d; color:white; text-align:left; line-height:1.15; }
.kpf-phone-chip svg { flex:none; color:var(--yellow); }
.kpf-phone-chip span { display:flex; flex-direction:column; gap:4px; }
.kpf-phone-chip small { font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.kpf-phone-chip strong { font-size:15px; font-weight:700; white-space:nowrap; }
.site-header { background:#fff; }
.site-header #site-nav { margin-left:auto; }
.site-header .menu { gap:3px; }
.site-header .menu > li > a { font-size:17px; font-weight:650; padding:16px 12px; border-radius:6px; position:relative; text-decoration:none; transition:background-color .15s; }
.site-header .menu > li > a::before { content:''; position:absolute; top:4px; left:12px; right:12px; height:3px; background:var(--yellow); transform:scaleX(0); transform-origin:left; transition:transform .15s; }
.site-header .menu > li > a:hover,.site-header .menu > li > a:focus-visible,.site-header .menu > .current-menu-item > a { background:var(--cream); }
.site-header .menu > li > a:hover::before,.site-header .menu > li > a:focus-visible::before,.site-header .menu > .current-menu-item > a::before { transform:scaleX(1); }
.site-header .sub-menu a { font-size:16px; padding:9px 12px; border-radius:4px; }
.site-header .sub-menu a:hover { background:var(--cream); }
.hero,.hero-slide,.hero-copy { background:#fffae5; background-image:none; }
.hero-copy h1,.hero-copy h2,.hero-copy h1 span,.hero-copy h2 span { color:var(--ink); text-shadow:none; -webkit-text-stroke:0; font-weight:750; letter-spacing:-.045em; }
.hero-copy h1,.hero-copy h2 { font-size:clamp(40px,4.1vw,60px); line-height:1.07; }
.hero-copy > .eyebrow,.journey .eyebrow,.eyebrow { background:none; background-image:none; }
.eyebrow { font-size:14px; font-weight:750; letter-spacing:.07em; line-height:1.5; }
.hero-copy > .eyebrow { font-size:15px; }
.section h2 { font-size:clamp(30px,2.8vw,40px); }
.division-panel h2 { font-size:25px; }
.about-copy h2 { font-size:clamp(30px,2.7vw,38px); }
.post-card h2,.post-card h3,.event-body h3 { font-size:23px; }
.post-card .eyebrow { font-size:11px; }
.section-head { align-items:center; }
.section-head > .button { width:250px; min-width:250px; min-height:48px; flex-shrink:0; justify-content:space-between; padding-inline:21px; }
.reviews-empty { display:flex; align-items:center; padding:22px 0 22px 24px; gap:20px; }
.reviews-empty > div { flex:1; }
.reviews-empty > .button { margin:0; width:250px; min-width:250px; min-height:48px; padding-inline:21px; justify-content:space-between; margin-right:0; }
.reviews-empty { padding-right:0; border-right:0; border-radius:12px 0 0 12px; background:var(--cream); }
.course-body { display:flex; flex-direction:column; flex:1; }
.course-body > .button { margin-top:auto; min-height:44px; }
.course-body ul { margin-bottom:18px; }
.actions { align-items:stretch; }
.actions .button { min-height:48px; }
.cta-band .button { min-width:210px; justify-content:center; min-height:50px; gap:10px; }
.cta-band .button svg { width:21px; height:21px; flex:none; }
.site-footer { background:#fffdf4; }
.footer-grid { grid-template-columns:1.2fr .8fr 1fr 1.15fr; gap:26px; padding-block:32px; }
.footer-grid > div:not(:first-child) { border-left:1px solid #e9e0c5; padding-left:24px; }
.footer-grid > div:last-child { border:1px solid #e6d8a4; border-top:4px solid var(--yellow); background:#fff7d3; padding:20px; }
.site-footer h2,.site-footer .widget-title { font-size:19px; margin-bottom:15px; }
.site-footer p,.site-footer li,.site-footer a:not(.brand) { font-size:14px; }
.site-footer li a { display:block; padding:3px 0; }
.site-footer .footer-tagline { display:block; font-size:15px; line-height:1.55; max-width:100%; }
.footer-socials { margin-top:16px; }
.site-footer .footer-enquiry { display:flex; align-items:center; gap:9px; min-height:46px; font-size:14px!important; width:100%; }
.footer-enquiry svg { width:19px; height:19px; }
.site-footer a[href^="tel:"] { font-weight:700; color:var(--ink); }
.footer-bottom { padding-block:12px; }
@media(max-width:1200px) and (min-width:1001px) { .site-header .menu > li > a{font-size:16px;padding-inline:9px} .header-row{gap:10px} .brand-image img{width:175px} }
@media(max-width:1000px) { .site-header #site-nav{margin-left:0} .site-header .menu>li>a{font-size:18px;padding:15px 16px} .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .footer-grid>div:nth-child(3){border-left:0;padding-left:0} }
@media(max-width:760px) {
 .topbar .phone.kpf-phone-chip { flex-basis:auto; margin:3px 0 0; justify-content:center; }
 .kpf-phone-chip strong { font-size:15px; }
 .hero-copy h1,.hero-copy h2{font-size:clamp(36px,8.8vw,48px)}
 .eyebrow,.hero-copy>.eyebrow { font-size:12px; }
 .section-head h2 { font-size:31px; }
 .section-head>.button{width:100%;min-width:0;margin-top:16px}
 .reviews-empty{padding:20px;border:1px solid var(--line);border-radius:12px;flex-wrap:wrap}
 .reviews-empty>.button{width:100%;min-width:0;margin:8px 0 0}
 .footer-grid{gap:22px}.footer-grid>div:not(:first-child){padding-left:0;border-left:0}.footer-grid>div:last-child{border:1px solid #e6d8a4;border-top:4px solid var(--yellow);padding:20px}
 .site-footer h2{font-size:18px}.site-footer li a{padding-block:5px}
 .cta-band .button{width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){.site-header .menu>li>a,.site-header .menu>li>a::before{transition:none}}

/* 3.4.1: divisions left, existing visual centered; softly curved original logos. */
.about-grid { grid-template-columns:1fr 1.04fr 1fr; }
.site-header .brand-image img,.site-header .custom-logo,
.site-footer .brand-image img,.site-footer .custom-logo,.kpf-footer-logo {
 border-radius:14px; overflow:hidden;
}
@media(max-width:1100px) and (min-width:761px) {
 .about-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .about-grid > .about-copy { grid-column:1/-1; }
}
@media(max-width:760px) {
 .about-grid { grid-template-columns:minmax(0,1fr); }
 .about-grid > .about-copy { grid-column:auto; }
}
