/*
Theme Name: Eichi Sakura
Description: A pink sakura and wabi-sabi theme for Eichi No Yakata. Custom home and course templates, with standard WordPress pages and WooCommerce hooks.
Version: 1.0.3
Author: Eichi No Yakata
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eichi-sakura
*/
@font-face{font-family:local-serif;src:local('Songti SC')}
:root{--paper:#fcf8f5;--ink:#383330;--muted:#726761;--pink:#ad4c65;--pink-light:#f3e2e3;--line:#dfd3cd;--serif:local-serif,'Noto Serif CJK SC','Songti SC','STSong','SimSun',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:118px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(38px,5.1vw,74px);line-height:1.4;letter-spacing:.055em}h2{font-size:clamp(28px,3vw,42px);line-height:1.6;letter-spacing:.05em}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #80445a;outline-offset:5px}a:hover{color:var(--pink)}.skip{position:fixed;left:12px;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.site-header{max-width:1440px;margin:auto;padding:20px 5.6%;height:116px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10;border-bottom:1px solid rgba(205,184,175,.38)}.brand{display:flex;align-items:center;gap:18px}.brand img{width:72px;height:78px;object-fit:contain}.brand>span{font-family:Georgia,serif;font-size:12px;letter-spacing:.15em}.brand small{display:block;font-family:var(--serif);font-size:11px;letter-spacing:.1em;margin-top:3px;color:var(--muted)}nav{display:flex;align-items:center;gap:36px;font-size:14px;letter-spacing:.07em}.nav-contact{padding:9px 18px;border:1px solid #bfa7a0}.nav-contact span{margin-left:15px}.menu-toggle{display:none}.hero{min-height:650px;position:relative;isolation:isolate;max-width:1800px;margin:auto;overflow:hidden}.hero-art{position:absolute;inset:-60px 0 0;z-index:-2;background:url('assets/sakura-garden.jpg') 70% 50%/cover no-repeat;mask-image:linear-gradient(to bottom,#000 80%,transparent 100%)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--paper) 0%,rgba(252,248,245,.5) 38%,transparent 65%)}.hero-inner{max-width:1280px;margin:auto;padding:75px 6% 115px}.eyebrow{font-size:10px;letter-spacing:.23em;color:#855b61;font-weight:500;margin-bottom:23px}.hero .eyebrow{letter-spacing:.2em;font-size:12px}.hero h1{margin-bottom:20px}.hero-sub{font-family:var(--serif);font-size:22px;letter-spacing:.1em;margin-bottom:13px}.hero-copy{color:#71625b;line-height:2.1;font-size:15px;margin-bottom:29px}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:13px 27px;background:var(--pink);color:white;border:1px solid var(--pink);border-radius:2px;font-size:14px;letter-spacing:.06em;transition:background .2s}.button:hover{background:#8d3e54;color:white}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:14px;border-bottom:1px solid #bd9b9d;padding:8px 0}.scroll-cue{position:absolute;bottom:30px;left:7%;display:flex;align-items:center;gap:25px;font-size:11px;color:var(--muted);letter-spacing:.12em}.vertical-note{position:absolute;right:3.5%;top:42%;writing-mode:vertical-rl;font-family:var(--serif);font-size:12px;letter-spacing:.3em;color:#64564d}.section{max-width:1160px;margin:auto;padding:95px 36px;border-bottom:1px solid var(--line)}.learning{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding-top:75px}.prose{font-size:15px;line-height:2.15;color:#625852}.prose p{margin-bottom:18px}.prose strong{font-weight:400}.teacher-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1200px;margin:65px auto 0;padding:20px 45px 0;gap:65px}.teacher-portrait{align-self:end;position:relative;isolation:isolate;text-align:center}.teacher-portrait img{position:relative;display:block;max-height:660px;width:auto;margin:auto;object-fit:contain;mask-image:linear-gradient(#000 82%,transparent 100%)}.portrait-halo{position:absolute;inset:12% -10% 0;background:radial-gradient(ellipse at center,#efddda 0%,#f5e9e4 40%,transparent 70%);z-index:-1}.teacher-copy{padding-bottom:45px}.teacher-copy h2{margin-bottom:7px}.teacher-name{font-family:Georgia,serif;font-size:40px;line-height:1.5;margin-bottom:25px}.teacher-name span{font-size:17px;color:var(--muted);font-style:italic}.voices{display:grid;grid-template-columns:1fr 1.25fr;gap:65px;align-items:center;padding-top:80px}.muted{color:var(--muted);font-size:14px}.video-item{min-width:0}.video-play{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;overflow:hidden;background:#ecdcd9}.video-play img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.75)}.video-play:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#201a1966)}.play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:rgba(252,248,245,.94);color:var(--pink);padding-left:4px;z-index:2;box-shadow:0 0 0 8px #ffffff25}.video-label{position:absolute;bottom:12px;left:18px;color:white;font-size:12px;z-index:2}.video-caption{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding-top:13px}.video-caption a{color:var(--muted);text-decoration:underline;text-underline-offset:4px}.video-item iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 30px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-head h2{margin-bottom:0}.trial{display:grid;grid-template-columns:1fr .78fr;gap:90px;align-items:center;background:radial-gradient(ellipse at 20% 40%,#f7e8e8,transparent 65%)}.trial p:not(.eyebrow){font-size:14px;color:var(--muted)}.trial .button{margin:15px 0 30px}.poster-link{max-width:330px;justify-self:center}.poster-link img{display:block;width:100%;box-shadow:0 12px 30px #72524710}.poster-link span{font-size:12px;display:block;text-align:center;padding:12px;color:var(--muted)}details{font-size:13px}summary{cursor:pointer;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}details img{display:block;margin-top:15px}.contact-section{text-align:center;padding:105px 25px;background:radial-gradient(ellipse at bottom,#f0dcdf,transparent 72%)}.contact-section h2{margin-bottom:15px}.contact-section p:not(.eyebrow){color:var(--muted);font-size:15px}.contact-section .actions{justify-content:center;margin-top:28px}footer{max-width:1280px;padding:35px 5.6% 22px;margin:auto;font-size:12px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding-bottom:26px}.footer-name{font-family:var(--serif);font-size:22px}.footer-name small{display:block;font-family:Georgia,serif;font-size:9px;letter-spacing:.2em}.footer-top>div,.footer-bottom>div{display:flex;gap:26px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px;padding-top:21px}.page-title{padding:70px 30px 45px;text-align:center;background:radial-gradient(ellipse at top,#f4e2e4,transparent 75%)}.page-title h1{font-size:clamp(30px,4vw,52px);margin-bottom:16px}.page-title p:not(.eyebrow){color:var(--muted)}.source-page{max-width:900px;margin:0 auto;padding:0 35px 75px;overflow-wrap:anywhere}.source-page h2{font-size:28px;margin:38px 0 20px}.source-page p,.source-page li{font-size:15px;line-height:2.1}.source-page img{display:block;max-height:750px;max-width:100%;object-fit:contain;margin:20px auto}.source-page .image{margin:35px auto}.source-page .heading{border-top:1px solid var(--line);margin-top:40px;padding-top:15px}.source-page .button{margin:15px 0}.source-page video{width:100%}.source-page .video,.source-page .wp-widget-media_video{margin:35px 0}.source-page table{width:100%;table-layout:fixed}.source-page td{text-align:center;overflow-wrap:anywhere;padding:8px}.source-page td img{max-width:70px}.source-page pre{white-space:pre-wrap;font-family:inherit}.source-page .text-editor strong{font-weight:500}.course-source>.image:first-child img{max-height:250px}.payment-layout{max-width:750px;margin:60px auto 90px;padding:0 25px}.payment-layout h1{font-size:42px}.payment-card{margin-top:35px;padding:40px;background:white;border:1px solid var(--line)}.payment-card h2{font-size:26px}.payment-status{display:inline-block;color:var(--pink);font-size:12px;margin-bottom:15px}.payment-policy{font-size:12px;margin-top:25px;text-decoration:underline}
@media(min-width:1500px){.hero-inner{padding-left:45px}.hero{min-height:730px}.hero-art{background-position:center}.hero-inner{padding-top:110px}}
@media(max-width:900px){.brand>span{display:none}nav{gap:22px}.learning{gap:35px}.teacher-section{gap:35px;padding:0 30px}.teacher-portrait img{max-height:590px}.voices{gap:35px}.trial{gap:40px}.hero:after{background:linear-gradient(90deg,var(--paper),#fcf8f5b0 40%,transparent)}.hero-art{background-position:60% center}}
@media(max-width:640px){html{scroll-padding-top:20px}.site-header{height:92px;padding:10px 24px}.brand img{width:59px;height:65px}.brand>span{display:block;font-size:10px}.brand small{font-size:9px}.menu-toggle{display:flex;gap:12px;align-items:center;border:0;background:none;font-size:13px;padding:10px 0 10px 10px}nav{display:none;position:absolute;top:92px;left:0;right:0;background:var(--paper);padding:24px;box-shadow:0 15px 25px #5b393011}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0}nav a{padding:12px 0}.nav-contact{border:none}.hero{min-height:680px}.hero-inner{padding:56px 26px 175px}.hero h1{font-size:42px;line-height:1.5}.hero-sub{font-size:18px}.hero-copy{font-size:14px}.hero .eyebrow{font-size:10px;margin-bottom:23px}.hero-art{inset:0;background-size:auto 85%;background-position:72% 100%;opacity:.7;mask-image:linear-gradient(transparent 8%,black 45%,black 80%,transparent)}.hero:after{background:linear-gradient(180deg,var(--paper),#fcf8f5e0 12%,#fcf8f599 46%,transparent 80%)}.vertical-note{display:none}.hero .actions{gap:21px}.button{padding:12px 20px;font-size:13px;gap:18px}.text-link{font-size:13px;gap:13px}.scroll-cue{bottom:25px;left:26px}.section{padding:57px 26px}.learning{grid-template-columns:1fr;gap:18px}.learning h2{font-size:29px}.eyebrow{margin-bottom:16px}.teacher-section{grid-template-columns:1fr;padding:15px 26px 0;margin-top:25px;gap:15px}.teacher-portrait{max-width:340px;margin:auto;order:2}.teacher-portrait img{max-height:490px}.teacher-copy{padding:0}.teacher-copy h2{font-size:31px}.teacher-name{font-size:35px}.prose{font-size:14px}.voices{grid-template-columns:1fr;gap:20px}.voices h2{margin-bottom:8px}.video-grid{grid-template-columns:1fr;gap:30px}.section-head{display:block;margin-bottom:25px}.section-head .muted{margin-top:12px}.video-caption{font-size:11px}.trial{grid-template-columns:1fr;gap:25px}.trial h2{font-size:32px}.poster-link{width:85%;max-width:300px}.contact-section{padding:65px 26px}.contact-section .actions{gap:20px;flex-direction:column}footer{padding:30px 26px 22px}.footer-top{align-items:start}.footer-top>div{flex-direction:column;gap:10px}.footer-bottom{flex-direction:column;gap:12px}.footer-bottom>div{flex-wrap:wrap;gap:20px}.page-title{padding:45px 25px 30px}.source-page{padding:0 25px 45px}.source-page td{padding:2px;font-size:11px}.source-page td img{max-width:45px}.payment-layout{margin:40px auto 60px}.payment-card{padding:25px}.payment-layout h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Complete course page — shared palette, distinct editorial rhythm. */
.course-hero{position:relative;isolation:isolate;overflow:hidden;min-height:430px;background:#f8eeee}
.course-hero-art{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fcf8f5 8%,#fcf8f5b0 48%,#f4dfe426),url('assets/sakura-garden.jpg') center 42%/cover;mask-image:linear-gradient(#000 75%,transparent)}
.course-hero-inner{max-width:1160px;margin:auto;padding:35px 36px 60px}.breadcrumb{display:inline-block;font-size:11px;color:var(--muted);margin-bottom:24px}.breadcrumb span{margin-left:14px;color:#c3a6aa}.course-hero h1{font-size:clamp(38px,4.6vw,65px);margin:0 0 12px}.course-hero .eyebrow{margin-bottom:15px}.course-lead{font-family:var(--serif);font-size:22px;letter-spacing:.08em;color:#6a5656;margin-bottom:26px}
.course-index{position:sticky;top:0;z-index:15;display:flex;justify-content:center;gap:45px;padding:0 24px;height:65px;background:rgba(252,248,245,.97);border-top:1px solid #eadbdd;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);font-size:13px;letter-spacing:.05em}.course-index a{height:65px;display:flex;align-items:center;border-bottom:2px solid transparent;white-space:nowrap}.course-index a[aria-current="location"]{color:var(--pink);border-color:var(--pink)}
.course-approach{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;padding-top:85px}.small-japanese{font-family:var(--serif);font-size:13px;letter-spacing:.18em;color:#947b79}.section-heading h2{margin-bottom:30px}.course-view .source-widget h2{font-size:36px;margin-bottom:20px}.course-view .text-editor strong{font-weight:400}.course-view .source-widget img{max-width:100%;height:auto}.course-approach .original-banner{margin-top:28px}.course-approach details img{display:block}
.course-sensei{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;max-width:1160px;margin:auto;padding:80px 36px 30px}.course-portrait{position:relative;isolation:isolate;align-self:end;text-align:center}.course-portrait .image a{display:block}.course-portrait img{display:block;max-height:650px;width:auto;margin:auto;mask-image:linear-gradient(#000 82%,transparent)}.portrait-caption{display:block;text-align:center;font-family:Georgia,serif;font-size:11px;letter-spacing:.15em;color:#947b79;margin-top:-4px}.course-sensei-copy{padding-bottom:45px}.course-sensei-copy .text-editor p{font-size:15px;line-height:2.2;color:#625852;margin:0 0 22px}.course-sensei-copy .text-link{margin-top:8px}
.course-voices{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:center}.course-voices .small-japanese{display:block;margin-top:32px}.course-lessons .section-head .heading h2{margin-bottom:0}.course-lessons .section-head>.heading h2{font:14px/1.9 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;color:var(--muted);letter-spacing:.04em}.course-enrol{display:grid;grid-template-columns:1fr .75fr;gap:90px;align-items:center;background:radial-gradient(ellipse at 20% 40%,#f6e4e8,transparent 65%)}.course-enrol>.source-widget h2{font-size:36px}.course-enrol .heading h2{font:14px/2 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;color:var(--muted);letter-spacing:0}.course-enrol .button{margin-top:15px}.course-poster{max-width:320px;justify-self:center;text-align:center}.course-poster img{display:block}.course-poster p{font-size:11px;margin:12px 0}.policy-note{margin-top:25px}.policy-note .heading h2{font-size:11px;text-decoration:underline;text-underline-offset:4px}.course-contact{padding:80px 30px;text-align:center;background:radial-gradient(ellipse at bottom,#f1dce1,transparent 75%)}.course-contact table{margin:30px auto 0;max-width:620px;width:100%;table-layout:fixed;border-collapse:collapse}.course-contact td{padding:5px;font-size:13px;overflow-wrap:anywhere}.course-contact tr:first-child td{font-family:Georgia,serif;font-size:17px}.course-contact td img{width:40px;height:40px;object-fit:contain}.course-contact .text-editor h2{margin-bottom:20px}
/* Keep the current global navigation independent of the in-page index. */
@media(max-width:900px){.course-approach,.course-sensei,.course-voices{gap:40px}.course-index{gap:30px}.course-enrol{gap:45px}.course-view .source-widget h2{font-size:31px}.course-hero-art{background-position:62% 50%}}
@media(max-width:640px){.course-hero{min-height:420px}.course-hero-inner{padding:25px 26px 52px}.course-hero-art{background:linear-gradient(90deg,#fcf8f5e8,#fcf8f5b5 65%,#f3d9df50),url('assets/sakura-garden.jpg') 70% center/auto 100%}.course-hero h1{font-size:39px}.course-lead{font-size:18px;letter-spacing:.02em}.course-index{position:sticky;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;left:auto;right:auto;top:0;height:56px;overflow-x:auto;gap:25px;padding:0 26px;box-shadow:none;font-size:12px}.course-index a{height:56px;padding:0}.course-view section[id]{scroll-margin-top:70px}.course-approach,.course-voices{grid-template-columns:1fr;gap:25px}.course-approach{padding-top:50px}.course-approach h2{margin-bottom:12px}.course-approach .small-japanese{display:none}.course-sensei{grid-template-columns:1fr;padding:55px 26px 25px;gap:30px}.course-portrait{max-width:300px;margin:auto;order:2}.course-portrait img{max-height:490px}.course-sensei-copy{padding:0}.course-sensei-copy .text-editor p{font-size:14px}.course-view .source-widget h2{font-size:29px}.course-voices .small-japanese{display:none}.course-voices .muted{margin-bottom:0}.course-lessons .section-head>.heading h2{font-size:13px;margin-top:12px}.course-enrol{grid-template-columns:1fr;gap:32px}.course-enrol .heading h2{font-size:14px}.course-enrol .policy-note h2{font-size:11px}.course-poster{max-width:285px}.course-contact{padding:60px 20px}.course-contact table{margin-top:20px}.course-contact td{font-size:11px}.course-contact td img{width:35px;height:35px}}

/* Continuous sakura / tea / courtyard atmosphere across the whole page. */
:root{--paper:#f6e9e6;--ink:#382c2c;--muted:#6e5556;--line:#d7b9bd}
body{background:linear-gradient(120deg,#f4e4e1,#edcfd8 65%,#edddd1)}
.site-header{background:transparent}.course-index{background:rgba(243,224,226,.96);border-color:#d8b8bf}
.home main,.course-view{background:linear-gradient(180deg,#f6e9e6 0%,#efd8db 26%,#e9cbd3 45%,#eee0d4 66%,#ebc8d2 88%,#e8d5cd 100%)}
.home .section,.course-view .section{max-width:none;padding-inline:max(36px,calc((100% - 1088px)/2));border-bottom:0;position:relative;isolation:isolate}
.home .teacher-section,.course-sensei{max-width:none;margin:0;padding:90px max(36px,calc((100% - 1088px)/2)) 50px;position:relative;isolation:isolate}
.home .section:before,.course-view .section:before,.teacher-section:before,.course-sensei:before,.contact-section:before,.course-contact:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat;mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
.learning,.course-approach{background:linear-gradient(120deg,#eed7d5aa,#f4e4db44);min-height:590px}
.learning:before,.course-approach:before{background-image:linear-gradient(90deg,transparent 15%,#f1dddc 58%),url('assets/tea-atmosphere.jpg');background-position:left bottom;background-size:cover;opacity:.8}
.learning>div:first-child,.course-approach .section-heading{padding-bottom:180px}
.learning .prose,.course-approach .prose{background:linear-gradient(100deg,#f4e5dfc9,#f4e5df38);padding:25px 30px;border-left:1px solid #ba869844}
.teacher-section,.course-sensei{background:linear-gradient(110deg,#edcbd5,#f4e3dd 70%)}
.teacher-section:before,.course-sensei:before{background-image:linear-gradient(90deg,#e9c6d333, #f2dfdd 68%),url('assets/sakura-garden.jpg');background-size:cover;background-position:left center;opacity:.6}
.portrait-halo{background:radial-gradient(ellipse,#e9bfcc88,transparent 65%)}
.teacher-copy,.course-sensei-copy{position:relative}.prose,.course-sensei-copy .text-editor p{color:#534344}
.voices,.course-voices{background:linear-gradient(110deg,#edced6d9,#f0dfd6a8);padding-top:105px;padding-bottom:105px}
.voices:before,.course-voices:before{background-image:linear-gradient(90deg,#edcdd630,#efd6d9 62%),url('assets/sakura-garden.jpg');background-size:cover;background-position:20% 20%;opacity:.48}
.voices h2,.course-voices h2{margin-bottom:15px}.video-play{border:1px solid #aa79834a;box-shadow:0 12px 35px #65364014}.video-caption{color:#51393c}.video-caption a{color:#6f4f55}
.classroom,.course-lessons{background:linear-gradient(120deg,#e8d8c9,#f2dbdf 90%)}
.classroom:before,.course-lessons:before{background-image:linear-gradient(100deg,#eadbd1e8 38%,#eadbd177),url('assets/sakura-garden.jpg');background-size:cover;background-position:right bottom;opacity:.55}
.trial,.course-enrol{background:linear-gradient(115deg,#e9c1ce,#f1d9dd 65%,#e8cfcc);padding-block:105px}
.trial:before,.course-enrol:before{background-image:linear-gradient(90deg,#ebcad288 25%,#efd5dcbb 60%),url('assets/sakura-garden.jpg');background-size:cover;background-position:center;opacity:.75}
.course-view .course-enrol .heading h2{font:15px/2 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;color:#6e5056;letter-spacing:0;margin-bottom:22px}
.course-poster,.poster-link{padding:14px 14px 0;background:#f6e6e0b3;box-shadow:0 16px 45px #7849581a}.course-poster img,.poster-link img{box-shadow:none}.course-poster .muted,.poster-link span{color:#6e5056}
.contact-section,.course-contact{position:relative;isolation:isolate;background:linear-gradient(110deg,#e7d4c5,#edcbd3 80%);overflow:hidden}
.contact-section:before,.course-contact:before{background-image:linear-gradient(90deg,#ead6ceaa,#ecd1d4df 45%,#ecd1d455),url('assets/tea-atmosphere.jpg');background-size:cover;background-position:left center;opacity:.7}
footer{max-width:none;padding-inline:max(36px,calc((100% - 1088px)/2));background:#e6cbd0}.footer-bottom{color:#6c5357}
.course-hero{background:#f0dadc}.course-hero-art{background-image:linear-gradient(90deg,#f5e7e1 8%,#f1d9db80 48%,#e9c3d015),url('assets/sakura-garden.jpg')}
@media(max-width:900px){.learning .prose,.course-approach .prose{padding:20px}.learning:before,.course-approach:before{background-position:30% bottom}}
@media(max-width:640px){
.home .section,.course-view .section{padding-inline:26px}.home .teacher-section,.course-sensei{padding:60px 26px 35px}.learning>div:first-child,.course-approach .section-heading{padding-bottom:100px}.learning,.course-approach{min-height:auto}
.learning:before,.course-approach:before{background-image:linear-gradient(180deg,#f1d9db15 5%,#f1d9db00 20%,#f1d9dbea 57%),url('assets/tea-atmosphere.jpg');background-size:auto 460px;background-position:left top;opacity:.85}
.learning .prose,.course-approach .prose{padding:16px 18px;background:#f6e7e0a8}.teacher-section:before,.course-sensei:before{background-position:65% bottom;background-size:auto 65%;opacity:.45}
.voices,.course-voices{padding-block:65px}.voices:before,.course-voices:before{background-size:auto 100%;opacity:.32}.classroom:before,.course-lessons:before{opacity:.32}
.trial,.course-enrol{padding-block:65px}.trial:before,.course-enrol:before{background-position:62% top;background-size:auto 80%;opacity:.5}.course-view .course-enrol .heading h2{font-size:14px}
footer{padding-inline:26px}.course-poster,.poster-link{padding:10px 10px 0}.contact-section:before,.course-contact:before{opacity:.3}
}
@media(max-width:640px){.learning:before,.course-approach:before{inset:0 0 auto;height:460px;mask-image:linear-gradient(transparent,#000 12%,#000 55%,transparent 100%)}}

/* Calligraphic display type; body and functional labels stay readable. */
@font-face{font-family:'Ma Shan Zheng';src:url('assets/fonts/MaShanZheng-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--brush:'Ma Shan Zheng','Kaiti SC','STKaiti',var(--serif)}
.hero h1,.course-hero h1,.learning h2,.section-heading h2,.teacher-copy h2,.voices h2,.classroom .section-head h2,.trial h2,.contact-section h2,.course-sensei-copy .text-editor h2,.course-voices .heading h2,.course-lessons .section-head>div .heading h2,.course-enrol>div>h2,.course-contact .text-editor h2{font-family:var(--brush);font-weight:400;letter-spacing:.035em;line-height:1.5}
.hero h1{font-size:clamp(44px,5.6vw,80px)}.course-hero h1{font-size:clamp(42px,5vw,70px)}
@media(max-width:640px){.hero h1{font-size:46px}.course-hero h1{font-size:42px}.course-enrol>div>h2,.section-heading h2{font-size:32px}}
/* Header has one contact action; section navigation remains below the hero. */
@media(max-width:640px){.site-header #navigation{display:flex;position:static;flex-direction:row;align-items:center;padding:0;background:none;box-shadow:none;gap:0}.site-header #navigation .nav-contact{padding:8px 12px;border:1px solid #bfa7a0;font-size:12px;white-space:nowrap}.site-header #navigation .nav-contact span{margin-left:8px}.brand{gap:10px}.brand>span{font-size:9px}}
@media(max-width:360px){.site-header .brand>span{display:none}}

/* 1.0.1: comfortable reading sizes and consistent branded contact actions. */
body{font-size:18px}
.prose,.hero-copy,.source-page,.course-sensei-copy .text-editor p{font-size:18px;line-height:1.95}
.muted,.trial p:not(.eyebrow),.contact-section>p:not(.eyebrow),.course-contact>p:not(.eyebrow){font-size:18px}
.button,.text-link{font-size:17px}.button{min-height:54px}
.site-header nav,.course-index{font-size:16px}
.eyebrow,.hero .eyebrow,.course-hero .eyebrow{font-size:12px}
.breadcrumb,.scroll-cue,.portrait-caption,.video-label,.video-caption,.course-poster p,.poster-link span,.footer-bottom{font-size:14px}
.footer-top>div{font-size:16px}.footer-top>div .social-link{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.social-icon{width:52px;height:52px;object-fit:contain;flex:0 0 52px}
.footer-top .social-icon{width:34px;height:34px;flex-basis:34px}
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:720px;margin:32px auto 0;text-align:left}
.contact-card{display:flex;align-items:center;gap:14px;padding:22px 24px;background:#fff9f3c9;border:1px solid #b98a9766;border-radius:4px;color:var(--ink);min-width:0;box-shadow:0 6px 24px #79516208;transition:background .2s,border-color .2s}
.contact-card:hover{background:#fff9f3;border-color:#a84d68;color:var(--ink)}
.contact-card-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;line-height:1.6}
.contact-card-copy strong{font-size:19px;font-weight:600;letter-spacing:.02em}
.contact-card-copy>span{font-size:17px;color:#675056;overflow-wrap:anywhere}
.contact-arrow{font-size:22px;color:#a24762}
.course-contact>h2{font-family:var(--brush);font-weight:400;letter-spacing:.035em;line-height:1.5}
@media(max-width:640px){
 body{font-size:17px}.prose,.hero-copy,.source-page,.course-sensei-copy .text-editor p{font-size:17px;line-height:1.95}
 .muted,.trial p:not(.eyebrow),.contact-section>p:not(.eyebrow),.course-contact>p:not(.eyebrow){font-size:17px}
 .button,.text-link{font-size:16px}.button{padding:13px 18px;gap:16px}
 .site-header #navigation .nav-contact{font-size:15px}.course-index{font-size:15px;gap:24px}
 .contact-cards{grid-template-columns:1fr;gap:14px;max-width:380px;margin-top:26px}
 .contact-card{padding:18px;gap:12px}.contact-card-copy strong{font-size:18px}.contact-card-copy>span{font-size:17px}
 .footer-top{gap:20px;flex-wrap:wrap}.footer-top>div{flex-direction:row;flex-wrap:wrap;gap:16px}
 .footer-bottom{font-size:14px}.footer-bottom>div{gap:14px}
 .video-caption{flex-wrap:wrap;row-gap:4px}.breadcrumb,.scroll-cue,.portrait-caption,.video-label,.video-caption,.course-poster p,.poster-link span{font-size:14px}
}

/* 1.0.2: edge-to-edge backgrounds at every viewport/zoom level. */
.site-header{max-width:none;width:100%;padding-inline:max(26px,calc((100% - 1280px)/2))}
.hero,.course-hero{max-width:none;width:100%;margin-inline:0}
.hero-art{inset:0;background-size:cover;background-position:right center}
.hero-inner{max-width:1280px;padding-inline:36px}
/* The garden's detail is on the right: mirror it behind the teacher portrait,
   then fade the opposite side into the text area. */
.teacher-section:before,.course-sensei:before{
 inset:0;background-image:linear-gradient(90deg,#f2dfddef 3%,#f2dfddd9 32%,#f0d7dd30 70%,#efd5dd10),url('assets/sakura-garden.jpg');
 background-size:cover;background-position:right center;opacity:.9;transform:scaleX(-1);
 mask-image:linear-gradient(transparent 0%,#000 14%,#000 85%,transparent 100%)
}
.voices:before,.course-voices:before{
 inset:0;background-image:linear-gradient(90deg,#efd6dc99 0%,#efd6dc77 36%,#efd6dc22 75%),url('assets/sakura-garden.jpg');
 background-size:cover;background-position:right 38%;opacity:.85;
 mask-image:linear-gradient(transparent 0%,#000 16%,#000 82%,transparent 100%)
}
@media(max-width:640px){
 .site-header{padding-inline:24px}.hero-inner{padding-inline:26px}
 .hero-art{inset:0;background-size:cover;background-position:65% center;opacity:.8}
 .teacher-section:before,.course-sensei:before{
  background-image:linear-gradient(0deg,#efdae010,#efdae044 44%,#efdaeee8 85%),url('assets/sakura-garden.jpg');
  background-size:cover;background-position:right bottom;opacity:.8;transform:none;
  mask-image:linear-gradient(transparent 0%,#000 12%,#000 88%,transparent 100%)
 }
 .voices:before,.course-voices:before{
  background-image:linear-gradient(180deg,#efd6dca6,#efd6dc55 45%,#efd6dc22),url('assets/sakura-garden.jpg');
  background-size:cover;background-position:72% center;opacity:.8
 }
}

/* 1.0.3: copy left / portrait right; student title carries the garden. */
.teacher-copy,.course-sensei-copy{order:1}
.teacher-portrait,.course-portrait{order:2}
@media(min-width:641px){
 .teacher-section,.course-sensei{background:linear-gradient(110deg,#f4e3dd 30%,#edcbd5)}
 .teacher-section:before,.course-sensei:before{transform:none}
}
.voices:before,.course-voices:before{
 background-image:linear-gradient(90deg,#efd6dc 0%,#efd6dc 45%,#efd6dc99 65%,#efd6dc33 100%),url('assets/sakura-garden.jpg');
 background-size:cover;background-position:right center;transform:scaleX(-1);opacity:.85
}
@media(max-width:640px){
 .voices:before,.course-voices:before{
  inset:0 0 auto;height:290px;
  background-image:linear-gradient(90deg,#efd6dc55,#efd6dc33),url('assets/sakura-garden.jpg');
  background-size:cover;background-position:right 35%;transform:scaleX(-1);
  mask-image:linear-gradient(transparent 0%,#000 20%,#000 55%,transparent 100%)
 }
}

/* Native WordPress content and WooCommerce containers. */
.eichi-standard{max-width:1160px;margin:auto;padding:60px 28px;min-height:55vh}
.eichi-standard article{margin-bottom:48px}.eichi-standard a:not(.button){text-decoration:underline;text-underline-offset:3px}
.eichi-standard input,.eichi-standard select,.eichi-standard textarea{max-width:100%}
.eichi-standard .alignwide{max-width:100%}.eichi-standard .alignfull{width:100%}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.screen-reader-text:focus{clip:auto;height:auto;width:auto;left:8px;top:8px;z-index:100000;background:#fff;padding:12px}
.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{font-size:13px}.bypostauthor{font-weight:inherit}
.alignleft{float:left;margin:0 24px 16px 0}.alignright{float:right;margin:0 0 16px 24px}.aligncenter{display:block;margin-left:auto;margin-right:auto}
.admin-bar .course-index{top:32px}
@media(max-width:782px){.admin-bar .course-index{top:46px}}
@media(max-width:600px){.admin-bar .course-index{top:0}}
