@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Lato:wght@400;500;600;700&display=swap');
:root{--green:#183b32;--dark:#142c28;--burg:#5d2838;--ivory:#fffaf2;--gold:#d4ad6a;--ink:#352f2b;--muted:#6e6862}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:17px/1.75 'Lato',Arial,sans-serif;background:radial-gradient(ellipse at 5% 10%,#fffaf1 0%,transparent 32%),radial-gradient(ellipse at 95% 65%,#efe0cb7a,transparent 36%),#faf6ef}h1,h2,h3,.brand{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.12}h2{font-weight:600;font-size:clamp(36px,4vw,54px);color:var(--green);margin:12px 0 20px}h3{font-size:34px;line-height:1.2;margin:12px 0;color:var(--burg)}a{color:inherit}.review{padding:7px 18px;text-align:center;background:linear-gradient(90deg,#f9eaca,#fff7e6,#f9eaca);font:700 10px 'Lato',sans-serif;letter-spacing:1.2px;color:#76552c}.nav{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:17px max(26px,calc((100% - 1160px)/2));background:#fffcf8ed;border-bottom:1px solid #d4b88f77;box-shadow:0 8px 30px #44351d0d}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;font-size:24px;font-weight:600;color:#583142}.brand em{font-weight:500}.brand small{display:block;font:700 8px 'Lato',sans-serif;letter-spacing:1.7px;color:#937447;margin-top:3px}.brand-mark{font-size:45px;color:#c9a362;text-shadow:0 1px 0 #fff,0 3px 9px #a07732}.navlinks{display:flex;gap:27px}.navlinks a{text-decoration:none;font:700 12px 'Lato';letter-spacing:.4px;color:#3f4b42}.navlinks a:hover{color:#a1743d}.container{width:min(1130px,calc(100% - 48px));margin:auto}.hero,.session-hero,.invitation{position:relative;overflow:hidden;color:#fff8e7;background:radial-gradient(ellipse at 73% 25%,#b9925b57,transparent 37%),radial-gradient(ellipse at 20% 90%,#852e515e,transparent 53%),linear-gradient(130deg,#143a31,#294f3c 54%,#251c2b);box-shadow:inset 0 -18px 35px #100f1040}.hero:before,.session-hero:before,.invitation:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.45;background-image:radial-gradient(#f8dbab42 .6px,transparent .6px),linear-gradient(115deg,transparent 30%,#e3bf7719 60%,transparent 79%);background-size:5px 5px,100% 100%}.hero:after,.session-hero:after{content:'✦';font:340px Georgia;position:absolute;right:-30px;top:18px;color:#ffe3a00c;transform:rotate(-14deg)}.hero-inner{position:relative;z-index:1;max-width:900px;padding:96px 25px 105px;text-align:center;margin:auto}.eyebrow,.sectionlabel{font:700 11px 'Lato',sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:#c39a60}.hero h1,.session-hero h1{font-weight:500;font-size:clamp(55px,7.2vw,95px);line-height:.98;letter-spacing:-1px;margin:27px 0 20px;color:#fff9ec;text-shadow:0 5px 25px #0004}.hero h1 i,.session-hero h1 i,.invitation h2 i{color:#f3d59e;font-weight:400}.hero p{max-width:650px;margin:22px auto 31px;font-size:18px;color:#f5e9d7}.flourish{color:#debe84;letter-spacing:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 23px;background:linear-gradient(120deg,#194638,#285b47);color:#fff;border:1px solid #c2a26a55;border-radius:4px;text-decoration:none;font:700 12px 'Lato';letter-spacing:.6px;box-shadow:0 9px 21px #1b3c2c2a, inset 0 1px #ffffff35;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 14px 24px #1b3c2c35}.button.light{background:linear-gradient(130deg,#e5c58c,#cba061);color:#24342b;border-color:#f3dcad}.button.ghost{background:#fff1;border-color:#f0d9ac;color:#fff8ec}.intro{padding-top:73px;padding-bottom:90px}.lead{max-width:790px;font-size:19px;color:#615c55}.feature-line{display:flex;gap:40px;flex-wrap:wrap;padding:24px 0;margin:35px 0 58px;border-top:1px solid #c6a5718a;border-bottom:1px solid #c6a5718a;color:#7b5b3f;font:700 12px 'Lato';letter-spacing:1px}.section-header{padding-bottom:10px}.section-header p,.subheading{color:#78695a}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.card{border:1px solid #dfcaac;background:linear-gradient(145deg,#fffdf9,#f5ecde);border-radius:10px;overflow:hidden;box-shadow:0 7px 0 #e8dece,0 22px 45px #55421d24}.image-wrap{height:290px;position:relative;overflow:hidden;background:#b8b1a3}.image-wrap:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#24130d46)}.image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover img{transform:scale(1.03)}.corner-tag{position:absolute;z-index:1;left:18px;top:18px;background:#fff9edee;color:#5f4231;letter-spacing:1px;font:bold 10px 'Lato';padding:8px 12px;border:1px solid #cba46b}.card-inner{padding:29px 30px 35px}.card-inner h3{font-size:39px;margin-bottom:0}.card-inner p{margin-top:10px}.card-inner .button{margin-top:13px}.schedule{font-size:14px;font-weight:700;color:#735835}.invitation{text-align:center;padding:60px 25px 85px}.invitation h2{color:#fff3e3;font-size:clamp(48px,5vw,74px);margin:20px 0}.invitation p{max-width:680px;margin:0 auto 24px;color:#f1e6d4}.cta-row{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.foot{background:#142c28;text-align:center;color:#ddd3c0;padding:45px 20px}.foot h2{color:#f3d59e;font-size:38px;margin:8px 0}.foot small{font-size:12px}.foot a{color:#eac988}.footer-rule{color:#d7b57d;font-size:26px}.session-hero{padding:55px 0 77px}.session-hero .container{position:relative;z-index:2}.session-hero h1{font-size:clamp(50px,5.6vw,74px);margin:22px 0}.session-hero p{color:#f8ebd9;font-size:20px}.hero-date{font:700 12px 'Lato';letter-spacing:1.4px;color:#e4be87}.back{display:inline-block;color:#f4dbaa;text-decoration:none;font-size:13px;margin-bottom:35px}.session-top{display:grid;grid-template-columns:44% 1fr;gap:40px;align-items:center;margin:66px 0 5px}.session-top img{width:100%;height:345px;object-fit:cover;border:9px solid #fffaf0;box-shadow:0 15px 30px #49361b2e}.session-top h2{font-size:44px}.text-link{color:#784525;font-weight:700;font-size:13px}.recap{margin:44px 0 95px;padding:clamp(25px,5vw,62px);border:1px solid #dfcaac;border-radius:10px;background:linear-gradient(130deg,#fffdfa,#fff8ee);box-shadow:0 10px 0 #eee3d1,0 30px 55px #614c2c1c}.recap h2{font-size:clamp(40px,4.4vw,60px);color:var(--burg)}.recap h3{font-size:clamp(30px,3vw,39px);color:var(--green);margin:43px 0 15px}.recap p{max-width:830px}.recap .muted{color:#817363;font-size:14px}.recap .sectionlabel{color:#926b35}.quote{margin:26px 0 33px;padding:24px 29px;background:radial-gradient(circle at 90% 0%,#f1d5a563,transparent 60%),linear-gradient(100deg,#f5e9d6,#fff9ec);border-left:4px solid #cba468;box-shadow:0 9px 22px #7760471b;font-family:'Cormorant Garamond';font-size:26px;font-style:italic;line-height:1.35;color:#60384a}.lesson{position:relative;border:1px solid #e8d8bc;border-left:4px solid #bc995c;padding:23px 26px;margin:15px 0;background:linear-gradient(110deg,#fffdf8,#f8f0e3);box-shadow:0 6px 14px #674c2210}.lesson strong{color:#5a2837}.lesson p{margin:7px 0}.stack{padding-left:25px}.stack li{margin:13px 0}iframe{width:100%;height:650px;border:1px solid #be9d68;border-radius:7px;background:#f4eee5;box-shadow:0 9px 24px #3a2c1d2b}.terms{margin:18px 0;padding:18px 25px;background:#f5e9d7;border:1px solid #c7a66e;border-radius:6px;font-size:14px}.terms summary{cursor:pointer;color:#573044}.terms p{margin:10px 0}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery img{width:100%;height:215px;object-fit:cover;border:5px solid #fff;box-shadow:0 4px 15px #392b1f24;border-radius:4px}.recap .grid .card-inner{padding:20px}.recap .grid .card{box-shadow:0 5px 15px #3d28111a}.recap .grid h3{margin:8px 0;font-size:30px}@media(max-width:760px){body{font-size:16px}.nav{flex-wrap:wrap;padding:12px 20px}.brand{font-size:20px}.navlinks{gap:13px;flex-wrap:wrap}.navlinks a{font-size:11px}.hero-inner{padding:80px 20px}.grid,.session-top{grid-template-columns:1fr}.session-top{margin-top:40px;gap:18px}.session-top img{height:230px}.feature-line{gap:16px}.image-wrap{height:215px}.recap{margin-top:25px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery img{height:145px}iframe{height:480px}.session-hero{padding:40px 0 55px}.session-hero h1{font-size:46px}.cta-row{flex-direction:column}.cta-row .button{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.study-toc{padding:30px;margin-top:40px;border:1px solid #cba66b;background:linear-gradient(120deg,#fffdf7,#f3e5cf);box-shadow:0 8px 25px #48321c15}.study-toc h2{font-size:36px}.study-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;padding-left:25px}.study-toc a{text-underline-offset:4px}h3[id]{scroll-margin-top:25px}.brand-emblem{object-fit:contain}@media(max-width:760px){.study-toc ol{grid-template-columns:1fr}}
.study-intro{margin:60px 0 30px;max-width:850px}.study-intro h2{font-size:44px}

.upcoming .image-wrap{height:auto;aspect-ratio:1672/941}.upcoming .image-wrap img{display:block;object-fit:contain}.upcoming .corner-tag{left:auto;right:18px;top:auto;bottom:18px}

.featured .image-wrap{height:340px;background:radial-gradient(ellipse,#fff7e7,#e5d0a7)}.featured .image-wrap img{object-fit:contain}.featured:hover img{transform:none}@media(max-width:760px){.featured .image-wrap{height:300px}}

/* Persistent return to the top navigation on every page. */
.back-to-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;min-height:60px;gap:2px;border:1px solid #efd395;border-radius:30px;background:linear-gradient(140deg,#284d3d,#142e27);color:#f7d695;text-decoration:none;box-shadow:0 5px 20px #0005,inset 0 1px #ffffff33;font-family:Arial,sans-serif;line-height:1}.back-to-top>span:first-child{font-size:29px}.back-to-top .back-to-top-label{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.back-to-top:hover{background:#4c2030;color:#fff0d1}.back-to-top:focus-visible{outline:3px solid #b87830;outline-offset:4px}@media(max-width:600px){.back-to-top{right:14px;bottom:max(16px,env(safe-area-inset-bottom));width:48px;min-height:54px}}
