:root{--brown:#6b432e;--ink:#30241e;--muted:#75645a;--cream:#eee2d6;--paper:#fffaf4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{background:var(--paper);color:var(--ink);word-break:keep-all;margin:0;font-family:Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:is(a:focus-visible,button:focus-visible,summary:focus-visible){outline-offset:5px;outline:3px solid #b78056}header{border-bottom:1px solid #e0d2c4;justify-content:space-between;align-items:center;max-width:1280px;margin:auto;padding:25px 44px;display:flex}.brand{align-items:center;gap:13px;font-size:17px;font-weight:700;display:flex}.brand small{color:var(--muted);font-size:13px;font-weight:400;display:block}.logo{color:var(--brown);font-family:Georgia,serif;font-size:40px;line-height:1}nav{align-items:center;gap:30px;font-size:14px;display:flex}.nav-cta{border:1px solid #ccb7a3;border-radius:99px;padding:8px 19px}main{max-width:1280px;margin:auto}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:76px 44px 70px;display:grid}.eyebrow{letter-spacing:.19em;color:var(--brown);margin:0 0 22px;font-size:12px;font-weight:700}h1{letter-spacing:-.05em;margin:0 0 26px;font-size:clamp(46px,5.1vw,68px);font-weight:600;line-height:1.25}h1 em{color:var(--brown);font-style:normal}.intro{color:var(--muted);margin-bottom:30px;line-height:1.9}.button{background:var(--brown);color:#fff;border-radius:8px;padding:15px 23px;font-size:16px;font-weight:600;transition:background .2s;display:inline-block}.button:hover{background:#4c2c1d}.micro{color:var(--muted);margin-top:18px;font-size:13px}.hero-art{background:var(--cream);border-radius:150px 8px 8px;flex-direction:column;align-self:stretch;min-height:470px;margin:0;display:flex;position:relative;overflow:hidden}.hero-art img{object-fit:cover;flex:1;width:100%;height:440px;min-height:0}.hero-art figcaption{justify-content:space-between;gap:15px;padding:18px 22px;font-size:14px;display:flex}.hero-art figcaption small{color:var(--muted);font-size:12px}.stamp{width:100px;height:100px;color:var(--brown);text-align:center;background:#fffaf4e8;border-radius:50%;place-content:center;font:italic 16px/1.3 Georgia,serif;display:grid;position:absolute;top:30px;right:24px;transform:rotate(8deg)}.facts{border-top:1px solid #e0d2c4;border-bottom:1px solid #e0d2c4;grid-template-columns:repeat(3,1fr);padding:30px 44px;display:grid}.facts div{border-left:1px solid #e0d2c4;flex-direction:column;padding-left:32px;display:flex}.facts div:first-child{border-left:0;padding-left:0}.facts strong{color:var(--brown);font-size:30px;font-weight:600}.facts span{color:var(--muted);font-size:14px}section:not(.hero):not(.facts){padding:85px 44px}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px;display:flex}h2{letter-spacing:-.04em;margin:0;font-size:clamp(30px,3vw,40px);font-weight:600;line-height:1.45}.section-heading p{color:var(--muted);margin:0;line-height:1.9}.approach-grid{grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.approach-grid article{border-top:2px solid #b68b6b;padding-top:25px}.approach-grid span{color:var(--brown);font-size:14px}.approach-grid h3{letter-spacing:-.02em;margin:15px 0 12px;font-size:23px}.approach-grid p{color:var(--muted);margin:0}.classes{background:var(--cream)}.tabs{gap:8px;margin:25px 0;display:flex}.tabs button{color:var(--brown);background:0 0;border:1px solid #ccb7a3;border-radius:99px;padding:10px 22px;font-size:15px}.tabs button[aria-selected=true]{background:var(--brown);color:#fff;border-color:var(--brown)}.class-panel{background:var(--paper);border-radius:10px;grid-template-columns:1fr 1fr;gap:36px;padding:40px;display:grid}.pill{color:var(--brown);border-bottom:1px solid #ccb7a3;padding-bottom:6px;font-size:13px}.class-panel h3{letter-spacing:-.03em;margin:20px 0 0;font-size:29px;line-height:1.6}.class-panel p{color:var(--muted);margin:0}dl{margin:22px 0}dl div{border-bottom:1px solid #e0d2c4;gap:28px;padding:9px 0;font-size:14px;display:flex}dt{color:var(--muted)}dd{margin:0}.text-link{color:var(--brown);border-bottom:1px solid var(--brown);font-weight:600;display:inline-block}.process ol{grid-template-columns:repeat(3,1fr);gap:40px;margin:40px 0 0;padding:0;list-style:none;display:grid}.process li span{color:#b5a1ce;font:36px Georgia,serif}.process h3{margin:12px 0;font-size:22px}.process p{color:var(--muted);margin:0}.faq{border-top:1px solid #e0d2c4;grid-template-columns:.8fr 1.2fr;gap:60px;display:grid}.faq-list details{border-bottom:1px solid #e0d2c4;padding:21px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;font-size:17px;font-weight:600}.faq-list p{color:var(--muted);margin-bottom:0}.contact{background:var(--brown);color:#fff;text-align:center}.contact .eyebrow{color:#d9c8f0}.contact h2{font-size:clamp(32px,3.6vw,46px)}.contact>p:not(.eyebrow){color:#eee6f8;margin:22px 0 28px;line-height:1.9}.button.light{color:var(--brown);background:#fff}.button.light:hover{background:#eee2d6}.contact>small{color:#ded0ef;margin:15px 0 35px;font-size:13px;display:block}.message-box{text-align:left;background:#ffffff08;border:1px solid #9b87b7;border-radius:10px;max-width:530px;margin:auto;padding:22px 26px}.message-box p{color:#ded0ef;margin:0 0 13px;font-size:13px}.message-box div{font-size:15px;line-height:1.8}.message-box button{color:#fff;background:0 0;border:1px solid #bba6d5;border-radius:6px;margin-top:18px;padding:7px 14px;font-size:14px}.message-box span{margin-top:10px;font-size:13px;display:block}footer{justify-content:space-between;align-items:center;gap:25px;max-width:1280px;margin:auto;padding:36px 44px;display:flex}footer>p{color:var(--muted);font-size:14px}footer>span{letter-spacing:.08em;color:var(--muted);font-size:12px}@media (max-width:760px){header{padding:20px 22px}nav{gap:12px}nav>a:first-child{display:none}.brand{font-size:15px}.hero{grid-template-columns:1fr;gap:30px;padding:45px 22px 36px}h1{font-size:46px}.hero-art{border-radius:100px 8px 8px;min-height:340px}.hero-art img{height:320px}.hero-art figcaption{flex-wrap:wrap;gap:0;padding:14px 18px;font-size:13px}.facts{gap:10px;padding:24px 22px}.facts div{padding-left:12px}.facts strong{font-size:24px}.facts span{font-size:13px}section:not(.hero):not(.facts){padding:55px 22px}.section-heading{margin-bottom:28px;display:block}.section-heading>p{margin-top:22px}.approach-grid{grid-template-columns:1fr;gap:28px}.approach-grid h3{margin:10px 0}.tabs{flex-wrap:wrap;gap:6px}.tabs button{padding:9px 14px;font-size:14px}.class-panel{grid-template-columns:1fr;gap:22px;padding:25px}.class-panel h3{font-size:25px}.process ol{grid-template-columns:1fr;gap:28px}.process li{padding-left:55px;position:relative}.process li span{position:absolute;top:0;left:0}.process h3{margin:0 0 8px}.faq{grid-template-columns:1fr;gap:30px}.contact .button{max-width:100%}.message-box{padding:20px}footer{flex-wrap:wrap;padding:28px 22px}footer>p{margin:0}footer>span{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}.classroom{border-top:1px solid #e0d2c4;grid-template-columns:1fr 1fr;align-items:center;gap:50px;display:grid}.classroom p:not(.eyebrow){color:var(--muted);margin-top:25px}.classroom figure{margin:0}.classroom img{object-fit:cover;object-position:center 65%;border-radius:8px;width:100%;max-height:530px}.classroom figcaption{color:var(--muted);margin-top:10px;font-size:13px}.booking-form{text-align:left;max-width:660px;color:var(--ink);background:#fff;border-radius:12px;margin:30px auto 0;padding:30px}.booking-form label{margin-bottom:16px;font-size:15px;display:block}.booking-form input:not([type=checkbox]),.booking-form select{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #ccb7a3;border-radius:6px;margin-top:6px;padding:12px;display:block}.booking-form fieldset{border:0;margin:0;padding:0}.booking-form legend{margin-bottom:12px;font-size:16px;font-weight:600}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.checkbox{align-items:start;gap:10px;display:flex!important}.checkbox input{margin-top:6px}.privacy{color:var(--muted);background:var(--cream);border-radius:6px;margin-bottom:18px;padding:15px;font-size:13px}.booking-form button{border:0}.booking-form .button:disabled{opacity:.6;cursor:wait}.form-result{margin-top:18px;font-size:16px}.instagram-alt{font-size:14px}.instagram-alt a{text-decoration:underline}.admin{max-width:1000px;margin:40px auto;padding:24px}.admin-list{gap:20px;display:grid}.admin-card{background:#fff;border:1px solid #ccb7a3;border-radius:10px;padding:22px}.admin-card h2{font-size:22px}.admin-card button,.admin-card select{font:inherit;margin:8px 10px 0 0;padding:10px}.admin-card dl div{flex-wrap:wrap}.admin-card dd{overflow-wrap:anywhere}.admin-card ul{padding-left:20px}@media (max-width:760px){.classroom{grid-template-columns:1fr;gap:25px}.booking-form{padding:22px 18px}.form-row{grid-template-columns:1fr;gap:0}}.hero-art{border-radius:8px}.hero-art img{object-position:center 43%}.hero-art figcaption{background:var(--cream)}.gallery{border-top:1px solid #e0d2c4}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.photo-grid figure{background:var(--cream);aspect-ratio:3/4;border-radius:5px;margin:0;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.photo-grid figure:hover img{transform:scale(1.025)}@media (max-width:760px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-grid figure:last-child{aspect-ratio:4/3;grid-column:1/-1}.hero-art{min-height:420px}}.booking-form textarea{width:100%;font:inherit;color:var(--ink);resize:vertical;background:#fff;border:1px solid #ccb7a3;border-radius:6px;min-height:105px;margin-top:6px;padding:12px;display:block}.student-notes{white-space:pre-wrap;overflow-wrap:anywhere}.admin-card h2 small{font-size:14px;font-weight:400;display:block}.hero-art{align-self:center;min-height:0}.hero-art img{aspect-ratio:16/9;object-fit:contain;flex:none;width:100%;height:auto;display:block}.hero-art .stamp{display:none}@media (max-width:760px){.hero-art{min-height:0}.hero-art img{height:auto}}
