:root{--blue:#052e49;--ink:#082b4b;--ivory:#faf2e4;--gold:#eec676;--line:#ddcfb7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--ivory);font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.55}a{color:inherit}a:hover{text-decoration-thickness:2px;text-underline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #aa6500;outline-offset:5px}header a:focus-visible,footer a:focus-visible,.invitation a:focus-visible{outline-color:var(--gold)}header,footer{background:var(--blue);color:#fff8e9}.header-inner{max-width:1280px;margin:auto;display:flex;align-items:center;gap:30px;padding:22px 5%}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;white-space:nowrap}.brand span{font-size:21px;letter-spacing:.18em;text-transform:uppercase}.lotus{width:45px;height:44px;flex:none}nav{display:flex;gap:25px;margin-left:auto;font-size:16px}nav a{text-decoration:none;padding:8px 0}nav a[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--gold)}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:13px 24px;border:1px solid #f7dca3;border-radius:9px;background:linear-gradient(105deg,#edc16e,#f1d08a);color:#072942;font-family:inherit;font-size:19px;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.4}.button:hover{background:#f5d699;box-shadow:0 3px 10px #0001}.header-cta{font-size:16px;min-height:42px;padding:9px 21px;border-radius:30px}.hero{position:relative;overflow:hidden;max-width:1440px;margin:auto;background:linear-gradient(145deg,#d4e0e1 0%,#fff7e8 28%,#f9edce 65%,#e1cc9d 100%)}.hero-art{position:absolute;right:0;top:0;width:49%;height:100%}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 44%,#fbf2de 50%,#fbf2de00 65%)}.hero-copy{position:relative;z-index:1;width:56%;padding:110px 0 95px 8%}.home-hero{min-height:610px}.hero h1{font-weight:normal;line-height:1.15;margin:0}.home-hero h1{font-size:clamp(30px,3.4vw,48px);letter-spacing:.16em;text-transform:uppercase}.hero-message{font-size:clamp(23px,2.25vw,31px);line-height:1.45;max-width:470px;margin:25px 0 36px}.ornament{display:flex;align-items:center;gap:13px;margin:17px 0 0 14%;width:225px}.ornament span{height:1px;flex:1;background:#b68c47}.ornament .lotus{width:38px;height:37px}.themes-and-quote{position:relative;background:radial-gradient(ellipse at top,#fffbf4,var(--ivory));padding:45px 6% 55px;max-width:1440px;margin:auto}.themes{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:auto;text-align:center;gap:35px}.icon{height:43px;width:43px}.themes h2,.welcome h2,.eyebrow,.feature h2{font-size:16px;font-weight:normal;letter-spacing:.12em;text-transform:uppercase}.themes h2{margin:12px 0 7px}.themes p{font-size:17px;line-height:1.45;margin:0}.quotation{margin:44px auto 0;text-align:center}.quotation:before{content:'';display:block;width:100px;height:1px;background:var(--line);margin:0 auto 23px}blockquote{font-size:clamp(23px,2.4vw,30px);font-style:italic;line-height:1.4;margin:0}figcaption{font-size:14px;letter-spacing:.18em;text-transform:uppercase;margin-top:14px}.invitation{text-align:center;position:relative;color:#fff8e9;background:radial-gradient(ellipse at top,#084468,var(--blue));padding:63px 24px 49px}.invitation:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:23px;border-radius:0 0 50% 50%;background:var(--ivory)}.invitation p{font-size:clamp(22px,2.2vw,28px);line-height:1.45;margin:16px auto 22px;max-width:850px}.small-rule{height:1px;background:var(--gold);width:120px;margin:22px auto}.welcome{display:flex;align-items:center;gap:45px;max-width:1050px;margin:auto;padding:45px 30px}.portrait{width:220px;height:220px;flex:none;overflow:hidden;border-radius:50%;border:1px solid #e8dcc5}.portrait img{width:100%;height:100%;object-fit:cover;object-position:78% 50%;transform:scale(1.06)}.welcome h2{margin:0 0 12px}.welcome p{font-size:21px;line-height:1.5;margin:0 0 17px}.text-link{font-weight:bold;text-underline-offset:5px}.footer-top,.footer-bottom{max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:25px;padding:30px 5%}.footer-bottom{font-size:14px;padding-top:15px;padding-bottom:27px}.footer-top nav{font-size:15px}.skip{position:fixed;left:15px;top:-100px;background:white;padding:10px;z-index:99}.skip:focus{top:15px}.class-hero .hero-copy{padding-top:65px;padding-bottom:65px}.class-hero h1{font-size:clamp(37px,4vw,55px)}.class-hero h1 em{display:block;font-size:.65em;margin-top:6px}.eyebrow{margin:0 0 19px}.class-intro{font-size:19px;max-width:430px}.class-details{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:22px}.class-details li{display:flex;gap:20px;align-items:center;font-size:17px;line-height:1.4}.class-details strong{display:block;font-size:21px}.class-details .icon{width:46px;height:46px;background:var(--blue);color:#fff8e9;padding:10px;border-radius:50%;flex:none}.registration-area{padding:40px 24px;background:var(--ivory)}.registration{max-width:810px;margin:auto;padding:38px 65px;background:#fffbf5;border-radius:12px;text-align:center}.registration h2,.community h1,.community h2{font-weight:normal;line-height:1.2}.registration h2{font-size:38px;margin:0 0 14px}.registration form{text-align:left;margin:27px auto;max-width:590px}.field{margin-bottom:19px}.field label{display:block;margin-bottom:7px;font-weight:bold;font-size:17px}input{width:100%;min-height:48px;border:1px solid #b8b7b1;background:#fffdf9;border-radius:5px;padding:12px 14px;font:17px system-ui;color:var(--ink)}form .button{width:100%}.registration .notice{font-size:15px;line-height:1.5}.form-status{background:#f4ead7;padding:12px 16px;font-size:16px;border-left:3px solid #ad833b}.button:disabled{cursor:not-allowed;opacity:.68;box-shadow:none}.class-features{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;text-align:center;background:#dce6e9;padding:48px max(5%,calc((100% - 1100px)/2))}.feature h2{margin:15px 0 8px}.feature p{margin:0;font-size:17px}.feature+.feature{border-left:1px solid #c5d3d9;padding-left:30px}.community{max-width:1100px;margin:auto;padding:75px 30px}.community>h1{font-size:clamp(36px,4vw,52px);text-align:center;margin:0 auto 25px;max-width:750px}.community>.intro{font-size:22px;max-width:780px;text-align:center;margin:auto;line-height:1.65}.directory-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:50px}.directory{border:1px solid #d7c59f;border-top:3px solid #bb9351;padding:35px;background:#fffbf4}.directory h2{font-size:28px;margin-top:0}.directory p{font-size:19px;min-height:60px}.community-bottom{text-align:center;margin-top:65px;padding-top:40px;border-top:1px solid var(--line)}.community-bottom h2{font-size:34px;margin:0 0 15px}.community-bottom p{font-size:21px}.error-page{text-align:center;padding:100px 25px;min-height:60vh}
@media(min-width:1450px){.hero-copy{padding-left:115px}}@media(max-width:900px){.header-inner{gap:18px;padding:18px 4%;flex-wrap:wrap}.brand span{font-size:18px}.header-inner nav{gap:17px}.header-cta{display:none}.hero-copy{padding:75px 0 65px 6%;width:58%}.home-hero{min-height:540px}.hero-message{font-size:26px}.home-hero h1{font-size:32px;letter-spacing:.1em}.ornament{width:180px;margin-left:5%}.themes{gap:20px}.welcome{gap:28px}.portrait{width:180px;height:180px}.footer-top{flex-wrap:wrap}.registration{padding:35px}.class-details strong{font-size:19px}.class-hero h1{font-size:40px}}@media(max-width:600px){body{font-size:17px}.header-inner{justify-content:center;padding:15px 18px;gap:9px}.brand span{font-size:19px}.lotus{width:36px;height:36px}nav{margin:0;gap:26px;font-size:15px}.header-inner nav{width:100%;justify-content:center}.hero{padding-top:290px;background:var(--ivory)}.hero-art{height:320px;width:100%;object-fit:cover}.hero-art.home-art{width:100%;height:320px}.hero:after{height:322px;background:linear-gradient(0deg,var(--ivory),transparent 28%)}.hero-copy{padding:15px 26px 40px;width:100%;text-align:center}.home-hero h1{font-size:33px;letter-spacing:.13em}.ornament{margin:18px auto;width:190px}.hero-message{font-size:25px;max-width:400px;margin:20px auto 27px}.button{font-size:18px}.themes-and-quote{padding:32px 24px 43px}.themes{grid-template-columns:1fr 1fr;gap:29px 18px}.themes h2{font-size:14px;letter-spacing:.075em}.themes p{font-size:16px}.quotation{margin-top:34px}blockquote{font-size:24px}.invitation{padding:45px 24px 37px}.invitation p{font-size:23px}.desktop-break{display:none}.welcome{flex-direction:column;text-align:center;padding:35px 25px;gap:23px}.portrait{width:190px;height:190px}.welcome p{font-size:20px}.footer-top{justify-content:center;padding:28px 18px 15px;gap:20px}.footer-top nav{gap:22px;justify-content:center;flex-wrap:wrap}.footer-bottom{font-size:13px;padding:18px 22px 24px;gap:16px;flex-wrap:wrap;justify-content:center}.class-hero .hero-copy{padding:10px 25px 35px}.class-hero h1{font-size:38px}.class-intro{font-size:19px;margin:20px auto}.class-details{text-align:left;margin:28px auto 0;max-width:360px}.class-hero .eyebrow{margin-bottom:13px}.registration-area{padding:25px 15px}.registration{padding:27px 20px}.registration h2{font-size:31px}.class-features{padding:35px 20px;grid-template-columns:1fr;gap:30px}.feature+.feature{border:0;padding:0}.community{padding:45px 24px}.community>h1{font-size:37px}.community>.intro{font-size:20px}.directory-grid{grid-template-columns:1fr;gap:23px;margin-top:35px}.directory{padding:27px}.directory p{min-height:0}.community-bottom{margin-top:38px}.home-art{view-transition-name:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Standalone artwork: never use the layout mockup as a source asset. */
.lotus{object-fit:contain;border-radius:50%}
.home-art{width:100%;height:100%;object-fit:cover;object-position:center top}
.home-hero:after{background:linear-gradient(90deg,#fbf2e1 0%,#fbf2e1ed 30%,#fbf2e155 47%,transparent 60%)}
.portrait img{object-fit:cover;object-position:50% 50%;transform:none}
.class-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:30px;padding:55px 5%}
.class-hero:after{display:none}
.class-hero .hero-copy{grid-column:1;grid-row:1;width:100%;padding:0}
.class-poster{grid-column:2;grid-row:1;display:block;line-height:0;border:1px solid #d7c59f;border-radius:9px;overflow:hidden;box-shadow:0 12px 30px #082b4b18}
.class-poster img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:900px) and (min-width:601px){.class-hero{gap:22px;padding:45px 4%}}
@media(max-width:600px){
 .home-hero{padding-top:290px}
 .hero-art.home-art{height:320px;width:100%;object-fit:cover;object-position:75% 40%}
 .home-hero:after{background:linear-gradient(0deg,var(--ivory),transparent 28%)}
 .class-hero{display:flex;flex-direction:column;padding:25px 20px 35px;gap:28px}
 .class-poster{width:100%;max-width:480px;flex:none}
 .class-hero .hero-copy{padding:0;width:100%}
}
