/* Usability refinements: clearer choices, compact pages and readable type. */
.section{padding-block:76px}
.section-intro{gap:48px;margin-bottom:34px}
.section-intro>p{font-size:16px}
.text-link,.btn,.main-nav a{font-size:15px}
.btn:active{transform:translateY(0)}
.brand-name small{font-size:11px;letter-spacing:.08em}
.eyebrow{font-size:12px;letter-spacing:.1em}
.hero-personal{padding-block:44px 56px}
.hero-personal .hero-grid{grid-template-columns:1.16fr 1fr;grid-template-rows:auto auto;column-gap:68px;row-gap:22px;align-items:center}
.hero-intro{grid-column:1;grid-row:1;align-self:end}
.hero-personal h1{font-size:clamp(68px,7.1vw,98px);margin:16px 0 18px;line-height:.94}
.hero-tagline{font-family:var(--serif);font-size:29px;line-height:1.2}
.hero-personal .portrait{grid-column:2;grid-row:1/3}
.hero-personal .portrait>img{aspect-ratio:4/4.6;max-height:550px;object-position:50% 32%}
.hero-personal .hero-copy{grid-column:1;grid-row:2;align-self:start;padding:0}
.hero-personal .lead{max-width:475px;font-size:17px;line-height:1.75}
.hero-personal .lead strong{font-weight:500;color:var(--ink)}
.hero-personal .hero-actions{gap:22px;margin-top:26px}
.action-note{color:var(--muted);font-size:14px;line-height:1.8;margin-top:15px}
.action-note a{display:inline-block;min-height:30px}
.service-card{padding:27px 25px}
.service-card h3{font-size:32px;min-height:70px;margin-block:17px}
.service-card .eyebrow{font-size:12px}
.service-description{font-size:15px;margin-bottom:14px;line-height:1.75}
.price{font-size:41px;margin-block:12px 24px}
.price small{font-size:14px;display:block;margin:8px 0 0;line-height:1.5}
.service-card .btn{font-size:14px;padding:14px 12px;min-height:50px}
.service-details{margin-top:20px}
.service-details summary,.workshop-details summary{font-size:15px;cursor:pointer;min-height:44px;padding:10px 0;color:var(--ink);font-weight:600;line-height:1.5}
.service-details p,.workshop-details p{font-size:15px;color:var(--muted);line-height:1.75;margin:8px 0 0}
.service-details[open] summary,.workshop-details[open] summary{color:var(--accent)}
.service-grid{align-items:start}
@media(min-width:651px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.service-card{height:100%}
.workshop-row{margin-top:30px}
.workshop-row p,.workshop-prices{font-size:15px}
.workshop-details{border-top:1px solid var(--line);margin-top:22px;padding-top:10px}
.workshop-details p{max-width:760px}
.inline-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:15px;font-size:15px}
.inline-links a{display:inline-flex;align-items:center;min-height:44px}
.topic{padding-block:24px}
.topic p,.step p,.faq-list details p{font-size:15px;line-height:1.8}
.topic-number{margin-bottom:18px}
.approach-grid{display:grid;grid-template-columns:1fr 1.16fr;gap:80px}
.approach-grid h2{margin-block:18px 28px}
.approach-copy>p{color:var(--muted);margin-bottom:18px}
.approach-copy .lede{font-size:21px;line-height:1.6;color:var(--ink)}
.qualification-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}
.qualification-links a{text-decoration:none;line-height:1.5;padding-block:7px}
.qualification-links a:hover strong{text-decoration:underline;text-underline-offset:4px}
.qualification-links strong{display:block;font-size:15px;font-weight:600}
.qualification-links span{display:block;color:var(--muted);font-size:14px;margin-top:6px}
.approach-copy .membership{font-size:14px;margin-top:20px;margin-bottom:0}
.first-session{background:var(--soft)}
.faq-section{background:var(--paper)}
.faq-list summary{font-size:16px;line-height:1.6}
.contact-section p{font-size:16px}
.contact-example{font-size:16px;line-height:1.75;border-left:2px solid #b6a0a7;padding:0 0 0 18px;margin:22px 0 0;color:#e0e3e7;max-width:480px}
.contact-links{gap:20px;flex-wrap:wrap}
.contact-links a,.contact-email{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
.contact-section a:focus-visible{outline-color:#f4d3de}
.footer-row{font-size:13px}
.footer-social a{display:inline-flex;align-items:center;min-height:44px}
.page-hero{padding-block:40px 36px}
.page-hero h1{font-size:clamp(52px,5vw,72px);margin-top:18px}
.page-hero p{font-size:17px;margin-top:18px;max-width:760px}
.breadcrumb{font-size:13px}
.page-jumps{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
.page-jumps a{font-size:15px;display:inline-flex;align-items:center;min-height:44px}
.bio-text h2{font-size:48px}
.bio-text p{font-size:16px}
.values-line{font-size:14px}
.timeline-row p,.experience-list li{font-size:16px}
.timeline-year,.additional ul{font-size:14px}
.education-note{max-width:760px;color:var(--muted);font-size:15px;margin-bottom:24px}
.cert-card p{font-size:14px}
.cert-meta{font-size:12px;letter-spacing:.04em}
.cert-expand{font-size:12px}
.filter{font-size:14px;min-height:44px}
.filter-count{font-size:14px}
.material-card p{font-size:15px;line-height:1.7}
.material-category{font-size:12px;letter-spacing:.06em}
.material-card .material-audience{font-size:15px;color:var(--ink);margin-bottom:9px;font-weight:500}
.material-links{flex-wrap:wrap}
.material-links a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.materials-section{padding-top:35px}
.materials-section .filter-bar{margin-bottom:20px}
.materials-archive{border-top:1px solid var(--line);margin-top:54px;padding-top:20px}
.materials-archive>summary{cursor:pointer;font-size:17px;min-height:44px;font-weight:600;line-height:1.5}
.materials-archive>p{color:var(--muted);font-size:15px;margin:12px 0 25px;max-width:700px}
.archive-grid{max-width:720px;grid-template-columns:1fr 1fr}
.document-dialog{overflow:hidden}
.document-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:94dvh}
.dialog-top{position:static}
.dialog-content{overflow:auto;overscroll-behavior:contain;min-height:0;padding:18px}
.dialog-image{margin:0 auto;max-height:calc(94dvh - 225px);max-width:100%;object-fit:contain}
.dialog-meta{font-size:14px;padding:14px 0 0;line-height:1.5}
.dialog-bottom{background:var(--paper);font-size:14px;flex-wrap:wrap;gap:10px}
.dialog-controls button{font-size:14px}
.dialog-bottom>a{min-height:32px;display:inline-flex;align-items:center}
.dialog-controls button:focus-visible{outline-offset:2px}
@media(min-width:651px) and (max-width:1050px){
  .nav-row{gap:22px}.main-nav{gap:17px}.main-nav a{font-size:14px}.header-cta{padding-inline:13px;font-size:14px}
  .hero-personal .hero-grid{column-gap:40px}.hero-personal h1{font-size:72px}
  .service-card{padding:24px 20px}.service-card h3{font-size:29px}
  .approach-grid{gap:45px}.hero-personal .hero-actions{gap:15px}
}
@media(max-width:650px){
  .section{padding-block:46px}.section-intro{gap:18px;margin-bottom:28px}.section-intro>p{font-size:15px}
  .brand-name small{font-size:10px;letter-spacing:.03em}.brand-name{font-size:23px}.nav-row{gap:12px}
  .hero-personal{padding-block:25px 35px}
  .hero-personal .hero-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:19px}
  .hero-personal .hero-intro{grid-column:1;grid-row:1}
  .hero-personal h1{font-size:53px;line-height:.96;margin:12px 0}.hero-personal h1 br{display:none}
  .hero-tagline{font-size:23px}
  .hero-personal .portrait{grid-column:1;grid-row:2}
  .hero-personal .portrait>img{height:190px;aspect-ratio:auto;object-position:50% 29%}
  .hero-personal .hero-copy{grid-column:1;grid-row:3}
  .hero-personal .lead{font-size:16px;line-height:1.6}
  .hero-personal .hero-actions{margin-top:18px;gap:16px;align-items:center}
  .hero-actions .btn{font-size:15px;padding:14px 18px;min-height:50px}
  .hero-actions .text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:0}
  .action-note{font-size:14px;margin-top:12px}
  .eyebrow{font-size:12px}.service-card{padding:25px}.service-card h3{font-size:34px;min-height:0}
  .service-description{font-size:16px}.service-card .btn{font-size:15px}
  .service-details p,.workshop-details p{font-size:15px}.service-details summary,.workshop-details summary{font-size:16px}
  .topic h3{font-size:30px}.topic p,.step p,.faq-list details p{font-size:16px;line-height:1.7}
  .topic-number{margin:0}.topic{padding-block:22px}
  .approach-grid{grid-template-columns:1fr;gap:25px}.approach-grid h2{font-size:45px;margin-block:14px 18px}
  .approach-copy .lede{font-size:20px}.approach-copy p{font-size:16px}
  .qualification-links{grid-template-columns:1fr;gap:10px;margin-top:22px;padding-top:16px}
  .qualification-links a{min-height:65px}.approach-copy .membership{font-size:14px}
  .faq-grid{gap:24px}.faq-list summary{font-size:16px}.step h3{font-size:29px}
  .contact-section{padding-block:46px}.contact-section p{font-size:16px}.contact-example{font-size:16px;margin-top:20px}
  .footer-row{font-size:13px;gap:12px}.footer-social{gap:20px}
  .page-hero{padding-block:28px}.page-hero h1{font-size:49px}.page-hero p{font-size:16px}
  .page-jumps{gap:2px 20px;margin-top:15px}.page-jumps a{font-size:14px}
  .bio-text h2{font-size:42px}.bio-text p{font-size:16px}.bio-text .lede{font-size:19px}
  .timeline-row p,.experience-list li{font-size:16px}.timeline-year,.additional ul{font-size:14px}
  .values-line{font-size:14px}.cert-card p{font-size:14px}.cert-meta{font-size:12px}.cert-expand{font-size:12px}
  .cert-grid{grid-template-columns:1fr;gap:28px}.cert-image{height:265px}.cert-card h3{font-size:28px}
  .filter{font-size:14px;padding:10px 13px}.filter-count{font-size:14px}.filter-bar{gap:8px}
  .material-card p{font-size:15px}.material-card h3{font-size:31px}.material-category{font-size:12px}
  .materials-section{padding-top:25px}.archive-grid{grid-template-columns:1fr}
  .dialog-top{padding:12px 14px}.dialog-top h2{font-size:14px}.dialog-content{padding:12px}
  .document-dialog[open]{max-height:96dvh}.dialog-image{max-height:calc(96dvh - 260px)}
  .dialog-bottom{padding:12px 14px;font-size:13px}.dialog-controls button{font-size:13px;padding:8px 12px}
  .dialog-meta{font-size:13px}
}
@media(max-width:380px){
  .brand-name{font-size:21px}.brand-name small{font-size:9px;letter-spacing:0}
  .hero-personal h1{font-size:47px}.hero-personal .hero-actions{gap:10px 16px}
  .hero-personal .hero-actions .btn{width:100%}.hero-personal .hero-actions .text-link{font-size:15px}
  .hero-personal .portrait>img{height:170px}.hero-tagline{font-size:22px}
  .service-card{padding:22px}.contact-phone{font-size:32px}
}
@media(prefers-reduced-motion:no-preference){
  .hero-personal .portrait{animation:gentle-in .55s ease-out both}
  .hero-personal .hero-copy{animation:gentle-in .45s .08s ease-out both}
  @keyframes gentle-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
}
@media print{.document-dialog[open]{display:block;max-height:none}.dialog-content{overflow:visible}.dialog-image{max-height:none}.page-jumps,.service-details summary{display:none}}
