/*
Theme Name: Shape Inclusion
Author: Wendy Baverstock
Description: Accessible, editable block theme based on the approved Shape Inclusion design. Includes Home, About and article patterns.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: shape-inclusion
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{color-scheme:light;--ink:#032c3e;--accent:#006c73;--purple:#8b248c;--cream:#fcfefd;--paper:#fff;--warm:#e9f8f6;--line:#b5d2d5;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:24px}
body{margin:0;background:var(--cream);color:var(--ink);font:1.25rem/1.7 var(--sans);overflow-wrap:break-word}
a{color:inherit;text-underline-offset:5px;touch-action:manipulation}
a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
footer a:focus-visible,footer summary:focus-visible{outline-color:var(--cream)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--sans);font-weight:650;line-height:1.25;letter-spacing:-.6px}
h1{font-size:clamp(2.25rem,4vw,3rem)}
h2{font-size:clamp(1.875rem,2.7vw,2.125rem)}
h3{font-size:1.125rem;letter-spacing:0;line-height:1.5}
p+p{margin-top:20px}
.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.section{padding-block:58px}
.reading-width{max-width:850px}
.skip-link{position:fixed;top:-100px;left:16px;background:var(--ink);color:white;padding:12px 20px;z-index:20;font-weight:650}
.skip-link:focus{top:12px}
.preview-bar{padding:3px 20px;background:var(--warm);text-align:center;font-size:1rem;line-height:1.6}
.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}
.site-header{background:var(--paper)}
.header-inner{padding-block:8px}
.wordmark{display:inline-flex;min-width:0;text-decoration:none;flex:none}
.brand-logo{display:block;position:relative;width:240px;aspect-ratio:286/130;overflow:hidden;mix-blend-mode:multiply}
.brand-logo img{position:absolute;max-width:none;width:537.0629%;height:auto;left:-177.6224%;top:-251.5385%}
nav{display:flex;align-items:center;gap:30px;font-size:1.125rem;font-weight:600}
nav a{padding-block:12px;text-decoration:none;min-height:44px}
nav a:hover,nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px}
nav .nav-contact{border:1px solid var(--ink);padding:10px 18px;border-radius:4px}
nav span{margin-left:12px}
.hero-inner{display:grid;grid-template-columns:1.65fr 1fr;align-items:center;gap:80px;padding-block:44px 50px}
.hero{background:var(--ink);color:var(--paper)}
.hero a:focus-visible{outline-color:var(--paper)}
.hero-kicker,.section-label{font-size:1.0625rem;font-weight:650;line-height:1.5}
.hero-kicker{margin-bottom:17px;color:var(--paper)}
.hero h1 span{color:#7cddd3}
.hero-description{max-width:630px;font-size:1.3125rem;line-height:1.65;margin-top:22px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:56px;padding:13px 22px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:4px;text-decoration:none;font-size:1.1875rem;font-weight:650;line-height:1.5;max-width:100%}
.button:hover{background:var(--accent);border-color:var(--accent)}
.button-yellow{margin-top:25px}
.hero .button{background:var(--paper);color:var(--accent);border-color:var(--paper)}
.hero .button:hover{background:#d8f4ef;color:var(--ink);border-color:#d8f4ef}
.button span{font-size:1.4rem;line-height:1}
.hero-location{margin-top:20px;font-size:1.0625rem}
.portrait-photo{position:relative;aspect-ratio:1;width:calc(100% - 36px);max-width:310px;margin:18px;justify-self:end}
.portrait-photo:before{content:"";position:absolute;inset:-18px;background:url("assets/images/rings.svg") center/100% 100% no-repeat;pointer-events:none;z-index:1}
.portrait-crop{width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--warm)}
.portrait-crop img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0;transform:scale(1.5);transform-origin:50% 0}
.work-photo{margin-top:32px}
.work-photo img{display:block;width:100%;height:auto;aspect-ratio:16/7;max-height:480px;object-fit:cover;object-position:65% 15%;border-radius:6px}
.work-photo figcaption{font-size:1rem;line-height:1.6;margin-top:12px}
.approach-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.approach-photo{min-width:0}
.approach-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;border-radius:6px}
#support{padding-top:14px}
.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-row{min-width:0;display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:6px;border-top:4px solid var(--ink);background:var(--paper);scroll-margin-top:28px}
.coaching{background:var(--warm);border-top-color:var(--accent)}
.training{background:#f7f0f8;border-top-color:var(--purple)}
.training .section-label{color:var(--purple)}
.section-label{margin-bottom:13px;color:var(--accent)}
.service-row h2{font-size:1.875rem;margin-bottom:21px}
.service-body{min-width:0;display:flex;flex-direction:column;flex:1}
.service-body ul{margin:20px 0;padding-left:23px}
.service-body li{padding-left:4px;margin-top:10px}
.service-body .topics{margin-top:22px}
.service-link{display:inline-flex;align-items:center;gap:17px;padding-block:11px;margin-top:19px;font-size:1.1875rem;line-height:1.55;font-weight:650;text-decoration-thickness:1.5px;min-height:48px;max-width:100%}
.service-link span{font-size:1.4rem;flex:none}
.service-link:hover{text-decoration-thickness:3px}
.service-body>.service-link{align-self:flex-start;margin-top:auto;padding-top:20px}
.enquiry-explanation{margin-top:22px;padding-top:21px;border-top:1px solid var(--line)}
.enquiry-explanation p{font-size:1.125rem;line-height:1.7;margin-top:9px}
.about{background:var(--accent);color:var(--paper);border-block:1px solid var(--accent)}
.about a:focus-visible{outline-color:var(--paper)}
.about-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}
.about-role{font-size:1.125rem;line-height:1.6;max-width:350px;margin-top:19px;font-weight:600}
.about-more{margin-top:16px}
.school-service{background:#f2f6f8;border-top-color:var(--ink)}
.school-service .section-label{color:var(--ink)}
.school-topics{font-weight:600}
.testimonials{border-top:1px solid var(--line)}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:30px}
.testimonial-card{min-width:0;border-left:3px solid var(--purple);padding-left:25px}
.testimonial-card blockquote{margin:0;font:1.25rem/1.75 var(--sans)}
.testimonial-card figcaption{margin-top:22px;font-size:1.0625rem;line-height:1.6}
.testimonial-card figcaption strong,.testimonial-card figcaption span{display:block}
.testimonial-highlight{margin-top:36px}
.contact{border-top:1px solid var(--line)}
.contact>p{margin-top:20px}
.email-address{display:inline-block;font-size:1.375rem;font-weight:600;margin-top:21px;overflow-wrap:anywhere}
.email-address span{padding-left:10px}
footer{background:var(--ink);color:var(--cream);padding-block:28px}
.footer-inner{display:grid;gap:12px;font-size:1rem}
.photo-credit{font-size:.75rem;line-height:1.6}
footer details{max-width:850px}
footer summary{cursor:pointer;min-height:44px;padding-block:7px;text-decoration:underline;text-underline-offset:5px}
footer details p{font-size:1rem;line-height:1.75;margin-top:15px}
.about-hero{border-bottom:1px solid var(--line)}
.teaching-story{background:var(--warm);border-bottom:1px solid var(--line)}
.biography>p{margin-top:21px}
.biography h3{font-size:1.3125rem;line-height:1.4;margin:31px 0 0}
.qualification-list{margin:17px 0 0;padding-left:25px}
.qualification-list li{padding-left:4px;margin-top:11px}
.contact p>.email-address{margin-top:0}
.blog-preview{border-top:1px solid var(--line)}
.blog-preview>p:not(.section-label){max-width:850px;margin-top:21px}
.blog-header{padding-bottom:35px}
.blog-header>p{margin-top:20px}
.blog-article{border-top:1px solid var(--line);padding-block:32px 48px;scroll-margin-top:24px}
.article-meta{font-size:1rem;line-height:1.7;margin-bottom:18px}
.blog-article>p:not(.article-meta){margin-top:22px}
.blog-article h3{font-size:1.3125rem;margin-top:32px}
.reflection-questions{margin:20px 0 0;padding-left:25px}
.reflection-questions li{padding-left:4px;margin-top:18px}
.article-actions{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:14px}
@media(min-width:801px) and (max-width:1100px){.support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-service{grid-column:1/-1}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero-inner{gap:45px}.about-inner{gap:40px}nav{gap:22px}.service-row{padding:27px}}
@media(max-width:800px){.wrap{width:calc(100% - 48px)}.header-inner{flex-wrap:wrap;gap:14px;padding-block:19px}nav{width:100%;justify-content:space-between;gap:15px}.hero-inner{gap:30px;grid-template-columns:1.3fr 1fr;padding-block:35px 40px}.hero-description{font-size:1.25rem}.section{padding-block:45px}.support-grid{grid-template-columns:1fr;gap:25px}.service-row{padding:28px}.about-inner{grid-template-columns:1fr;gap:25px}.about-heading h2 br{display:none}.about-role{max-width:none;margin-top:17px}.testimonial-grid{gap:30px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.hero-inner{grid-template-columns:1fr;gap:28px;padding-block:31px 36px}.hero h1{font-size:2.25rem;letter-spacing:-.5px}.hero-description{font-size:1.25rem;margin-top:20px}.hero-location{font-size:1rem}.section{padding-block:38px}.service-row{padding:25px 23px}.service-row h2,h2{font-size:1.875rem;letter-spacing:-.5px}.section-label{font-size:1rem}.service-link{font-size:1.125rem;gap:15px}.enquiry-explanation p{font-size:1.125rem}.testimonial-grid{grid-template-columns:1fr;gap:32px}.testimonial-card{padding-left:20px}.email-address{font-size:1.25rem}.email-address span{padding-left:4px}.biography h3{font-size:1.25rem}.button{font-size:1.125rem;gap:24px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.wordmark{font-size:1.6rem;gap:9px}.brand-symbol{width:29px;height:31px}nav{font-size:1rem;gap:10px}nav .nav-contact{border:0;padding:12px 0;text-decoration:underline}nav span{display:none}.hero h1{font-size:2.125rem}.service-row{padding:23px 20px}.email-address{font-size:1.125rem}.service-link{gap:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:600px){nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;align-items:center}nav .nav-contact{border:0;padding:12px 0;text-decoration:underline}nav span{display:none}.blog-article h3{font-size:1.25rem}.blog-article{padding-block:26px 35px}.article-actions{gap:2px 24px}}
@media(forced-colors:active){.button,.portrait-photo,.service-row{border:2px solid CanvasText}.hero h1 span{color:CanvasText}}
@media print{.preview-bar,nav,.button,.portrait-photo,.work-photo,.approach-photo{display:none}.wrap{width:100%}.hero-inner,.support-grid,.about-inner,.testimonial-grid{display:block}.hero-inner,.section{padding-block:24px}body,.about,footer{background:white;color:black}.hero h1{font-size:2.25rem}.service-row{break-inside:avoid;background:white;margin-top:20px}.service-link{display:none}.testimonial-card{margin-top:25px;break-inside:avoid}}
@media print{.hero{background:white;color:black}.hero h1 span,.hero-kicker{color:black}}

/* The supplied logo is displayed through a viewport, preserving its original artwork. */
@media(max-width:900px){.approach-grid{grid-template-columns:1fr;gap:30px}.approach-photo{max-width:700px}.approach-photo img{aspect-ratio:3/2;object-position:center}}
@media(max-width:800px){.brand-logo{width:210px}}
@media(max-width:600px){.brand-logo{width:200px}.portrait-photo{max-width:260px;justify-self:center}.hero-inner{gap:24px}.work-photo img{aspect-ratio:4/3}}
@media(forced-colors:active){.portrait-photo{border:2px solid CanvasText}.portrait-photo:before{display:none}}

