:root{--paper:#fbf8f2;--paper-deep:#f2eadf;--ink:#2f2c29;--ink-soft:#625d57;--coral:#c65338;--coral-dark:#9d3d28;--coral-light:#efd0c5;--sage:#75856d;--sage-light:#dbe2d4;--blue:#6e8793;--blue-light:#d8e2e6;--mustard:#d6a43e;--line:#d8d0c4;--dark:#353d39;--white:#fffdf9;--shadow:0 18px 50px #4234281a;--radius-lg:2rem;--radius-md:1.25rem;--container:72rem;--font-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-serif:"Noto Serif TC", "Songti TC", "PMingLiU", Georgia, serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:8rem;overflow-x:clip}body{background:var(--paper);min-width:20rem;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;line-height:1.75;overflow-x:clip}button,a,summary{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}a{color:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure,ul,ol,dl,dd{margin-top:0}h1,h2,h3{text-wrap:balance;line-height:1.25}h1,h2{font-family:var(--font-serif);letter-spacing:.02em;font-weight:700}h1{max-width:13ch;margin-bottom:1.5rem;font-size:clamp(2.55rem,9.5vw,4.8rem)}h2{margin-bottom:0;font-size:clamp(2rem,7vw,3.35rem)}h3{margin-bottom:.65rem;font-size:1.2rem}p{color:var(--ink-soft)}.container{width:min(calc(100% - 2.5rem), var(--container));margin-inline:auto}.section{padding-block:clamp(4.75rem,10vw,8rem)}.skip-link{z-index:1000;background:var(--ink);color:var(--white);border-radius:.5rem;padding:.75rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--mustard);outline-offset:4px}.demo-banner{z-index:30;background:var(--ink);min-height:2.4rem;color:var(--white);letter-spacing:.08em;text-align:center;justify-content:center;align-items:center;padding:.4rem 1rem;font-size:.78rem;display:flex;position:relative}.demo-banner span{color:var(--coral-light);margin-right:.55rem;font-size:.5rem}.demo-back-link{color:var(--white);letter-spacing:0;text-underline-offset:3px;border-left:1px solid #ffffff4d;margin-left:1rem;padding-left:1rem;font-weight:800}.site-header{z-index:20;backdrop-filter:blur(12px);background:#fbf8f2f2;border-bottom:1px solid #d8d0c4c7;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.9rem;display:flex}.brand{color:var(--ink);flex:none;align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand>span:last-child{display:grid}.brand strong{font-family:var(--font-serif);font-size:1.18rem;line-height:1.15}.brand small{color:var(--ink-soft);letter-spacing:.12em;font-size:.66rem}.brand-mark{background:var(--coral);border-radius:50% 42% 48% 38%;width:2.3rem;height:2.3rem;display:block;position:relative;transform:rotate(-8deg)}.brand-mark span:first-child{background:var(--sage);border-radius:90% 10%;width:.8rem;height:.55rem;position:absolute;top:-.32rem;right:.05rem;transform:rotate(25deg)}.brand-mark span:last-child{background:var(--paper);border-radius:50%;width:.42rem;height:.42rem;position:absolute;bottom:.55rem;right:.55rem}nav ul{gap:clamp(1rem,2.2vw,2rem);margin:0;padding:0;list-style:none;display:flex}nav a{color:var(--ink-soft);font-size:.88rem;font-weight:700;text-decoration:none;position:relative}nav a:after{content:"";background:var(--coral);transform-origin:0;height:2px;transition:transform .18s;position:absolute;bottom:-.35rem;left:0;right:0;transform:scaleX(0)}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}.eyebrow{color:var(--coral-dark);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.85rem;font-size:.75rem;font-weight:800}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;min-height:3.2rem;padding:.85rem 1.35rem;font-weight:800;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-small{min-height:2.65rem;padding:.6rem 1.05rem;font-size:.83rem}.button-primary{background:var(--coral);color:var(--white)}.button-primary:hover{background:var(--coral-dark)}.button-secondary{border-color:var(--line);color:var(--ink);background:0 0}.button-secondary:hover{border-color:var(--ink)}.button-light{background:var(--white);color:var(--coral-dark)}.button-light:hover{background:var(--paper-deep)}.button-outline-light{color:var(--white);background:0 0;border-color:#fffdf9a6}.button-outline-light:hover{border-color:var(--white)}.button-row{flex-wrap:wrap;gap:.8rem;display:flex}.hero{align-items:center;min-height:calc(100svh - 7.3rem);display:flex}.hero-grid{align-items:center;gap:clamp(2.5rem,6vw,6rem);display:grid}.hero-copy{z-index:2;position:relative}.hero-lead{max-width:36rem;margin-bottom:1.6rem;font-size:1.05rem}.hero-facts{color:var(--ink);flex-wrap:wrap;gap:.75rem 1.4rem;margin:0 0 2rem;padding:0;font-size:.88rem;font-weight:700;list-style:none;display:flex}.hero-facts li{align-items:center;gap:.45rem;display:inline-flex}.hero-facts span{color:var(--coral);font-size:1.2rem}.hero-visual{margin:0;position:relative}.hero-visual:before{content:"";z-index:-1;background:var(--coral-light);border-radius:46% 54% 40% 60%/55% 35% 65% 45%;position:absolute;inset:8% -.5rem -.75rem 6%;transform:rotate(2deg)}.hero-visual img{aspect-ratio:4/3;width:100%;box-shadow:var(--shadow);object-fit:cover;object-position:58% center;border-radius:45% 55% 42% 58%/58% 38% 62% 42%}.hero-visual figcaption{color:var(--ink-soft);text-align:right;margin-top:.8rem;font-size:.73rem}.hero-sticker{z-index:2;border:5px solid var(--paper);background:var(--mustard);width:5rem;height:5rem;color:var(--ink);text-align:center;border-radius:50%;place-content:center;line-height:1;display:grid;position:absolute;top:-1rem;left:-.7rem;transform:rotate(-9deg)}.hero-sticker span{font-family:var(--font-serif);font-size:1.35rem;font-weight:800}.hero-sticker small{letter-spacing:.12em;margin-top:.25rem;font-size:.55rem;font-weight:900}.section-tinted{background:var(--paper-deep)}.section-heading{gap:1.2rem 4rem;margin-bottom:clamp(2.5rem,6vw,4.5rem);display:grid}.section-heading>p{align-self:end;max-width:35rem;margin-bottom:0}.course-moment{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);margin:0 0 1.25rem;display:grid;overflow:hidden;box-shadow:0 12px 35px #42342812}.course-moment-image{min-height:17rem;position:relative;overflow:hidden}.course-moment-image img{aspect-ratio:16/10;object-fit:cover;object-position:center;width:100%;height:100%}.course-moment-image figcaption,.studio-environment figure figcaption{color:var(--white);backdrop-filter:blur(6px);background:#2f2c29d1;border-radius:999px;padding:.35rem .65rem;font-size:.68rem;line-height:1.4;position:absolute;bottom:.75rem;right:.75rem}.course-moment-copy{flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,2.5rem);display:flex;position:relative}.course-moment-copy>span{color:var(--coral-light);font-family:var(--font-serif);font-size:2.4rem;line-height:1;position:absolute;top:1.25rem;right:1.4rem}.course-moment-copy .eyebrow{margin-bottom:.65rem}.course-moment-copy>p:last-child{font-family:var(--font-serif);margin-bottom:0;font-size:1.13rem;line-height:1.8}.course-grid{gap:1rem;display:grid}.course-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);border-top:.45rem solid;flex-direction:column;min-width:0;min-height:28rem;padding:clamp(1.5rem,4vw,2rem);display:flex}.course-coral{border-top-color:var(--coral)}.course-sage{border-top-color:var(--sage)}.course-blue{border-top-color:var(--blue)}.course-topline{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.course-index{color:var(--line);font-family:var(--font-serif);font-size:1.5rem;font-weight:800}.age-badge{background:var(--paper-deep);color:var(--ink);border-radius:999px;padding:.35rem .75rem;font-size:.78rem;font-weight:800}.course-card h3{font-family:var(--font-serif);font-size:1.7rem}.course-card dl{margin-bottom:1.5rem}.course-card dl>div+div{margin-top:1.35rem}.course-card dt{color:var(--ink);letter-spacing:.08em;margin-bottom:.3rem;font-size:.78rem;font-weight:900}.course-card dd{color:var(--ink-soft);font-size:.93rem}.duration{border-top:1px solid var(--line);color:var(--ink);align-items:center;gap:.5rem;margin:auto 0 0;padding-top:1rem;font-size:.85rem;font-weight:800;display:flex}.duration span{color:var(--coral);font-size:1.1rem}.gallery-heading{gap:1rem 4rem;margin:clamp(4rem,8vw,6.5rem) 0 2rem;display:grid}.gallery-heading h3{max-width:13ch;font-family:var(--font-serif);margin-bottom:0;font-size:clamp(1.8rem,5vw,2.65rem)}.gallery-heading>p{align-self:end;max-width:38rem;margin-bottom:0}.artwork-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.artwork-card{border:1px solid var(--line);background:var(--white);border-radius:.8rem;min-width:0;margin:0;padding:.55rem;box-shadow:0 10px 28px #42342814}.artwork-image{aspect-ratio:1;background:var(--paper-deep);border-radius:.5rem;position:relative;overflow:hidden}.artwork-image img{aspect-ratio:1;object-fit:cover;width:100%;height:100%;transition:transform .22s}.artwork-card:hover .artwork-image img{transform:scale(1.025)}.artwork-image span{color:var(--coral-dark);backdrop-filter:blur(4px);background:#fffdf9e0;border-radius:999px;padding:.25rem .48rem;font-size:.6rem;font-weight:900;line-height:1.4;position:absolute;top:.55rem;left:.55rem}.artwork-card>figcaption{gap:.15rem;padding:.8rem .3rem .2rem;display:grid}.artwork-card strong{font-family:var(--font-serif);font-size:.97rem}.artwork-card small{color:var(--ink-soft);letter-spacing:.06em;font-size:.68rem}.teaching-grid{gap:1.25rem;display:grid}.feature-list{gap:.75rem;display:grid}.feature-card{border-bottom:1px solid var(--line);grid-template-columns:3rem 1fr;align-items:start;gap:1rem;padding:1.5rem 0;display:grid}.feature-card:first-child{padding-top:0}.feature-number{background:var(--paper-deep);width:3rem;height:3rem;color:var(--coral-dark);font-family:var(--font-serif);border-radius:50%;place-content:center;font-weight:800;display:grid}.feature-card h3{margin-bottom:.35rem}.feature-card p{margin-bottom:0;font-size:.94rem}.teacher-card{border-radius:var(--radius-lg);background:var(--sage-light);display:grid;overflow:hidden}.teacher-art{place-content:center;min-height:16rem;display:grid;position:relative;overflow:hidden}.teacher-art>span{z-index:2;border:.45rem solid var(--paper);background:var(--coral);width:8rem;height:8rem;color:var(--white);font-family:var(--font-serif);border-radius:45% 55% 48% 52%;place-content:center;font-size:1.6rem;font-weight:800;display:grid;position:relative;transform:rotate(-6deg);box-shadow:0 12px 30px #433b2f21}.teacher-art i{background:var(--mustard);border-radius:50%;position:absolute}.teacher-art i:nth-child(2){width:3.5rem;height:3.5rem;top:1.5rem;right:2rem}.teacher-art i:nth-child(3){background:var(--blue);width:7rem;height:7rem;bottom:-2rem;left:-1rem}.teacher-copy{background:var(--dark);color:var(--white);padding:clamp(1.5rem,5vw,2.5rem)}.teacher-label{color:var(--white);border:1px solid #fff6;border-radius:999px;margin-bottom:.8rem;padding:.25rem .65rem;font-size:.7rem;font-weight:800;display:inline-flex}.teacher-copy h3{font-family:var(--font-serif);font-size:1.65rem}.teacher-copy p{color:#fffdf9c7}.teacher-copy .teacher-note{border-top:1px solid #ffffff2b;margin-bottom:0;padding-top:1rem;font-size:.75rem}.studio-environment{border-radius:var(--radius-lg);background:var(--paper-deep);margin-top:clamp(3.5rem,8vw,6rem);display:grid;overflow:hidden}.studio-environment figure{min-height:19rem;margin:0;position:relative;overflow:hidden}.studio-environment figure img{aspect-ratio:16/10;object-fit:cover;object-position:center;width:100%;height:100%}.studio-environment-copy{flex-direction:column;justify-content:center;padding:clamp(1.7rem,5vw,3.4rem);display:flex}.studio-environment-copy h3{max-width:15ch;font-family:var(--font-serif);font-size:clamp(1.7rem,5vw,2.45rem)}.studio-environment-copy>p:not(.eyebrow){margin-bottom:1.5rem}.studio-environment-copy ul{color:var(--ink);flex-wrap:wrap;gap:.55rem 1.2rem;margin:0 0 1.5rem;padding:0;font-size:.8rem;font-weight:800;list-style:none;display:flex}.studio-environment-copy li{align-items:center;gap:.4rem;display:inline-flex}.studio-environment-copy li span{color:var(--coral);font-size:1rem}.studio-environment-copy>small{border-top:1px solid var(--line);color:var(--ink-soft);padding-top:1rem;font-size:.7rem}.section-dark{background:var(--dark);color:var(--white)}.section-heading-light .eyebrow{color:var(--coral-light)}.section-heading-light>p{color:#fffdf9b3}.schedule-layout{gap:1.25rem;display:grid}.schedule-list{gap:1rem;display:grid}.schedule-card{border-radius:var(--radius-md);border:1px solid #ffffff2b;padding:1.5rem}.schedule-card h3{color:var(--coral-light);font-family:var(--font-serif);font-size:1.35rem}.schedule-card ul{gap:.45rem;margin-bottom:1rem;padding:0;font-weight:700;list-style:none;display:grid}.schedule-card li{align-items:center;gap:.65rem;display:flex}.schedule-card li:before{content:"";background:var(--mustard);border-radius:50%;flex:none;width:.5rem;height:.5rem}.schedule-card p{color:#fffdf9a1;margin-bottom:0;font-size:.8rem}.price-panel{border-radius:var(--radius-lg);background:var(--white);color:var(--ink);overflow:hidden}.price-notice{background:var(--coral-light);color:var(--coral-dark);align-items:center;gap:.55rem;padding:1rem 1.4rem;font-size:.78rem;font-weight:900;display:flex}.price-notice span{border:1px solid;border-radius:50%;place-content:center;width:1.25rem;height:1.25rem;font-family:serif;display:grid}.price-row{padding:1.5rem}.price-row+.price-row{border-top:1px solid var(--line)}.price-row.featured{background:#f6f2ea}.price-row h3{margin-bottom:.35rem}.price-row p{margin-bottom:0;font-size:.85rem}.price{color:var(--ink);margin-top:1.2rem}.price strong{font-family:var(--font-serif);font-size:1.9rem;display:block}.price span{color:var(--ink-soft);font-size:.8rem}.step-list{gap:1rem;margin:0 0 clamp(4rem,9vw,6rem);padding:0;list-style:none;display:grid}.step-list li{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);padding:1.5rem;position:relative}.step-list li>span{background:var(--coral);width:2.8rem;height:2.8rem;color:var(--white);font-family:var(--font-serif);border-radius:50%;place-content:center;margin-bottom:1.2rem;font-weight:800;display:grid}.step-list p{margin-bottom:0;font-size:.9rem}.faq-wrap{gap:1.5rem;display:grid}.faq-wrap>h3{font-family:var(--font-serif);font-size:1.7rem}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 0;font-weight:800;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-icon{border:1px solid var(--line);width:2rem;height:2rem;color:var(--coral);border-radius:50%;flex:none;place-content:center;transition:transform .18s;display:grid}.faq-list details[open] .faq-icon{transform:rotate(45deg)}.faq-list details>p{max-width:48rem;margin-bottom:1.5rem;padding-right:2rem}.contact-section{padding-top:1.5rem}.contact-card{border-radius:var(--radius-lg);background:var(--coral);box-shadow:var(--shadow);padding:0;display:grid;overflow:hidden}.contact-main{color:var(--white);padding:clamp(2rem,6vw,4.5rem)}.contact-main .eyebrow{color:var(--coral-light)}.contact-main h2{max-width:12ch}.contact-main>p:not(.eyebrow){color:#fffdf9d1;max-width:36rem;margin:1.2rem 0 2rem}.portfolio-note{background:var(--coral-dark);color:var(--white);padding:clamp(2rem,6vw,3rem)}.portfolio-kicker{color:var(--white);background:#ffffff1f;border-radius:999px;margin-bottom:1.2rem;padding:.3rem .7rem;font-size:.72rem;font-weight:800;display:inline-block}.portfolio-note h3{font-family:var(--font-serif);font-size:1.45rem}.portfolio-note p{color:#fffdf9bf}.portfolio-note a{color:var(--white);text-underline-offset:.3rem;align-items:center;gap:.5rem;font-weight:800;display:inline-flex}.site-footer{padding-block:2.5rem}.footer-inner{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.footer-inner p{margin-bottom:0;font-size:.75rem}.footer-inner a{color:var(--ink-soft);text-underline-offset:.25rem;font-size:.75rem;font-weight:800}.demo-dialog{border-radius:var(--radius-lg);background:var(--white);width:min(100% - 2rem,29rem);color:var(--ink);text-align:center;border:0;padding:2.2rem;box-shadow:0 28px 80px #1d191647}.demo-dialog::backdrop{backdrop-filter:blur(4px);background:#24221fad}.demo-dialog h2{margin-bottom:1rem;font-size:2rem}.demo-dialog>p:not(.eyebrow){margin-bottom:1.7rem}.dialog-art{justify-content:center;gap:.25rem;margin-bottom:1.2rem;display:flex}.dialog-art span{background:var(--coral);border-radius:50% 40% 55% 35%;width:2.3rem;height:2.3rem;display:block}.dialog-art span:nth-child(2){background:var(--sage);margin-top:.8rem;transform:rotate(25deg)}.dialog-art span:nth-child(3){background:var(--mustard);transform:rotate(-12deg)}@media (width>=40rem){.container{width:min(calc(100% - 4rem), var(--container))}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr)}.course-grid,.step-list{grid-template-columns:repeat(3,minmax(0,1fr))}.course-moment{grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr)}.gallery-heading{grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr)}.artwork-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-card{min-height:31rem}.section-heading{grid-template-columns:minmax(0,1fr) minmax(18rem,.75fr)}.teaching-grid{grid-template-columns:minmax(0,.85fr) minmax(22rem,1.15fr);gap:clamp(2rem,6vw,5rem)}.studio-environment{grid-template-columns:minmax(0,1.18fr) minmax(20rem,.82fr)}.schedule-layout{grid-template-columns:minmax(0,.9fr) minmax(24rem,1.1fr);gap:clamp(2rem,5vw,4rem)}.price-row{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.6rem 1.8rem;display:flex}.price-row>div{max-width:21rem}.price{text-align:right;flex:none;margin-top:0}.faq-wrap{grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);gap:4rem}.contact-card{grid-template-columns:minmax(0,1.45fr) minmax(20rem,.75fr)}.footer-inner{flex-direction:row;align-items:center}}@media (width>=64rem){.artwork-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.artwork-card:nth-child(2),.artwork-card:nth-child(5){transform:translateY(.8rem)}}@media (width>=40rem) and (width<=64rem){h1{font-size:clamp(3.15rem,7vw,3.7rem)}h2{font-size:clamp(2.25rem,5vw,2.8rem)}}@media (width<=52rem){nav{display:none}}@media (width<=39.99rem){.header-inner{min-height:4.4rem}.brand-mark{width:2rem;height:2rem}.button-small{min-height:2.45rem;padding-inline:.9rem}.hero{padding-top:3.5rem}.hero-grid{gap:3.5rem}.hero-copy .button{flex:9rem}.course-card{min-height:auto}.price-panel{border-radius:var(--radius-md)}.contact-card{width:min(calc(100% - 1.5rem), var(--container))}.contact-main .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
