@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');
:root{--red:#b70b25;--ink:#1e2025;--muted:#55565b;--pink:#fff0f2;--line:#e9e4e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{max-width:1240px;margin:auto;padding:0 24px}header{position:sticky;top:0;z-index:20;background:white;box-shadow:0 1px 16px #0000000f}.head{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:20px}.logo{display:flex;align-items:center;gap:10px;min-width:210px}.mark{font-family:Georgia,serif;color:#171717;font-size:36px;letter-spacing:-5px;line-height:1}.mark b{color:var(--red);font-size:24px;vertical-align:top;letter-spacing:0}.logo strong{font-family:'Playfair Display',Georgia,serif;line-height:1.03;font-size:18px}.logo small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:1px;margin-top:4px}.nav{display:flex;align-items:center;gap:24px;font-weight:700;font-size:14px}.nav a:hover,.nav a:focus{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 22px;border:1px solid var(--red);border-radius:7px;background:var(--red);color:white;font-weight:700}.btn:hover{background:#91001b}.btn.outline{background:white;color:var(--red)}.btn.outline:hover{background:var(--pink)}.menu{display:none;border:0;background:none;font-size:28px}.hero{position:relative;min-height:500px;overflow:hidden;background:linear-gradient(95deg,#fff 2%,#fff7f8 46%,#e4f0fa 100%)}.hero:before{content:'';position:absolute;inset:0;background:url('assets/cherry.jpg') left top/auto 180px no-repeat;opacity:.74;pointer-events:none}.hero-inner{position:relative;min-height:500px;display:flex;align-items:center}.hero-copy{position:relative;z-index:2;max-width:570px;padding:40px 0}.eyebrow{font-size:13px;letter-spacing:1.7px;font-weight:700}.hero h1{font:800 clamp(42px,5vw,70px)/1.08 'Playfair Display',Georgia,serif;margin:12px 0}.hero h1 em{font-style:normal;color:var(--red)}.hero h2{font-size:20px;margin:10px 0 0}.hero p{max-width:505px;line-height:1.55;margin:8px 0 20px}.actions{display:flex;gap:12px;flex-wrap:wrap}.facts{display:flex;gap:21px;flex-wrap:wrap;margin-top:29px;font-size:13px;font-weight:700}.facts span{white-space:nowrap}.hero-photo{position:absolute;right:0;bottom:0;height:96%;width:48%;object-fit:contain;object-position:bottom center;mix-blend-mode:multiply}.hero-jp{position:absolute;right:2%;top:40px;writing-mode:vertical-rl;letter-spacing:7px;font-weight:700}.slide-controls{position:absolute;bottom:18px;left:24px;z-index:4;display:flex;gap:7px;align-items:center}.slide-controls button{border:0;background:#ffffffd9;padding:5px 9px;border-radius:20px}.slide-controls .dot{width:8px;height:8px;padding:0;background:#aaa}.slide-controls .dot.active{width:23px;background:var(--red)}section{scroll-margin-top:90px;padding:58px 0}.section-title{text-align:center;font:700 clamp(28px,3vw,38px) 'Playfair Display',Georgia,serif;margin:0 0 8px}.section-title:after{content:'';display:block;width:38px;height:2px;background:var(--red);margin:13px auto}.section-intro{text-align:center;color:var(--muted);margin:0 0 30px}.courses-layout{display:grid;grid-template-columns:1fr 245px;gap:14px;align-items:stretch}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.course-card,.why-card,.panel{border:1px solid var(--line);border-radius:9px;background:white;overflow:hidden}.course-card{display:flex;flex-direction:column;padding:18px;min-height:310px}.course-card h3{font:700 23px Georgia,serif;margin:0}.course-card h3 b{font-size:31px;color:var(--red)}.course-card .level{font-weight:700;font-size:14px}.course-card img{width:100%;height:104px;object-fit:cover;object-position:center}.course-card p{font-size:14px;line-height:1.45;margin:8px 0 12px;flex:1}.course-card .btn{padding:9px;font-size:13px}.admission{background:var(--pink);border-radius:10px;padding:22px;display:flex;flex-direction:column}.admission h3{color:var(--red);font:700 24px Georgia,serif;margin:0 0 14px}.admission p{margin:0 0 12px;font-size:14px}.admission ul{padding:0;list-style:none;font-size:14px;line-height:1.9}.admission .btn{margin-top:auto}.why{padding-top:25px}.why-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.why-card{text-align:center;padding:18px 12px}.why-card .icon{font-size:27px;color:var(--red);height:42px}.why-card b{display:block;font-size:14px;min-height:37px}.why-card p{font-size:13px;line-height:1.42;margin:7px 0}.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.panel{padding:23px;background:#fff8f9}.panel.white{background:#fff}.panel h2{font:700 31px 'Playfair Display',Georgia,serif;margin:0 0 8px}.panel p{line-height:1.55}.founder{display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:center}.founder img{width:100%;height:230px;object-fit:cover;object-position:center 20%;border-radius:7px}.muted{color:var(--muted)}.story{border:1px solid var(--line);border-radius:10px;padding:18px;background:white}.story p{margin:0 0 10px}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.photos img{width:100%;height:220px;object-fit:cover;border-radius:8px}.news-row{display:flex;gap:14px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0}.socials{display:flex;gap:11px;flex-wrap:wrap}.socials a{display:inline-flex;align-items:center;border:1px solid #ddd;border-radius:7px;padding:9px 14px;font-weight:700}.socials a:hover{border-color:var(--red);color:var(--red)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.form-grid{display:grid;gap:11px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:13px;border:1px solid #d4d4d4;border-radius:6px;background:white}.form-grid textarea{min-height:90px}.hours{line-height:1.9}footer{background:#202124;color:#eee;padding:33px 0 17px}footer .foot{display:flex;justify-content:space-between;gap:20px;align-items:center}footer .logo{color:#fff}footer a:hover{color:#ff899b}.footer-bottom{border-top:1px solid #ffffff29;margin-top:24px;padding-top:14px;font-size:13px;display:flex;justify-content:space-between;gap:20px}.small{font-size:13px}.video-link{display:block;position:relative;border-radius:9px;overflow:hidden;background:#efeff2;min-height:180px;padding:55px 15px;text-align:center}.video-link span{display:inline-block;background:var(--red);color:#fff;padding:14px 23px;border-radius:40px;font-weight:700}.details{background:#faf8f8}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.detail-grid .panel{padding:20px}.detail-grid h3{color:var(--red);font:700 26px Georgia,serif;margin:0 0 9px}.detail-grid p{font-size:14px;line-height:1.55}.sr{position:absolute;left:-9999px}@media(max-width:1000px){.nav{gap:11px;font-size:12px}.courses-layout{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,1fr)}.admission{display:block}.admission .btn{margin-top:10px}.why-grid{grid-template-columns:repeat(3,1fr)}.hero-photo{width:49%;opacity:.75}.hero-copy{max-width:55%}}@media(max-width:700px){.head{min-height:66px}.menu{display:block}.head>.btn{display:none}.nav{display:none;position:absolute;top:66px;left:0;right:0;background:white;padding:20px 24px;box-shadow:0 12px 18px #0001;flex-direction:column;align-items:stretch;font-size:16px}.nav.open{display:flex}.hero,.hero-inner{min-height:620px}.hero-inner{align-items:flex-start}.hero-copy{max-width:100%;padding-top:45px}.hero h1{font-size:44px;max-width:420px}.hero-copy>p{max-width:380px}.hero-photo{height:240px;width:78%;right:0;bottom:0;opacity:.88}.hero-jp{display:none}.facts{margin-top:20px;max-width:240px;gap:8px}.facts span{width:100%}.slide-controls{bottom:12px}.course-grid,.two-col,.contact-grid,.detail-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:repeat(2,1fr)}.course-card img{height:150px}.founder{grid-template-columns:115px 1fr}.founder img{height:170px}.photos{grid-template-columns:1fr 1fr}.photos img{height:155px}footer .foot,.footer-bottom{flex-direction:column;align-items:flex-start}section{padding:42px 0}}@media(max-width:390px){.hero h1{font-size:38px}.hero{min-height:650px}.hero-inner{min-height:650px}.actions .btn{padding:10px}.founder{display:block}.founder img{width:150px;height:170px;float:left;margin:0 14px 8px 0}}