/* Adapt the approved layout to native WordPress blocks. */
.wp-site-blocks{padding:0}.wp-site-blocks>header,.wp-site-blocks>main,.wp-site-blocks>footer{margin-block:0}
.wp-block-group{box-sizing:border-box}.wp-block-heading{color:inherit}
.wp-block-image{margin:0}.wp-block-image img{max-width:100%;height:auto;vertical-align:middle}
.brand-logo.wp-block-image{flex:none}.brand-logo.wp-block-image img{max-width:none;width:537.0629%;height:auto}
.portrait-crop>.wp-block-image{width:100%;height:100%}.portrait-crop>.wp-block-image img{width:100%;height:100%;object-fit:cover}
.service-body>.service-action{margin-top:auto;padding-top:9px}.service-action{margin-bottom:0}.service-action .service-link{margin-top:0}
.hero-copy>.service-action{margin-top:0}.hero-location{margin-top:20px}
.wp-block-quote.testimonial-card{margin:0;border-left:3px solid var(--purple);padding:0 0 0 25px;font:1.25rem/1.75 var(--sans)}
.wp-block-quote.testimonial-card cite{display:block;margin-top:22px;font-size:1.0625rem;font-style:normal;line-height:1.6}
.wp-block-quote.testimonial-highlight{margin-top:36px}.wp-block-quote.testimonial-card p{margin:0}
.wp-block-navigation .wp-block-navigation__container{gap:30px;list-style:none;padding:0;margin:0}
.wp-block-navigation .wp-block-navigation-item__content{padding-block:12px;min-height:44px}
.wp-block-navigation .nav-contact{border:1px solid var(--ink);padding:0 18px;border-radius:4px}
.wp-block-post-excerpt p,.wp-block-post-content>p{margin-top:21px}
.wp-block-post-excerpt__more-link{display:inline-block;font-weight:650;padding-block:11px;min-height:48px}
.wp-block-post-title a{text-decoration-thickness:1.5px}.single-article .wp-block-post-title{margin-bottom:18px}
.single-article .wp-block-post-date{font-size:1rem;margin-bottom:24px}.single-article>.wp-block-post-content{margin-top:24px}
.wp-block-post-template{list-style:none;padding:0;margin:0}.blog-preview .wp-block-post-title{margin-top:0}
.wp-block-query-pagination{display:flex;gap:24px;flex-wrap:wrap;padding-top:24px}
.wp-block-template-part{margin:0}.footer-inner p{margin:0}
@media(max-width:800px){.wp-block-navigation{width:100%}.wp-block-navigation .wp-block-navigation__container{gap:15px;justify-content:space-between;width:100%}.wp-block-navigation .wp-block-navigation__responsive-container-content{width:100%}}
@media(max-width:600px){nav.wp-block-navigation{display:block}.wp-block-navigation .wp-block-navigation__container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px}.wp-block-navigation .nav-contact{border:0;padding:0}.wp-block-quote.testimonial-card{padding-left:20px}}
