:root{--ink:#4e343d;--rose:#8c3c57;--rose-dark:#713049;--pink:#f7e8e9;--blush:#fdf5f3;--cream:#fffdfa;--line:#edd9dc;--muted:#775f68;--shadow:0 22px 65px rgba(122,68,82,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--blush);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.8}button,a{ -webkit-tap-highlight-color:transparent }a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,video:focus-visible{outline:3px solid #b35e78;outline-offset:4px}.skip-link{position:absolute;left:12px;top:-60px;background:#fff;padding:8px 16px;z-index:10}.skip-link:focus{top:10px}.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}.site-header{position:relative;z-index:2;background:rgba(255,252,250,.94);border-bottom:1px solid #f1e2e4}.header-inner{height:72px;width:min(1200px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.08em;color:#763e54;white-space:nowrap}.brand-mark{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#f4dfe3;color:#9a4e67;font-size:20px}.brand-divider{color:#ca9aab;margin:0 5px}.header-nav{display:flex;gap:28px}.header-nav a{text-decoration:none;font-size:12px;font-weight:700;color:#805c68}.header-nav a:hover{color:var(--rose)}
.hero{min-height:560px;position:relative;display:grid;place-items:center;overflow:hidden;background:#fff5f0}.hero-art{position:absolute;inset:0;background:url("./assets/rose-cover.png") center / cover no-repeat;opacity:.91}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,245,.18),rgba(255,251,249,.48) 35%,rgba(255,251,249,.5) 65%,rgba(255,248,245,.16))}.hero-content{position:relative;z-index:1;max-width:700px;padding:64px 22px 80px;text-align:center}.eyebrow,.section-kicker,.lesson-label{font-size:11px;font-weight:700;letter-spacing:.2em;color:#a75e77}.eyebrow{margin:0 0 27px}.hero-overline{margin:0;color:#896f76;font-size:14px;letter-spacing:.14em}.hero h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;font-size:clamp(44px,6vw,76px);letter-spacing:.12em;line-height:1.35;color:#80334e;margin:12px 0 23px;text-shadow:0 2px 18px rgba(255,255,255,.8)}.hero h1 span{font-size:1.08em}.hero-copy{font-size:15px;line-height:2.1;margin:0 0 28px;text-shadow:0 1px 10px #fff}.primary-link,.download-primary{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--rose);color:#fff;text-decoration:none;border-radius:100px;padding:12px 26px;font-size:14px;font-weight:700;box-shadow:0 8px 23px rgba(140,60,87,.18);transition:transform .2s,background .2s}.primary-link:hover,.download-primary:hover{background:var(--rose-dark);transform:translateY(-2px)}
section{scroll-margin-top:25px}.welcome{display:grid;grid-template-columns:1fr 230px;align-items:center;gap:55px;padding-block:80px 72px}.welcome h2,.section-heading h2,.work-content h2,.rhythm-section h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:#713a50;font-weight:600;letter-spacing:.06em}.welcome h2{font-size:31px;margin:6px 0 15px}.welcome p:last-child{max-width:670px;color:var(--muted);margin:0}.section-kicker{margin:0;color:#ac6a80}.progress-card{min-height:150px;padding:21px 25px;border:1px solid #eed9dc;border-radius:20px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow);text-align:center}.progress-card span{font-size:11px;letter-spacing:.14em;color:#946b78}.progress-card strong{font-family:Georgia,serif;font-size:49px;line-height:1.2;color:var(--rose);font-weight:400}.progress-card strong small{font-size:19px;color:#b7939f}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:22px}.section-heading h2{font-size:36px;margin:5px 0 0}.soft-badge{padding:6px 16px;border-radius:100px;border:1px solid #ead0d7;color:#8d5266;background:#fff9f9;font-size:12px;font-weight:700;white-space:nowrap}.lesson-section{padding-bottom:84px}.lesson-card{padding:34px;background:#fff;border:1px solid #f0e1e2;border-radius:28px;box-shadow:var(--shadow)}.lesson-intro{display:flex;align-items:center;gap:24px;margin-bottom:27px}.lesson-number{width:76px;height:76px;display:grid;place-items:center;flex:none;border-radius:22px;background:linear-gradient(145deg,#f7e5e9,#fdf6f1);font-family:Georgia,serif;font-size:36px;color:#a24d68}.lesson-label{margin:0 0 4px}.lesson-intro h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(24px,3vw,34px);line-height:1.48;color:#73374d;margin:0 0 5px;font-weight:600}.lesson-intro p:last-child{color:var(--muted);margin:0;font-size:13px}.video-frame{background:#422e36;aspect-ratio:16/9;border-radius:18px;overflow:hidden;box-shadow:0 13px 35px rgba(59,31,40,.16)}.video-frame video{display:block;width:100%;height:100%;background:#402b34;object-fit:contain}.player-tools{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 19px;border-radius:16px;background:#fdf3f4}.tools-title{font-weight:700;margin:0;color:#714156;font-size:13px}.tools-note{font-size:11px;color:#967681;margin:0}.speed-options{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.speed-options button{border:1px solid #e7cad2;background:#fff;color:#85596a;border-radius:100px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.4;cursor:pointer;min-width:52px}.speed-options button:hover{border-color:#b97388}.speed-options button[aria-pressed=true]{background:var(--rose);border-color:var(--rose);color:#fff}.video-hint{margin:15px 2px 0;color:#8b7379;font-size:12px}
.work-section{padding-bottom:90px}.work-card{min-height:342px;display:flex;align-items:center;position:relative;overflow:hidden;background:#fff url("./assets/rose-letter.png") right center/cover no-repeat;border:1px solid #f0dfde;border-radius:28px;box-shadow:var(--shadow)}.work-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 47%,rgba(255,255,255,.12) 100%)}.work-content{position:relative;padding:48px 52px;max-width:720px}.work-content h2{font-size:35px;margin:5px 0 10px}.work-lead{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:18px;color:#805065;font-weight:600;margin:0 0 8px}.work-content>p:not(.section-kicker,.work-lead,.small-note){color:#684f59;margin:0 0 25px}.download-actions{display:flex;flex-wrap:wrap;gap:12px}.download-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #b57a8c;border-radius:100px;color:#8c4760;background:#fff;text-decoration:none;font-weight:700;font-size:13px;padding:11px 23px;transition:background .2s}.download-secondary:hover{background:#fff2f4}.small-note{color:#896c76;font-size:12px;margin:14px 0 0}
.rhythm-section{padding-bottom:94px;text-align:center}.rhythm-section h2{font-size:33px;margin:4px 0 27px}.rhythm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;text-align:left}.rhythm-card{background:#fff;border:1px solid #f0dfe2;border-radius:20px;padding:25px 26px;box-shadow:0 10px 34px rgba(142,78,94,.06)}.rhythm-icon{color:#a4546d;font-size:23px}.rhythm-card h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:#764459;margin:12px 0 5px;font-size:20px}.rhythm-card p{margin:0;color:#816871;font-size:13px}.archive-section{padding:70px 0 85px;background:linear-gradient(180deg,#f9edef,#fbf4f2)}.archive-heading{margin-bottom:26px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.archive-tile{min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:22px 26px;background:rgba(255,255,255,.72);border:1px dashed #dcbdc7;border-radius:18px;color:#927780}.archive-tile.current{background:#fff;border-style:solid;box-shadow:0 10px 28px rgba(130,70,88,.08);color:#75445a}.archive-tile span{font-size:10px;font-weight:700;letter-spacing:.18em;color:#ae7487}.archive-tile strong{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:24px}.archive-tile small{font-size:12px}.future-lessons{margin-top:25px;border-top:1px solid #e9d4db;padding-top:19px}.future-lessons summary{cursor:pointer;color:#7c4e61;font-weight:700;font-size:13px;list-style:none}.future-lessons summary::-webkit-details-marker{display:none}.future-lessons summary span{display:inline-block;margin-left:7px;transition:transform .2s}.future-lessons[open] summary span{transform:rotate(180deg)}.future-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:17px}.future-grid span{border:1px solid #ecdce0;background:rgba(255,255,255,.7);padding:8px 13px;border-radius:10px;font-size:12px;color:#967783}.site-footer{text-align:center;padding:48px 20px 60px;background:#fffaf8;color:#8a6473}.site-footer>span{font-size:30px;color:#ba8194}.site-footer p{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:19px;margin:4px 0}.site-footer small{font-size:11px;letter-spacing:.12em}
@media(max-width:760px){.header-inner{height:61px}.header-nav{gap:13px}.header-nav a{font-size:10px}.brand{font-size:11px}.brand-divider,.brand-divider+span{display:none}.hero{min-height:510px}.hero-art{background-position:center}.hero::after{background:rgba(255,250,247,.55)}.hero h1{font-size:clamp(42px,10vw,59px)}.hero-copy{font-size:13px}.wrap{width:min(100% - 30px,660px)}.welcome{grid-template-columns:1fr;gap:22px;padding-block:58px}.welcome h2{font-size:26px}.progress-card{width:100%;min-height:110px;flex-direction:row;gap:15px}.progress-card strong{font-size:38px}.section-heading h2{font-size:30px}.lesson-section{padding-bottom:54px}.lesson-card{padding:15px;border-radius:20px}.lesson-intro{gap:13px;margin:13px 3px 21px}.lesson-number{width:55px;height:55px;border-radius:16px;font-size:26px}.lesson-intro h3{font-size:21px}.lesson-intro p:last-child{font-size:12px}.video-frame{border-radius:11px}.player-tools{align-items:flex-start;flex-direction:column}.speed-options{justify-content:flex-start}.work-section{padding-bottom:60px}.work-card::before{background:rgba(255,255,255,.86)}.work-content{padding:39px 25px}.work-content h2{font-size:30px}.work-lead{font-size:16px}.rhythm-section{padding-bottom:60px}.rhythm-grid,.archive-grid{grid-template-columns:1fr}.rhythm-card{padding:21px 23px}.archive-section{padding-block:55px}.archive-tile{min-height:106px}.future-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:450px){.header-nav a:nth-child(3){display:none}.brand{letter-spacing:0}.hero h1{letter-spacing:.08em}.hero-copy br{display:none}.download-actions a{width:100%}.progress-card{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.intro-section{padding-bottom:66px}.intro-card{border-color:#e8cbd3;background:linear-gradient(145deg,#fff,#fffaf9)}.intro-card .lesson-number{font-size:30px}.next-lesson-link{display:inline-flex;align-items:center;gap:9px;margin:15px 2px 0;color:#8c3c57;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid #c996a7}.next-lesson-link:hover{color:#713049}
@media(max-width:760px){.intro-section{padding-bottom:54px}}
@media(max-width:450px){.header-nav a:nth-child(4){display:none}}
.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}
.hero{min-height:450px}.hero-content{padding:32px 20px 38px}.eyebrow{margin-bottom:14px}.hero h1{font-size:clamp(44px,5vw,64px);line-height:1.3;margin:8px 0 16px}.hero-copy{line-height:1.85;margin-bottom:20px}
section{scroll-margin-top:96px}
.video-index{padding-block:67px 76px}.video-index-heading{margin-bottom:25px}.video-index-lead{margin:6px 0 0;color:var(--muted);font-size:14px}.video-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}.video-list-card{display:grid;grid-template-columns:minmax(145px,210px) minmax(0,1fr);gap:18px;align-items:center;min-height:174px;padding:16px;border:1px solid #ecd8df;border-radius:22px;background:#fff;box-shadow:0 14px 35px rgba(122,68,82,.08);text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}.video-list-card:hover{transform:translateY(-3px);border-color:#cd9bae;box-shadow:0 18px 40px rgba(122,68,82,.13)}.video-list-card img{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;border-radius:12px;box-shadow:0 5px 16px rgba(90,56,68,.1)}.video-list-copy{display:flex;flex-direction:column;min-width:0;line-height:1.45}.video-list-meta{display:flex;flex-wrap:wrap;gap:6px 13px;color:#a35d74;font-size:11px;font-weight:700;letter-spacing:.06em}.video-list-meta span{color:#9c818b;font-weight:500;letter-spacing:0}.video-list-copy strong{margin:8px 0 5px;color:#713a50;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:20px;font-weight:600;line-height:1.45}.video-list-subtitle{color:#806b72;font-size:12px}.video-list-action{margin-top:11px;color:#8c3c57;font-size:12px;font-weight:700}.video-index-note{margin:17px 2px 0;color:#8d737d;font-size:12px}.lesson-nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.back-to-list{display:inline-flex;align-items:center;gap:7px;margin:15px 2px 0;color:#8c3c57;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid #c996a7}.back-to-list:hover{color:#713049}
@media(max-width:760px){section{scroll-margin-top:78px}.hero{min-height:410px}.hero-content{padding:34px 18px 42px}.hero h1{font-size:clamp(38px,9vw,54px)}.video-index{padding-block:49px 59px}.video-list-grid{grid-template-columns:1fr}.video-list-card{min-height:150px}}
@media(max-width:450px){.video-list-card{grid-template-columns:112px minmax(0,1fr);gap:13px;min-height:134px;padding:12px;border-radius:17px}.video-list-card img{border-radius:9px}.video-list-copy strong{font-size:16px;margin:5px 0}.video-list-meta{font-size:10px}.video-list-subtitle{display:none}.video-list-action{font-size:11px;margin-top:7px}.video-index-lead{font-size:12px}}
