@layer reset,base,type,components,utilities;:root{--color-background: #f7f4ee;--color-surface: #ffffff;--color-surface-muted: #f3efe8;--color-text: #4f433d;--color-text-soft: #74665e;--color-text-muted: #9a8d84;--color-primary: #d77b7f;--color-primary-soft: #e8b1b3;--color-primary-hover: #c96d71;--color-secondary: #8faa73;--color-secondary-soft: #bcc5a6;--color-accent-gold: #d8b04d;--color-accent-blue: #6f89a8;--color-border: #e6ddd2;--color-shadow: rgb(0 0 0 / .18);--color-shadow-heavy: rgb(0 0 0 / .36);--color-script-ink: rgb(51 17 17 / .63);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: clamp(1.25rem, 1.8vw, 1.5rem);--text-2xl: clamp(1.625rem, 3vw, 2rem);--text-3xl: clamp(2.25rem, 5vw, 3rem);--text-4xl: clamp(3rem, 7vw, 4rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: clamp(2rem, 5vw, 3rem);--space-8: clamp(3rem, 7vw, 4rem);--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--shadow-sm: 0 2px 8px var(--color-shadow);--shadow-md: 0 8px 24px var(--color-shadow);--container-width: 1400px;--container-padding: clamp(1rem, 4vw, 2rem);--transition-default: .18s ease}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0}img,picture,svg,video,canvas{display:block;max-width:100%}img,video,canvas{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.6}table{border-collapse:collapse;border-spacing:0}textarea{resize:vertical}}@layer base{html{color-scheme:light;scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-sans);font-size:clamp(1rem,.95rem + .25vw,1.125rem);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}}:target{scroll-margin-block:var(--space-6)}@layer type{h1,h2,h3,h4,h5,h6{color:var(--color-text);font-family:var(--font-heading);font-weight:400;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(2.5rem,6vw,4.5rem)}h2{font-size:clamp(2rem,5vw,3.5rem)}h3{font-size:clamp(1.5rem,4vw,2.25rem)}h4{font-size:clamp(1.25rem,3vw,1.5rem)}p,li{max-width:65ch;line-height:1.6}p{color:var(--color-text-soft);font-size:clamp(1.125rem,1rem + .5vw,1.4rem)}small{font-size:var(--text-sm)}strong{font-weight:600}em{font-style:italic}}.container{width:min(100% - calc(var(--container-padding) * 2),var(--container-width));margin-inline:auto}.section{padding-block:var(--space-8);padding-inline:var(--container-padding)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.japanese-vertical{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-jp)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:1rem;border-radius:999px;background-color:var(--color-primary);color:#fff;font-weight:600;line-height:1;text-decoration:none;transition:background-color var(--transition-default),transform var(--transition-default),box-shadow var(--transition-default)}.button:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.skip-link{position:absolute;top:0;left:0;z-index:100;padding:.5rem 1rem;background:var(--color-primary);color:#fff;font-weight:600;transform:translateY(-100%);transition:transform var(--transition-default);&:focus{transform:translateY(0)}}::selection{background-color:var(--color-primary-soft);color:var(--color-text)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@layer components{body>header{position:sticky;top:0;left:0;margin:1rem auto;z-index:5000;width:fit-content;line-height:1;font-size:1rem;nav{border-radius:9999px;background:var(--color-secondary);margin-top:1rem;padding:1rem 2rem;display:inline-flex;gap:1rem;justify-content:center;align-items:center;line-height:1;font-size:1rem;>a:not([class]){color:#fff;text-decoration:none;line-height:1;font-size:1.2rem;font-weight:400;margin:0;padding:0;user-select:none}}}}.section.hero{--light-sage-green: #f0f4f0;--sage-green: #a8b8a0;background:linear-gradient(to bottom,var(--light-sage-green) 0%,var(--color-background) 75%,var(--sage-green) 100%)}.cta{background:#fff;padding:2rem;border-radius:.5rem;text-align:center;display:flex;flex-direction:column;gap:1rem;font-weight:400;p{margin:0;line-height:1.6}}.section-about{justify-content:center;align-items:center}.littleRisu{text-align:center;p{font-size:1.8rem}}.hero_grid{display:flex;gap:var(--space-7);align-items:center}.split{display:flex;.copy{flex-grow:1}.littleRisu{flex-shrink:1;max-width:55ch}gap:var(--space-7)}.hero_content{display:flex;flex-direction:column;gap:var(--space-5);max-width:50ch;margin-inline:auto;h1{margin-block:1rem .5rem;font-size:clamp(2.25rem,6vw,3rem);line-height:1.1}}.hero_checks{display:grid;gap:var(--space-2);color:var(--color-text-soft);padding-left:0;list-style:none;li:before{content:"✓";margin-right:.5rem;color:var(--color-secondary);font-weight:700}}.hero_card_content{display:flex;gap:var(--space-5)}.genkiHeading{text-align:center;width:100%;margin-bottom:var(--space-6);.copy{margin:1rem auto}}.genki{display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:center;align-items:center;width:100%;img{flex:1 1 20rem;max-width:20rem;height:auto;box-shadow:var(--shadow-sm)}}.hero_card{position:relative;max-width:38rem;margin-inline:auto;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);.risuPhoto{display:block;width:min(100%,35rem);height:auto;aspect-ratio:1085 / 1450;object-fit:cover;border:1rem solid var(--color-surface);box-shadow:0 .25rem .5rem var(--color-shadow);transform:rotate(-8deg) translate(1rem,-1rem)}.paperclip{position:absolute;top:0;left:3rem;z-index:2;width:6rem;border:0;transform:translateY(-1.8rem) rotate(-15deg) scale(.46);transform-origin:top left}.hello{margin-block:.5rem;text-align:center;font-size:var(--text-3xl);line-height:1.1;transform:rotate(-2deg)}}.flowers{background-image:url(/flowers.webp);background-repeat:repeat;box-shadow:inset 0 1rem 1rem var(--color-shadow-heavy),inset 0 -1rem 1rem var(--color-shadow-heavy);h2{text-align:center;color:#fff;text-shadow:0rem 0rem 1rem #000}}.quotesContainer{display:block;padding-inline:var(--space-4);padding-block:var(--space-4);.card{max-width:80ch;padding:var(--space-8);background-image:url(/paper4.avif);background-size:cover;background-position:center;box-shadow:0 1rem 1rem var(--color-shadow-heavy);margin:0 auto;p{font-size:var(--text-xl);line-height:1.4;&:before{content:"“"}&:after{content:"”"}}footer{margin-top:1rem;cite{display:block;text-align:right;font-style:normal;line-height:1.1}}}}.quotes-slider-wrapper{position:relative;overflow:hidden;width:100%}.quotes-slider{display:grid}.quote-slide{grid-area:1 / 1;align-self:start;width:100%;opacity:0;visibility:hidden;transform:translate(100%);height:100%;display:flex;justify-content:center;align-items:center;&:first-child{opacity:1;visibility:visible;transform:translate(0)}}.quotes-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-5)}.quotes-btn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;background-color:#ffffffd9;border:2px solid var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm);transition:background-color var(--transition-default),border-color var(--transition-default),color var(--transition-default),transform var(--transition-default);&:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.08)}&:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}}.quotes-counter{min-width:5ch;color:#fffffff2;font-size:var(--text-sm);font-weight:600;text-align:center;text-shadow:0 1px 4px var(--color-shadow-heavy)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.script{color:var(--color-script-ink);font-family:var(--font-script);font-size:var(--text-xl)}.eyebrow{max-width:none;color:var(--color-primary);font-size:var(--text-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.copy{display:grid;gap:var(--space-4)}.section--muted{background-color:var(--color-surface-muted)}.section_heading{max-width:42rem;margin-bottom:var(--space-6);p{margin-top:1rem;line-height:1.4}}.lesson-grid,.price-grid{display:grid;gap:var(--space-5)}.lesson-grid{grid-template-columns:repeat(3,minmax(min(18rem,100%),1fr))}@media(width<1060px){.lesson-grid{grid-template-columns:repeat(2,minmax(min(18rem,100%),1fr))}}@media(width<740px){.lesson-grid{grid-template-columns:repeat(1,minmax(min(18rem,100%),1fr))}}.price-grid{grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));grid-template-rows:auto auto auto;column-gap:var(--space-5);row-gap:1rem}.lesson-card,.price-card{padding:var(--space-8);h3{margin-bottom:1rem;line-height:1.3}}.price-card{display:grid;grid-row:span 3;grid-template-rows:subgrid;align-content:start}.lesson-card{h3{font-size:1.5rem}}.price{margin-top:2rem;line-height:1;color:var(--color-primary);font-size:var(--text-2xl);font-weight:700;strong{color:var(--color-text-soft);font-size:1rem}}.pricingFooter{border-top:1px solid var(--color-border);margin-top:1rem;align-self:end;display:flex;width:100%;justify-content:center;align-items:flex-end;gap:1rem;div{flex:1}.bookButton{text-align:right}}.note{margin-top:var(--space-6)}.booking_inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-6)}.faq{max-width:50rem}.faq_item{border-bottom:1px solid var(--color-border);summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4);cursor:pointer;font-weight:600;list-style:none;&:after{content:"+";flex-shrink:0;color:var(--color-text-muted);font-size:var(--text-xl);font-weight:400}&::-webkit-details-marker{display:none}}&[open] summary:after{content:"−"}p{margin-top:var(--space-3);padding-bottom:var(--space-4)}}.footer{border-top:1px solid var(--color-border);padding-block:var(--space-8);padding-inline:var(--container-padding);p{max-width:none;color:var(--color-text-muted);font-size:var(--text-sm)}}@media(width<=900px){.hero_grid,.split{flex-direction:column}.lesson-card,.price-card{padding:2rem}.hero_card{margin-inline:0}.hero_card .risuPhoto{transform:rotate(-4deg)}.booking_inner{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.hero_card .risuPhoto,.hero_card .paperclip,.hero_card .hello{transform:none}}
