@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f8f6f0;--ink:#242b26;--muted:#61675f;--olive:#485443;--line:#d9dcd1;--white:#fffefa;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}:focus-visible{outline:3px solid #9f6f32;outline-offset:5px}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.skip{position:fixed;left:12px;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:rgba(248,246,240,.97);position:sticky;top:0;z-index:10}.header-row{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand img{width:76px;height:76px;object-fit:contain;background:white;border-radius:50%}.brand span{font-family:var(--serif);font-size:25px;line-height:1.05}.brand small{font:9px var(--sans);letter-spacing:2.5px;text-transform:uppercase;display:block;margin-top:9px}.nav{display:flex;gap:28px;align-items:center}.nav a{text-decoration:none;font-size:13px;font-weight:500}.nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav .nav-contact{border:1px solid #8a9485;padding:10px 18px;border-radius:2px}.menu-toggle{display:none;border:1px solid var(--line);padding:8px 12px;background:transparent}.eyebrow{font:600 10px var(--sans);letter-spacing:2.6px;text-transform:uppercase;color:var(--olive);margin:0 0 20px}.hero{padding:64px 0 72px;display:grid;grid-template-columns:1.05fr 1fr;gap:78px;align-items:center}.hero-image{position:relative}.hero-image>img{width:100%;height:535px;object-fit:cover;object-position:center 26%;display:block;filter:none;transform:scaleX(-1);border-radius:160px 160px 2px 2px}.portrait-caption{display:flex;justify-content:space-between;gap:10px;padding:13px 0;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h1{font-size:clamp(45px,5.4vw,76px);letter-spacing:-1.7px;margin-bottom:26px}.hero-copy>p:not(.eyebrow){max-width:430px;color:var(--muted);font-size:16px;margin-bottom:30px}.hero-copy h1 em{font-style:italic;color:#59644e}.actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:13px 21px;background:var(--olive);color:white;text-decoration:none;border:1px solid var(--olive);font-size:13px;border-radius:2px;cursor:pointer;transition:background .15s}.button:hover{background:#303e2c}.button.secondary{color:var(--ink);background:transparent;border-color:#a7afa1}.button.secondary:hover{background:#e9ede3}.hero-note{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);margin-top:32px;padding-top:21px;border-top:1px solid var(--line)}.intro-strip{background:#e9ecdf;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.intro-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}.intro-strip p{font:25px var(--serif);margin:0}.intro-strip span{font-size:11px;color:#59634f;letter-spacing:1px;text-transform:uppercase}.section{padding:84px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.section-heading h2{font-size:53px;letter-spacing:-.7px;margin-bottom:12px}.section-heading p{color:var(--muted);font-size:14px;margin:0;max-width:590px}.section-heading .eyebrow{margin-bottom:15px;font-size:10px;color:var(--olive)}.count-badge{font:italic 20px var(--serif);white-space:nowrap;padding-bottom:6px}.catalog-tools{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:13px;background:#eeeee5;padding:18px;border:1px solid var(--line);margin-bottom:16px}.field label{display:block;font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:7px}.field input,.field select{width:100%;height:47px;border:1px solid #c6cdbd;border-radius:2px;padding:0 12px;background:var(--white);color:var(--ink);font-size:13px}.result-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 25px;font-size:12px;color:var(--muted)}.text-button{border:0;border-bottom:1px solid var(--olive);background:none;padding:2px 0;color:var(--olive);font-size:12px;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}.lecture-card{min-width:0;background:var(--white);border:1px solid #dedfd4;border-radius:3px;overflow:hidden;display:flex;flex-direction:column}.card-image-link{display:block;overflow:hidden;background:#e9e7dd;aspect-ratio:53/25}.lecture-card img{width:100%;height:100%;object-fit:contain;transition:transform .35s;filter:none}.lecture-card:hover img{transform:none}.card-body{padding:23px;display:flex;flex-direction:column;flex:1}.card-tag{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--olive);margin-bottom:12px}.card-body h3{font-size:29px;line-height:1.1;margin-bottom:14px}.card-body h3 a{text-decoration:none}.card-body h3 a:hover{text-decoration:underline;text-underline-offset:4px}.card-body p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:22px}.card-more{margin-top:auto;font-size:11px;text-decoration:none;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.card-more:hover{text-decoration:underline}.catalog-bottom{text-align:center;margin-top:38px}.catalog-bottom p{font-size:12px;color:var(--muted);margin-top:13px}.empty{text-align:center;padding:60px;border:1px solid var(--line);grid-column:1/-1}.empty h3{font-size:32px}.about{background:#e9ecdf;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.about h2{font-size:57px;max-width:350px;margin-bottom:24px}.about .quote{font:italic 26px/1.4 var(--serif);border-left:2px solid #a3ab94;padding-left:22px;max-width:340px;color:#57614f}.bio p{font-size:14px;line-height:1.95;color:#4d574a;margin-bottom:19px}.credentials{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.credentials span{border:1px solid #b7bfa9;font-size:10px;padding:6px 11px}.calendar-layout{display:grid;grid-template-columns:.7fr 1.5fr;gap:54px}.calendar-layout h2{font-size:52px;margin-bottom:20px}.calendar-layout p{font-size:14px;color:var(--muted)}.calendar-frame{width:100%;height:570px;border:1px solid var(--line);border-radius:3px;background:white}.calendar-help{font-size:11px!important;margin-top:12px}.contact{background:#303c2d;color:#faf9ef;padding:64px 0}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.contact .eyebrow{color:#c5ceb5}.contact h2{font-size:49px;margin-bottom:18px}.contact p{color:#d3d9c9;font-size:14px;max-width:450px}.contact-details{border-top:1px solid #697461}.contact-details a{display:block;padding:19px 0;border-bottom:1px solid #697461;text-decoration:none;overflow-wrap:anywhere}.contact-details a:hover{color:#d7dfc3}.contact-details small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:2px;color:#c2cbb6;margin-bottom:6px}.site-footer{padding:25px 0;font-size:10px;color:var(--muted)}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-row a{text-decoration:none}.detail{padding:45px 0 80px}.back-link{display:inline-block;font-size:12px;margin-bottom:35px;color:var(--olive);text-underline-offset:5px}.detail-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;max-width:1000px;margin:auto}.detail-heading{max-width:940px}.detail-copy{max-width:800px}.detail h1{font-size:clamp(40px,5vw,65px)}.detail-image{display:block;width:100%;height:auto;aspect-ratio:53/25;object-fit:contain;border-radius:3px}.detail-body{font-size:16px;line-height:1.95;color:#4e574c}.detail-tags{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.detail-tags a{font-size:11px;border:1px solid var(--line);padding:5px 10px;text-decoration:none}.detail-inquiry{padding:24px;background:#e9ecdf;margin-top:35px}.detail-inquiry h2{font-size:28px;margin-bottom:10px}.detail-inquiry p{font-size:13px}.not-found{padding:90px 0;text-align:center} [hidden]{display:none!important}@media(min-width:1500px){.hero{padding-top:80px}}@media(max-width:950px){.wrap{width:calc(100% - 40px)}.hero{gap:36px}.hero-image>img{height:470px}.nav{gap:17px}.brand span{font-size:22px}.brand img{width:64px;height:64px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{gap:40px}.calendar-layout{grid-template-columns:1fr}.calendar-layout>div:first-child{max-width:600px}.contact-grid{gap:35px}.detail-grid{gap:35px}.section-heading h2{font-size:46px}}@media(max-width:650px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 36px)}.header-row{height:83px}.brand img{height:58px;width:58px}.brand span{font-size:20px}.brand small{font-size:8px;letter-spacing:1.7px}.menu-toggle{display:block;font-size:12px}.nav{display:none;position:absolute;left:0;right:0;top:83px;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:8px}.hero{grid-template-columns:1fr;padding:30px 0 40px;gap:25px}.hero-image{order:2}.hero-image>img{height:345px;border-radius:100px 100px 2px 2px;object-position:center 27%}.hero-copy{order:1}.hero h1{font-size:49px;max-width:390px;letter-spacing:-1px}.hero-copy>p:not(.eyebrow){font-size:14px}.eyebrow{font-size:9px}.hero-note{margin-top:22px}.intro-strip .wrap{align-items:flex-start;flex-direction:column;gap:8px}.intro-strip p{font-size:24px}.intro-strip span{font-size:9px}.section{padding:53px 0}.section-heading{align-items:start}.section-heading h2{font-size:39px}.section-heading p{font-size:13px}.count-badge{display:none}.catalog-tools{grid-template-columns:1fr 1fr;padding:12px;gap:12px}.field:first-child{grid-column:1/-1}.grid{grid-template-columns:1fr;gap:22px}.card-body h3{font-size:31px}.card-body p{font-size:13px}.card-image-link{aspect-ratio:53/25}.about-grid,.contact-grid,.detail-grid{grid-template-columns:1fr;gap:25px}.about h2{font-size:43px;max-width:none}.about .quote{font-size:23px;max-width:none}.calendar-layout{gap:24px}.calendar-layout h2{font-size:42px}.calendar-frame{height:520px}.contact{padding:45px 0}.contact h2{font-size:41px}.footer-row{align-items:start;flex-direction:column;gap:9px}.detail{padding-top:25px}.detail h1{font-size:44px;letter-spacing:-.7px}.detail-image{height:auto;max-height:none}.detail-body{font-size:15px}.result-bar{align-items:start}.back-link{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.contact-page{max-width:850px;padding-top:48px;padding-bottom:70px}.contact-page h1{font-size:65px;margin-bottom:20px}.contact-lead{color:var(--muted);max-width:610px;margin-bottom:32px}.contact-panel{padding:32px;background:#eef0e6;border:1px solid var(--line);border-radius:3px}.contact-topic{border-bottom:1px solid #cbd1c0;margin-bottom:26px;padding-bottom:24px}.contact-topic h2{font-size:35px;margin-bottom:0}.contact-topic .eyebrow{margin-bottom:12px}.contact-field{margin-bottom:23px}.contact-field label{display:block;font-size:10px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:8px}.copy-row{display:flex;gap:10px;align-items:start}.copy-row input,.copy-row textarea{min-width:0;width:100%;background:var(--white);border:1px solid #c6cdbd;border-radius:2px;color:var(--ink);padding:12px;font:14px/1.6 var(--sans);resize:vertical}.copy-row input{height:48px}.copy-button{flex-shrink:0;border:1px solid #a7afa1;border-radius:2px;background:transparent;color:var(--ink);padding:12px;font-size:12px;cursor:pointer;min-height:48px}.copy-button:hover{background:#e1e6d8}.contact-hint,.copy-status{font-size:12px;color:var(--muted);margin:20px 0 0}.copy-status:empty{display:none}.copy-status{color:var(--olive)}.contact-phone{margin-top:27px;color:var(--muted);font-size:14px}.contact-phone a{color:var(--ink);text-underline-offset:4px}@media(max-width:650px){.contact-page{padding-top:28px;padding-bottom:45px}.contact-page h1{font-size:46px}.contact-panel{padding:21px}.contact-topic h2{font-size:29px}.copy-row{flex-direction:column;gap:7px}.copy-button{padding:8px 12px;min-height:38px}.contact-panel .actions{align-items:stretch;flex-direction:column}.contact-lead{font-size:14px}}
