/* Blog, article and contact layouts share the established Corpus design tokens. */
.editorial-hero{padding:28px 40px 40px;border-radius:24px;background:var(--purple-soft)}
.editorial-hero-row{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:64px;margin-top:36px}
.editorial-hero h1{font:600 80px/1.05 var(--font-heading);letter-spacing:-.045em;margin-top:20px;max-width:12ch}
.editorial-hero h1 span{color:var(--purple)}
.editorial-hero-row>p{font:400 var(--type-lead-size)/var(--type-lead-line) var(--font-body);color:var(--text-secondary);max-width:35ch;margin-bottom:6px}
.editorial-section-heading{margin-bottom:32px}
.editorial-section-heading h2,.editorial-cta h2,.contact-details>h2,.contact-location h2{font:600 52px/1.1 var(--font-heading);letter-spacing:-.04em}
.editorial-section-heading h2 span,.contact-details h2 span,.contact-location h2 span{color:var(--purple)}
.editorial-section-heading>p{margin-top:20px;color:var(--muted)}
.editorial-heading-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.editorial-text-link{display:inline-flex;align-items:center;gap:12px;color:var(--purple);font-weight:500}
.editorial-text-link:hover{text-decoration:underline;text-underline-offset:4px}
.blog-featured.section{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;margin-top:56px;padding:0}
.featured-image{display:block;border-radius:24px;overflow:hidden;background:var(--purple-soft)}
.featured-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.featured-copy .section-label{margin-bottom:24px}
.post-category{display:inline-block;color:var(--purple);font:500 14px/22px var(--font-body)}
.featured-copy h2{font:600 40px/46px var(--font-heading);letter-spacing:-.035em;margin-top:14px;max-width:22ch}
.featured-copy h2 a:hover{color:var(--purple)}
.featured-copy>p:not(.section-label){margin-top:20px;color:var(--text-secondary);max-width:47ch}
.post-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:400 14px/22px var(--font-body);color:var(--muted)}
.featured-copy .post-meta{margin-top:24px}
.featured-copy .button{margin-top:28px}
.blog-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:28px}
.blog-filters{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.blog-filter{padding:10px 18px;background:white;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:999px;font:400 16px/24px var(--font-body)}
.blog-filter:hover{background:var(--purple-soft);color:var(--purple)}
.blog-filter.is-active{color:white;background:var(--purple);border-color:var(--purple)}
.blog-filter:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
#blog-count{flex:none;margin:0;white-space:nowrap;font:400 14px/22px var(--font-body);color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.blog-card{position:relative;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:20px;background:white;overflow:hidden;transition:border-color .18s ease,transform .18s ease}
.blog-card:hover{border-color:var(--purple);transform:translateY(-3px)}
.blog-card:focus-within{outline:3px solid var(--purple);outline-offset:4px}
.blog-card-image{background:var(--purple-soft);aspect-ratio:16/9;overflow:hidden}
.blog-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.blog-card-body{display:flex;flex-direction:column;flex:1;padding:24px}
.blog-card h3{font:600 26px/32px var(--font-heading);letter-spacing:-.025em;margin-top:12px}
.blog-card h3 a:after{content:"";position:absolute;inset:0}
.blog-card h3 a:focus-visible{outline:none}
.blog-card-body>p{color:var(--text-secondary);margin:16px 0 24px}
.blog-card .post-meta{margin-top:auto}
.post-read{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border-subtle);padding-top:20px;margin-top:20px;color:var(--purple);font-weight:500}
.blog-empty{padding:40px;background:var(--purple-soft);border-radius:20px}
.blog-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:36px;padding-top:28px;border-top:1px solid var(--border-subtle)}
.blog-pagination>p{font:400 14px/22px var(--font-body);color:var(--muted)}
.blog-pagination nav,.blog-page-numbers{display:flex;align-items:center;gap:8px}
.blog-page-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:12px;background:white;color:var(--purple);font:500 14px/22px var(--font-body)}
.blog-page-button:hover:not(:disabled){background:var(--purple-soft);border-color:var(--purple)}
.blog-page-button[aria-current="page"],.blog-page-button[aria-current="page"]:hover{background:var(--purple);border-color:var(--purple);color:white}
.blog-page-button:disabled{color:var(--muted);opacity:.45;cursor:default}
.blog-page-button .icon{width:18px;height:18px}
[data-blog-prev] .icon{transform:rotate(180deg)}
#blog-results{scroll-margin-top:24px}
#blog-results:focus{outline:none}
@media(max-width:540px){.blog-pagination{justify-content:center;margin-top:28px;gap:16px}.blog-pagination>p{flex:1 0 100%;text-align:center}.blog-page-button{padding:10px;gap:6px}.blog-pagination nav,.blog-page-numbers{gap:6px}}
@media(max-width:380px){.blog-pagination [data-blog-prev]>span,.blog-pagination [data-blog-next]>span{display:none}}
.editorial-cta{display:flex;align-items:center;justify-content:space-between;gap:48px;margin:80px 0 24px;padding:48px;background:var(--purple);color:white;border-radius:24px}
.editorial-cta .section-label{color:#eee4fc}
.editorial-cta .section-label span{background:var(--lime)}
.editorial-cta h2{margin-top:20px;max-width:17ch}
.editorial-cta h2 span{color:var(--lime)}
.editorial-cta p:not(.section-label){color:#f2edf8;margin-top:24px;max-width:55ch}
.editorial-cta>.button{flex:none}

/* A focused, readable article with a small sticky contents column. */
.article-header{max-width:1000px;margin:0 auto;padding:28px 0 36px}
.article-header>.post-category{margin-top:36px}
.article-header h1{font:600 56px/1.1 var(--font-heading);letter-spacing:-.04em;margin-top:16px;max-width:25ch}
.article-deck{font:400 var(--type-lead-size)/var(--type-lead-line) var(--font-body);color:var(--text-secondary);max-width:65ch;margin-top:24px}
.article-byline{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:14px}
.article-byline>span{font-weight:500}
.article-feature-image{margin:0 auto;max-width:1000px;border-radius:24px;overflow:hidden;background:var(--purple-soft)}
.article-feature-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.article-layout{display:grid;grid-template-columns:280px minmax(0,720px);gap:64px;justify-content:center;margin:64px auto 0}
.article-sidebar{position:sticky;top:116px;align-self:start;font:400 14px/22px var(--font-body)}
.article-sidebar details{border-top:1px solid var(--border-subtle);padding-top:20px}
.article-sidebar summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-weight:600;list-style:none}
.article-sidebar summary::-webkit-details-marker{display:none}
.article-sidebar summary .icon{width:18px;height:18px}
.article-sidebar details[open] summary .icon{transform:rotate(180deg)}
.article-sidebar nav{display:grid;gap:16px;margin-top:24px;max-height:55vh;overflow:auto;padding-right:16px}
.article-sidebar nav a{color:var(--muted)}
.article-sidebar nav a:hover{color:var(--purple)}
.article-back{display:flex;align-items:center;gap:10px;color:var(--purple);margin-top:28px}
.article-back .icon{width:18px;height:18px;transform:rotate(180deg)}
.article-body{min-width:0;font:400 18px/30px var(--font-body);color:var(--text-secondary)}
.article-body>p{margin:0 0 20px;white-space:pre-line;overflow-wrap:anywhere}
.article-body h2{font:600 32px/40px var(--font-heading);letter-spacing:-.025em;color:var(--ink);margin:44px 0 20px;scroll-margin-top:120px}
.article-body h3{font:600 24px/32px var(--font-heading);color:var(--ink);margin:32px 0 16px;scroll-margin-top:120px}
.article-body ul,.article-body ol{padding-left:24px;margin:16px 0 24px}
.article-body li+li{margin-top:8px}
.article-table{overflow-x:auto;margin:24px 0}
.article-table table{border-collapse:collapse;width:100%;font-size:16px}
.article-table th,.article-table td{padding:12px 16px;border:1px solid var(--border-subtle);text-align:left}
.article-table th{background:var(--purple-soft);color:var(--ink)}
.article-end{padding:28px;margin-top:40px;border-radius:20px;background:var(--purple-soft)}
.article-end>span{display:block;color:var(--muted);font-size:16px}
.article-end a{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;font-weight:600;color:var(--purple)}
/* Contact: clear contact choices, a guided enquiry and the actual location. */
.contact-hero h1{max-width:13ch}
.contact-main{display:grid;grid-template-columns:1fr 1.15fr;gap:72px;align-items:start}
.contact-details>p{color:var(--text-secondary);max-width:38ch;margin-top:24px}
.contact-method{display:flex;align-items:flex-start;gap:18px;margin-top:32px;padding-top:28px;border-top:1px solid var(--border-subtle)}
.contact-method>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--purple-soft);color:var(--purple);flex:none}
.contact-method h3{font:600 22px/28px var(--font-heading);letter-spacing:-.02em}
.contact-method p{font-size:14px;line-height:22px;color:var(--muted);margin-top:8px}
.contact-method a{display:flex;align-items:center;gap:12px;color:var(--purple);font-weight:500;width:fit-content;margin-top:10px;overflow-wrap:anywhere}
.contact-method>div{min-width:0}
.contact-method a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-form-panel{padding:36px;background:var(--purple-soft);border-radius:24px;min-width:0}
.contact-form-panel h2{font:600 32px/40px var(--font-heading);letter-spacing:-.03em}
.contact-form-panel form>p:first-of-type,.contact-review>p:not(.section-label){color:var(--text-secondary);margin-top:14px}
.contact-form-panel .field{margin-top:20px}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form-panel input,.contact-form-panel textarea,.contact-form-panel select{background:white}
.contact-form-panel .button{margin-top:24px}
.contact-form-panel .contact-form-note{font:400 14px/22px var(--font-body);margin-top:16px;color:var(--muted)}
.contact-form-panel .form-error-summary{margin-top:20px}
.contact-review{scroll-margin-top:112px}
.contact-review:focus{outline:none}
.contact-review-icon{display:grid;place-items:center;background:white;color:var(--purple);width:56px;height:56px;border-radius:50%;margin-bottom:24px}
.contact-review h2{margin-top:20px}
.contact-review .enquiry-summary{margin-top:24px}
.contact-review .enquiry-summary dd{overflow-wrap:anywhere;white-space:pre-wrap}
.contact-review .text-button{display:block;margin-top:20px;color:var(--purple)}
.contact-location{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:center;padding:40px;background:#edf7fb;border-radius:24px}
.contact-location h2{margin-top:20px}
.contact-location address{font-style:normal;color:var(--text-secondary);margin-top:24px}
.contact-location .button{margin-top:28px;background:white}
.contact-map{overflow:hidden;border-radius:20px;min-width:0;background:#deedf2;height:380px}
.contact-map iframe{display:block;border:0;width:100%;height:100%}
.contact-course-link{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;padding:40px 0 56px;color:var(--muted)}
@media(max-width:1100px){
 .editorial-hero{padding:28px 32px 32px}.editorial-hero-row{gap:32px}.editorial-hero h1{font-size:56px;line-height:64px}
 .editorial-section-heading h2,.editorial-cta h2,.contact-details>h2,.contact-location h2{font-size:40px;line-height:48px}
 .blog-featured.section{gap:32px}.featured-copy h2{font-size:32px;line-height:40px}
 .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-card h3{font-size:24px;line-height:32px}
 .article-layout{grid-template-columns:220px minmax(0,1fr);gap:36px}.article-header h1{font-size:48px;line-height:56px}
 .contact-main{gap:32px}.contact-form-panel{padding:28px}.contact-field-row{grid-template-columns:1fr;gap:0}.contact-location{gap:32px;padding:32px}
}
@media(max-width:760px){
 .editorial-hero-row,.blog-featured.section,.contact-main,.contact-location{grid-template-columns:1fr}
 .editorial-hero h1{max-width:none}.editorial-hero-row>p{max-width:48ch}.blog-featured.section{gap:28px}
 .featured-image img{aspect-ratio:16/9}.featured-copy h2{max-width:none}
 .editorial-cta{align-items:flex-start;flex-direction:column;gap:28px;padding:36px}.editorial-cta h2{max-width:none}
 .article-layout{grid-template-columns:1fr;gap:32px;margin-top:40px}.article-sidebar{position:static}.article-sidebar nav{max-height:230px}.article-back{display:none}
 .contact-method{margin-top:24px;padding-top:24px}.contact-form-panel{margin-top:8px}.contact-field-row{grid-template-columns:1fr 1fr;gap:20px}.contact-map{height:340px}
}
@media(max-width:540px){
 .editorial-hero{padding:24px;border-radius:20px}.editorial-hero-row{margin-top:28px;gap:24px}.editorial-hero h1{font-size:40px;line-height:48px;margin-top:16px}
 .editorial-section-heading h2,.editorial-cta h2,.contact-details>h2,.contact-location h2{font-size:32px;line-height:40px}
 .editorial-heading-row{align-items:flex-start;flex-direction:column;gap:20px}
 .blog-featured.section{margin-top:32px}.featured-copy{padding:0 8px}.featured-copy h2{font-size:30px;line-height:36px}.featured-copy .section-label{margin-bottom:20px}
 .blog-filters{gap:8px}.blog-filter{font-size:14px;line-height:22px;padding:8px 14px}.blog-grid{grid-template-columns:1fr;gap:24px}.blog-card-body{padding:24px}
 .editorial-cta{padding:28px 24px;margin-top:48px;border-radius:20px}.editorial-cta>.button{max-width:100%;gap:16px}
 .article-header{padding:24px 8px 28px}.article-header h1{font-size:36px;line-height:42px}.article-header>.post-category{margin-top:28px}.article-byline{gap:10px}.article-deck{font-size:18px;line-height:28px}
 .article-feature-image{border-radius:16px}.article-layout{padding:0 8px}.article-body{font-size:16px;line-height:28px}.article-body h2{font-size:28px;line-height:36px;margin-top:36px}.article-body h3{font-size:22px;line-height:30px}.article-end{padding:24px}
 .contact-main{gap:32px}.contact-form-panel{padding:24px 20px;border-radius:20px}.contact-form-panel h2{font-size:28px;line-height:36px}.contact-field-row{grid-template-columns:1fr;gap:0}.contact-form-panel .button{gap:12px;max-width:100%;padding-inline:18px}
 .contact-location{padding:28px 24px;border-radius:20px;gap:28px}.contact-map{height:280px;border-radius:16px}.contact-method{gap:14px}.contact-method a{font-size:14px;line-height:22px}.contact-course-link{gap:12px;padding:32px 16px}
}
@media(prefers-reduced-motion:reduce){.blog-card{transition:none}.blog-card:hover{transform:none}}
