/* Shared specifications for the style guide and the home preview. */
.alt-site-header {font:400 16px/24px Arial,"Helvetica Neue",sans-serif;letter-spacing:0;height:auto;min-height:76px}
.alt-site-header .site-nav {max-width:1280px;height:auto;min-height:76px;margin: auto;}
.alt-site-header .cart-link {display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0;color:var(--teal)}
.alt-site-header .cart-link .bi {font-size:24px;line-height:1}
.alt-site-header .btn-komorebi {font:700 16px/24px Arial,sans-serif;min-height:44px;padding:9px 18px;gap:8px;border-radius:5px;background:var(--green);color:#fff}
.alt-site-header .site-nav .nav-link {font:400 14px/24px Arial,sans-serif;color:var(--ink)!important;padding:22px 10px!important}
.alt-site-header .site-nav .nav-item.active .nav-link::after {
  height:2px;
  top:calc(50% + 16px);
  bottom:auto;
  left:10px;
  right:10px;
  background:var(--green);
}
@media(max-width:1199px) {
  .alt-site-header .site-nav .nav-item.active .nav-link::after {left:6px;right:6px}
  .alt-site-header .site-nav .nav-link {font-size:13px;padding:22px 6px!important}
  .alt-site-header .desktop-actions .btn-komorebi {font-size:14px;padding:9px 12px}
}
@media(max-width:991px) {
  .alt-site-header .navbar-collapse {top:76px}
  .alt-site-header .site-nav .nav-link {padding:10px!important}
}
:root {
  --visual-h1: 48px;
  --visual-h1-line: 52px;
  --visual-h2: 36px;
  --visual-h2-line: 40px;
  --visual-h3: 26px;
  --visual-h3-line: 32px;
  --visual-body: 16px;
  --visual-body-line: 24px;
  --visual-lead: 18px;
  --visual-lead-line: 28px;
}
:is(.home-preview,.pages-preview),.style-guide {font-size:var(--visual-body);line-height:var(--visual-body-line)}
:is(.home-preview,.pages-preview) .hero-copy h1,.style-guide .specimen h1,.style-guide .guide-intro h1 {font:400 var(--visual-h1)/var(--visual-h1-line) Georgia,serif;color:var(--green);letter-spacing:0}
:is(.home-preview,.pages-preview) .section-heading h2,.style-guide .specimen h2 {font:400 var(--visual-h2)/var(--visual-h2-line) Georgia,serif;color:var(--green);letter-spacing:0}
:is(.home-preview,.pages-preview) .service-card h3,:is(.home-preview,.pages-preview) .process-step h3,.style-guide .specimen h3 {font:400 var(--visual-h3)/var(--visual-h3-line) Georgia,serif;color:var(--green);letter-spacing:0}
.style-guide .specimen h4 {font:400 20px/26px Arial,sans-serif;color:var(--ink)}
.style-guide .specimen h5 {font:400 16px/22px Arial,sans-serif;color:var(--ink)}
.style-guide .specimen h6 {font:700 12px/18px Arial,sans-serif;color:var(--ink)}
.style-guide .specimen p,:is(.home-preview,.pages-preview) .service-card p,:is(.home-preview,.pages-preview) .process-step p {font-size:var(--visual-body);line-height:var(--visual-body-line)}
.style-guide .specimen .lead,:is(.home-preview,.pages-preview) .hero-copy p {font-size:var(--visual-lead);line-height:var(--visual-lead-line);color:var(--muted)}
:is(.home-preview,.pages-preview) .btn-komorebi,.style-guide .ui-btn {font:700 16px/24px Arial,sans-serif;min-height:44px;padding:9px 18px;gap:8px;border-radius:5px;white-space:normal}
.style-guide .ui-btn.sm {min-height:34px;padding:5px 12px;font-size:14px;line-height:22px}
.style-guide .ui-btn.lg {min-height:52px;padding:12px 28px}
:is(.home-preview,.pages-preview) .btn-outline-brand {background:var(--white)}
:is(.home-preview,.pages-preview) .service-card a,.style-guide .ui-link {font-size:16px;line-height:24px;color:var(--teal)}
:is(.home-preview,.pages-preview) .service-card a {display:inline-flex;align-items:center;min-height:44px}
:is(.home-preview,.pages-preview) .service-icon,:is(.home-preview,.pages-preview) .eyebrow .bi {color:var(--teal)}
.home-preview .service-icon img {display:block;width:36px;height:36px;object-fit:contain}
.home-preview .testimonial-picture {display:block;width:100%;max-width:464px;aspect-ratio:464/184;margin-inline:auto}
.home-preview .testimonial-picture img {display:block;width:100%;height:auto;aspect-ratio:464/184}
.home-preview .newsletter {position:relative;overflow:visible;padding-right:112px}
.home-preview .newsletter-message>span {flex:0 0 56px;width:56px;height:56px;aspect-ratio:1;align-self:center}
.home-preview .newsletter-message>span .bi {display:block;line-height:1}
.home-preview .newsletter-leaves {position:absolute;right:0;top:-16px;display:block;width:100px;height:100px;pointer-events:none}
.home-preview .newsletter-leaves img {display:block;width:100%;height:auto;aspect-ratio:1}
.home-preview .site-footer>.container {max-width:1120px}
.home-preview .site-footer>.container>.row {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,.7fr) 240px;gap:20px;margin:0}
.home-preview .site-footer>.container>.row>div {width:auto;max-width:none;padding:0;min-width:0}
.home-preview .footer-art {display:flex;align-items:center;justify-content:flex-end;gap:14px}
.home-preview .footer-bamboo {display:block;flex:0 0 182px;width:182px;aspect-ratio:182/123}
.home-preview .footer-bamboo img {display:block;width:100%;height:auto;aspect-ratio:182/123}
.home-preview .footer-japanese {display:flex;flex-direction:column;align-items:center;gap:12px;color:#7a5a3a}
.home-preview .footer-japanese>span[lang] {text-orientation:upright;font:14px/1.4 Georgia,serif;letter-spacing:0;white-space:nowrap}
.home-preview .footer-japanese-rule {display:block;width:28px;height:1px;background:var(--coral)}
@media(max-width:991px) {
  .home-preview .site-footer>.container>.row {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .home-preview .site-footer>.container>.row>.footer-art {grid-column:1/-1;justify-content:center}
}
@media(max-width:767px) {
  .home-preview .newsletter {padding-right:20px;padding-top:64px}
  .home-preview .newsletter-leaves {top:-12px;width:60px;height:60px}
}
:is(.home-preview,.pages-preview) .eyebrow {font-size:12px;line-height:18px;letter-spacing:0}
:is(.home-preview,.pages-preview) .hero-copy {width:510px;left:200px;top:48px}
:is(.home-preview,.pages-preview) .hero-copy p {max-width:460px}
:is(.home-preview,.pages-preview) .home-hero {height:auto;min-height:430px}
:is(.home-preview,.pages-preview) .hero-inner {min-height:430px}
:is(.home-preview,.pages-preview) .hero-buttons {flex-wrap:wrap}
:is(.home-preview,.pages-preview) .section {padding-top:40px;padding-bottom:40px}
:is(.home-preview,.pages-preview) .service-card {padding:24px;min-height:290px}
:is(.home-preview,.pages-preview) .service-card h3 {margin-top:16px;margin-bottom:12px}
:is(.home-preview,.pages-preview) .process-grid {grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr)}
:is(.home-preview,.pages-preview) .process-step h3 {margin:12px 0}
:is(.home-preview,.pages-preview) .testimonial-copy blockquote {font-size:22px;line-height:30px}
:is(.home-preview,.pages-preview) .testimonial-copy p {font-size:14px;line-height:22px}
:is(.home-preview,.pages-preview) .newsletter-message h2 {font-size:20px;line-height:26px}
:is(.home-preview,.pages-preview) .newsletter-message small {font-size:14px;line-height:22px}
:is(.home-preview,.pages-preview) .newsletter-form input,:is(.home-preview,.pages-preview) .newsletter-form button {font:400 16px/24px Arial,sans-serif;min-height:44px;height:auto;padding:10px 14px}
:is(.home-preview,.pages-preview) .newsletter-form button {font-weight:700}
:is(.home-preview,.pages-preview) .site-nav .nav-link {font-size:14px;color:var(--ink)!important}
:is(.home-preview,.pages-preview) .site-footer p,:is(.home-preview,.pages-preview) .site-footer a {font-size:14px;line-height:22px}
:is(.home-preview,.pages-preview) .site-footer h3 {font-size:12px;line-height:18px;letter-spacing:0}
:is(.home-preview,.pages-preview) .footer-bottom {font-size:14px;color:var(--muted)}
:is(.home-preview,.pages-preview) .social a {display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:22px}
:is(.home-preview,.pages-preview) .site-nav {max-width:1280px}
:is(.home-preview,.pages-preview) .site-header,:is(.home-preview,.pages-preview) .site-nav {height:auto;min-height:76px}
:is(.home-preview,.pages-preview) .site-nav .nav-link {padding:22px 10px!important}
:is(.home-preview,.pages-preview) a:focus-visible,:is(.home-preview,.pages-preview) button:focus-visible,:is(.home-preview,.pages-preview) input:focus-visible,.style-guide :focus-visible {outline:3px solid var(--teal);outline-offset:3px}
.style-guide .guide-title h2 {color:var(--green)}
.style-guide .guide-intro .kicker {letter-spacing:0}
.pages-preview .alt-page-heading h1,.pages-preview .shop-heading h1 {font:400 var(--visual-h1)/var(--visual-h1-line) Georgia,serif;color:var(--green);letter-spacing:0}
.pages-preview .alt-band h2,.pages-preview .shop-heading h2 {font:400 var(--visual-h2)/var(--visual-h2-line) Georgia,serif;color:var(--green);letter-spacing:0}
.pages-preview .alt-band h3,.pages-preview .alt-info-card h2 {font:400 var(--visual-h3)/var(--visual-h3-line) Georgia,serif;color:var(--green);letter-spacing:0}
.pages-preview .alt-lead,.pages-preview .shop-heading>p:last-child {font-size:var(--visual-lead);line-height:var(--visual-lead-line);color:var(--muted)}
.pages-preview .alt-band p {font-size:var(--visual-body);line-height:var(--visual-body-line)}
.pages-preview .alt-band p.eyebrow {font-size:12px;line-height:18px;color:var(--coral);letter-spacing:0}
.pages-preview .alt-info-card {gap:12px;padding:24px;min-height:250px}
.pages-preview .alt-info-card h2,.pages-preview .alt-info-card h3,.pages-preview .alt-info-card p {margin:0}
.pages-preview .alt-info-card a {display:inline-flex;align-items:center;gap:12px;min-height:44px}
.pages-preview .alt-number {color:var(--coral);margin:0}
.pages-preview .alt-form input,.pages-preview .alt-form textarea {font-size:16px;line-height:24px;min-height:44px}
.pages-preview .alt-detail-aside h2,.pages-preview .alt-contact-aside h2 {font-size:26px;line-height:32px}
.pages-preview .alt-detail-grid,.pages-preview .alt-split {grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.pages-preview .alt-contact-aside a {overflow-wrap:anywhere}
.pages-preview .cart-link {display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex-shrink:0;color:var(--teal)}
.pages-preview .cart-link .bi {font-size:24px;line-height:1}
.pages-preview .shop-width {max-width:1240px}
.pages-preview .shop-main {padding-top:40px}
.pages-preview .course-picture {height:auto;aspect-ratio:16/9}
.pages-preview .course-info {padding:18px;display:flex;flex-direction:column;flex:1}
.pages-preview .course-info h2,.pages-preview .product-card h3,.pages-preview .alt-card-body h2,.pages-preview .alt-product-card h2 {font:700 20px/26px Arial,sans-serif;color:var(--ink);letter-spacing:0}
.pages-preview .course-info>p,.pages-preview .product-card p,.pages-preview .alt-card-body p,.pages-preview .alt-product-card p {font-size:16px;line-height:24px;min-height:0}
.pages-preview .course-meta,.pages-preview .alt-card-meta {font-size:14px;line-height:22px;flex-wrap:wrap;gap:8px 16px}
.pages-preview .course-buy {margin-top:auto;padding-top:16px;gap:12px}
.pages-preview .course-buy strong,.pages-preview .product-card strong {font-size:18px;line-height:24px}
.pages-preview .course-card {display:flex;flex-direction:column}
.pages-preview .product-card {display:flex;flex-direction:column}
.pages-preview .product-card picture {height:auto;aspect-ratio:16/9}
.pages-preview .product-card>div {padding:18px 18px 52px}
.pages-preview .product-card button {min-height:44px;min-width:44px;bottom:4px;right:8px}
.pages-preview .popular {font-size:12px;line-height:18px}
.pages-preview .products-section {padding-top:32px;margin-top:32px}
.pages-preview .alt-product-card .alt-picture {aspect-ratio:4/3}
@media(max-width:1199px) {
  :is(.home-preview,.pages-preview) .site-nav .nav-link {padding:22px 6px!important;font-size:13px}
  :is(.home-preview,.pages-preview) .desktop-actions .btn-komorebi {font-size:14px;padding:9px 12px}
  :is(.home-preview,.pages-preview) .cart-link {margin-right:10px}
}
@media(max-width:991px) {
  .pages-preview .alt-detail-grid,.pages-preview .alt-split {grid-template-columns:1fr;gap:28px}
  .pages-preview .alt-four-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(.home-preview,.pages-preview) .navbar-collapse {top:76px}
  :is(.home-preview,.pages-preview) .hero-copy {left:120px;top:48px}
  :is(.home-preview,.pages-preview) .process-grid {grid-template-columns:1fr 1fr;gap:28px}
  :is(.home-preview,.pages-preview) .process-arrow {display:none}
}
@media(max-width:767px) {
  .pages-preview .alt-three-grid,.pages-preview .alt-four-grid {grid-template-columns:1fr}
  .pages-preview .alt-product-card {display:block}
  .pages-preview .course-card {display:grid;grid-template-columns:40% minmax(0,1fr)}
  .pages-preview .course-picture {height:100%;aspect-ratio:auto}
  .pages-preview .course-info {padding:14px;min-width:0}
  .pages-preview .course-info h2 {font-size:18px;line-height:24px}
  .pages-preview .course-info>p {font-size:16px;line-height:24px}
  .pages-preview .product-card {display:grid;grid-template-columns:32% minmax(0,1fr)}
  .pages-preview .product-card picture {height:100%;aspect-ratio:auto}
  .pages-preview .product-card>div {min-width:0}
  .pages-preview .alt-info-card {min-height:0}
  :root {--visual-h1:40px;--visual-h1-line:44px;--visual-h2:32px;--visual-h2-line:38px;--visual-h3:24px;--visual-h3-line:30px}
  :is(.home-preview,.pages-preview) .hero-copy {position:relative;left:auto;right:auto;top:auto;width:auto;padding:48px 24px}
  :is(.home-preview,.pages-preview) .hero-inner {padding:0;min-height:0}
  :is(.home-preview,.pages-preview) .home-hero {min-height:0}
  :is(.home-preview,.pages-preview) .hero-buttons {width:auto;flex-direction:column}
  :is(.home-preview,.pages-preview) .service-card {min-height:0}
  :is(.home-preview,.pages-preview) .process-grid {grid-template-columns:1fr}
  :is(.home-preview,.pages-preview) .newsletter-form {grid-template-columns:1fr}
  :is(.home-preview,.pages-preview) .newsletter-form input,:is(.home-preview,.pages-preview) .newsletter-form button {width:100%;height:auto;min-height:44px}
  :is(.home-preview,.pages-preview) .footer-bottom small {font-size:12px}
  .style-guide .ui-btn.sm,.style-guide .ui-icon.sm {min-height:44px}
}
@media(max-width:370px) {
  .pages-preview .course-card,.pages-preview .product-card {display:flex;flex-direction:column}
  .pages-preview .course-picture,.pages-preview .product-card picture {height:auto;aspect-ratio:16/9}
  :root {--visual-h1:35px;--visual-h1-line:40px}
}
@media(max-width:991px) {
  .alt-site-header .site-nav .nav-link {padding:10px!important}
}
