@font-face { font-family:'DM Sans'; src:url('assets/dm-sans-latin.woff2') format('woff2'); font-style:normal; font-weight:400 700; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('assets/dm-sans-latin-italic.woff2') format('woff2'); font-style:italic; font-weight:400 700; font-display:swap; }
html { scroll-behavior:smooth; background:#fcfcf8; }
body { margin:0; }
button, summary, a { -webkit-tap-highlight-color:transparent; }
#site { container-type:inline-size; width:100%; color-scheme:light; --sg-paper:#fcfcf8; --sg-sea:#e8f4ee; --sg-speaking:#cddfd3; --sg-ink:#183d37; --sg-accent:#287267; --sg-button:#214f48; --sg-muted:#53665f; --sg-line:#cadbd1; --sg-sand:#f6eadb; --sg-card:#f4f8f3; --sg-white:#ffffff; background:var(--sg-paper); color:var(--sg-ink); font-family:'DM Sans',sans-serif; font-size:16px; line-height:1.65; overflow-wrap:break-word; }
#site * { box-sizing:border-box; }
#site :is(h1,h2,h3,p,figure,ul) { margin:0; }
#site :is(button,a,summary) { touch-action:manipulation; }
#site button { font:inherit; }
#site a { color:inherit; }
#site :is(button,a,summary):focus-visible { outline:3px solid var(--sg-accent); outline-offset:5px; }
#site [hidden] { display:none!important; }
#site h1 { font-size:clamp(39px,5.1cqi,68px); line-height:1.08; letter-spacing:-.047em; font-weight:500; text-wrap:balance; }
#site h1 em { color:var(--sg-accent); font-weight:500; }
#site h2 { font-size:clamp(29px,3.5cqi,44px); line-height:1.16; letter-spacing:-.038em; font-weight:500; text-wrap:balance; }
#site h3 { font-size:18px; line-height:1.35; letter-spacing:-.025em; font-weight:500; }
#site .sg-wrap { padding-inline:max(5%,calc((100% - 1240px)/2)); }
#site .sg-kicker { font-size:11px; line-height:1.55; text-transform:uppercase; letter-spacing:.13em; font-weight:600; }
#site .sg-body { color:var(--sg-muted); font-size:16px; line-height:1.75; }
#site .sg-small { font-size:12px; line-height:1.6; color:var(--sg-muted); }
#site .sg-header { min-height:88px; display:flex; align-items:center; gap:24px; }
#site .sg-brand { font-size:20px; letter-spacing:-.75px; font-weight:600; white-space:nowrap; margin-right:auto; text-decoration:none; flex-shrink:0; }
#site .sg-desktop-nav { display:flex; align-items:center; gap:30px; font-size:14px; }
#site .sg-desktop-nav a { text-decoration:none; padding:13px 0; }
#site .sg-cta { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:13px 20px; background:var(--sg-button); color:var(--sg-white); border:1px solid var(--sg-button); text-decoration:none; font-size:13px; line-height:1.4; font-weight:500; text-align:center; }
#site .sg-header .sg-cta { min-height:42px; padding:11px 17px; font-size:12px; }
#site .sg-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--sg-ink); text-decoration:underline; text-underline-offset:5px; font-size:13px; font-weight:500; }
#site .sg-mobile-toggle { display:none; border:1px solid var(--sg-line); background:transparent; color:var(--sg-ink); padding:9px 13px; font-size:12px; min-height:44px; }
#site .sg-mobile-nav { display:none; border-top:1px solid var(--sg-line); border-bottom:1px solid var(--sg-line); padding-block:12px; background:var(--sg-paper); }
#site .sg-mobile-nav a { display:block; text-decoration:none; padding:12px 0; font-size:15px; }
#site .sg-hero { display:grid; grid-template-columns:1.1fr 1fr; background:var(--sg-sea); }
#site .sg-hero-copy { padding:60px clamp(28px,4vw,64px) 60px max(5vw,calc((100vw - 1240px)/2)); align-self:center; }
#site .sg-hero h1 { margin:22px 0 22px; }
#site .sg-hero .sg-body { max-width:440px; font-size:17px; }
#site .sg-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:11px; margin-top:28px; }
#site .sg-hero-actions .sg-cta { font-size:14px; padding-inline:22px; }
#site .sg-hero .sg-small { margin-top:19px; font-size:11px; }
#site .sg-hero-photo { min-height:490px; position:relative; }
#site .sg-hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--sg-crop-x,50%) var(--sg-crop-y,50%); }
#site .sg-section { padding-block:72px; }
#site .sg-speaking { --sg-accent:#24675b; --sg-muted:#465c51; --sg-line:#aac5b4; background:var(--sg-speaking); }
#site .sg-section-intro { display:grid; grid-template-columns:1.12fr 1fr; gap:55px; align-items:end; }
#site .sg-section-intro h2 { margin-top:10px; }
#site .sg-section-intro .sg-body { max-width:460px; }
#site .sg-topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:34px; }
#site .sg-topic { padding-top:20px; border-top:2px solid var(--sg-line); }
#site .sg-topic .sg-topic-number { display:block; font-size:11px; color:var(--sg-accent); margin-bottom:11px; }
#site .sg-topic h3 { margin-bottom:15px; font-size:22px; }
#site .sg-topic ul { list-style:none; padding:0; color:var(--sg-muted); font-size:15px; line-height:1.6; }
#site .sg-topic li { padding-left:13px; position:relative; }
#site .sg-topic li::before { content:'·'; position:absolute; left:0; color:var(--sg-accent); }
#site .sg-topic li+li { margin-top:9px; }
#site .sg-event-row { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:22px; margin-top:32px; padding-top:24px; border-top:1px solid var(--sg-line); }
#site .sg-event-row p { font-size:14px; color:var(--sg-muted); }
#site .sg-event-row strong { display:block; font-size:16px; font-weight:500; margin-bottom:3px; }
#site .sg-event-row .sg-cta { flex-shrink:0; }
#site .sg-service { display:grid; grid-template-columns:.95fr 1.05fr; gap:7%; align-items:center; padding-block:44px; background:var(--sg-sand); }
#site .sg-service h2 { margin-top:11px; font-size:30px; }
#site .sg-service .sg-body { max-width:490px; }
#site .sg-service .sg-text-link { margin-top:12px; }
#site .sg-about { display:grid; grid-template-columns:.95fr 1.05fr; gap:7%; background:var(--sg-card); }
#site .sg-stage-photo { aspect-ratio:1.5; }
#site .sg-stage-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:59% center; }
#site .sg-photo-caption { font-size:11px; line-height:1.6; color:var(--sg-muted); margin-top:12px; }
#site .sg-about h2 { margin:11px 0 17px; }
#site .sg-about .sg-body p+p { margin-top:13px; }
#site .sg-bio-details { border-top:1px solid var(--sg-line); margin-top:21px; }
#site .sg-bio-details summary { min-height:48px; padding:12px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; list-style:none; font-size:13px; font-weight:500; }
#site .sg-bio-details summary::-webkit-details-marker { display:none; }
#site .sg-bio-details summary::after { content:'+'; font-size:22px; }
#site .sg-bio-details[open] summary::after { content:'−'; }
#site .sg-bio-details .sg-body { padding:1px 0 18px; font-size:15px; }
#site .sg-bio-details h3 { margin:17px 0 7px; font-size:14px; }
#site .sg-credentials { margin-top:21px; display:flex; flex-wrap:wrap; gap:8px; }
#site .sg-credentials span { font-size:11px; padding:6px 10px; border:1px solid var(--sg-line); }
#site .sg-contact { display:grid; grid-template-columns:.95fr 1.05fr; gap:7%; background:var(--sg-sea); }
#site .sg-contact h2 { margin:12px 0 18px; }
#site .sg-contact .sg-body { max-width:410px; }
#site .sg-email { display:inline-block; margin-top:22px; font-size:clamp(13px,1.7cqi,17px); font-weight:500; text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
#site .sg-contact .sg-small { margin-top:12px; }
#site .sg-inquiry { background:var(--sg-paper); padding:25px; align-self:start; }
#site .sg-inquiry h3 { font-size:21px; margin-bottom:9px; }
#site .sg-inquiry .sg-body { font-size:15px; }
#site .sg-inquiry ul { list-style:none; padding:0; margin:16px 0 22px; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; font-size:14px; color:var(--sg-muted); }
#site .sg-inquiry li { display:flex; gap:8px; }
#site .sg-inquiry li::before { content:'·'; color:var(--sg-accent); }
#site .sg-inquiry .sg-small { font-size:11px; margin-top:10px; }
#site .sg-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding-block:38px 22px; font-size:12px; color:var(--sg-muted); }
#site .sg-footer .sg-footer-name { font-size:19px; color:var(--sg-ink); white-space:nowrap; text-decoration:none; font-weight:500; }
#site .sg-footer-identity p { margin-top:5px; }
#site .sg-socials { display:flex; gap:9px; }
#site .sg-socials a { display:flex; justify-content:center; align-items:center; width:44px; height:44px; color:var(--sg-ink); }
#site .sg-socials img { display:block; }
#site .sg-socials span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#site .sg-footer-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; width:100%; border-top:1px solid var(--sg-line); padding-top:18px; }
#site .sg-footer-bottom>span { margin-right:auto; }
#site .sg-footer-bottom a { padding-block:10px; text-underline-offset:4px; }
#site .sg-skip { position:absolute; top:12px; left:12px; z-index:20; padding:12px 18px; transform:translateY(-200%); background:var(--sg-paper); color:var(--sg-ink); }
#site .sg-skip:focus { transform:translateY(0); }
#site .sg-not-found { min-height:70vh; padding-block:100px; }
#site .sg-not-found h1 { margin:24px 0; }
#site .sg-not-found .sg-body { max-width:470px; margin-bottom:28px; }
#site :is(section,main) { scroll-margin-top:24px; }
@media (hover:hover) {
 #site .sg-cta:hover { background:var(--sg-ink); }
 #site .sg-desktop-nav a:hover, #site .sg-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
 #site .sg-socials a:hover { background:var(--sg-sea); border-radius:50%; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@container (max-width:740px) {
 #site .sg-header { gap:18px; }
 #site .sg-brand { font-size:17px; }
 #site .sg-desktop-nav { gap:16px; }
 #site .sg-header .sg-cta { padding-inline:12px; }
 #site .sg-hero-copy { padding:32px 8% 31px 9%; }
 #site .sg-section-intro { gap:25px; }
}
@container (max-width:780px) {
 #site .sg-desktop-nav, #site .sg-header>.sg-cta { display:none; }
 #site .sg-mobile-toggle { display:inline-flex; align-items:center; gap:9px; }
 #site .sg-mobile-nav:not([hidden]) { display:block; }
 #site:not(.sg-ready) .sg-mobile-toggle { display:none; }
 #site:not(.sg-ready) .sg-mobile-nav[hidden] { display:block!important; }
}
@container (max-width:640px) {
 #site .sg-wrap { padding-inline:6%; }
 #site .sg-header { min-height:76px; gap:12px; }
 #site .sg-brand { font-size:17px; letter-spacing:-.6px; }
 #site .sg-hero { grid-template-columns:1fr; }
 #site .sg-hero-copy { padding:31px 6% 27px; }
 #site h1 { font-size:clamp(37px,10.7cqi,51px); line-height:1.08; letter-spacing:-.043em; text-wrap:initial; }
 #site .sg-hero h1 { margin:18px 0 19px; }
 #site .sg-hero .sg-body { font-size:16px; max-width:none; }
 #site .sg-hero-actions { display:grid; grid-template-columns:1fr; gap:10px; margin-top:24px; }
 #site .sg-hero-actions .sg-cta { min-height:49px; font-size:13px; }
 #site .sg-hero .sg-small { font-size:11px; margin-top:16px; }
 #site .sg-hero-photo { min-height:0; height:auto; aspect-ratio:1.42; }
 #site .sg-hero-photo { --sg-crop-y:43%; }
 #site .sg-section { padding-block:37px; }
 #site .sg-section-intro { grid-template-columns:1fr; gap:16px; }
 #site h2 { font-size:30px; }
 #site .sg-section-intro h2 { margin-top:9px; }
 #site .sg-section-intro .sg-body { max-width:none; }
 #site .sg-topic-grid { grid-template-columns:1fr; gap:22px; margin-top:26px; }
 #site .sg-topic { padding-top:18px; }
 #site .sg-topic .sg-topic-number { margin-bottom:8px; }
 #site .sg-topic h3 { font-size:19px; margin-bottom:12px; }
 #site .sg-topic ul { font-size:15px; }
 #site .sg-event-row { padding-top:21px; margin-top:27px; display:grid; gap:18px; }
 #site .sg-event-row .sg-cta { width:100%; }
 #site .sg-service { grid-template-columns:1fr; gap:17px; padding-block:30px; }
 #site .sg-service h2 { font-size:28px; }
#site .sg-service .sg-body { max-width:none; }
 #site .sg-about { grid-template-columns:1fr; gap:27px; }
 #site .sg-stage-photo { height:auto; aspect-ratio:1.5; }
 #site .sg-about h2 { margin-top:9px; }
 #site .sg-contact { grid-template-columns:1fr; gap:28px; }
 #site .sg-contact .sg-body { max-width:none; }
 #site .sg-email { font-size:15px; }
 #site .sg-inquiry { padding:22px 19px; }
 #site .sg-inquiry ul { grid-template-columns:1fr; gap:9px; font-size:13px; }
 #site .sg-inquiry .sg-cta { width:100%; font-size:13px; }
 #site .sg-footer { align-items:start; gap:20px; padding-block:30px 18px; }
 #site .sg-footer-identity { width:100%; }
 #site .sg-footer-bottom { gap:4px 20px; }
 #site .sg-footer-bottom>span { width:100%; }
}
