:root{--bg: #ede5ee;--bg-cream: #faf5f4;--bg-deep: #c8b3d9;--text: #3a2645;--text-soft: #6b4e80;--text-mute: #8a7299;--accent: #a890c0;--button: #3a2645;--button-text: #ffffff;--border: rgba(58, 38, 69, .18);--max-width: 1100px;--gutter: clamp(1.25rem, 4vw, 3rem);--radius: 4px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Lora,Georgia,Times New Roman,serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:var(--text-soft);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}a:hover,a:focus-visible{color:var(--text)}:focus-visible{outline:2px solid var(--text-soft);outline-offset:3px}h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;color:var(--text);line-height:1.2;margin:0 0 .6em}h1{font-size:clamp(2.25rem,5vw,3.25rem)}h2{font-size:clamp(1.85rem,4vw,2.6rem)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}p{margin:0 0 1.1em}.container{max-width:var(--max-width);margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:clamp(3rem,7vw,5.5rem)}.section--cream{background:var(--bg-cream)}.section--deep{background:var(--bg-deep)}.btn{display:inline-block;padding:.95rem 1.6rem;font-family:Lora,serif;font-size:.78rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;text-decoration:none;background:var(--button);color:var(--button-text);border:1px solid var(--button);border-radius:var(--radius);cursor:pointer;transition:background .15s ease,color .15s ease,transform .05s ease}.btn:hover,.btn:focus-visible{background:transparent;color:var(--button)}.btn:active{transform:translateY(1px)}.btn--ghost{background:transparent;color:var(--button)}.btn--ghost:hover,.btn--ghost:focus-visible{background:var(--button);color:var(--button-text)}.site-header{min-height:100vh;display:flex;flex-direction:column;text-align:center;background:var(--bg-cream)}.site-header__sections{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(1rem,4vw,2.5rem);padding:1.25rem var(--gutter);border-bottom:1px solid var(--border);background:var(--bg-cream);flex-shrink:0}.site-header__sections a{font-size:.78rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;text-decoration:none;color:var(--text);padding:.4rem .2rem;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease}.site-header__sections a:hover,.site-header__sections a:focus-visible{color:var(--text);border-bottom-color:var(--text)}.site-header__inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-block:clamp(2rem,5vw,4rem)}.site-header__logo{width:clamp(240px,38vw,380px);height:auto;margin:0 auto 1.75rem;border-radius:50%;display:block}.site-header__nav{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}[id]{scroll-margin-top:1.5rem}.about{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:start}.about__portrait{text-align:center}.about__portrait img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius)}.about__portrait-name{margin-top:.85rem;font-family:Cormorant Garamond,serif;font-size:1.25rem;color:var(--text);display:flex;align-items:center;justify-content:center;gap:.55rem}.icon-link{display:inline-flex;align-items:center;justify-content:center;color:var(--text-soft);text-decoration:none;transition:color .15s ease}.icon-link:hover,.icon-link:focus-visible{color:var(--text)}.about__portrait-role{margin-top:.1rem;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute)}.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:clamp(2rem,5vw,3rem)}.why{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:clamp(1.5rem,5vw,4rem);align-items:start}.why__title{font-size:clamp(2rem,4.5vw,3rem);line-height:1.05}.quote{border-left:2px solid var(--text);padding:.4rem 0 .4rem 1.1rem;margin:0 0 1.6rem;font-style:italic;color:var(--text-soft)}.quote__attr{display:block;margin-top:.5rem;font-style:normal;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute)}.session{max-width:760px;margin-inline:auto;margin-top:clamp(2rem,5vw,3.5rem)}.contact{background:var(--bg-deep);text-align:center}.contact__intro{margin-bottom:2.5rem;color:var(--text)}.contact__form{display:grid;gap:1rem;max-width:520px;margin:0 auto;text-align:left}.contact__form label{display:block;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text);margin-bottom:.35rem}.contact__form input,.contact__form textarea{width:100%;padding:.85rem 1rem;font-family:inherit;font-size:1rem;color:var(--text);background:var(--bg-cream);border:1px solid var(--border);border-radius:var(--radius)}.contact__form textarea{min-height:140px;resize:vertical}.contact__form input:focus,.contact__form textarea:focus{outline:2px solid var(--text);outline-offset:1px;border-color:var(--text)}.contact__form button{justify-self:center;margin-top:.5rem}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.site-footer{padding:2rem var(--gutter);text-align:center;font-size:.85rem;color:var(--text-mute);background:var(--bg-cream)}@media(max-width:720px){.about,.why{grid-template-columns:1fr}.about__portrait{max-width:280px;margin-inline:auto}}
