:root{--paper:#fbf6ec;--ink:#302a23;--plum:#552537;--berry:#802f47;--ochre:#eeb95d;--rule:#d8cbb6;--serif:"Baskervville",Georgia,"Times New Roman",serif;--sans:"DM Sans","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure{margin:0}img{display:block;max-width:100%}a:focus-visible,summary:focus-visible{outline:3px solid #167979;outline-offset:5px}::selection{background:#efd09a;color:#422132}.wrap{max-width:1392px;width:88%;margin:auto}.skip{position:absolute;left:10px;top:-100px;z-index:9;background:white;padding:12px}.skip:focus{top:0}header{border-bottom:1px solid var(--rule)}.nav{height:83px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--plum);font:600 34px/.94 var(--serif);letter-spacing:-2.2px;white-space:nowrap}.mark{display:inline-block;width:38px;height:29px;position:relative}.mark b{position:absolute;width:23px;height:25px;border-radius:55% 52% 53% 17%;background:var(--plum);top:2px;transform:rotate(-14deg)}.mark b+b{background:#c35d48;left:15px;top:0;transform:rotate(22deg);border-radius:55% 55% 23% 52%;mix-blend-mode:multiply}.nav nav{display:flex;gap:clamp(18px,2.5vw,42px);align-items:center}.nav nav a,.nav-btn{font-size:14px;font-weight:600}.nav nav a:hover,.foot a:hover{color:var(--berry);text-decoration:underline;text-underline-offset:4px}.nav-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:30px;transition:background .18s,color .18s}.nav-btn{border:1px solid var(--plum);padding:9px 18px;color:var(--plum)}.nav-btn:hover,.dark:hover{background:#733147;color:white}
.hero{display:grid;grid-template-columns:1fr 1.03fr;align-items:center;gap:clamp(25px,4.3vw,81px);padding-top:clamp(38px,4.8vw,70px);padding-bottom:clamp(47px,5.1vw,79px)}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.14em;font-weight:750;text-transform:uppercase;color:var(--berry)}.dot{height:8px;width:8px;border-radius:50%;background:#b25542;flex:0 0 auto}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--plum)}h1{line-height:.98;font-size:clamp(58px,5.55vw,88px);letter-spacing:-.067em;margin:23px 0 21px}h1 em,h2 em{font-weight:400;color:var(--berry)}.lede{max-width:480px;font-size:clamp(16px,1.4vw,20px);line-height:1.52}.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:28px}.btn{padding:13px 20px;font-weight:650;font-size:14px}.dark{background:var(--plum);color:#fff8eb}.textlink{display:inline-block;color:var(--plum);font-size:15px;font-weight:650;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#aa8b81}.textlink:hover{text-decoration-color:currentColor}.herovis{position:relative;min-width:0;margin:0 0 10px}.photo{width:100%;height:clamp(330px,30.4vw,463px);overflow:hidden;border-radius:42% 44% 16px 16px / 35% 40% 16px 16px;background:#d7b487}.photo img{width:100%;height:100%;object-fit:cover;object-position:55% 54%}.quick{background:#f1dfa9;border-block:1px solid #ddc791}.quickrow{display:flex;align-items:center;gap:12px 14px;flex-wrap:wrap;padding-block:14px}.quickrow b{font-size:12px;margin-right:2px;color:#5a4627}.quick a{font-size:13px;font-weight:600;background:#faf0ce;color:#46351d;border:1px solid #cab478;border-radius:22px;line-height:1.3;padding:6px 13px}.quick a:hover{background:#fffaf0;border-color:#71603b}
.pad{padding-block:clamp(54px,6vw,92px)}h2{font-size:clamp(40px,4.3vw,67px);line-height:1.02;letter-spacing:-.06em}h3{font-size:30px;line-height:1.15;letter-spacing:-.04em}.sectiontop h2,.course h2,.first h2{margin:13px 0}.sectiontop p,.course p,.first p,.colleague p{line-height:1.6}.sectiontop{margin-bottom:32px}.topics{display:grid;grid-template-columns:1fr 1fr;gap:0 38px;align-items:start}.topic{border-top:1px solid #c6b7a2;scroll-margin-top:20px}.topic:nth-last-child(-n+2){border-bottom:1px solid #c6b7a2}.topic summary{cursor:pointer;position:relative;padding:19px 42px 21px 0;list-style:none}.topic summary::-webkit-details-marker,details summary::-webkit-details-marker{display:none}.topic-label{display:block;color:var(--berry);font-size:12px;font-weight:700;margin-bottom:5px}.topic-title{display:block;font:400 clamp(21px,1.8vw,28px)/1.18 var(--serif);letter-spacing:-.04em}.plus{position:absolute;right:0;top:50%;width:28px;height:28px;transform:translateY(-50%);border-radius:50%;border:1px solid #cbb59d}.plus:before,.plus:after{content:"";position:absolute;background:var(--plum);width:10px;height:1px;left:8px;top:13px}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.topic[open] .topic-title,summary:hover{color:var(--berry)}.answer{max-width:560px;padding:0 30px 21px 0;font-size:15px}
.feature{background:#ead3c4}figcaption{font-size:12px;margin-top:9px}figcaption span{margin-inline:5px}.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.5vw,36px)}.colleague img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:4px}.colleague h3{margin:16px 0 0}.colleague .role{font-size:12px;font-weight:700;color:var(--berry);margin:3px 0 8px}.colleague p:last-child{max-width:36ch;font-size:15px}.course{background:var(--plum);color:#f9eddf}.course h2,.course h3,.course .eyebrow{color:#fff1cf}.course h2 em{color:#f0c687}.course .dot{background:#f2bf72}.coursegrid,.first{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(28px,7vw,100px);align-items:center}.coursegrid{padding-block:52px}.course h3{font-size:29px;margin-bottom:10px}.courseinfo{margin-top:18px;border-top:1px solid #987482}.courseinfo summary,.practical summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:13px 0;gap:15px;font-weight:650;list-style:none}.courseinfo summary:hover{color:#f0c687}.courseinfo p{padding-bottom:10px}.practical details{border-top:1px solid var(--rule)}.practical details:last-child{border-bottom:1px solid var(--rule)}.practical p{padding:0 16px 15px 0;font-size:15px}.first>div>p{max-width:41ch}.practical [open] summary span,.courseinfo[open] summary span{transform:rotate(45deg)}footer{border-top:1px solid var(--rule)}.foot{padding-block:28px;display:flex;gap:20px;justify-content:space-between;align-items:center}.foot .brand{font-size:25px}.foot p,.foot>a:last-child{font-size:12px}.foot>a:last-child{white-space:nowrap}
@media(min-width:701px) and (max-width:1000px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:940px){.wrap{width:91%}.nav nav{gap:15px}.nav nav a,.nav-btn{font-size:13px}.hero{gap:22px}.hero-actions{gap:16px}.btn{padding:12px 16px}.photo{height:325px}.hero h1{font-size:clamp(50px,6.5vw,65px)}.topics{gap:0 25px}}
@media(max-width:700px){.wrap{width:89%}.nav{height:67px;gap:8px}.nav nav{display:none}.brand{font-size:29px;gap:8px}.mark{transform:scale(.88);transform-origin:left center;width:32px}.nav-btn{padding:8px 13px;gap:7px}.hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:44px;gap:27px}.hero h1{font-size:clamp(49px,10.7vw,67px);margin:16px 0 13px}.lede{font-size:16px;max-width:44ch}.hero-actions{margin-top:18px}.herovis{margin:0}.photo{height:clamp(215px,55vw,310px);border-radius:26% 29% 9px 9px / 34% 38% 9px 9px}.quickrow{gap:7px;padding-block:11px}.quickrow b{display:none}.quick a{font-size:12px;padding:5px 10px}.sectiontop{margin-bottom:22px}.topics,.featuregrid,.coursegrid,.first{grid-template-columns:1fr}.topics{gap:0}.topic:nth-last-child(2){border-bottom:0}.topic summary{padding:16px 37px 18px 0}.topic-title{font-size:23px}.pad{padding-block:45px}.team{grid-template-columns:1fr;gap:24px}.colleague{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:16px;padding-top:18px;border-top:1px solid var(--rule)}.colleague img{grid-row:1/3;width:92px;height:115px}.colleague h3{align-self:end;margin:0;font-size:26px}.colleague .role{align-self:start;margin:4px 0 0}.colleague p:last-child{grid-column:1/-1;max-width:100%;margin-top:11px;font-size:15px}.coursegrid{padding-block:35px;gap:8px}.course h2 br,.first h2 br{display:none}.course h2 br:after{content:" "}.first{gap:25px}.foot{flex-wrap:wrap;gap:14px}.foot p{order:3;width:100%}}
@media(max-width:365px){.wrap{width:92%}.hero h1{font-size:46px}.hero-actions{gap:10px}.hero-actions .textlink{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.wordmark { display: grid; gap: 3px; font-weight: 500; letter-spacing: -.045em; }
.wordmark small { font: 650 10px/1 var(--sans); text-transform: uppercase; letter-spacing: .16em; }
.nav { position: relative; }
.mobile-menu { display: none; }
.about-intro { padding-block: clamp(44px,5vw,76px) 32px; }
.about-intro h2 { margin: 13px 0; }
.about-intro p { max-width: 68ch; }
.service-section { background: #f4e9d5; }
.service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(24px,3.8vw,60px); }
.service-grid article { border-top: 1px solid #bdab8c; padding-top: 18px; }
.service-grid h3 { margin-bottom: 10px; }
.service-section .textlink { margin-top: 25px; }
.prices { border-bottom: 1px solid var(--rule); }
.price-layout { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: clamp(30px,7vw,96px); }
.price-layout .sectiontop { margin: 0; }
.price-layout .sectiontop p { max-width: 42ch; }
.price-row { border-top: 1px solid var(--rule); display: flex; justify-content: space-between; gap: 14px; padding: 18px 0; }
.price-row:last-child { border-bottom: 1px solid var(--rule); }
.price-row h3 { font-size: clamp(22px,2vw,30px); margin-bottom: 4px; }
.price-row p { font-size: 14px; }
.price-row strong { white-space: nowrap; color: var(--plum); font-variant-numeric: tabular-nums; }
.foot nav { display: flex; gap: 17px; flex-wrap: wrap; font-size: 13px; }
@media (max-width: 960px) {
  .nav > nav, .nav > .nav-btn { display: none; }
  .mobile-menu { display: block; }
  .mobile-menu summary { list-style: none; cursor: pointer; color: var(--plum); border: 1px solid var(--plum); border-radius: 30px; padding: 6px 14px; font-size: 14px; font-weight: 650; }
  .mobile-menu summary span { margin-left: 5px; }
  .nav .mobile-menu nav { position: absolute; right: 0; top: calc(100% - 5px); z-index: 5; display: grid; gap: 0; min-width: 218px; padding: 6px 15px; border: 1px solid var(--rule); border-radius: 9px; background: var(--paper); box-shadow: 0 7px 22px #452a211a; }
  .mobile-menu nav a { padding: 10px 2px; }
  .mobile-menu nav a + a { border-top: 1px solid var(--rule); }
}
@media (max-width: 700px) {
  .about-intro { padding-bottom: 24px; }
  .service-grid, .price-layout { grid-template-columns: 1fr; gap: 25px; }
  .service-grid { gap: 20px; }
  .service-grid article { padding-top: 12px; }
  .foot nav { gap: 12px; }
}
.collaboration { border-top: 1px solid #c6a593; display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(20px,7vw,105px); padding-block: 29px 44px; align-items: start; }
.collaboration p, .parent-grid p { max-width: 65ch; }
.parent-support { border-top: 1px solid var(--rule); }
.parent-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(24px,7vw,105px); padding-block: clamp(45px,5vw,75px); }
.parent-grid h2 { margin-top: 14px; }
.parent-grid p + p, .parent-grid .textlink { margin-top: 14px; }
@media(max-width:700px){
  .collaboration, .parent-grid { grid-template-columns: 1fr; gap: 15px; }
}
.welcome { padding-block: clamp(27px, 3.5vw, 54px); }
.welcome > h1 { margin: 0 0 20px; font-family: var(--sans); line-height: 1.5; }
.welcome-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 46px); }
.welcome-options article { display: flex; flex-direction: column; align-items: flex-start; }
.welcome-options img { width: 100%; height: clamp(175px, 19vw, 290px); object-fit: cover; object-position: center 45%; border-radius: 40px 6px 6px 6px; }
.welcome-options article + article img { border-radius: 6px 40px 6px 6px; }
.welcome-options h2 { font-size: clamp(35px, 3.6vw, 58px); margin: 18px 0 10px; text-wrap: balance; }
.welcome-options p { max-width: 52ch; margin: 0 0 12px; }
.welcome-options .textlink { margin-top: auto; padding-block: 6px; }
.welcome .meet-team { margin-top: 18px; }
@media (max-width: 700px) {
  .welcome-options { grid-template-columns: 1fr; gap: 20px; }
  .welcome-options article { display: grid; grid-template-columns: minmax(0,1fr) 26%; column-gap: 14px; align-items: start; }
  .welcome-options article + article { padding-top: 16px; border-top: 1px solid var(--rule); }
  .welcome-options img, .welcome-options article + article img { grid-column: 2; grid-row: 1 / 3; height: auto; aspect-ratio: 1; border-radius: 18px 4px 4px 4px; }
  .welcome-options h2 { grid-column: 1; grid-row: 1; margin: 0 0 7px; font-size: clamp(29px, 7.4vw, 41px); }
  .welcome-options p { grid-column: 1; font-size: 15px; line-height: 1.45; margin: 0; }
  .welcome-options .textlink { grid-column: 1 / -1; justify-self: start; margin: 3px 0 0; padding-block: 9px; }
  .welcome .meet-team { margin-top: 10px; }
}
.premises { padding-block: clamp(36px, 5vw, 72px); border-top: 1px solid var(--rule); }
.premises-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.premises-images img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 4px;
}
@media (max-width: 700px) {
  .premises-images { grid-template-columns: 1fr; gap: 12px; }
}
.stories { background: #eeeadb; }
.story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3.5vw, 54px); }
.story-grid figure { display: flex; flex-direction: column; border-top: 1px solid #bcb09a; padding-top: 18px; }
.story-grid blockquote { margin: 0 0 16px; font: 400 clamp(19px, 1.55vw, 24px)/1.45 var(--serif); }
.story-grid blockquote strong { color: var(--plum); }
.story-grid blockquote p + p { margin-top: 8px; }
.story-grid figcaption { margin-top: auto; color: var(--berry); font: 600 13px/1.45 var(--sans); }
@media (max-width: 760px) {
  .story-grid { grid-template-columns: 1fr; }
  .story-grid blockquote { margin-bottom: 10px; }
}

@media (max-width: 700px) {
  .topic-group { border-top: 1px solid #c6b7a2; }
  .topic-group:last-child { border-bottom: 1px solid #c6b7a2; }
  .topic-group > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 54px;
    padding: 12px 5px 12px 0;
    list-style: none;
    cursor: pointer;
    color: var(--plum);
    font: 500 20px/1.24 var(--serif);
    letter-spacing: -.025em;
  }
  .topic-group > summary::after {
    content: '';
    flex: 0 0 8px;
    height: 8px;
    border: solid var(--berry);
    border-width: 0 1.5px 1.5px 0;
    transform: translateY(-2px) rotate(45deg);
  }
  .topic-group[open] > summary::after { transform: translateY(2px) rotate(225deg); }
  .topic-group .topic {
    margin-left: 12px;
    border: 0;
    border-top: 1px solid var(--rule);
  }
  .topic-group .topic summary { padding: 12px 36px 12px 0; }
  .topic-group .topic-title { font-size: 20px; line-height: 1.25; }
  .topic-group .topic:not([open]) .plus::after { transform: rotate(90deg); }
  .topic-group .answer { padding: 0 8px 16px 0; }
  .topics > .topic:not([open]) .topic-title { display: none; }
  .topics > .topic .topic-label { font-size: 16px; margin: 0; }
}
