@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');
:root{--ink:#203958;--paper:#f7f9fa;--muted:#566978;--line:#cbd6dc;--accent:#317da4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{font:inherit}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 5%;gap:24px}.brand{display:flex;align-items:center;gap:15px;font-size:20px;font-weight:500}.brand small{display:block;font-size:10px;letter-spacing:1.3px;font-weight:400}.monogram{font-family:Georgia,serif;font-style:italic;font-size:30px;letter-spacing:-8px;border:1px solid var(--ink);border-radius:50%;width:54px;height:54px;padding-right:8px;text-align:center;line-height:50px}nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav-contact{border-bottom:1px solid var(--ink);padding:8px 0}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:6%;padding:28px 5% 65px}.hero-text{padding:40px 0 20px}.eyebrow,.label,.section-no{font-size:11px;text-transform:uppercase;letter-spacing:1.7px;font-weight:500}.eyebrow{margin:0 0 25px}.hero h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-1.8px}h1{font-size:clamp(72px,7.7vw,122px);margin:25px 0 30px}h2{font-size:clamp(42px,4.5vw,66px);margin:12px 0 28px}em{font-weight:400;color:var(--accent)}p{margin:0 0 20px}.hero-text>p:not(.eyebrow){max-width:480px}.intro{font-size:21px;line-height:1.55}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;gap:25px;align-items:center;background:var(--ink);color:white;padding:15px 22px;font-size:13px;border:1px solid var(--ink)}.button:hover{background:#3f5b62}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding:8px 0;font-size:13px}.text-link span{margin-left:18px}.landscape{position:relative;overflow:hidden;border-radius:180px 0 0 0;min-height:570px}.landscape svg{display:block;width:100%;height:100%;position:absolute;object-fit:cover}.image-note{position:absolute;bottom:70px;left:35px;color:#f7f4ed;font-family:Georgia,serif;font-size:25px;line-height:1.4}.image-number{position:absolute;bottom:25px;left:35px;font-size:9px;letter-spacing:2px;color:#d4ded9}.wrap{max-width:1250px;margin:auto;padding:80px 5%}.opening{border-top:1px solid var(--line);text-align:center}.opening h2{max-width:900px;margin:0 auto 28px}.wide-copy{max-width:720px;margin:0 auto;font-size:18px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px}.section-top p{margin:0}.section-no{white-space:nowrap;color:var(--muted)}.work{padding-top:35px}.service{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:65px 0;border-bottom:1px solid var(--line);scroll-margin-top:35px}.label{color:var(--accent);display:block;max-width:320px;margin-bottom:22px}.service h2{font-size:52px}.service-detail p{font-size:15px}.topics{padding:0;list-style:none;margin:25px 0}.topics li{border-top:1px solid var(--line);padding:9px 0;font-size:13px}.topics li:before{content:'↗';margin-right:12px;color:var(--accent)}.practical{color:var(--muted);font-size:13px!important}.approach{background:#e2ece8}.approach-inner{display:grid;grid-template-columns:1fr 1fr;gap:9%}.approach h2{font-size:54px}.approach ol{list-style:none;margin:0;padding:0}.approach li{display:flex;gap:23px;padding:16px 0;border-bottom:1px solid #bcc8bf}.approach li>span{font-size:11px;padding-top:3px}.approach h3{font-size:17px;font-weight:500;margin:0 0 8px}.approach li p{font-size:14px;margin:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:110px;padding-bottom:110px}.values{margin-top:40px;font-size:12px;letter-spacing:1px}.credentials{border-left:2px solid var(--accent);padding-left:22px;margin-top:35px}.credentials h3{font-size:12px;text-transform:uppercase;letter-spacing:1.4px}.credentials p{font-size:13px;margin-bottom:12px}.questions{padding-top:0}.questions h2{font-size:42px;margin:0}.questions details{border-bottom:1px solid var(--line);padding:20px 0}.questions summary{cursor:pointer;font-size:16px;list-style:none;position:relative;padding-right:30px}.questions summary:after{content:'+';position:absolute;right:0;font-size:22px}.questions details[open] summary:after{content:'−'}.questions details p{max-width:780px;margin:20px 0 0;color:var(--muted);font-size:14px}.contact{background:var(--ink);color:var(--paper)}.contact .wrap{padding-top:85px;padding-bottom:75px}.contact h2{font-size:clamp(64px,7vw,100px)}.contact em{color:#bbd8e8}.light{background:var(--paper);color:var(--ink);border-color:var(--paper);margin:12px 0 25px}.light:hover{background:#e3e6d9}.contact-address{font-size:13px}.contact-note{max-width:570px;font-size:12px;color:#c8d4d3}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 5%;font-size:11px;color:var(--muted)}footer button{border:0;border-bottom:1px solid currentColor;padding:0;background:transparent;color:inherit;cursor:pointer;font-size:11px}dialog{border:0;max-width:650px;padding:45px;background:var(--paper);color:var(--ink);max-height:85vh}dialog h2{font-size:42px}dialog p{font-size:14px}dialog::backdrop{background:#182b32b8}.close{position:absolute;right:18px;top:10px;background:transparent;border:0;font-size:28px;color:var(--ink);cursor:pointer}.skip{position:absolute;left:10px;top:-80px;padding:10px;background:white;z-index:20}.skip:focus{top:10px}
@media(max-width:800px){header{padding:20px 6%}.brand{font-size:17px}.brand small{font-size:8px;letter-spacing:.6px}nav{gap:15px}nav>a:not(.nav-contact){display:none}.hero{grid-template-columns:1fr;padding:0 6% 45px}.hero-text{padding-top:24px}.hero h1{font-size:88px}.hero .eyebrow{max-width:260px}.landscape{min-height:400px;margin-top:28px;border-radius:140px 0 0 0}.landscape svg{width:100%;height:auto;top:-100px}.wrap{padding:55px 6%}.section-top{align-items:flex-start}.section-no{display:none}.service,.about,.approach-inner{grid-template-columns:1fr;gap:22px}.service{padding:40px 0}.service h2,.approach h2{font-size:48px}.about{padding-top:65px}.about h2{font-size:64px}.values{margin-top:20px}.opening h2{font-size:48px}.opening .wide-copy{font-size:16px}.questions h2{font-size:38px}.contact .wrap{padding:60px 6%}footer{flex-direction:column;gap:10px;align-items:flex-start}dialog{width:92%;padding:35px 24px}.image-note{font-size:24px;bottom:55px}.intro{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand-logo{width:80px;height:77px;object-fit:contain;mix-blend-mode:multiply}.landscape{background:#dbe8ee}.button:hover{background:#317091}.contact-note{color:#d0dfe8}@media(max-width:800px){.brand-logo{width:62px;height:60px}.brand{gap:10px}}

.personal-note{align-self:center;background:#e7efed;padding:48px 44px 38px;border-radius:3px 45px 3px 3px;transform:rotate(1deg);font-size:17px;line-height:1.85;margin:35px 0 30px}.personal-note img{display:block;width:115px;height:auto;mix-blend-mode:multiply;margin-bottom:30px}.note-greeting{font-family:Georgia,serif;font-size:30px;line-height:1.3}.note-values{display:block;font-size:11px;letter-spacing:1px;border-top:1px solid #becfca;padding-top:22px;margin-top:30px}.hero h1{font-size:clamp(70px,7.6vw,115px)}.approach li>span,.section-no{display:none}.approach li{gap:0}.section-top{padding-bottom:15px}.hero-text{padding-top:50px}@media(max-width:800px){.personal-note{margin:15px 0;padding:30px 27px;transform:none;font-size:16px}.personal-note img{width:90px}.hero h1{font-size:78px}}

/* A quieter page, led by Betsie's established identity. */
.hero{display:block;max-width:1100px;padding:40px 6% 65px}.hero-text{padding:30px 0 0}.hero h1{font-size:clamp(34px,4.5vw,57px);line-height:1.2;letter-spacing:-.8px;max-width:920px;margin:20px 0 30px}.hero-text>p:not(.eyebrow){max-width:690px}.hero .intro{font-size:18px;line-height:1.8}.hero .eyebrow{font-size:13px;letter-spacing:1px}.actions{margin-top:23px;gap:32px}.button{background:transparent;color:var(--ink);padding:8px 0;border:0;border-bottom:1px solid var(--ink)}.button:hover{background:transparent;color:var(--accent)}.opening{border-top:1px solid var(--line);text-align:left;padding-top:48px;padding-bottom:48px}.opening h2{font-size:30px;margin:0 0 18px;max-width:none}.opening .wide-copy{margin:0;max-width:850px;font-size:16px}.wrap{max-width:1100px}.service h2{font-size:32px;line-height:1.2;letter-spacing:-.3px}.service{grid-template-columns: .8fr 1.3fr;gap:9%;padding:45px 0}.label{font-size:11px;margin-bottom:12px}.topics li:before{content:none}.topics li{border:0;padding:3px 0}.section-top{border:0}.about{padding-top:65px;padding-bottom:60px}.about h2{font-size:38px;line-height:1.2}.about .intro{font-size:17px}.contact{background:#e6eeeb;color:var(--ink)}.contact h2{font-size:38px;letter-spacing:-.5px}.contact .eyebrow{display:none}.contact .wrap{padding:45px 6%}.contact-note{color:var(--muted)}.light{color:var(--ink);background:transparent}.questions h2{font-size:30px}.eyebrow{letter-spacing:1px}.brand small{font-size:10px}@media(max-width:800px){.hero{padding:10px 6% 42px}.hero h1{font-size:37px;line-height:1.2}.hero h1 br{display:none}.hero .intro{font-size:16px}.hero-text{padding:25px 0 0}.service{grid-template-columns:1fr;gap:12px}.opening h2,.service h2{font-size:29px}.about h2{font-size:34px}.brand small{font-size:8px}.wrap{padding-left:6%;padding-right:6%}.opening{padding-top:35px;padding-bottom:20px}}

/* Ocean, handwriting and an open sans-serif layout. */
h1,h2,.hero h1,.note-greeting{font-family:'DM Sans',Arial,sans-serif;font-weight:400;font-style:normal;letter-spacing:-1px}h2 em{font-style:normal}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:7%;max-width:1350px;padding:38px 5% 70px;align-items:center}.hero h1{font-size:clamp(35px,4.1vw,58px);line-height:1.16;margin:22px 0 30px}.hero-text{padding:20px 0}.hero .eyebrow{font-size:12px;line-height:1.7;letter-spacing:1.2px}.hero .intro{font-size:18px;line-height:1.7}.ocean-panel{position:relative;min-height:560px;height:100%;max-height:680px;border-radius:140px 0 0 0;overflow:hidden;background:#c8dfe7}.ocean-panel video{width:100%;height:100%;position:absolute;object-fit:cover}.ocean-panel button{position:absolute;bottom:20px;left:20px;background:#f7f9faf0;color:#203958;border:0;padding:10px 17px;border-radius:3px;font-size:12px;cursor:pointer}.hero .button{background:#203958;color:white;padding:13px 20px;border:0}.hero .text-link{padding:10px 0}.opening{background:#edf2ee;border:0;border-radius:2px;padding:48px 5%;margin-bottom:30px}.opening h2{font-size:30px}.portrait{width:100%;max-width:390px;height:420px;object-fit:cover;object-position:center;border-radius:3px 55px 3px 3px;margin-bottom:28px}.about{align-items:start}.about h2{font-size:32px}.service h2{font-size:35px;line-height:1.25}.contact{background:#203958;color:#f7f9fa}.contact-note{color:#ccdbe3}.contact .light{background:#f7f9fa;color:#203958;padding:12px 20px}.contact .eyebrow{display:block}.contact h2{font-size:44px}@media(max-width:800px){.hero{grid-template-columns:1fr;padding:15px 6% 35px;gap:28px}.hero h1{font-size:38px;line-height:1.2}.ocean-panel{height:350px;min-height:350px;border-radius:90px 0 0 0}.ocean-panel video{object-position:center 38%}.hero .intro{font-size:16px}.opening{margin:0 6% 20px;padding:28px 6%}.portrait{height:370px;max-width:100%}.about{padding-top:35px}.service h2{font-size:30px}}

.portrait{object-position:center 12%;}

.hero h1{font-size:clamp(52px,6.4vw,90px);line-height:1.06;letter-spacing:-2px}.hero h1 em{font-style:normal;color:var(--accent)}.hero .intro{font-size:21px;line-height:1.5;max-width:520px}.service{border-top:1px solid var(--line);border-bottom:0;padding:55px 0}.service h2{font-size:38px}.opening{background:transparent}.portrait{height:350px;object-position:center 12%}.work{padding-top:20px}.section-top{padding-bottom:22px}@media(max-width:800px){.hero h1{font-size:57px;letter-spacing:-1.5px}.hero .intro{font-size:19px}.service h2{font-size:32px}.portrait{height:340px}}

h1{font-variant-ligatures:none;}

/* Keep the established page comfortable on phones and tablets. */
.hero > *, .service > *, .about > * { min-width: 0; }
.contact-address, dialog p { overflow-wrap: anywhere; }
.ocean-panel button { min-height: 44px; max-width: calc(100% - 32px); }
.questions summary { min-height: 44px; display: flex; align-items: center; }
footer button { min-height: 44px; text-align: left; }
@media (max-width: 800px) {
  header { flex-wrap: wrap; gap: 12px; padding: 18px 6% 12px; }
  .brand { font-size: 18px; }
  .brand small { font-size: 9px; letter-spacing: .7px; }
  nav { width: 100%; justify-content: space-between; gap: 16px; font-size: 14px; }
  nav > a:not(.nav-contact) { display: inline-flex; }
  nav a { min-height: 44px; align-items: center; padding: 8px 0; }
  .hero { gap: 22px; }
  .hero h1 { font-size: clamp(40px, 11vw, 60px); line-height: 1.12; letter-spacing: -1.3px; }
  .hero .eyebrow { max-width: none; font-size: 10px; letter-spacing: 1px; }
  .hero-text { padding: 12px 0 0; }
  .hero .intro { font-size: 19px; line-height: 1.55; }
  .actions { gap: 14px 24px; }
  .actions a, .text-link, .button { min-height: 44px; font-size: 14px; }
  .ocean-panel { min-height: 0; height: clamp(280px, 82vw, 420px); }
  .ocean-panel button { left: 16px; bottom: 16px; font-size: 14px; }
  .wrap { padding-top: 44px; padding-bottom: 44px; }
  .work { padding-top: 12px; }
  .service { padding: 36px 0; gap: 12px; }
  .service-detail p { font-size: 16px; }
  .practical, .credentials p, .questions details p { font-size: 14px !important; }
  .topics li { font-size: 15px; }
  .about { gap: 26px; }
  .portrait { display: block; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
  .questions { padding-top: 0; }
  .contact .wrap { padding-top: 44px; padding-bottom: 44px; }
  .contact h2 { font-size: 38px; }
  .contact-address { font-size: 15px; }
  .contact-note { font-size: 14px; }
  footer { font-size: 12px; padding: 24px 6%; }
  footer button { font-size: 12px; }
}
@media (min-width: 801px) and (max-width: 1050px) {
  .hero { gap: 5%; grid-template-columns: 1.1fr 1fr; }
  .hero h1 { font-size: clamp(48px, 6vw, 68px); }
  .ocean-panel { min-height: 500px; }
}

/* Give the audience labels more presence without changing their character. */
.label { font-size: 14px; }
@media (max-width: 800px) { .label { font-size: 13px; } }

.further-learning { margin-top: 22px; }
.further-learning summary { cursor: pointer; padding: 10px 0; min-height: 44px; font-size: 14px; color: var(--accent); }
.further-learning p { margin-top: 16px; }

.study-category { color: #317da4; }

/* Give the ocean more room while retaining the established opening. */
@media (min-width: 1051px) {
  .hero { grid-template-columns: 1fr 1fr; gap: 5%; max-width: 1440px; }
  .ocean-panel { min-height: 560px; border-radius: 110px 0 0 0; }
}
@media (max-width: 800px) {
  .ocean-panel { margin-left: -2%; margin-right: -2%; height: clamp(280px, 82vw, 420px); border-radius: 75px 0 0 0; }
}

/* Bring the identity and offerings forward in the established blue. */
.hero .eyebrow { font-size: 16px; color: var(--accent); }
.topics li { font-size: 18px; line-height: 1.6; padding: 9px 0; color: var(--accent); }
@media (max-width: 800px) {
  .hero .eyebrow { font-size: 13px; }
  .topics li { font-size: 17px; padding: 9px 0; }
}

/* A quieter balance for the offerings, retaining their blue emphasis. */
.topics li { font-size: 16px; padding: 7px 0; }
@media (max-width: 800px) { .topics li { font-size: 16px; padding: 7px 0; } }

.topics li { font-size: 15px; }
@media (max-width: 800px) { .topics li { font-size: 15px; } }
