:root{--cream:#F5F0E8;--cream-dark:#EDE6D4;--white:#FDFAF4;--forest:#2C3D2E;--forest-mid:#3E5C3F;--sage:#7A9E7E;--sage-light:#B5CCAF;--moon:#D4C9B0;--navy:#1A2235;--navy-mid:#2E3F5C;--terra:#8B5E3C;--terra-light:#C4916A;--gutter:clamp(24px,6vw,96px);--serif:'Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--forest);font-family:var(--sans);font-size:17px;font-weight:400;line-height:2.05;-webkit-font-smoothing:antialiased}p,h1,h2,h3,figure{margin:0}a{color:inherit;text-underline-offset:7px;transition:color .2s,background-color .2s,border-color .2s}a:focus-visible{outline:2px solid var(--terra);outline-offset:7px}a:hover{color:var(--terra)}.header{max-width:1440px;margin:auto;padding:32px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-family:var(--serif);font-size:34px;line-height:1.6;letter-spacing:.22em;text-decoration:none;white-space:nowrap}.brand span{font-family:var(--sans);display:block;font-size:11px;letter-spacing:.2em;padding-top:3px}nav{display:flex;gap:32px;font-size:14px;letter-spacing:.12em}nav a{text-decoration:none}.hero{position:relative;isolation:isolate;overflow:hidden;max-width:1440px;margin:auto;padding:66px var(--gutter) 108px;display:grid;grid-template-columns:1.2fr .9fr;gap:56px;align-items:center;min-height:700px}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:400;color:var(--forest-mid);margin-bottom:28px}.hero .eyebrow{color:var(--forest-mid)}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(38px,4.2vw,64px);letter-spacing:.07em;line-height:1.58;margin-bottom:30px}.lead{font-size:16px;color:var(--forest-mid);line-height:2.25;letter-spacing:.05em}.lead::first-line{font-family:var(--serif);font-size:25px;color:var(--terra);line-height:2.3}.intro{font-size:16px;line-height:2.1;color:var(--forest-mid);margin:22px 0 30px}.text-link{display:inline-block;padding:10px 24px;border:1px solid var(--forest);text-decoration:none;font-size:14px;letter-spacing:.12em}.text-link:hover{background:var(--forest);color:var(--cream)}.hero-photo{position:relative;align-self:center;padding-top:18px}.hero-photo img{display:block;width:100%;height:440px;object-fit:cover;object-position:73% center;border-radius:48% 48% 0 0;filter:saturate(.72) sepia(.12);border:1px solid var(--cream-dark)}.hero-photo figcaption{margin-top:20px;text-align:center;font-family:var(--serif);font-size:14px;color:var(--terra);letter-spacing:.12em}.hero-orbit{position:absolute;right:3.1rem;top:50%;width:400px;height:400px;opacity:.28;transform:translateY(-50%);animation:slowRotate 60s linear infinite;transform-origin:center;pointer-events:none;z-index:1}
@keyframes slowRotate{from{transform:translateY(-50%) rotate(0deg)}to{transform:translateY(-50%) rotate(360deg)}}
.section{padding:100px max(var(--gutter),calc((100vw - 1248px)/2));margin:0}.activities{background:var(--navy);color:var(--moon)}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:12px 64px;margin-bottom:56px}.section-heading .eyebrow{grid-column:1/-1;color:var(--sage-light);margin-bottom:12px}h2{font-size:40px;line-height:1.65;letter-spacing:.1em}.section-heading>p:last-child{align-self:end;font-size:16px;line-height:2.15;color:var(--moon)}.activity-grid{display:grid;grid-template-columns:1.25fr .8fr;gap:54px;align-items:start}.activity{padding:36px 38px 32px;background:var(--navy-mid);border-top:1px solid var(--sage);transition:background-color .35s}.activity:hover{background:var(--forest)}.activity-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.number{font-family:var(--serif);font-size:34px;color:var(--sage-light)}.tag{font-size:11px;letter-spacing:.17em;color:var(--sage-light)}.activity h3{font-size:35px;letter-spacing:.15em;margin:22px 0 10px;color:var(--cream)}.subhead{font-family:var(--serif);font-size:21px;letter-spacing:.06em;margin-bottom:22px;color:var(--moon)}.activity>p:not(.subhead){font-size:16px;line-height:2}.activity ul{list-style:none;padding:0;margin:24px 0}.activity li{padding:10px 0;border-bottom:1px solid #72847766;font-size:15px;line-height:1.9}.activity li::before{content:'・';color:var(--sage-light);padding-right:6px}.activity-note{color:var(--terra-light)}.activity:nth-child(2){padding:30px 0 0;background:transparent;border-color:#D4C9B055;margin-top:20px}.activity:nth-child(2) h3{font-size:26px;color:var(--moon);letter-spacing:.12em}.activity:nth-child(2) .number{font-size:26px;color:var(--moon)}.activity:nth-child(2) .tag{font-size:10px;color:var(--moon)}.activity:nth-child(2) .subhead{font-size:19px}.activity:nth-child(2)>p:not(.subhead){font-size:15px}.activity:nth-child(2):hover{background:transparent}.about{background:var(--white);padding-top:112px;padding-bottom:108px}.about>.eyebrow{margin-bottom:40px;color:var(--terra)}.about-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:88px}.about-visual>h2{font-size:52px;letter-spacing:.18em;position:relative;padding-top:16px}.about-visual>h2::after{content:'';display:block;width:80px;height:1px;background:var(--sage);margin-top:34px}.about-intro{font-family:var(--serif);font-size:29px;line-height:1.95;letter-spacing:.055em;margin-bottom:30px}.about-grid>div>p:not(.about-intro){color:var(--forest-mid);font-size:16px}dl{margin:38px 0 0}dl div{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--cream-dark);padding:18px 0;font-size:14px;gap:16px}dt{color:var(--forest-mid)}dd{margin:0}.contact{background:var(--navy);color:var(--moon);display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.contact .eyebrow{color:var(--sage-light)}.contact h2{color:var(--cream);margin-bottom:24px;font-size:36px}.contact p{font-size:16px}.contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.button{display:inline-block;border:1px solid var(--moon);padding:16px 32px;text-decoration:none;color:var(--cream);background:transparent;font-size:16px;letter-spacing:.13em}.button:hover{color:var(--navy);background:var(--cream)}.email{font-size:14px;letter-spacing:.025em;overflow-wrap:anywhere}.contact a:focus-visible{outline-color:var(--sage-light)}footer{padding:40px max(var(--gutter),calc((100vw - 1248px)/2));background:var(--cream-dark);display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--forest-mid);font-size:12px}footer>span{font-family:var(--serif);font-size:23px;letter-spacing:.16em}.footer-en{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.12em;margin-top:5px}footer a{font-size:12px;letter-spacing:.07em}.skip{position:absolute;top:-100px;z-index:10;background:var(--cream);padding:12px;color:var(--forest)}.skip:focus{top:0}
@media(min-width:1600px){.hero-orbit{right:5rem;width:450px;height:450px}}
@media(max-width:1000px){.hero{gap:30px;min-height:620px;padding-top:48px;padding-bottom:80px}.hero-photo img{height:370px}.hero-orbit{right:1.8rem;width:320px;height:320px}.section{padding-top:80px;padding-bottom:80px}.activity-grid{gap:36px;grid-template-columns:1.15fr .9fr}.activity{padding:28px}.about-grid{gap:50px}.contact{gap:36px}.email{font-size:13px}}
@media(max-width:760px){.header{padding:24px;align-items:center;gap:20px;flex-direction:column}.brand{font-size:31px;text-align:center}.brand span{font-size:10px}nav{gap:24px;justify-content:center;flex-wrap:wrap;font-size:13px;letter-spacing:.09em}.hero{padding:40px 26px 68px;grid-template-columns:1fr;min-height:0;gap:40px}.hero-copy{text-align:center}.hero .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:24px}h1{font-size:clamp(33px,7.8vw,48px);line-height:1.65;letter-spacing:.05em}.lead{font-size:14px}.lead::first-line{font-size:22px}.intro{font-size:15px;margin:20px 0 26px}.hero-photo{width:min(78%,350px);margin:0 auto;padding-top:0}.hero-photo img{height:300px}.hero-photo figcaption{font-size:12px;margin-top:18px}.hero-orbit{top:auto;bottom:96px;right:calc(50% - 165px);width:330px;height:330px;animation-name:slowRotateMobile;transform:rotate(0deg);opacity:.24}@keyframes slowRotateMobile{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.section{padding:64px 26px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:36px}.section-heading .eyebrow{grid-column:auto;margin:0}h2{font-size:33px}.section-heading>p:last-child{font-size:15px}.activity-grid{grid-template-columns:1fr;gap:38px}.activity{padding:28px 24px}.activity h3{font-size:30px}.activity:nth-child(2){margin:0;padding:28px 0 0}.activity:nth-child(2) h3{font-size:24px}.activity:nth-child(2) .tag{font-size:11px}.about-grid{grid-template-columns:1fr;gap:35px}.about>.eyebrow{margin-bottom:24px}.about-visual>h2{font-size:42px;padding:0}.about-visual>h2::after{margin-top:24px}.about-intro{font-size:24px;line-height:1.95}.about-grid>div>p:not(.about-intro){font-size:16px}dl div{grid-template-columns:90px 1fr;gap:12px;font-size:14px}.contact{grid-template-columns:1fr;gap:32px}.contact h2{font-size:32px}.contact-action{gap:22px}.email{font-size:14px}.desktop{display:none}footer{padding:30px 26px;flex-wrap:wrap;gap:22px}footer>span{width:100%}.button{padding:14px 24px}}
@media(max-width:360px){nav{gap:16px;font-size:12px}.hero{padding-right:20px;padding-left:20px}.section{padding-right:20px;padding-left:20px}.hero-orbit{width:285px;height:285px;right:calc(50% - 142.5px);bottom:108px}.hero-photo{width:88%}.hero-photo img{height:280px}.activity{padding:25px 20px}.tag{font-size:10px}.lead::first-line{font-size:20px}.contact .email{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-orbit{animation:none}a,.activity{transition:none}}

/* Photo-free hero: keep room for the planetary orbits. */
.hero-photo{min-height:458px;display:flex;flex-direction:column;justify-content:flex-end}
@media(max-width:1000px){.hero-photo{min-height:388px}}
@media(max-width:760px){.hero-photo{min-height:340px;width:min(100%,350px);padding-top:0}}
@media(max-width:360px){.hero-photo{min-height:315px}}
@media(min-width:761px){.hero-orbit{top:calc(50% - 64px)}}

/* The forest cafe belongs in About, separate from the hero orbit. */
.cafe-portrait{margin:38px 0 0}
.cafe-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@media(max-width:760px){.cafe-portrait{margin-top:28px;max-width:440px}.about-visual{width:100%}}

.about-grid>*{min-width:0}

/* Cafe is the main brand. AX is a separate business page. */
.cafe-home .lead{font-family:var(--serif);font-size:22px;line-height:1.95;color:var(--terra)}
.cafe-home .lead::first-line{font-size:22px}
.cafe-home .activity-grid{grid-template-columns:1fr;max-width:900px;margin:0 auto}
.cafe-home .activity{padding:40px 48px}
.cafe-home .activity>p:not(.subhead){max-width:680px}
@media(max-width:760px){.cafe-home .lead,.cafe-home .lead::first-line{font-size:20px}.cafe-home .activity{padding:28px 24px}}
