@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-73-wght-normal.woff2)format("woff2");unicode-range:U+5C94}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-100-wght-normal.woff2)format("woff2");unicode-range:U+8AA6}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-102-wght-normal.woff2)format("woff2");unicode-range:U+582F}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-103-wght-normal.woff2)format("woff2");unicode-range:U+60,U+7184,U+72F9}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-104-wght-normal.woff2)format("woff2");unicode-range:U+96A7}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-105-wght-normal.woff2)format("woff2");unicode-range:U+74CA,U+7D2E}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-106-wght-normal.woff2)format("woff2");unicode-range:U+715E}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-107-wght-normal.woff2)format("woff2");unicode-range:U+64CE,U+6795,U+964C}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-108-wght-normal.woff2)format("woff2");unicode-range:U+5F4E,U+61F8,U+64E0,U+6691,U+8E29,U+8F1B,U+95D6}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-109-wght-normal.woff2)format("woff2");unicode-range:U+5951,U+5C6F,U+64E6,U+6591,U+7E73,U+8ECC,U+9022,U+9234,U+99DB}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-110-wght-normal.woff2)format("woff2");unicode-range:U+5360,U+540B,U+6089,U+6905,U+6F0F,U+8AEE,U+9006,U+9075}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-111-wght-normal.woff2)format("woff2");unicode-range:U+5E,U+5074,U+5E79,U+63EE,U+649E,U+7919,U+80CE,U+865B,U+8FF4,U+966A,U+99D5}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-112-wght-normal.woff2)format("woff2");unicode-range:U+5100,U+5237,U+52DE,U+5371,U+5761,U+57F7,U+57F9,U+586B,U+5DF7,U+63E1,U+640D,U+64CD,U+66AB,U+7A69,U+7D0B,U+7DE3,U+8DDD,U+9014,U+9055,U+9583,U+FF0D}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-113-wght-normal.woff2)format("woff2");unicode-range:U+3C,U+4ECD,U+5012,U+53F3,U+5713,U+58DE,U+5B88,U+5BDF,U+5C3A,U+5C3E,U+6162,U+6176,U+6263,U+62EC,U+6377,U+64C1,U+6551,U+66F2,U+675F,U+6A4B,U+6ED1,U+719F,U+71C8,U+7532,U+7981,U+79CB,U+7AEF,U+7D2F,U+7DCA,U+7DF4,U+7E6B,U+81E8,U+8A13,U+8AB2,U+8B66,U+8DE8,U+8F2A,U+907F,U+964D,U+9694,U+969C,U+96E8,U+9760}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-114-wght-normal.woff2)format("woff2");unicode-range:U+5348,U+65BD,U+6E1B,U+8173,U+93E1}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-115-wght-normal.woff2)format("woff2");unicode-range:U+23,U+24,U+25,U+3D,U+505C,U+5145,U+5426,U+542B,U+555F,U+570D,U+58D3,U+5C40,U+5CF6,U+5DE6,U+5EAB,U+5FA9,U+63A7,U+653B,U+665A,U+666E,U+6728,U+6821,U+6A94,U+6B62,U+6B7B,U+6C7D,U+6CB9,U+6E2C,U+7387,U+73ED,U+7565,U+7570,U+76E4,U+77F3,U+7A7F,U+7B46,U+7BC4,U+7D42,U+7E7C,U+81F4,U+822C,U+8A8C,U+8C50,U+8D8A,U+8DF3,U+9000,U+91CE,U+9418,U+9435,U+9589,U+96AA,U+9808,U+9818,U+984D,U+9B06,U+FF1B}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-116-wght-normal.woff2)format("woff2");unicode-range:U+26,U+40,U+5F,U+4FEE,U+5236,U+5411,U+5468,U+59CB,U+5B98,U+5BCC,U+5BEB,U+5E8F,U+5E95,U+5EA7,U+5F15,U+5F80,U+60E0,U+62C9,U+6309,U+63DB,U+652F,U+6545,U+65E9,U+6625,U+6AA2,U+6B65,U+6BB5,U+6CC1,U+6CE8,U+6E96,U+6EAB,U+706B,U+74B0,U+78BA,U+798F,U+79AE,U+7A4D,U+7D39,U+7E8C,U+7FD2,U+8003,U+807D,U+89D2,U+8A62,U+8A66,U+8ABF,U+8F15,U+8FA6,U+8FCE,U+900F,U+9031,U+9069,U+908A,U+91AB,U+91CC,U+9632,U+9662,U+9673,U+96A8,U+96E2,U+97FF,U+9805,U+9810,U+986F,U+990A,U+9EC3}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-117-wght-normal.woff2)format("woff2");unicode-range:U+3E,U+4E16,U+4E26,U+4E94,U+4EA4,U+4ECB,U+4EFB,U+4F46,U+4F55,U+4F9D,U+505A,U+5099,U+512A,U+5143,U+5148,U+514D,U+5169,U+5171,U+5225,U+5247,U+5305,U+5373,U+53D6,U+53E3,U+53EA,U+5404,U+5668,U+56DB,U+578B,U+57FA,U+5C0E,U+5C11,U+5E36,U+5EFA,U+5F35,U+5F37,U+5F9E,U+6253,U+6280,U+6301,U+6307,U+6392,U+63A5,U+653E,U+6559,U+6574,U+66F8,U+672A,U+67E5,U+6A19,U+6B61,U+6BCF,U+6D88,U+6E05,U+6EFF,U+7167,U+7531,U+767D,U+76F4,U+793A,U+79D1,U+7A2E,U+7A7A,U+7BA1,U+7BC0,U+7D04,U+7D05,U+800C,U+81F3,U+8655,U+8853,U+88FD,U+897F,U+898F,U+89AA,U+89BD,U+89E3,U+8A02,U+8A55,U+8A8D,U+8B49,U+8B77,U+8B8A,U+8B93,U+8FD1,U+901F,U+9020,U+91CF,U+9650,U+9664,U+969B,U+9700,U+99AC,U+9A57}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-118-wght-normal.woff2)format("woff2");unicode-range:U+2B,U+7C,U+A9,U+4E09,U+4E3B,U+4E4B,U+4E5F,U+4E86,U+4E8B,U+4ED6,U+4EE3,U+4EE4,U+4F60,U+4F7F,U+4FE1,U+5011,U+5149,U+5167,U+5176,U+518D,U+5229,U+524D,U+529B,U+52D9,U+5316,U+5340,U+539F,U+53CA,U+5408,U+540C,U+540D,U+54E1,U+554F,U+55AE,U+56DE,U+5716,U+5831,U+5834,U+5916,U+5B78,U+5B89,U+5B8C,U+5B9A,U+5BB9,U+5BE6,U+5C07,U+5C0D,U+5DE5,U+5DF2,U+5E02,U+5E38,U+5E73,U+5E74,U+5EA6,U+5F0F,U+5F71,U+5F8C,U+5FEB,U+610F,U+611F,U+61C9,U+6210,U+6216,U+6240,U+624B,U+6536,U+6599,U+65B9,U+660E,U+661F,U+66F4,U+671F,U+683C,U+6A5F,U+6B0A,U+6B21,U+6C34,U+6CD5,U+7121,U+7247,U+7269,U+7279,U+7406,U+7576,U+76EE,U+770B,U+7A0B,U+7ACB,U+7B2C,U+7B49,U+7D50,U+7D61,U+7D93,U+7DDA,U+8005,U+806F,U+81EA,U+8207,U+865F,U+8868,U+8981,U+898B,U+8996,U+8A08,U+8A2D,U+8A71,U+8ACB,U+8CBB,U+8CC7,U+8D77,U+8D85,U+8DEF,U+8EAB,U+8ECA,U+8F49,U+901A,U+9023,U+9032,U+904B,U+904E,U+9053,U+9078,U+90E8,U+90FD,U+91CD,U+91D1,U+9580,U+9593,U+9762,U+982D,U+984C,U+985E,U+9996,U+9AD4,U+9AD8,U+9EDE,U+FF01,U+FF08,U+FF09}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-119-wght-normal.woff2)format("woff2");unicode-range:U+20,U+21,U+22,U+28,U+29,U+2A,U+2C,U+2D,U+2E,U+2F,U+30,U+31,U+32,U+33,U+34,U+35,U+36,U+37,U+38,U+39,U+3A,U+3B,U+3F,U+41,U+42,U+43,U+44,U+45,U+46,U+47,U+48,U+49,U+4A,U+4B,U+4C,U+4D,U+4E,U+4F,U+50,U+51,U+52,U+53,U+54,U+55,U+56,U+57,U+58,U+59,U+5A,U+5B,U+5C,U+5D,U+61,U+62,U+63,U+64,U+65,U+66,U+67,U+68,U+69,U+6A,U+6B,U+6C,U+6D,U+6E,U+6F,U+70,U+71,U+72,U+73,U+74,U+75,U+76,U+77,U+78,U+79,U+7A,U+7B,U+7D,U+3001,U+3002,U+4E00,U+4E0A,U+4E0B,U+4E0D,U+4E2D,U+4EBA,U+4EE5,U+4F5C,U+5165,U+5168,U+516C,U+51FA,U+5206,U+5230,U+52D5,U+53EF,U+53F0,U+570B,U+5728,U+5730,U+591A,U+5927,U+5C0F,U+5FC3,U+6211,U+65B0,U+65E5,U+662F,U+6642,U+6700,U+6703,U+6708,U+6709,U+672C,U+6B63,U+70BA,U+751F,U+7528,U+767C,U+7684,U+884C,U+958B,U+95DC,U+96FB,U+9801,U+FF0C,U+FF1A}@font-face{font-family:Noto Sans TC Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-tc-latin-wght-normal.woff2)format("woff2");unicode-range:U+A,U+20,U+21,U+22,U+23,U+24,U+25,U+26,U+28,U+29,U+2A,U+2B,U+2C,U+2D,U+2E,U+2F,U+30,U+31,U+32,U+33,U+34,U+35,U+36,U+37,U+38,U+39,U+3A,U+3B,U+3C,U+3D,U+3E,U+3F,U+40,U+41,U+42,U+43,U+44,U+45,U+46,U+47,U+48,U+49,U+4A,U+4B,U+4C,U+4D,U+4E,U+4F,U+50,U+51,U+52,U+53,U+54,U+55,U+56,U+57,U+58,U+59,U+5A,U+5B,U+5C,U+5D,U+5E,U+5F,U+60,U+61,U+62,U+63,U+64,U+65,U+66,U+67,U+68,U+69,U+6A,U+6B,U+6C,U+6D,U+6E,U+6F,U+70,U+71,U+72,U+73,U+74,U+75,U+76,U+77,U+78,U+79,U+7A,U+7B,U+7C,U+7D,U+A9}@font-face{font-family:LXGW WenKai TC;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/lxgw-wenkai-tc-120-400-normal.woff2)format("woff2");unicode-range:U+59CB,U+6B65,U+8FCE}@font-face{font-family:LXGW WenKai TC;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/lxgw-wenkai-tc-121-400-normal.woff2)format("woff2");unicode-range:U+505A,U+6B61}@font-face{font-family:LXGW WenKai TC;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/lxgw-wenkai-tc-122-400-normal.woff2)format("woff2");unicode-range:U+4E5F,U+4F60,U+5B78,U+7B2C,U+7D61,U+806F,U+8D77,U+8DEF,U+8ECA,U+FF01}@font-face{font-family:LXGW WenKai TC;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/lxgw-wenkai-tc-123-400-normal.woff2)format("woff2");unicode-range:U+4E00,U+4E0A,U+4EE5,U+5230,U+53EF,U+5728,U+6211,U+65B0,U+662F,U+6703,U+6709,U+7684,U+958B,U+FF0C}:root{color:#242623;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#fffdf7;--ink:#242623;--yellow:#f4d34f;--olive:#576346;--red:#a63225;--rule:#d8d9d2;background:#fffdf7;font-family:Noto Sans TC Variable,PingFang TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset,110px)}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #24649a}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:900}h2{letter-spacing:-.035em;font-size:clamp(28px,3vw,44px);line-height:1.35}p{line-height:1.9}img{max-width:100%;display:block}button{border:0}.icon{flex-shrink:0;width:24px;height:24px;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--ink);color:var(--paper);padding:14px 18px;position:absolute;top:12px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.section-pad{padding-left:clamp(24px,4.2vw,72px);padding-right:clamp(24px,4.2vw,72px)}.site-header{z-index:30;background:var(--paper);justify-content:space-between;align-items:center;gap:24px;min-height:86px;padding:24px clamp(24px,4.2vw,72px);display:flex;position:sticky;top:0}.brand,.footer-brand{white-space:nowrap;align-items:center;gap:24px;display:flex}.brand strong{letter-spacing:-.02em;font-size:32px;font-weight:900}.brand span{border-left:1px solid var(--olive);padding-left:24px;font-size:22px;font-weight:750}.main-navigation{gap:clamp(22px,2.5vw,40px);font-size:16px;font-weight:750;display:flex}.main-navigation a,.site-footer nav a{position:relative}.main-navigation a:after,.site-footer nav a:after{content:"";transform-origin:0;background:currentColor;height:2px;transition:transform .18s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.main-navigation a:hover:after,.site-footer nav a:hover:after{transform:scaleX(1)}.menu-toggle{background:0 0;justify-content:center;align-items:center;width:44px;height:44px;display:none}.hero{grid-template-columns:1.02fr 1fr;min-height:610px;display:grid}.hero-copy{z-index:1;isolation:isolate;background:var(--yellow);flex-direction:column;justify-content:center;padding:clamp(42px,4.3vw,72px) clamp(24px,4.2vw,72px) 38px;display:flex;position:relative}.hero-copy:after{content:"";clip-path:polygon(0 0,100% 0,0 100%);background:var(--yellow);z-index:-1;width:29px;position:absolute;inset:0 -28px 0 auto}.hero h1{letter-spacing:-.035em;font-size:clamp(38px,5.65vw,86px);line-height:1.2}.hero-claim{margin-top:22px;font-size:clamp(18px,2.4vw,34px);font-weight:850;line-height:1.5}.hero-offer{border-top:1px solid var(--olive);margin-top:28px;margin-bottom:22px;padding-top:22px;font-size:clamp(18px,2.1vw,30px);font-weight:750;line-height:1.8}.hero-offer strong{color:var(--red);white-space:nowrap;font-size:clamp(30px,3vw,44px);font-weight:900;line-height:1}.hero-offer .coach-name{text-underline-offset:.16em;white-space:nowrap;font-size:1.08em;font-weight:900;text-decoration:underline;text-decoration-thickness:.07em}.hero-photo{height:100%;min-height:610px;position:relative}.hero-photo img{position:absolute;inset:0}.photo{display:block;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.contact-actions{gap:12px;display:flex}.action{--button-bg:var(--ink);background:var(--button-bg);color:var(--paper);border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:14px;min-height:66px;padding:17px 24px;font-size:19px;font-weight:750;line-height:1.5;transition:background .16s,transform .16s;display:inline-flex}.action:hover{transform:translateY(-2px)}.action-dark{--button-bg:var(--ink)}.action-dark:hover{background:#3b3f38}.action-olive{--button-bg:var(--olive)}.action-olive:hover{background:#465139}.action-yellow{--button-bg:var(--yellow);color:var(--ink)}.action-yellow:hover{background:#ebc83c}.contact-actions .action{white-space:nowrap;flex:1}.hero-phone{letter-spacing:.015em;align-self:flex-start;align-items:center;gap:16px;margin-top:20px;font-size:clamp(26px,3vw,44px);font-weight:900;line-height:1.5;display:flex}.hero-phone .icon{width:30px;height:30px}.about-intro{grid-template-columns:1fr 1fr;display:grid}.about-photo{height:430px}.about-copy{padding:48px clamp(24px,4.2vw,72px) 38px}.section-label{color:var(--olive);align-items:center;gap:22px;margin-bottom:16px;font-size:16px;font-weight:750;line-height:1.5;display:flex}.section-label:after{content:"";background:var(--olive);opacity:.7;flex:1;height:1px}.about-copy h2{white-space:nowrap;font-size:clamp(28px,2.85vw,42px)}.about-story{justify-content:space-between;align-items:center;gap:24px;margin-top:26px;display:flex}.about-story .handwritten{margin-right:14px}.about-story>p:first-child{font-size:20px;line-height:1.95}.handwritten{white-space:nowrap;font-family:LXGW WenKai TC,BiauKai,KaiTi,serif;font-size:clamp(23px,2vw,29px);font-weight:400;line-height:1.5;position:relative;transform:rotate(-7deg)}.handwritten:after{content:"";background:var(--yellow);height:4px;position:absolute;bottom:-10px;left:0;right:0;transform:rotate(-8deg)}.teaching-strip{grid-template-columns:repeat(3,1fr);gap:34px;padding-top:36px;padding-bottom:36px;display:grid}.teaching-strip article{padding-right:28px}.teaching-strip article+article{border-left:1px solid var(--rule);padding-left:34px}.teaching-strip h3{margin-bottom:12px;font-size:clamp(24px,2.2vw,32px);line-height:1.4}.teaching-strip p{font-size:17px;line-height:1.8}.teaching-strip .teaching-points{color:#62675d;margin-top:12px;font-size:14px}.gallery-section{padding-top:34px;padding-bottom:48px}.gallery-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.gallery-heading>div{border-left:6px solid var(--yellow);padding-left:24px}.gallery-heading p:not(.handwritten){margin-top:8px;font-size:18px;line-height:1.7}.gallery-heading .handwritten{margin-right:36px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.gallery-grid .photo{aspect-ratio:1.48}.gallery-thumb:nth-child(n+4) .photo{aspect-ratio:3/4}.gallery-toggle{width:fit-content;min-width:310px;margin:26px auto 0;display:flex}.schedule-section{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;align-items:start;gap:60px;padding-top:42px;padding-bottom:46px;display:grid}.times-column{border-left:1px solid var(--rule);padding-left:60px}.course-table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%;margin-top:20px;margin-bottom:18px}.course-table thead{color:#62675d;font-size:13px}.course-table th,.course-table td{border-bottom:1px solid #bbc0b6;padding:12px 10px}.course-table thead th{padding-top:0;font-weight:500}.course-table tbody th{vertical-align:top;width:30%}.course-table tbody th strong{font-size:19px;font-weight:800}.course-table th small{color:var(--olive);margin-top:3px;font-size:11px;font-weight:500;display:block}.course-table th .term-note{color:#62675d}.course-table td{white-space:nowrap;font-size:19px;font-weight:650}.course-table td span{padding:0 8px}.wide-action{width:100%;display:flex}.times-column h2{flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:24px;display:flex}.times-choice{letter-spacing:0;color:var(--olive);font-size:clamp(15px,1.4vw,18px);font-weight:650}.class-hours{letter-spacing:-.045em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:4px 0 24px;font-size:clamp(32px,4.15vw,60px);font-weight:900;line-height:1.6}.class-times{margin-top:25px}.class-times section+section{margin-top:20px}.class-times h3{margin-bottom:8px;font-size:19px}.class-times ul{margin:0;padding:0;list-style:none}.class-times li{border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums;justify-content:space-between;gap:20px;padding:9px 0;font-size:15px;display:flex}.course-empty{padding-top:26px}.course-empty p{margin-bottom:24px;font-size:18px}.guides-section{border-top:1px solid var(--rule);grid-template-columns:1fr 2fr;align-items:start;gap:50px;padding-top:38px;padding-bottom:44px;display:grid}.guides-heading>p:last-child{color:#62675d;margin-top:18px;font-size:15px}.guides-list>details{border:1px solid #bdc2b8;border-radius:4px;overflow:hidden}.guides-list>details+details{margin-top:10px}.guides-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:17px 24px;font-size:20px;font-weight:800;list-style:none;display:flex}.guides-list summary::-webkit-details-marker{display:none}.guides-list summary:hover{background:#f5f3e9}.guides-list details[open]>summary{border-bottom:1px solid var(--rule);background:#f4f1e7}.guides-list details[open]>summary .icon{transform:rotate(45deg)}.guide-content{padding:24px}.guide-content h3{margin-bottom:8px;font-size:18px;line-height:1.65}.guide-content>h3:not(:first-child){margin-top:28px}.guide-content p{font-size:15px}.guide-intro{margin-bottom:20px}.scoring-groups>section+section{margin-top:24px}.guide-content ol{padding-left:22px}.scoring-groups ol{margin:0;padding-left:0;list-style:none}.scoring-groups li{border-top:1px solid #e9e8df;justify-content:space-between;align-items:start;gap:20px;padding:10px 0;font-size:14px;line-height:1.8;display:flex}.scoring-groups li strong{color:var(--olive);white-space:nowrap;font-size:13px;font-weight:750}.guide-note{color:#62675d;margin-bottom:10px}.registration-steps li{margin-bottom:8px;padding-left:3px;font-size:15px;line-height:1.9}.text-link{border-bottom:1px solid;align-items:center;gap:12px;margin-top:16px;padding-bottom:3px;font-size:15px;font-weight:700;display:inline-flex}.text-link .icon{width:19px;height:19px}.contact-band{background:var(--yellow);grid-template-columns:1fr 1.35fr .8fr;align-items:center;gap:38px;padding-top:36px;padding-bottom:38px;display:grid}.contact-location{border-right:1px solid #b9a445;padding-right:34px}.contact-label{margin-bottom:8px;font-size:15px;font-weight:750}.contact-band h2{font-size:clamp(28px,3vw,42px)}.contact-band address{margin-top:8px;font-size:17px;font-style:normal;font-weight:600;line-height:1.8}.contact-band address a:hover{text-decoration:underline}.contact-phone{letter-spacing:.005em;align-items:center;gap:16px;margin-bottom:12px;font-size:clamp(27px,3vw,42px);font-weight:900;line-height:1.5;display:flex}.contact-phone .icon{width:32px;height:32px}.contact-band .handwritten{font-size:24px}.contact-band .handwritten:after{background:#dca31b}.map-region{background:#e7e8df;height:310px;position:relative}.map-region iframe{border:0;width:100%;height:100%;display:block}.map-link{background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:4px;align-items:center;gap:12px;padding:13px 18px;font-size:14px;font-weight:650;display:flex;position:absolute;bottom:24px;left:clamp(24px,4.2vw,72px)}.map-link .icon{width:18px;height:18px}.site-footer{background:var(--ink);color:var(--paper);flex-wrap:wrap;align-items:center;gap:25px;padding-top:30px;padding-bottom:26px;display:flex}.footer-brand{gap:20px}.footer-brand strong{font-size:23px;font-weight:850}.footer-brand span{border-left:1px solid #8d9184;padding-left:20px;font-size:15px}.site-footer nav{gap:22px;margin-left:auto;font-size:13px;display:flex}.site-footer>p{color:#bac0ae;text-align:right;width:100%;padding-right:64px;font-size:12px}.site-footer>p a{text-underline-offset:4px}.site-footer>p a:hover{color:var(--paper);text-decoration:underline}.mobile-actions{display:none}@media (width>=1680px){.site-header,.section-pad{padding-left:calc(50vw - 768px);padding-right:calc(50vw - 768px)}.hero-copy{padding-left:calc(50vw - 768px)}}@media (width<=1199px){.brand{gap:18px}.brand strong{font-size:24px}.brand span{padding-left:18px;font-size:17px}.main-navigation{gap:22px;font-size:14px}.about-story{gap:16px}.about-story>p:first-child{font-size:16px}.about-story .handwritten{font-size:23px}.schedule-section{gap:34px}.times-column{padding-left:34px}.course-table td{font-size:16px}.contact-band{grid-template-columns:1fr 1.3fr}.contact-band>.handwritten{display:none}.contact-band .action{padding:15px 18px}.about-photo{height:385px}}@media (width<=999px){.site-header{min-height:78px;padding-top:17px;padding-bottom:17px}.menu-toggle{display:flex}.main-navigation{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0;padding:15px 24px;display:none;position:absolute;top:100%;left:0;right:0}.main-navigation.is-open{flex-wrap:wrap;display:flex}.main-navigation a{min-height:44px;padding:12px}.hero,.hero-photo{min-height:550px}.hero-copy{padding-top:38px;padding-bottom:32px}.hero-copy .action{gap:8px;padding:14px 13px;font-size:15px}.hero-copy .contact-actions{gap:8px}.hero-copy .icon{width:22px;height:22px}.hero-claim{font-size:19px}.hero-offer{margin-top:20px;padding-top:18px;font-size:17px}.hero-offer strong{font-size:32px}.about-photo{height:370px}.about-copy{padding-top:32px}.about-copy h2{white-space:normal;font-size:30px}.about-story{margin-top:18px;display:block}.about-story .handwritten{display:none}.teaching-strip{gap:20px}.teaching-strip article{padding-right:10px}.teaching-strip article+article{padding-left:20px}.teaching-strip p{font-size:15px}.gallery-heading .handwritten{margin-right:10px;font-size:22px}.gallery-heading p:not(.handwritten){font-size:16px}.gallery-grid{gap:12px}.schedule-section{gap:26px}.times-column{padding-left:26px}.course-table th,.course-table td{padding:10px 4px}.course-table tbody th strong{font-size:16px}.course-table td{font-size:14px}.course-table td span{padding:0 3px}.class-hours{font-size:33px}.guides-section{grid-template-columns:1fr 1.6fr;gap:25px}.guides-section h2{font-size:28px}.contact-band{gap:25px}.contact-band address{font-size:15px}.site-footer nav{margin-left:0}.footer-brand{width:100%}.site-footer>p{text-align:left}}@media (width<=640px){html{scroll-padding-top:var(--header-offset,105px)}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.section-pad{padding-left:24px;padding-right:24px}.site-header{gap:12px;min-height:85px;padding-left:20px;padding-right:16px}.brand{display:block}.brand strong{font-size:22px;line-height:1.3;display:block}.brand span{border-left:0;margin-top:4px;padding-left:0;font-size:13px;display:block}.main-navigation.is-open{grid-template-columns:1fr 1fr;gap:0;display:grid}.main-navigation a{padding:12px 0}.hero{flex-direction:column;min-height:auto;display:flex}.hero-copy{padding:34px 24px 28px}.hero-copy:after{display:none}.hero h1{letter-spacing:-.04em;font-size:clamp(36px,10.1vw,56px);line-height:1.23}.hero-claim{margin-top:18px;font-size:20px}.hero-offer{margin-top:22px;margin-bottom:20px;padding-top:18px;font-size:17px;line-height:1.8}.hero-offer strong{font-size:34px}.hero-copy .action{min-height:56px;padding:15px 16px;font-size:16px}.hero-phone{gap:13px;margin-top:17px;font-size:30px}.hero-photo{height:355px;min-height:0}.about-intro{flex-direction:column-reverse;display:flex}.about-copy{padding:34px 24px 28px}.about-copy h2{white-space:normal;font-size:28px}.about-story>p:first-child{font-size:16px;line-height:1.95}.desktop-break{display:none}.about-photo{height:280px}.section-label{gap:18px;margin-bottom:12px;font-size:14px}.teaching-strip{padding-top:28px;padding-bottom:12px;display:block}.teaching-strip article{padding:0 0 24px}.teaching-strip article+article{border-left:0;border-top:1px solid var(--rule);padding:24px 0}.teaching-strip h3{margin-bottom:10px;font-size:26px}.teaching-strip p{font-size:16px}.gallery-section{padding-top:20px;padding-bottom:34px}.gallery-heading{margin-bottom:22px}.gallery-heading>div{border-width:5px;padding-left:17px}.gallery-heading h2{font-size:28px}.gallery-heading p:not(.handwritten){font-size:15px}.gallery-heading .handwritten{display:none}.gallery-grid{grid-template-columns:1fr;gap:14px}.gallery-grid .photo{aspect-ratio:1.23}.gallery-thumb:nth-child(n+4) .photo{aspect-ratio:3/4}.gallery-toggle{width:100%;min-width:0;margin-top:20px}.schedule-section{padding-top:32px;padding-bottom:34px;display:block}.schedule-column h2,.times-column h2{font-size:32px}.course-table{margin-top:18px}.course-table th,.course-table td{padding:11px 3px}.course-table tbody th strong{font-size:18px}.course-table td{font-size:15px}.course-table td span{padding:0 4px}.times-column{border-left:0;border-top:1px solid var(--rule);margin-top:34px;padding:30px 0 0}.times-column h2{margin-top:18px}.class-hours{margin-bottom:18px;font-size:clamp(35px,10.8vw,55px)}.guides-section{padding-top:30px;padding-bottom:34px;display:block}.guides-heading>p:last-child{margin:12px 0 22px}.guides-list summary{min-height:58px;padding:16px 18px;font-size:18px}.guide-content{padding:20px 18px}.scoring-groups li{gap:12px}.contact-band{padding-top:30px;padding-bottom:32px;display:block}.contact-location{border-bottom:1px solid #b9a445;border-right:0;padding:0 0 24px}.contact-band h2{font-size:32px}.contact-band address{font-size:16px}.contact-main{padding-top:22px}.contact-phone{gap:12px;margin-bottom:17px;font-size:32px}.contact-band .action{gap:10px;padding:15px 14px;font-size:16px}.map-region{height:285px}.map-link{font-size:13px;bottom:18px;left:18px}.site-footer{gap:22px;padding-top:28px;padding-bottom:24px}.footer-brand{white-space:normal;display:block}.footer-brand strong{font-size:24px}.footer-brand span{border:0;padding:8px 0 0;font-size:14px;display:block}.site-footer nav{flex-wrap:wrap;gap:20px;font-size:13px}.site-footer>p{font-size:11px}.mobile-actions{z-index:15;background:var(--paper);padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--rule);display:block;position:fixed;bottom:0;left:0;right:0}.mobile-actions .contact-actions{gap:8px}.mobile-actions .action{gap:10px;min-height:54px;padding:12px 10px;font-size:16px}}@media (width<=359px){.contact-band .action{gap:6px;padding-left:8px;padding-right:8px;font-size:15px}.hero h1{font-size:33px}.hero-claim{font-size:18px}.hero-offer{font-size:16px}.course-table td{font-size:13px}.about-copy h2{font-size:26px}.action{padding-left:12px;padding-right:12px}}.site-header.is-scrolled{box-shadow:0 1px 0 var(--rule)}.header-progress{pointer-events:none;height:3px;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.header-progress>div{background:var(--yellow);transform-origin:0;width:100%;height:100%;transform:scaleX(0)}.main-navigation a[aria-current=location]{color:var(--olive)}.main-navigation a[aria-current=location]:after{transform:scaleX(1)}.back-top{background:var(--yellow);width:48px;height:48px;color:var(--ink);opacity:0;visibility:hidden;border:1px solid #d4b942;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(12px);box-shadow:0 4px 16px #24262312}.show-back-top .back-top{opacity:1;visibility:visible;transform:translateY(0)}.back-top:hover{transform:translateY(-3px)}[data-reveal]{transition:opacity .55s,transform .55s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal-pending{opacity:0;transform:translateY(20px)}.teaching-strip article:nth-child(2){transition-delay:70ms}.teaching-strip article:nth-child(3){transition-delay:.14s}.hero-copy>h1{animation:.6s cubic-bezier(.22,1,.36,1) both enter-content}.hero-copy>.hero-claim{animation:.6s cubic-bezier(.22,1,.36,1) 60ms both enter-content}.hero-copy>.hero-offer{animation:.6s cubic-bezier(.22,1,.36,1) .1s both enter-content}.hero-copy>.contact-actions,.hero-copy>.hero-phone{animation:.6s cubic-bezier(.22,1,.36,1) .15s both enter-content}.action:active{transform:scale(.98)}.action .icon,.text-link .icon,.map-link .icon{transition:transform .2s}.text-link:hover .icon,.map-link:hover .icon,.gallery-toggle:hover .icon{transform:translate(4px)}.guides-list summary .icon{transition:transform .3s cubic-bezier(.22,1,.36,1)}.guides-list>details{transition:border-color .2s,box-shadow .2s}.guides-list>details[open]{border-color:var(--olive);box-shadow:0 2px 10px #24262306}.class-times:not([hidden]),.new-course-row{animation:.3s enter-content}.gallery-thumb{width:100%;min-width:0;color:var(--paper);cursor:zoom-in;background:0 0;padding:0;line-height:0;display:block;position:relative}.gallery-thumb img{transition:transform .45s cubic-bezier(.22,1,.36,1)}.photo-open{background:var(--ink);pointer-events:none;opacity:0;border-radius:4px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:650;line-height:1.5;transition:transform .2s,opacity .2s;display:flex;position:absolute;bottom:12px;right:12px;transform:translateY(6px)}.photo-open .icon{width:17px;height:17px}.gallery-thumb:focus-visible .photo-open{opacity:1;transform:translateY(0)}.gallery-thumb:nth-child(n+4){animation:.35s enter-content}.photo-viewer{background:var(--ink);width:min(1100px,100vw - 48px);max-width:none;max-height:calc(100dvh - 48px);color:var(--paper);border:0;border-radius:8px;padding:20px;animation:.2s open-viewer;overflow:visible}.photo-viewer::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#171a17e6;animation:.2s fade-backdrop}.viewer-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.viewer-header h2{letter-spacing:0;font-size:18px;font-weight:700}.viewer-close,.viewer-nav{width:44px;height:44px;color:var(--paper);background:#fffdf716;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background .18s,transform .18s;display:flex}.viewer-close:hover{background:#fffdf72e}.viewer-stage{touch-action:pan-y;height:min(65dvh,680px,100dvh - 180px);margin-top:12px;position:relative}.viewer-photo{width:100%;height:100%;animation:.18s fade-backdrop}.viewer-photo img{object-fit:contain;-webkit-user-select:none;user-select:none}.viewer-nav{background:var(--yellow);color:var(--ink);position:absolute;top:50%;transform:translateY(-50%)}.viewer-nav:hover{background:#ebc83c}.viewer-previous{left:0}.viewer-next{right:0}.viewer-count{text-align:center;font-variant-numeric:tabular-nums;margin-top:12px;font-size:14px;line-height:1.5}@keyframes enter-content{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes open-viewer{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade-backdrop{0%{opacity:0}to{opacity:1}}@media (width>=641px){html{scrollbar-gutter:stable}}@media (hover:hover) and (pointer:fine){.gallery-thumb:hover img{transform:scale(1.035)}.gallery-thumb:hover .photo-open{opacity:1;transform:translateY(0)}}@media (hover:none){.photo-open{opacity:1;transform:none}}@media (width<=640px){.back-top{right:14px;bottom:calc(90px + env(safe-area-inset-bottom));width:44px;height:44px}.photo-viewer{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:12px}.viewer-stage{height:min(65dvh,600px,100dvh - 180px)}.viewer-nav{width:40px;height:44px}.photo-open{padding:8px 10px;font-size:12px}}@media (prefers-reduced-motion:reduce){[data-reveal].reveal-pending{opacity:1;transform:none}html{scroll-behavior:auto}*,:before,:after,::backdrop{transition:none!important;animation:none!important}}
