:root{--paper:#f6f2ea;--ink:#272624;--muted:#625f59;--red:#a54136;--line:#d5b6a2;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;--sans:system-ui,-apple-system,'Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 var(--sans);-webkit-font-smoothing:antialiased}html[data-lang=ja] [data-l=en],html[data-lang=en] [data-l=ja]{display:none!important}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--red)}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p{color:var(--muted)}p+p{margin-top:1em}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.5;text-wrap:balance}h2{font-size:clamp(28px,3.1vw,43px)}h3{font-size:clamp(23px,2.1vw,28px)}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.site-header{padding-block:21px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;color:var(--red);font:27px/1.2 Georgia,serif;letter-spacing:.05em;white-space:nowrap}.brand>small{display:block;font:10px/1.8 var(--sans);letter-spacing:.12em;margin-top:4px}.header-controls{display:flex;align-items:center;gap:16px}.site-nav{display:flex;align-items:center;gap:20px;font-size:12px}.site-nav a{text-decoration:none}.nav-contact{padding:10px 15px;border:1px solid var(--red);color:var(--red)}.language-toggle{border:0;background:none;color:var(--red);font-size:12px;min-width:34px;min-height:44px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:40px 56px}.eyebrow{font-size:14px;color:var(--red);letter-spacing:.05em;margin-bottom:28px;display:flex;align-items:center;gap:14px}.eyebrow:before{content:'';width:28px;height:1px;background:var(--red);flex:none}h1{font-size:clamp(45px,5.4vw,74px);line-height:1.43;letter-spacing:.035em;margin-bottom:25px}.intro{font-size:16px}.actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 25px;background:var(--red);border:1px solid var(--red);color:white;text-decoration:none;font-size:14px;line-height:1.7;text-align:center}.button:hover{background:#833328;border-color:#833328;color:white}.button.outline{background:transparent;color:var(--red)}.button.outline:hover{background:var(--red);color:white}.text-link{color:var(--red);font-size:14px;text-decoration:none;display:inline-block}.text-link:hover{text-decoration:underline}.hero-art{max-width:510px;justify-self:end}.hero-art img{width:100%;height:auto;max-height:650px;object-fit:contain}.section{border-top:1px solid var(--line);padding-block:32px 42px}.section-label{color:var(--red);font:15px/1.6 Georgia,serif;margin-bottom:28px}.discover-grid{display:grid;grid-template-columns:42% 1fr;gap:64px;align-items:center}.ink-art{width:clamp(195px,22vw,270px);justify-self:center}.ink-art img{width:100%}.section-copy{max-width:540px}.subheading{font:25px/1.6 var(--serif);color:var(--ink);margin:14px 0 22px}.gentle-note{border-top:1px solid var(--line);padding-top:21px;margin-block:25px 17px}.gentle-note h3{font:500 20px/1.6 var(--sans);color:var(--red);margin-bottom:5px}.about-yoko{display:grid;grid-template-columns:44% 1fr;gap:48px;align-items:center;padding-block:34px 44px}.name{color:var(--red);font:50px/1.2 Georgia,serif;margin-block:14px 17px}.yoko-photo img{width:100%}.yoko-copy .text-link{margin-top:18px}.learning h2{margin-bottom:30px}.learning-grid{display:grid;grid-template-columns:42% 1fr;gap:38px}.online{border-right:1px solid var(--line);padding:20px 35px 25px 0}.learning-number{font:51px/1.1 Georgia,serif;color:var(--red);display:block;margin-bottom:23px}.online h3{margin-bottom:23px}.online p{margin-bottom:26px}.more-details{display:block;margin-top:18px}.group-photo img{width:100%}.experience-copy{display:grid;grid-template-columns:64px 1fr;gap:20px;padding-top:18px}.experience-copy .learning-number{font-size:43px}.experience-copy h3{margin-bottom:8px}.experience-copy p{font-size:15px;margin-bottom:18px}.contact-section{text-align:center;border-top:1px solid var(--line);padding-block:36px 39px}.contact-section h2{font-size:clamp(24px,2.4vw,32px);margin-bottom:12px}.contact-section>p{font-size:14px;margin-bottom:22px}.contact-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:22px;font-size:13px}.site-footer{display:flex;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:22px 30px;font-size:11px;color:var(--muted)}.footer-brand{color:var(--red);font:20px/1.3 Georgia,serif;text-decoration:none}.site-footer small{margin-left:auto;font-size:10px}.site-footer>a:not(.footer-brand){margin-left:auto}.skip-link{position:fixed;left:16px;top:-100px;background:var(--red);color:white;padding:12px 24px;z-index:100}.skip-link:focus{top:12px}.page-intro{padding-block:62px 36px;max-width:780px}.page-intro h1{font-size:clamp(36px,5vw,62px);margin-bottom:20px}.back-link{display:inline-block;color:var(--red);font-size:13px;margin-bottom:27px;text-decoration:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px;padding-bottom:65px}.gallery-item{min-width:0}.art-button{display:block;width:100%;border:1px solid #ded6ca;background:#eee8dd;padding:20px;height:370px}.art-button:hover{border-color:var(--red)}.art-button img{height:100%;width:100%;object-fit:contain}.gallery-item figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:var(--muted);font-size:12px}.gallery-item figcaption span:last-child{color:var(--red)}.lightbox{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(980px,calc(100% - 32px));max-height:94dvh}.lightbox::backdrop{background:rgba(24,22,20,.88)}.lightbox-top{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;font-size:14px}.lightbox-close{border:1px solid var(--line);background:none;min-height:44px;min-width:44px;font-size:24px}.lightbox img{width:100%;height:min(72dvh,850px);object-fit:contain;padding:0 18px}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:22px;padding:12px 20px 20px}.lightbox-controls button{background:none;border:1px solid var(--red);color:var(--red);min-width:70px;min-height:44px}.lightbox-status{font-size:12px}.lightbox-open{overflow:hidden}.details-section{border-top:1px solid var(--line);padding-block:38px;max-width:880px}.details-section h2{margin-bottom:20px}.details-section h3{margin-top:26px;margin-bottom:12px;font-size:24px}.course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:26px 0}.course-list li{border-top:1px solid var(--line);padding-top:16px}.course-list strong{font-family:var(--serif);font-size:22px;font-weight:500}.course-list p{font-size:14px}.fee-table{width:100%;border-collapse:collapse;margin-block:18px 24px}.fee-table th,.fee-table td{padding:14px 6px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.fee-table td:last-child{text-align:right;color:var(--red)}.small-note{font-size:13px}.book-facts{display:grid;grid-template-columns:150px 1fr;gap:12px 20px;margin-block:22px}.book-facts dt{color:var(--muted)}.book-facts dd{margin:0}.details-section:last-child{margin-bottom:25px}html[data-lang=en] h1{font-size:clamp(38px,4.8vw,64px);letter-spacing:0}html[data-lang=en] .site-nav{gap:13px;font-size:11px}html[data-lang=en] .brand>small{font-size:9px;letter-spacing:0}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-nav{gap:12px;font-size:11px}.hero,.discover-grid{gap:38px}.brand{font-size:23px}.header-controls{gap:10px}.nav-contact{padding-inline:12px}.about-yoko{gap:30px}.learning-grid{gap:28px}.online{padding-right:28px}}
@media(max-width:900px){.site-header{position:relative}.menu-toggle{display:flex;width:44px;height:44px;border:0;background:none;flex-direction:column;justify-content:center;gap:7px;padding:10px}.menu-toggle span{width:24px;height:1px;background:var(--red)}.site-nav{display:none;position:absolute;top:100%;right:0;left:0;z-index:20;background:var(--paper);border:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:14px 10px;font-size:14px}.site-nav .nav-contact{margin-top:12px}.hero{gap:32px}.hero h1{font-size:48px}.button{padding-inline:20px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-yoko h2{font-size:30px}.experience-copy{grid-template-columns:45px 1fr;gap:12px}.experience-copy .learning-number{font-size:36px}.learning-grid{grid-template-columns:40% 1fr}.learning h3{font-size:24px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.site-header{padding-block:19px 16px;gap:8px}.brand{font-size:22px}.brand>small{font-size:10px}.header-controls{gap:4px}.hero{display:flex;flex-direction:column;gap:30px;padding-block:35px 38px;align-items:stretch}.hero-copy{display:contents}.hero .eyebrow{order:0;margin:0;font-size:12px}.hero h1{order:1;font-size:clamp(35px,9.5vw,50px);line-height:1.5;margin:-13px 0 -9px;letter-spacing:.02em}.desktop-break{display:none}.hero .intro{order:2;font-size:14px}.hero-art{order:3;align-self:center;max-width:440px;width:100%}.hero .actions{order:4;flex-direction:column;gap:17px;margin:0}.hero .button{width:100%}.hero-art img{max-height:none}.section{padding-block:27px 33px}.section-label{font-size:13px;margin-bottom:20px}.discover-grid{display:flex;flex-direction:column;gap:26px;align-items:stretch}.section-copy{display:contents}.discover h2{order:0;font-size:29px}.discover .subheading{order:1;font-size:21px;margin:-13px 0 -10px}.discover .section-copy>p:not(.subheading){order:2;font-size:14px}.ink-art{order:3;width:55%;max-width:235px;align-self:center}.gentle-note{order:4;margin:0;padding-top:20px}.gentle-note h3{font-size:17px}.gentle-note p{font-size:14px}.discover .text-link{order:5;margin-top:-12px}.about-yoko{display:flex;flex-direction:column;gap:22px;align-items:stretch}.yoko-copy{display:contents}.about-yoko .section-label{order:0;margin-bottom:0}.about-yoko h2{order:1;font-size:28px}.yoko-photo{order:2}.about-yoko .name{order:3;font-size:42px;margin:0 0 -14px}.yoko-copy>p:not(.section-label):not(.name){order:4;font-size:14px}.yoko-copy .text-link{order:5;margin-top:-6px}.learning h2{font-size:29px;margin-bottom:24px}.learning-grid{grid-template-columns:1fr;gap:28px}.online{padding:0 0 30px;border-right:0;border-bottom:1px solid var(--line)}.online .learning-number{display:none}.online h3{margin-bottom:16px}.online p{font-size:14px;margin-bottom:20px}.online .button{width:100%}.experience-copy{grid-template-columns:1fr;gap:0;padding-top:21px}.experience-copy .learning-number{display:none}.experience-copy h3{font-size:25px;margin-bottom:14px}.experience-copy p{font-size:14px}.experience-copy .button{width:100%}.contact-section{padding-block:30px}.contact-section h2{font-size:25px}.contact-section .button{width:100%}.contact-links{gap:12px 20px;font-size:12px}.site-footer{gap:13px 17px;padding-block:22px 28px}.footer-brand{font-size:18px}.site-footer small{width:100%;margin:0}.site-footer>a:not(.footer-brand){margin-left:0}.page-intro{padding-block:35px 27px}.page-intro h1{font-size:38px}.page-intro p{font-size:14px}.gallery-grid{gap:26px 14px}.art-button{height:280px;padding:10px}.gallery-item figcaption{font-size:11px}.gallery-item figcaption span:last-child{display:none}.lightbox img{height:65dvh;padding:0 10px}.details-section{padding-block:28px}.details-section h2{font-size:28px}.details-section p{font-size:14px}.course-list{grid-template-columns:1fr}.book-facts{grid-template-columns:1fr;gap:4px;font-size:14px}.book-facts dd{margin-bottom:12px}.fee-table{font-size:14px}html[data-lang=en] .hero h1{font-size:40px}html[data-lang=en] .brand>small{font-size:7.5px}html[data-lang=en] .brand{font-size:20px}}
@media(max-width:380px){.gallery-grid{grid-template-columns:1fr}.art-button{height:420px}.brand{font-size:19px}.header-controls{gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Separate content pages; shared navigation stays text-only. */
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%}
.site-nav a[aria-current="page"]{color:var(--red);text-decoration:underline;text-underline-offset:8px}
.content-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-bottom:64px}
.content-split h2{font-size:clamp(25px,2.5vw,35px);margin-bottom:20px}
.about-art-page .ink-art{width:min(62%,250px)}.prose{max-width:780px}.prose p+p{margin-top:18px}
.yoko-page{grid-template-columns:1.1fr 1fr;align-items:start}.yoko-page .yoko-photo{padding-top:7px}
.page-links{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:24px}.page-links a{text-decoration:underline}
.visit-section .group-photo{margin:24px 0;max-width:780px}.book-page{padding-bottom:64px}
.footer-contacts{display:flex;gap:22px;flex-wrap:wrap}.site-footer small{margin-left:auto}
.legacy-links{display:flex;gap:20px;flex-wrap:wrap;padding-bottom:48px}
@media(max-width:680px){.content-split,.yoko-page{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.about-art-page .ink-art{order:2;width:50%}.content-split .prose{order:1}.yoko-page .yoko-photo{order:0}.footer-contacts{width:100%;gap:12px 20px;font-size:12px}.page-links{gap:16px}.book-page{padding-bottom:40px}}

/* Yoko selected the full Vietnam group photo for her profile. */
.yoko-page{display:block;max-width:960px;padding-bottom:38px}.yoko-page .yoko-photo{width:100%;padding-top:0;margin-bottom:28px}.yoko-page .prose{max-width:780px}

/* The introduction also appears below the homepage hero. */
.home-about>h2{margin-bottom:36px}.home-about .content-split{padding-bottom:0}.home-about h3{margin-bottom:20px}
@media(max-width:680px){.home-about>h2{margin-bottom:24px}}

/* Original book cover beside publication details. */
.book-layout{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:56px;align-items:start}.book-cover{width:100%;max-width:340px}.book-cover img{width:100%;height:auto}.book-layout .prose{min-width:0}
@media(max-width:760px){.book-layout{grid-template-columns:1fr;gap:28px}.book-cover{max-width:280px;justify-self:center}}

/* Yoko's original burgundy, cream and gold palette, with separate-page navigation. */
:root{--paper:#f7f2e9;--ink:#231a16;--muted:#65594f;--red:#591015;--deep:#31070a;--gold:#d1aa55;--sand:#e9dfd0;--line:#d5c7b4}
.site-header{background:var(--deep);color:var(--paper);width:100%;padding-inline:max(48px,calc((100vw - 1200px)/2));border-bottom:1px solid #71512e}
.brand,.language-toggle{color:#f5e6c8}.brand>small{color:#d1aa55}.site-nav a:hover,.site-nav a[aria-current="page"]{color:#efd28e}.menu-toggle span{background:#efd28e}
.home-page .hero{width:100%;padding:60px max(48px,calc((100vw - 1200px)/2)) 68px;background:linear-gradient(120deg,var(--deep),var(--red));color:var(--paper);gap:72px;min-height:640px}
.hero h1{color:#fff8ec}.hero .intro{color:#e1cfc4}.hero .text-link{color:#efd28e}.hero .button{background:var(--gold);border-color:var(--gold);color:var(--deep)}.hero .button:hover{background:#e2bd6d;border-color:#e2bd6d}
.hero-art{width:100%;max-width:430px;padding:12px;border:1px solid #ab844b;background:#31070a;box-shadow:0 18px 48px #18030555}.hero-art img{max-height:570px}
.home-about{padding-block:60px 68px;border-top:0}.home-about>h2{color:var(--red)}.page-intro h1{color:var(--red)}
.art-button{background:var(--sand);border:1px solid #c9b594;padding:18px}.art-button:hover{box-shadow:0 4px 18px #59101518}.gallery-grid{gap:36px 28px}
.site-footer{width:100%;padding:28px max(48px,calc((100vw - 1200px)/2));background:var(--deep);color:#e1cfc4;border-top:1px solid #71512e}.footer-brand{color:#efd28e}.site-footer a:hover{color:#efd28e}
@media(max-width:1100px){.site-header,.site-footer{padding-inline:32px}.home-page .hero{padding-inline:32px;gap:40px}.site-nav{gap:16px}}
@media(max-width:900px){.site-nav{background:var(--deep);border-color:#71512e}.home-page .hero{min-height:0}.hero h1{font-size:44px}.hero-art{padding:9px}}
@media(max-width:680px){.site-header{padding-inline:20px}.home-page .hero{padding:38px 20px 40px;gap:30px}.hero h1{font-size:clamp(35px,9.5vw,50px)}.hero-art{max-width:350px}.hero-art img{max-height:none}.home-about{padding-block:36px 42px}.site-footer{padding:25px 20px}.gallery-grid{gap:26px 14px}.art-button{padding:10px}}

/* Carry the burgundy and gold identity through the inner pages. */
.page-intro{max-width:none;margin-block:36px 38px;padding:34px 40px;background:var(--red);border-left:5px solid var(--gold);box-shadow:0 8px 24px #31070a12}
.page-intro h1{color:var(--paper);margin-bottom:0;font-size:clamp(36px,4.5vw,56px)}
.page-intro p{color:#efdfd1;margin-top:12px}
.details-section{max-width:100%;border-top:0;padding-top:0}
.details-section h2{color:var(--red);border-bottom:2px solid var(--gold);padding-bottom:14px}
.details-section h3{color:var(--red);border-left:4px solid var(--gold);padding-left:14px;margin-top:36px}
.course-list{gap:22px;margin-block:28px}
.course-list li{padding:0;border:1px solid #cbb58d;background:#fffaf2;box-shadow:0 4px 14px #31070a09}
.course-list strong{display:block;padding:18px 24px;background:var(--red);color:var(--paper);border-bottom:2px solid var(--gold);font-size:23px}
.course-list p{padding:14px 24px;color:var(--red);font-weight:600}
.fee-table{background:#fffaf2;border:1px solid #cbb58d}
.fee-table th,.fee-table td{padding:16px 24px}
.fee-table thead{background:var(--red);color:var(--paper);border-bottom:2px solid var(--gold)}
.fee-table tbody tr:nth-child(even){background:var(--sand)}
.fee-table tbody td:last-child{font-weight:600}
.details-section .actions{margin-block:24px 10px}
@media(max-width:680px){.page-intro{margin-block:24px 28px;padding:26px 22px}.page-intro h1{font-size:36px}.course-list{gap:16px}.course-list strong{padding:16px 20px;font-size:21px}.course-list p{padding:12px 20px}.fee-table th,.fee-table td{padding:14px 16px}}

/* Lighter lesson cards balance the burgundy page banner. */
#lessons .course-list li{border:1px solid var(--line);border-top:3px solid var(--red);background:#fffaf2;box-shadow:none}
#lessons .course-list strong{background:transparent;color:var(--red);border-bottom:0;padding-bottom:6px}
#lessons .course-list p{padding-top:0;padding-bottom:18px;color:var(--muted);font-weight:400}

/* Restore the original lesson layout; change accent colors only. */
.lessons-page .page-intro{max-width:780px;margin:0;padding:62px 0 36px;background:transparent;border:0;box-shadow:none}
.lessons-page .page-intro h1{font-size:clamp(36px,5vw,62px);margin-bottom:20px;color:var(--red)}
.lessons-page .details-section{max-width:880px;border-top:1px solid var(--red);padding-block:38px}
.lessons-page .details-section h2{border:0;padding:0;margin-bottom:20px;color:var(--red)}
.lessons-page .details-section h3{border:0;padding:0;margin-top:26px;margin-bottom:12px;color:var(--red)}
#lessons .course-list{gap:20px;margin:26px 0}
#lessons .course-list li{border:0;border-top:1px solid var(--red);padding-top:16px;background:transparent;box-shadow:none}
#lessons .course-list strong{display:inline;padding:0;background:transparent;border:0;font-size:22px;font-weight:500;color:var(--red)}
#lessons .course-list p{padding:0;font-size:14px;font-weight:400;color:var(--muted)}
#lessons .fee-table{background:transparent;border:0;margin-block:18px 24px}
#lessons .fee-table th,#lessons .fee-table td{padding:14px 6px;border-bottom:1px solid var(--line);font-weight:400}
#lessons .fee-table thead{background:transparent;color:var(--red);border-bottom:1px solid var(--red)}
#lessons .fee-table tbody tr:nth-child(even){background:transparent}
#lessons .actions{margin-top:30px;margin-bottom:0}
@media(max-width:680px){.lessons-page .page-intro{padding-block:35px 27px}.lessons-page .page-intro h1{font-size:38px}.lessons-page .details-section{padding-block:28px}}

/* Color-only lesson title treatment; preserve approved geometry. */
.lessons-page .page-intro{position:relative;isolation:isolate}
.lessons-page .page-intro::before{content:'';position:absolute;z-index:-1;inset:0;left:calc((min(1200px, 100vw - 96px) - 100vw)/2);width:100vw;background:linear-gradient(120deg,var(--deep),var(--red));border-bottom:1px solid var(--gold)}
.lessons-page .page-intro h1{color:var(--paper)}
.lessons-page .details-section{border-top-color:transparent}
#lessons .course-list li{border-top-color:var(--gold)}
@media(max-width:1100px){.lessons-page .page-intro::before{left:-32px}}
@media(max-width:680px){.lessons-page .page-intro::before{left:-20px}}

.lessons-page{overflow-x:clip}

/* Artist credits remain visible on mobile. */
.gallery-item .credited-caption [data-l]{display:inline}
.gallery-item .credited-caption{align-items:baseline;flex-wrap:wrap}.gallery-item .credited-caption .artist-credit{display:block;color:var(--red);text-align:right;margin-left:auto;font-size:12px}.profile-caption{font-size:13px;line-height:1.8;color:var(--muted);margin-top:12px}.home-about .prose p+p{margin-top:20px}
