:root{--sage:#f0e2d4;--coral:#dba787;--lime:#e2dbea;--navy:#203e68;--yellow:#f2d487;--cream:#faf7f0;--ink:#172e4f;--berry:#a05278}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);font-size:18px;line-height:1.65}a{color:inherit}.wrap{width:min(1120px,90%);margin:auto}.reading{width:min(850px,86%)}.site-header{position:sticky;top:0;z-index:10;background:rgba(185,210,206,.97);border-bottom:1px solid rgba(41,63,96,.08)}.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 0}.brand{font-size:1.55rem;font-weight:700;text-decoration:none;color:var(--navy)}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}nav a{text-decoration:none;font-size:.94rem}.button{display:inline-block;background:var(--yellow);color:#17243a;padding:11px 19px;border-radius:999px;text-decoration:none;font-weight:700;border:0}.button.secondary{background:var(--navy);color:white}.hero{background:var(--sage);padding:0;min-height:calc(100vh - 70px);display:flex;flex-direction:column;justify-content:space-between}.hero-simple{text-align:center;padding:14vh 0 3vh}.hero h1{font-size:clamp(3.6rem,8vw,7rem);line-height:1;margin:0;color:var(--navy);font-weight:700}.strapline{font-size:clamp(1.2rem,2.2vw,1.7rem);margin:28px auto 0;max-width:720px;color:var(--ink)}.hero-art{width:100%;display:block;max-height:44vh;object-fit:cover;object-position:center bottom}section{padding:95px 0}h2{font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.18;margin:0 0 30px}.intro-large{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.5}.lime-section{background:var(--lime)}.navy{background:var(--navy);color:var(--sage)}.navy h2{color:white}.coral{background:var(--coral);color:var(--ink)}.sage{background:var(--sage)}.qualification-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 55px;font-size:1.2rem}.qualification-list span{padding:11px 0;border-bottom:1px solid rgba(38,56,77,.28)}.quiet{margin-top:45px;font-size:.95rem}.fee-lines{margin-top:38px}.testimonials-section{background:var(--lime);overflow:hidden;padding-bottom:105px}.testimonials-section h2{margin-bottom:5px}.scroll-hint{margin-top:0;font-size:.9rem}.testimonial-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:24px max(5vw,calc((100vw - 1120px)/2)) 25px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.testimonial{flex:0 0 min(460px,82vw);background:var(--sage);padding:34px;border-radius:4px;scroll-snap-align:start}.testimonial blockquote{margin:0;font-size:1.1rem;line-height:1.6;font-weight:600}.testimonial p{font-size:.88rem;margin:24px 0 0}.contact-section{background:var(--coral);color:var(--ink)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-box{background:var(--cream);color:var(--ink);padding:34px}.contact-box label{display:block;font-weight:700;margin:12px 0 5px}.contact-box input,.contact-box textarea{width:100%;padding:13px;border:1px solid #adb6bd;background:white;font:inherit}.contact-box textarea{min-height:140px}.footer{padding:30px 0;background:#17243a;color:white}.page-hero{padding:80px 0;background:var(--sage)}.content{max-width:820px}.content h2{margin-top:55px}.policy-link{display:block;background:white;padding:18px 20px;margin:12px 0;text-decoration:none;font-weight:700}.notice{background:#fff4cf;padding:18px}@media(max-width:850px){.contact-grid{grid-template-columns:1fr}.qualification-list{grid-template-columns:1fr}.nav{align-items:flex-start}.site-header{position:static}nav{gap:12px}.hero{min-height:85vh}.hero-simple{padding-top:12vh}}@media(max-width:560px){nav a:not(.button){display:none}section{padding:68px 0}.hero h1{font-size:3.5rem}.strapline{font-size:1.2rem}.testimonial{flex-basis:86vw}}

/* Latin page */
.latin-hero{background:var(--navy);color:var(--yellow);text-align:center;padding:76px 0 69px}.latin-hero h1{font-size:clamp(3.4rem,8vw,6.5rem);margin:0;line-height:1.05}.latin-hero p{font-size:clamp(1.25rem,2.5vw,1.9rem);line-height:1.4;margin:23px 0 0}.latin-hero span{font-size:.75em;color:white}.latin-image{margin:0;background:#3a302c}.latin-image img{width:100%;display:block;max-height:610px;object-fit:cover;object-position:center}.latin-intro{background:var(--sage)}.latin-colour{background:var(--lime)}.latin-coral{background:var(--coral);color:var(--ink)}.latin-plain{background:var(--cream)}.latin-plain h2:first-child,.latin-colour h2:first-child{margin-top:0}.latin-plain h2,.latin-colour h2{margin-top:55px}.latin-plain p,.latin-colour p,.latin-intro p{font-size:1.05rem}.latin-plain p:last-child,.latin-colour p:last-child,.latin-intro p:last-child{margin-bottom:0}@media(max-width:600px){.latin-image img{min-height:230px;object-fit:cover}.latin-hero{padding:60px 0}}

@media(max-width:560px){body{font-size:17px}.nav .brand{font-size:1.35rem}.latin-plain p,.latin-colour p,.latin-intro p{font-size:1rem}}

/* Classic type paired with clean modern body text */
h1,h2,.brand{font-family:Georgia,'Times New Roman',serif}h2{font-weight:600;letter-spacing:-.015em}

/* Palette inspired by the supplied colour reference */
.site-header{background:rgba(240,226,212,.97)}.button{background:var(--yellow);color:var(--ink)}.button.secondary{background:var(--berry);color:white}.strapline{color:var(--ink)}.testimonial{background:#dbe2d1}.contact-box{background:var(--cream)}

.about-photo{float:right;width:40%;margin:8px 0 24px 34px}.about-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:4px}.about-photo figcaption{font-size:.78rem;line-height:1.35;margin-top:7px;color:var(--ink)}#about .reading::after{content:"";display:block;clear:both}@media(max-width:650px){.about-photo{float:none;width:100%;max-width:480px;margin:24px 0}}

/* Keep the opening sentence together on wide screens */
.hero .strapline{max-width:none;font-size:clamp(1.15rem,1.7vw,1.45rem)}@media(min-width:900px){.hero .strapline{white-space:nowrap}}

/* Colour rhythm: lilac once, then navy, clay, cream, gold and berry. */
.lime-section{background:var(--lime)}.testimonials-section{background:var(--yellow)}.contact-section{background:var(--berry);color:white}.contact-section h2{color:white}.coral{background:var(--coral);color:var(--ink)}.sage{background:var(--cream)}.latin-colour{background:var(--yellow)}.latin-coral{background:var(--coral)}.latin-intro{background:var(--sage)}
/* Slanted accent bands between full-width sections. */
main>section{position:relative}main>section:not(.hero):not(.latin-hero)::before{content:"";position:absolute;left:0;right:0;top:-23px;height:46px;background:var(--divider,var(--yellow));clip-path:polygon(0 0,100% 48%,100% 100%,0 52%);pointer-events:none;z-index:1}main>section:not(.hero):not(.latin-hero)>*{position:relative;z-index:2}main>section:nth-of-type(2){--divider:var(--coral)}main>section:nth-of-type(3){--divider:var(--yellow)}main>section:nth-of-type(4){--divider:var(--berry)}main>section:nth-of-type(5){--divider:var(--coral)}main>section:nth-of-type(6){--divider:var(--navy)}main>section:nth-of-type(7){--divider:var(--yellow)}main>section:nth-of-type(8){--divider:var(--coral)}.latin-image{position:relative;z-index:0}.latin-image+section{--divider:var(--coral)}.latin-plain{--divider:var(--berry)}.latin-colour{--divider:var(--navy)}.latin-coral{--divider:var(--yellow)}
@media(max-width:600px){main>section:not(.hero):not(.latin-hero)::before{top:-16px;height:32px}}

/* Strong alternating section dividers and berry calls to action. */
main>section:not(.hero):not(.latin-hero)::before{top:-29px;height:58px;clip-path:polygon(0 0,100% 48%,100% 100%,0 52%)}
main>section:nth-of-type(3)::before,main>section:nth-of-type(5)::before,main>section:nth-of-type(7)::before{clip-path:polygon(0 48%,100% 0,100% 52%,0 100%)}
main>section:nth-of-type(2){--divider:var(--berry)}main>section:nth-of-type(3){--divider:var(--yellow)}main>section:nth-of-type(4){--divider:var(--navy)}main>section:nth-of-type(5){--divider:var(--berry)}main>section:nth-of-type(6){--divider:var(--navy)}main>section:nth-of-type(7){--divider:var(--yellow)}
.button,.button.secondary{background:var(--berry);color:white}.contact-section .button,.contact-section .button.secondary{background:var(--yellow);color:var(--ink)}
@media(max-width:600px){main>section:not(.hero):not(.latin-hero)::before{top:-19px;height:38px}}

/* A single tapered accent wedge at every section boundary, matching the reference. */
main>section:not(.hero):not(.latin-hero)::before{top:0;height:42px;clip-path:polygon(0 0,100% 0,100% 100%,0 0);background:var(--divider,var(--navy))}
main>section:not(.hero):not(.latin-hero):nth-of-type(3)::before,main>section:not(.hero):not(.latin-hero):nth-of-type(5)::before,main>section:not(.hero):not(.latin-hero):nth-of-type(7)::before{clip-path:polygon(0 0,100% 0,0 100%)}
@media(max-width:600px){main>section:not(.hero):not(.latin-hero)::before{top:0;height:26px}}

/* Image visibility and testimonial navigation */
.hero-art{width:min(94%,1600px);height:auto;max-height:none;object-fit:contain;object-position:center;margin:0 auto}.about-photo{width:34%}.about-photo img{height:auto;aspect-ratio:auto;object-fit:contain}.testimonial-controls{display:flex;justify-content:center;gap:18px;margin-top:20px}.testimonial-arrow{width:52px;height:52px;border:2px solid var(--berry);border-radius:50%;background:var(--berry);color:white;font:700 1.6rem/1 Arial,Helvetica,sans-serif;cursor:pointer}.testimonial-arrow:hover,.testimonial-arrow:focus-visible{background:var(--navy);border-color:var(--navy);outline-offset:3px}@media(max-width:650px){.about-photo{width:100%;max-width:420px}}

.organisation-logos{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}.organisation-logos a{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0;border-radius:0;max-width:100%}.organisation-logos img{display:block;width:150px;max-width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}.organisation-logos a:focus-visible{outline:3px solid var(--navy,#25384c);outline-offset:5px}@media(max-width:520px){.organisation-logos{gap:1rem}.organisation-logos img{width:125px}}

/* Compact phone header and opening section. */
@media(max-width:600px){
 .nav{display:block;padding:14px 0 12px}
 .nav .brand{display:block;font-size:1.4rem;line-height:1.2;white-space:nowrap;margin-bottom:10px}
 .nav nav{display:flex;align-items:center;gap:4px 15px;flex-wrap:wrap}
 .nav nav a:not(.button){display:inline-block;font-size:.875rem;padding:5px 0}
 .nav nav .button{font-size:.875rem;padding:6px 13px;white-space:nowrap}
 .hero{min-height:0;justify-content:flex-start;padding:0 0 18px}
 .hero-simple{padding:32px 0 24px}
 .hero h1{font-size:clamp(2.5rem,10vw,3rem);line-height:1.08}
 .hero .strapline{font-size:1.05rem;line-height:1.5;margin-top:18px;white-space:normal;max-width:330px}
 .hero-art{width:100%;height:auto;max-height:none;object-fit:contain;margin:0 auto}
}

/* One navigation row, with the contact button beneath it. */
@media(max-width:600px){
 .nav nav{display:grid;grid-template-columns:repeat(6,auto);justify-content:space-between;gap:9px 5px}
 .nav nav a:not(.button){font-size:clamp(.75rem,3.2vw,.875rem);white-space:nowrap}
 .nav nav .button{grid-column:1 / -1;justify-self:center;padding:7px 18px}
 .hero{min-height:calc(100svh - 130px);justify-content:space-between;padding-bottom:0;overflow:hidden}
 .hero-simple{padding:38px 0 26px}
 .hero h1{font-size:clamp(2.5rem,10vw,3rem)}
 .hero-art{width:100%;height:clamp(190px,34svh,320px);object-fit:cover;object-position:80% bottom;margin:0;flex-shrink:0}
}
