:root{--paper:#f7f4ec;--ink:#212d27;--muted:#59655d;--accent:#ccf36b;--line:#d8ded2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #bc572a;outline-offset:6px}header{padding:25px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:42px;font-weight:900;letter-spacing:-3px}.brand span{font-size:10px;line-height:1.4;letter-spacing:1.5px;border-left:1px solid;padding-left:12px}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.nav-contact{border-bottom:1px solid;padding-bottom:7px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:64px 5% 55px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;line-height:1.7}.hero h1{font-size:clamp(40px,4.5vw,72px);line-height:1.05;letter-spacing:-3px;font-weight:500;margin:25px 0}em{font-family:Georgia,serif;font-weight:400}.intro{max-width:470px;line-height:1.7;font-size:17px;color:var(--muted)}.actions{display:flex;gap:28px;align-items:center;margin:32px 0 45px}.button{display:inline-flex;justify-content:center;align-items:center;padding:17px 24px;background:var(--ink);color:white;border-radius:4px;font-size:14px;font-weight:bold;transition:background .2s}.button:hover{background:#405842}.text-link{font-size:14px;border-bottom:1px solid;padding:6px 0}.next{border-top:1px solid var(--line);padding-top:23px;display:flex;gap:13px;align-items:center}.dot{width:9px;height:9px;background:#658a38;border-radius:50%}.next small{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.next a{display:block;font-size:14px;margin-top:8px}.next a span{margin-left:15px}.hero-photo{margin:0;position:relative;align-self:stretch;min-height:490px;border-radius:140px 4px 4px 4px;overflow:hidden;background:#d3dacb}.hero-photo img{height:100%;width:100%;object-fit:cover;position:absolute;object-position:58% center}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 22px 16px;color:white;background:linear-gradient(transparent,#17251bdd);font-size:12px}.hero-photo figcaption span{float:right;font-size:10px}.genres{display:flex;justify-content:space-around;align-items:center;gap:18px;padding:23px 5%;background:var(--accent);font-weight:bold;letter-spacing:2px;font-size:14px;flex-wrap:wrap}.genres span{font-size:20px}.section{padding:85px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px;gap:25px}h2{font-size:clamp(34px,3.7vw,52px);font-weight:500;letter-spacing:-2px;line-height:1.12;margin:15px 0}p{line-height:1.6}.section-heading>p{color:var(--muted);font-size:15px}.event{display:grid;grid-template-columns:85px 1fr 230px;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0}.date{font-size:12px;letter-spacing:2px;text-align:center;padding-top:7px}.date strong{display:block;font-size:58px;font-weight:400;letter-spacing:-3px;margin:5px 0}.tag{display:inline-block;background:#e4e8dc;padding:7px 10px;border-radius:3px;font-size:9px;letter-spacing:1.5px;font-weight:bold}h3{font-weight:500;font-size:30px;letter-spacing:-1px;margin:16px 0 8px}.event-main>p{margin:8px 0;font-size:14px}.event-description{max-width:590px;color:var(--muted)}.times{display:flex;flex-wrap:wrap;gap:24px;margin-top:23px;font-size:10px;color:var(--muted)}.times b{display:block;font-size:12px;color:var(--ink);margin-top:7px}.event-book{align-self:center}.event-book p{font-size:12px}.event-book strong{font-size:34px;font-weight:500}.event-book .button{width:100%}.event-book small{display:block;font-size:10px;margin-top:12px;color:var(--muted)}.coming{display:flex;gap:25px;align-items:center;padding-top:24px;font-size:12px;flex-wrap:wrap}.coming>span{font-size:9px;letter-spacing:1.4px}.coming a{margin-left:auto;text-decoration:underline}.classes{background:#eaece3}.class-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}.class-grid article{border-top:1px solid #aab5a4;padding-top:20px;display:flex;flex-direction:column}.class-number{font:italic 26px Georgia,serif;color:#6d7d67}.class-grid h3{margin-top:5px;font-size:32px;min-height:72px}.class-grid p{font-size:14px}.class-grid .eyebrow{font-size:9px;margin-top:23px}.class-grid b{font-weight:500}.class-grid .location{color:var(--muted);font-size:12px;margin-top:auto;padding-top:12px}.class-grid a{margin-top:13px;font-size:13px;font-weight:bold;padding-bottom:8px;align-self:start;border-bottom:1px solid}.class-note{margin:34px 0 0;font-size:12px;color:var(--muted)}.private{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.private img{width:100%;height:100%;min-height:490px;max-height:640px;object-fit:cover}.private>div{padding:65px 12%}.private p:not(.eyebrow){font-size:15px;color:#d0d7ce;max-width:450px}.private .button{background:var(--accent);color:var(--ink);margin-top:20px}.contact{text-align:center;padding:95px 5%}.contact h2{font-size:72px}.contact>p:not(.eyebrow){color:var(--muted)}.email{display:inline-block;font-size:clamp(15px,2vw,25px);border-bottom:1px solid;padding-bottom:10px;margin:15px 0}.social{display:flex;justify-content:center;gap:30px;font-size:12px;margin-top:25px}footer{border-top:1px solid var(--line);margin:0 5%;padding:25px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}footer .brand{font-size:30px}footer p,footer small{font-size:11px;color:var(--muted)}@media(min-width:1500px){body{max-width:1700px;margin:auto}}@media(max-width:900px){nav{gap:15px}.hero{gap:30px}.hero h1{font-size:45px}.hero-photo{min-height:460px}.event{grid-template-columns:65px 1fr}.event-book{grid-column:2;max-width:270px}.class-grid{gap:20px}.private>div{padding:45px 9%}.private h2{font-size:35px}.actions{gap:15px}.button{padding:16px}.genres{font-size:11px}}@media(max-width:640px){header{padding:18px 6%;flex-wrap:wrap;gap:20px}.brand{font-size:34px}nav{width:100%;justify-content:space-between;font-size:11px;gap:10px}.hero{grid-template-columns:1fr;padding:34px 6%}.hero h1{font-size:48px;letter-spacing:-2.5px}.intro{font-size:16px}.hero-photo{height:380px;min-height:0;border-radius:90px 4px 4px 4px}.genres{gap:13px;font-size:9px;letter-spacing:1px}.genres span{font-size:12px}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:28px}h2{font-size:37px}.event{gap:18px;grid-template-columns:50px 1fr;padding:26px 0}.date{font-size:9px}.date strong{font-size:43px}h3{font-size:25px}.times{gap:15px}.coming{gap:13px}.coming a{margin-left:0}.class-grid{grid-template-columns:1fr;gap:35px}.class-grid h3{min-height:0}.class-grid p{margin:9px 0}.class-grid .eyebrow{margin-top:14px}.private{grid-template-columns:1fr}.private img{height:350px;min-height:0}.private>div{padding:40px 6%}.contact h2{font-size:56px}footer{flex-wrap:wrap}footer small{width:100%}.hero-photo figcaption{font-size:10px}.hero-photo figcaption span{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.rentals{display:grid;grid-template-columns:220px 1fr;gap:45px;align-items:center;border-bottom:1px solid var(--line);padding-top:55px;padding-bottom:55px}.rentals img{width:100%;height:auto;border-radius:4px}.rentals h2{font-size:32px;letter-spacing:-1px}.rentals p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:580px}.rentals .text-link{display:inline-block;margin-top:8px}@media(max-width:640px){.rentals{grid-template-columns:1fr;gap:22px}.rentals img{max-width:220px}.rentals h2{font-size:29px}}

.language-switch{display:inline-flex;align-items:center;gap:9px;font-size:12px;white-space:nowrap}.language-switch a[aria-current="page"]{font-weight:800;text-decoration:underline;text-underline-offset:5px}.language-switch>span{opacity:.4}html[lang="ko"] body{font-family:"Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;word-break:keep-all;overflow-wrap:break-word}html[lang="ko"] em{font-family:inherit;font-style:normal}html[lang="ko"] .hero h1{font-size:clamp(32px,3.6vw,56px);line-height:1.3;letter-spacing:-2px}html[lang="ko"] h2{line-height:1.3;letter-spacing:-1.5px}html[lang="ko"] .contact h2{font-size:clamp(36px,5vw,64px)}@media(max-width:900px){nav{flex-wrap:wrap;justify-content:flex-end;gap:15px}}@media(max-width:640px){nav{justify-content:space-between}.language-switch{margin-left:auto}html[lang="ko"] .hero h1{font-size:34px;letter-spacing:-1.5px}html[lang="ko"] .hero-photo figcaption span{float:none;display:block;margin-top:5px}}

/* Social video: preserve the original portrait frame and accessible controls. */
.hero-photo.hero-video{align-self:center;justify-self:center;width:min(100%,360px);height:auto;min-height:0;border-radius:12px;background:#212d27;overflow:hidden}.hero-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#111}.hero-photo.hero-video figcaption{position:static;background:var(--ink);color:var(--paper);padding:12px 16px;font-size:12px;text-align:center}@media(max-width:640px){.hero-photo.hero-video{width:min(100%,340px);height:auto;min-height:0}}
.rental-showcase{border-bottom:1px solid var(--line)}.rental-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}.rental-intro>div>p:not(.eyebrow){color:var(--muted);max-width:580px}.rental-intro .button{margin-top:16px}.rental-intro figure{margin:0;background:white;border-radius:12px;padding:24px;text-align:center}.rental-intro img{display:block;width:100%;height:300px;object-fit:contain}.rental-showcase figcaption{font-size:13px;padding:14px 8px;color:var(--muted)}.rental-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:42px 0}.rental-packages article{border:1px solid var(--line);border-radius:8px;padding:25px;background:#fffdf7}.rental-packages h3{font-size:23px;line-height:1.3;margin:0 0 20px}.rental-price{font-size:38px;line-height:1.2;margin:15px 0}.rental-price span{font-size:14px;color:var(--muted)}.rental-packages article>p:not(.rental-price){font-size:14px}.rental-extra{border-top:1px solid var(--line);padding-top:15px;color:var(--muted)}.rental-gallery-heading{font-size:26px;margin:40px 0 24px}.rental-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.rental-gallery figure{margin:0;background:white;border-radius:8px;padding:12px;text-align:center}.rental-gallery img{display:block;width:100%;height:210px;object-fit:contain}.rental-gallery a{display:block}@media(max-width:900px){.rental-packages{gap:12px}.rental-packages article{padding:18px}.rental-intro{gap:25px}}@media(max-width:640px){.rental-intro{grid-template-columns:1fr}.rental-intro img{height:260px}.rental-packages{grid-template-columns:1fr}.rental-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rental-gallery img{height:150px}.rental-gallery figcaption{font-size:12px}.rental-intro .button{font-size:13px}}

/* Prominent upcoming Halloween event */
.halloween-event{margin-top:28px;padding:30px;border:1px solid #cfc3df;border-left:6px solid #79618f;border-radius:10px;background:#eee8f4;align-items:center}.halloween-event .tag{background:#ddd0ea;color:#493357}.halloween-event h3{font-size:clamp(26px,3vw,38px);margin:15px 0}.halloween-event .date strong{font-size:58px}.halloween-event .event-book{width:100%}.halloween-event .event-book .button{background:#493357}.halloween-event .event-book .button:hover{background:#634677}.halloween-event .event-main>p{font-size:15px;color:var(--muted)}@media(max-width:640px){.halloween-event{padding:24px 18px;gap:18px;margin-top:24px}.halloween-event .date strong{font-size:45px}.halloween-event h3{font-size:27px}.halloween-event .event-book{max-width:none}}

.class-pricing{margin:18px 0;padding:16px 18px;border-radius:6px;background:#f7f4ec}.class-grid .class-pricing p{margin:5px 0;font-size:15px}.class-grid .class-pricing strong{font-weight:700}.class-pricing small{font-size:12px;color:var(--muted)}.class-bundle{margin-top:30px;padding:20px 24px;background:var(--ink);color:var(--paper);border-radius:6px}.class-bundle p{margin:5px 0;font-size:15px}.class-bundle strong{color:var(--accent)}

/* Class checkout buttons */
.class-payment-actions{display:flex;flex-direction:column;gap:10px;margin:16px 0 6px}.class-grid .class-payment-actions a.button,.class-bundle a.button{display:flex;align-self:stretch;margin:0;padding:15px 18px;border:0;color:#fff;text-align:center;line-height:1.5;min-height:48px}.class-bundle .class-payment-actions{max-width:360px}.class-payment-note{font-size:12px;color:var(--muted);line-height:1.6}
