@import url('/assets/fonts.css');
:root{--coral:#d66e5e;--cream:#fcf8ee;--blue:#2c4590;--ink:#2d302b;--muted:#686b60;--line:#e6e0d3;--pink:#f4dfd8;font-family:NotoSansTC,sans-serif;color:var(--ink);font-size:15px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--coral)}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ddb323;outline-offset:4px}.wrap{max-width:1200px;margin:auto;padding-left:40px;padding-right:40px}.header{height:124px;display:flex;align-items:center;justify-content:space-between;color:var(--cream)}.logo img{width:210px;height:auto;display:block}nav{display:flex;gap:30px;align-items:center}nav a{text-decoration:none;font-size:14px}.nav-book{border:1px solid #ffffff85;border-radius:30px;padding:12px 22px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;padding-top:35px;padding-bottom:100px;color:var(--cream);position:relative}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}.handwriting{font-family:'Caveat Brush',cursive;font-size:28px;letter-spacing:.5px;transform:rotate(-3deg);margin:24px 0}.hero h1{font-size:clamp(34px,4.6vw,60px);line-height:1.5;letter-spacing:3px;margin:20px 0;font-weight:800}.hero h1 span{position:relative}.hero h1 span:after{content:'';height:7px;background:#e6b455;position:absolute;bottom:-2px;left:-5px;right:-5px;transform:rotate(-3deg);border-radius:50%}.intro{font-size:15px;line-height:2;max-width:400px;margin-bottom:30px}.button{background:var(--blue);color:white;text-decoration:none;border:0;border-radius:9px;padding:16px 25px;display:inline-flex;gap:34px;justify-content:space-between;align-items:center;font-weight:600;min-height:52px}.button:hover{background:#203672}.hero-note{font-size:11px;margin-top:20px;opacity:.9}.hero-art{position:relative;padding:15px}.hero-image{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:13px solid var(--cream);border-radius:47% 45% 40% 49%;transform:rotate(5deg)}.star{position:absolute;z-index:1}.star-one{font-size:115px;left:-20px;top:-35px;color:#eab657;transform:rotate(15deg)}.star-two{font-size:110px;right:-18px;bottom:0}.photo-label{position:absolute;bottom:38px;left:18px;padding:12px 24px;background:var(--cream);color:var(--blue);font-family:'Caveat Brush';font-size:25px;transform:rotate(-8deg);box-shadow:2px 5px 0 #00000012}.wave{height:34px;background:var(--cream);--mask:radial-gradient(38px at 50% 0,#0000 98%,#000 101%) 0 0/76px 100%;mask:var(--mask);margin-top:-2px}.workshops{background:var(--cream);padding:56px 0 78px}.section-heading{margin-bottom:38px}h2{font-size:32px;letter-spacing:1px;line-height:1.55;margin:10px 0 15px}h2 span{color:var(--coral);font-size:42px;display:inline-block;vertical-align:middle;margin-left:18px}.section-heading>p:last-child{color:var(--muted);line-height:1.8}.workshop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.workshop-card .card-image{position:relative}.card-image img{width:100%;height:auto;aspect-ratio:1.14;object-fit:cover;border-radius:25px}.card-image span{position:absolute;bottom:14px;left:14px;padding:7px 13px;font-size:10px;background:var(--cream);border-radius:20px}.workshop-card>.eyebrow{margin:24px 0 10px;font-size:9px;letter-spacing:1.5px;color:var(--blue)}h3{font-size:21px;letter-spacing:.4px;margin:10px 0 15px}.workshop-card>p:not(.eyebrow){line-height:1.9;color:var(--muted);min-height:57px;font-size:13px}.card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:6px}.card-meta>span{font-size:11px}.card-meta strong{color:var(--blue);font-size:18px;white-space:nowrap}.card-meta small{font-size:10px;font-weight:400}.choose{margin-top:19px;border:0;border-top:1px solid #cbc7b8;padding:14px 0 0;width:100%;background:transparent;text-align:left;color:var(--blue);font-size:13px;font-weight:600}.booking-section{max-width:none;background:#f5e9de;padding-top:64px;padding-bottom:80px}.booking-section>.section-heading,.booking-section>form,.booking-section>noscript{max-width:1120px;margin-left:auto;margin-right:auto}.booking-section>.section-heading{text-align:center;margin-bottom:40px}.booking-section .handwriting{color:var(--coral);margin:0 0 16px;font-size:29px}.booking-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:30px;align-items:start}.panel{background:var(--cream);border-radius:25px;padding:30px}.panel h3{font-size:18px;display:flex;gap:12px;align-items:center;margin:0 0 23px}.step{width:28px;height:28px;display:inline-flex;justify-content:center;align-items:center;background:var(--coral);color:#fff;border-radius:50%;font-family:'Caveat Brush';font-size:19px}.fields{display:grid;gap:18px}.two{grid-template-columns:2fr 1fr}.fields label{display:grid;gap:9px;font-size:12px;font-weight:500}.fields small{color:var(--muted);font-weight:400;font-size:10px;line-height:1.8}input,select,textarea{border:1px solid #d8d4c8;border-radius:9px;background:#fffdf8;padding:12px;width:100%;color:var(--ink);min-height:46px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#909186}.muted{font-size:11px;line-height:1.8;color:var(--muted)}#course-note{margin-bottom:30px}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin:26px 0 18px}.calendar-top strong{font-size:17px}.calendar-top button{border:1px solid var(--line);background:transparent;border-radius:50%;height:36px;width:36px}.calendar-top button:disabled{opacity:.25}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekdays{text-align:center;font-size:11px;color:var(--muted);margin-bottom:12px}.calendar button{aspect-ratio:1;border:1px solid #d2d8bc;border-radius:10px;background:#eaf0dd;color:#3a563d;min-width:0}.calendar button:disabled{border-color:transparent;background:transparent;color:#bbbdb2}.calendar button[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.calendar button:not(:disabled):hover{border-color:var(--blue)}.calendar-key{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:10px;margin:18px 0 25px}.dot{height:9px;width:9px;background:#dce6c8;border-radius:50%;margin-left:8px}.dot:first-child{margin-left:0}.selected-dot{background:var(--blue)}.calendar-key .muted{margin-left:10px}.date-title{font-size:12px;font-weight:500}.times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.times button{background:transparent;color:var(--blue);border:1px solid #b9c1d7;border-radius:9px;padding:14px 4px;font-size:12px}.times button[aria-pressed=true]{background:var(--blue);color:#fff}.availability-status{border-radius:9px;background:var(--pink);padding:12px;font-size:11px;line-height:1.8}.availability-status:empty{display:none}.text-button{background:none;border:0;color:var(--blue);text-decoration:underline;font-size:12px}.summary{background:#efe8da;padding:20px;border-radius:12px;margin:24px 0;font-size:12px}.summary .eyebrow{font-size:9px;color:var(--blue)}.summary h4{font-size:14px;margin:10px 0 16px}.summary>div{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.summary strong{font-size:22px;color:var(--blue)}.consent{font-size:11px;line-height:1.9;display:flex;align-items:flex-start;gap:10px}.consent input{min-height:0;width:17px;height:17px;margin-top:3px;flex-shrink:0;accent-color:var(--blue)}.submit{width:100%;margin-top:20px;justify-content:center}.submit:disabled{background:#818991;opacity:.65}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status{font-size:13px;line-height:1.9;word-break:break-word}#form-status.error{color:#9c352d}#form-status.success{color:#36583c;background:#eaf0dd;padding:15px;border-radius:10px}.faq-section{padding:74px 0;background:var(--cream)}.faq-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:75px}.faq-star{display:block;color:var(--coral);font-size:85px;margin:5px 0;transform:rotate(8deg)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:14px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:20px;color:var(--blue)}details[open] summary:after{content:'−'}details p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:5px}.contact{color:var(--cream);text-align:center;padding-top:52px;padding-bottom:50px}.contact .handwriting{margin:10px 0}.contact p{line-height:2}.contact-links{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:25px}.contact-links>a:not(.button){font-size:13px}footer{display:flex;justify-content:space-between;align-items:center;color:var(--cream);border-top:1px solid #ffffff50;padding-top:25px;padding-bottom:25px;font-size:10px}footer>div{display:flex;gap:25px}.skip{position:absolute;top:-100px;left:10px;z-index:9;background:white;padding:12px}.skip:focus{top:10px}@media(max-width:950px){.wrap{padding-left:25px;padding-right:25px}.hero{gap:22px}.hero h1{font-size:42px}.workshop-grid{gap:18px}.card-meta{align-items:start;flex-direction:column}.panel{padding:22px}.booking-layout{gap:18px}.times{grid-template-columns:1fr}.times button{padding:11px}.calendar{gap:5px}.faq-layout{gap:30px}}@media(max-width:650px){.wrap{padding-left:20px;padding-right:20px}.header{height:90px}.logo img{width:155px}nav{gap:0}nav>a:not(.nav-book){display:none}.nav-book{font-size:11px;padding:9px 13px}.hero{grid-template-columns:1fr;padding-top:18px;padding-bottom:60px;gap:30px}.hero-copy{max-width:430px}.hero h1{font-size:39px;line-height:1.55;letter-spacing:2px}.hero .handwriting{font-size:24px}.intro{font-size:13px;max-width:350px}.hero-art{max-width:380px;width:88%;margin:0 auto}.star-one{font-size:85px}.star-two{font-size:85px}.photo-label{font-size:22px;bottom:22px}.workshops{padding:38px 0 50px}.workshop-grid{grid-template-columns:1fr;gap:38px}.workshop-card>.eyebrow{margin-top:18px}.card-image img{aspect-ratio:1.3}.card-meta{flex-direction:row;align-items:center}.workshop-card>p:not(.eyebrow){min-height:0}.section-heading{margin-bottom:28px}h2{font-size:27px}.booking-section{padding-top:42px;padding-bottom:45px}.booking-section>.section-heading>p:last-child{font-size:11px}.booking-layout{grid-template-columns:1fr;gap:22px}.panel{padding:23px 20px}.times{grid-template-columns:repeat(3,1fr)}.times button{font-size:11px}.calendar{gap:7px}.calendar button{min-height:35px}.faq-section{padding:45px 0}.faq-layout{grid-template-columns:1fr;gap:15px}.faq-layout h2 br{display:none}.faq-star{display:none}.contact{padding-top:40px;padding-bottom:40px}.contact-links{gap:18px}.contact-links .button{padding:14px 19px}footer{gap:20px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.workshop-title{width:240px;max-width:70%;height:auto;margin:0 0 28px;padding:12px;background:var(--coral);border-radius:12px}h1,h2,h3{font-family:CJK,NotoSansTC,sans-serif}

.promotion{color:var(--blue,#354885);font-weight:700;line-height:1.7}

.payment{border:0;padding:20px 0;margin:12px 0}.payment legend{font-weight:700}.payment .choose{margin-top:16px}



.choose,.text-button,.nav-book,#remove-payment{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:0;border-radius:12px;background:#354885;color:#fff;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.4}.choose:hover,.text-button:hover,.nav-book:hover,#remove-payment:hover{background:#27366b;color:#fff}.choose:focus-visible,.text-button:focus-visible,.nav-book:focus-visible,#remove-payment:focus-visible{outline:3px solid #d3ac60;outline-offset:4px}.calendar .full-date{font-size:12px;color:#944a40;background:#f0ded8;opacity:1}.times button:disabled{opacity:.6;cursor:not-allowed}.payment #remove-payment[hidden]{display:none}

.choose,.text-button,.nav-book,#remove-payment{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:0;border-radius:12px;background:#354885;color:#fff;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.4}.choose:hover,.text-button:hover,.nav-book:hover,#remove-payment:hover{background:#27366b;color:#fff}.choose:focus-visible,.text-button:focus-visible,.nav-book:focus-visible,#remove-payment:focus-visible{outline:3px solid #d3ac60;outline-offset:4px}.calendar .full-date{font-size:12px;color:#944a40;background:#f0ded8;opacity:1}.times button:disabled{opacity:.6;cursor:not-allowed}.payment #remove-payment[hidden]{display:none}

.hero-image{object-position:center 60%}.full-key{color:#944a40;font-weight:700}button[hidden]{display:none}

.calendar button.full-date:disabled{color:#944a40;background:#f0ded8;opacity:1;font-size:12px}

.hero-feature{background:var(--cream);color:var(--ink);border-radius:36px;overflow:hidden;scroll-margin-top:24px}.hero-feature .hero-art{padding:0;margin:0;max-width:none;width:100%}.hero-feature .hero-image{display:block;border:0;border-radius:0;transform:none;aspect-ratio:4/3;object-position:center 63%}.hero-feature .star,.hero-feature .photo-label{display:none}.christmas-details{padding:28px 32px}.christmas-details h2{font-size:30px;line-height:1.3;margin:12px 0}.christmas-details p{line-height:1.8}.christmas-details .button{margin-top:8px}.hero-feature .limited-badge{background:#b45345}.hero-feature .eyebrow{color:var(--blue);margin-top:20px}@media(max-width:650px){.hero-feature{border-radius:28px}.christmas-details{padding:24px}.christmas-details h2{font-size:27px}.hero-feature .hero-image{aspect-ratio:1}}

.limited-badge{display:inline-block;padding:8px 14px;border-radius:20px;color:#fff;font-weight:700}

@media(min-width:651px){.hero-copy > .button{display:none}}

.payment-instructions{margin-top:16px;padding:16px 20px;background:#eee7d9;border-radius:12px}.payment-instructions[hidden]{display:none}.payment-instructions p{margin:6px 0}.fps-number{font-size:24px;font-weight:700;letter-spacing:.03em}
