*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#2a2320;background:#faf7f2;flex-direction:column;min-height:100vh;font-family:Georgia,Times New Roman,serif;line-height:1.6;display:flex}main{flex:1}img{max-width:100%;display:block}a{color:#c0532a;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{line-height:1.25}.container{max-width:960px;margin:0 auto;padding:0 32px}nav{z-index:100;background:#2a2320;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;max-width:960px;height:60px;margin:0 auto;padding:0 32px;display:flex}.nav-logo{letter-spacing:.12em;text-transform:uppercase;color:#faf7f2;font-family:Georgia,serif;font-size:.95rem;text-decoration:none}.nav-logo:hover{color:#c0532a;text-decoration:none}.nav-links{gap:32px;list-style:none;display:flex}.nav-links li a{color:#c9baa8;letter-spacing:.08em;text-transform:uppercase;padding-bottom:2px;font-family:Arial,Helvetica,sans-serif;font-size:.8rem;text-decoration:none;transition:color .2s}.nav-links li a:hover{color:#faf7f2;text-decoration:none}.nav-links li a.active{color:#d4693a;border-bottom:1px solid #d4693a;text-decoration:none}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav-toggle span{background:#faf7f2;width:24px;height:2px;transition:all .3s;display:block}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero-wrap{background:#2a2320}.hero{align-items:center;gap:52px;max-width:960px;margin:0 auto;padding:72px 32px 64px;display:flex}.hero-photo{background:#3a3028;border:4px solid #d4693a;border-radius:50%;flex-shrink:0;width:280px;height:280px;overflow:hidden}.hero-photo img{object-fit:cover;object-position:center 10%;width:100%;height:100%}.hero-text h1{color:#faf7f2;letter-spacing:.02em;margin-bottom:12px;font-size:2.5rem;font-weight:400}.hero-text .tagline{color:#d4693a;letter-spacing:.04em;font-family:Arial,Helvetica,sans-serif;font-size:1rem;font-style:italic}.page-header{background:#2a2320;padding:52px 32px}.page-header .container{padding:0}.page-header h1{color:#faf7f2;letter-spacing:.02em;margin-bottom:10px;font-size:2rem;font-weight:400}.page-header .subtitle{color:#d4693a;letter-spacing:.03em;font-family:Arial,Helvetica,sans-serif;font-size:.92rem;font-style:italic}.section{padding:60px 0}.section+.section{border-top:1px solid #ddd5c8}.prose{color:#3a3028;max-width:680px;font-size:1.05rem;line-height:1.85}.prose p+p{margin-top:1.2em}.services-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.service-card{background:#fff;border:1px solid #e8ddd2;border-top:4px solid #c0532a;border-radius:2px;flex-direction:column;padding:36px 28px 32px;display:flex}.service-card-icon{color:#2a2320;flex-shrink:0;width:40px;height:40px;margin-bottom:20px}.service-card h2{color:#2a2320;margin-bottom:14px;font-family:Arial,Helvetica,sans-serif;font-size:1.05rem;font-weight:700;line-height:1.3}.service-card p{color:#5a4e46;flex:1;font-size:.91rem;line-height:1.78}@media (width<=720px){.services-grid{grid-template-columns:1fr}}@media (width>=721px) and (width<=959px){.services-grid{grid-template-columns:repeat(2,1fr)}}.cards-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.card{background:#fff;border:1px solid #e8ddd2;border-top:4px solid #c0532a;border-radius:2px;flex-direction:column;padding:36px 32px;display:flex}.card-label{color:#c0532a;text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-weight:700}.card h2{color:#2a2320;margin-bottom:14px;font-size:1.2rem;font-weight:400;line-height:1.35}.card p{color:#5a4e46;flex:1;margin-bottom:24px;font-size:.92rem;line-height:1.78}.card-link{color:#c0532a;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #c0532a;align-self:flex-start;padding-bottom:1px;font-family:Arial,Helvetica,sans-serif;font-size:.78rem;font-weight:700;text-decoration:none;transition:opacity .2s}.card-link:hover{opacity:.75;text-decoration:none}.content-block{background:#fff;border:1px solid #e8ddd2;border-top:4px solid #c0532a;border-radius:2px;margin-bottom:28px;padding:40px 36px}.content-block h2{color:#2a2320;margin-bottom:16px;font-size:1.3rem;font-weight:400}.content-block p{color:#3a3028;font-size:.97rem;line-height:1.82}.course-meta{color:#9a8880;font-family:Arial,sans-serif;font-size:.82rem;line-height:1.4;margin-bottom:12px!important}.content-block p+p{margin-top:1em}.software-link{margin-top:16px}.software-note{color:#9a8880;margin-top:12px;font-family:Arial,sans-serif;font-size:.82rem}.speeches-list{flex-direction:column;display:flex}.speech-item{background:#fff;border:1px solid #e8ddd2;border-top:4px solid #c0532a;border-radius:2px;margin-bottom:20px;padding:32px 36px}.speech-item--featured{background:#2a2320;border-color:#2a2320;border-left-style:solid;border-left-width:4px;box-shadow:0 2px 8px #c0532a14}.speech-item--featured .speech-meta{color:#d4693a}.speech-item--featured .speech-title{color:#faf7f2}.speech-item--featured .speech-subtitle{color:#c9baa8}.speech-item--featured .speech-description{color:#9a8d85}.speech-item--featured .speech-event{color:#7a6d65}.speech-meta{color:#c0532a;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;font-weight:700}.speech-title{color:#2a2320;margin-bottom:4px;font-size:1.1rem;font-weight:400;line-height:1.3}.speech-subtitle{color:#7a6d65;margin-bottom:12px;font-size:.92rem;font-style:italic}.speech-event{color:#999;margin-bottom:12px;font-family:Arial,Helvetica,sans-serif;font-size:.82rem}.speech-description{color:#4a4040;font-size:.92rem;line-height:1.78}.speech-note{color:#d4693a;border-top:1px solid #3a3028;margin-top:16px;padding-top:12px;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;font-style:italic}.year-heading{letter-spacing:.15em;text-transform:uppercase;color:#b8a898;border-bottom:1px solid #ddd5c8;margin:40px 0 16px;padding-bottom:8px;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;font-weight:700}.year-heading:first-child{margin-top:0}.year-heading--upcoming{color:#d4693a;border-bottom-color:#d4693a}.cta-strip{color:#faf7f2;text-align:center;background:#2a2320;padding:52px 32px}.cta-strip h2{color:#faf7f2;letter-spacing:.02em;margin-bottom:12px;font-size:1.4rem;font-weight:400}.cta-strip p{color:#9a8d85;margin-bottom:28px;font-family:Arial,Helvetica,sans-serif;font-size:.92rem}.cta-button{color:#faf7f2;letter-spacing:.1em;text-transform:uppercase;background:#c0532a;border-radius:2px;padding:14px 32px;font-family:Arial,Helvetica,sans-serif;font-size:.82rem;font-weight:700;text-decoration:none;transition:background .2s;display:inline-block}.cta-button:hover{color:#faf7f2;background:#a34525;text-decoration:none}footer{color:#7a6d65;text-align:center;letter-spacing:.06em;background:#2a2320;padding:32px 48px;font-family:Arial,Helvetica,sans-serif;font-size:.78rem}footer a{color:#9a8d85}footer a:hover{color:#d4693a;text-decoration:none}.about-photo{float:left;background:#3a3028;border:3px solid #d4693a;border-radius:50%;flex-shrink:0;width:150px;height:150px;margin:6px 32px 16px 0;overflow:hidden}.about-photo img{object-fit:cover;object-position:center 15%;width:100%;height:100%}@media (width<=720px){.about-photo{float:none;margin:0 auto 28px}.nav-toggle{display:flex}.nav-links{z-index:99;background:#2a2320;border-top:1px solid #3a3028;flex-direction:column;gap:0;padding:8px 0;display:none;position:absolute;top:60px;left:0;right:0}.nav-links.open{display:flex}.nav-links li a{border-bottom:1px solid #3a3028;padding:14px 32px;font-size:.88rem;display:block}.nav-links li:last-child a{border-bottom:none}.hero{text-align:center;flex-direction:column;gap:28px;padding:48px 24px 40px}.hero-photo{width:200px;height:200px;margin:0 auto}.hero-text h1{font-size:1.9rem}.cards-grid,.services-grid{grid-template-columns:1fr}.page-header{padding:36px 24px}.page-header h1{font-size:1.6rem}.section{padding:40px 0}.content-block,.speech-item{padding:28px 24px}}@media (width>=721px) and (width<=959px){.services-grid{grid-template-columns:repeat(2,1fr)}}