/* Original seshen-works.com typography and palette, restored from its public CSS.
   Keep the existing content, responsive layout and interaction choreography. */
:root {
  --serif: 'Noto Serif JP', serif;
  --sans: 'Noto Sans JP', sans-serif;
  --en: 'Cormorant Garamond', serif;
  --cream: oklch(96.5% .018 95);
  --cream-deep: oklch(93.5% .028 92);
  --gold: oklch(62% .09 80);
  --gold-deep: oklch(52% .08 75);
  --ink: oklch(32% .02 60);
  --ink-soft: oklch(45% .02 65);
  --line: oklch(89% .02 88);
  --background: oklch(97.5% .012 95);
  --petal: #E8DCC3;
}
body { background: var(--background); color: var(--ink); font-weight: 400; }
main { background: #fff; }
h1,h2,h3 { font-weight: 600; }
em { color: var(--gold-deep); }
::selection { background: #E8DCC3; color: #2A241C; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline-color: var(--gold-deep); }
.header { background: linear-gradient(#3A332A50,transparent); }
.header .brand span,#sound b { color: #E8DCC3; }
#mobile-menu { background: #FBF8F1fa; color: var(--ink); box-shadow: 0 20px 40px #3A332A25; }
#mobile-menu a { border-color: var(--line); }
.hero-mosaic { background: #6B5B45; }
.hero-v2 .hero-shade { background: linear-gradient(90deg,#4A3F2Ee8 0%,#5A4C36c9 37%,#6B5B4566 61%,#6B5B4525 85%),linear-gradient(0deg,#4A3F2Ecc,transparent 65%); }
.hero h1 { text-shadow: 0 2px 25px #2A241C50; }
.hero h1 .italic-line,.hero .eyebrow { color: #EFE6D2; }
.button { background: linear-gradient(120deg,#C9A962,#B89B5E 60%,#8A6D3B); color: #fff; border-color: #d8c49a; box-shadow: 0 5px 0 #8A6D3B,0 12px 30px #3A332A20,inset 0 1px 0 #E8DCC380; }
.button:hover { background: linear-gradient(120deg,#B89B5E,#8A6D3B); box-shadow: 0 7px 0 #6B5B45,0 16px 35px #3A332A30; }
.button:active,.button.pressed { box-shadow: 0 1px 0 #8A6D3B,inset 0 2px 5px #4A3F2E33; }
.journey-nav { background: #FBF8F1f2; border-color: var(--line); box-shadow: 0 6px 20px #3A332A06; }
.journey-nav a { color: var(--ink-soft); }
.journey-nav a.active { color: #8A6D3B; }
.founder-quote { background: var(--cream); color: var(--ink); border-color: var(--line); }
.founder-quote a { border-color: #B89B5E; }
.viewpoint figcaption,.experience-photo figcaption { color: var(--ink-soft); }
.photo-seal { background: #E8DCC3; box-shadow: 0 0 0 7px #FBF8F1; }
.check-section { background: radial-gradient(ellipse at 14% 70%,#E8DCC3,transparent 55%),var(--cream-deep); color: var(--ink); }
.check-intro em { color: var(--gold-deep); }
.check-card { background: linear-gradient(100deg,#fff,#FBF8F1); color: var(--ink); border-color: #E3D9C2; box-shadow: 0 4px 0 #d8c49a; }
.check-card:hover { background: #FAF6EC; border-color: #B89B5E; }
.check-card[aria-pressed=true] { background: linear-gradient(110deg,#E8DCC3,#EFE6D2); color: var(--ink); border-color: #B89B5E; box-shadow: 0 4px 0 #B89B5E; }
.bloom i { background: linear-gradient(#B89B5E22,#E8DCC308); border-color: #B89B5E66; }
.bloom i.lit { background: linear-gradient(#B89B5Edd,#d8c49a55); border-color: #B89B5E; box-shadow: 0 0 35px #B89B5E33; }
.check-meter { background: #E3D9C2; }
.check-meter span { background: linear-gradient(90deg,#8A6D3B,#B89B5E); }
#check-result .eyebrow,.result-path small { color: var(--gold-deep); }
#result-focus button { background: linear-gradient(125deg,#fff,#FBF8F1); color: var(--ink); border-color: #d8c49a; box-shadow: 0 3px 0 #d8c49a; }
#result-focus button[aria-pressed=true] { background: linear-gradient(125deg,#B89B5E,#8A6D3B); color: #fff; border-color: #B89B5E; box-shadow: 0 3px 0 #6B5B45; }
#result-paths>.result-path,.result-path { background: linear-gradient(110deg,#ffffffcc,#FBF8F180); border-left-color: #B89B5E; }
#result-paths details { border-color: #d8c49a; }
.experience { --scene-accent: #d8c49a; background: radial-gradient(ellipse at 88% 30%,var(--scene-accent),transparent 75%),#FBF8F1; }
.scene-emblem { background: radial-gradient(circle,#5A4C36ed,#3A332Ab8); border-color: #E8DCC366; box-shadow: 0 10px 35px #3A332A40; }
.reflection-options button { background: linear-gradient(120deg,#fff,#EFE6D2); color: var(--ink); border-color: #E3D9C2; box-shadow: 0 4px 0 #d8c49a; }
.reflection-options button[aria-pressed=true] { background: linear-gradient(120deg,#B89B5E,#8A6D3B); color: #fff; border-color: #B89B5E; box-shadow: 0 4px 0 #6B5B45; }
.course-banner { background: #3A332A; }
.course-banner:after { background: linear-gradient(90deg,#4A3F2Eee 5%,#5A4C3690 55%,#6B5B4525); }
.course-banner em,.course-purpose .eyebrow { color: #E8DCC3; }
.course-purpose { color: #fff; }
.course-purpose:after { background: linear-gradient(90deg,#4A3F2Eed,#5A4C36d9 50%,#6B5B45c9); }
.course-purpose small { color: #E8E0D0; }
.reviews { background: #fff; }
.quote-mark { color: #B89B5E; }
.decision-grid article,.decision-grid article:nth-child(2) { background: linear-gradient(140deg,#EFE6D2,#FBF8F1); border-color: #B89B5E; }
.decision-grid article:nth-child(3) { background: linear-gradient(140deg,#B89B5E,#8A6D3B); color: #fff; }
.gallery { background: var(--cream); }
.company { border-color: var(--line); }
.price { background: var(--cream-deep); color: var(--ink); }
.price-panel { background: linear-gradient(130deg,#fff,#FBF8F1); border-color: #d8c49a; box-shadow: 0 20px 40px #3A332A15; }
.price-number,.price-details dt,.course-conditions>p,.course-conditions .text-link { color: var(--gold-deep); }
.price-panel hr,.price-details>div { border-color: var(--line); }
.course-conditions { background: var(--cream); border-color: #E3D9C2; }
.inquiry-paper { background: linear-gradient(135deg,#fff,#EFE6D2); border-color: #d8c49a; }
.inquiry-paper textarea { background: #FBF8F1; color: var(--ink); border-color: #E3D9C2; }
.inquiry-paper textarea:focus-visible { outline-color: var(--gold-deep); }
.faq-tools button { background: linear-gradient(130deg,#fff,#EFE6D2); border-color: #d8c49a; box-shadow: 0 3px 0 #d8c49a; }
.faq-tools button[aria-pressed=true] { background: linear-gradient(130deg,#B89B5E,#8A6D3B); color: #fff; border-color: #B89B5E; box-shadow: 0 3px 0 #6B5B45; }
.faq-list summary:hover { background: #FBF8F1; }
.final-cta:after { background: linear-gradient(to bottom,#2A241Cb3,#2A241C8c,#2A241Cbf); }
.final-cta .eyebrow,.subhero .eyebrow { color: #E8DCC3; }
.subhero:after { background: linear-gradient(90deg,#4A3F2Ee8,#6B5B4566); }
body>footer { background: #3A332A; color: #E8E0D0; }
body>footer .brand span { color: #E8DCC3; }
.mobile-cta { background: #FBF8F1; }
.mobile-cta a:last-child { background: linear-gradient(120deg,#B89B5E,#8A6D3B); color: #fff; }
dialog { background: #FBF8F1; color: var(--ink); border-color: #d8c49a; }
dialog::backdrop { background: #2A241Cdb; }
dialog button { background: #8A6D3B; color: #fff; }
.bloom-finale { background: radial-gradient(ellipse at center,#6B5B45,#2A241C 80%); color: #E8DCC3; }
.bloom-finale::backdrop { background: #2A241Ceb; }
.bloom-finale h2 { font-weight: 600; }
@media (max-width:700px) {
  .hero-v2 .hero-shade { background: linear-gradient(0deg,#4A3F2Efa 4%,#5A4C36e8 46%,#6B5B4590 65%,#6B5B4525 88%),linear-gradient(90deg,#4A3F2Ec2,transparent 75%); }
  .course-banner:after { background: #4A3F2Ec4; }
}
