:root{--ink:#0b0c10;--charcoal:#171922;--indigo:#142a58;--purple:#713c9b;--pink:#e64e9a;--blue:#0878d1;--gold:#c5a35a;--mist:#f3f1ed;--white:#fff}.wp-site-blocks{overflow:hidden}.site-header{position:absolute;z-index:10;top:0;left:0;right:0;padding:18px clamp(20px,4vw,64px);color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.65),transparent)}.site-header .wp-block-site-logo img{max-height:56px;width:auto;filter:brightness(1.08)}.site-header .wp-block-navigation__responsive-container-open{color:#fff}.site-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--ink);color:#fff;padding:2rem}.section,.feature-band,.contact-band{padding:clamp(72px,10vw,140px) clamp(20px,4vw,64px)}.section-dark{background:var(--ink);color:#fff}.eyebrow{font-size:.68rem;letter-spacing:.28em;color:rgba(255,255,255,.62);margin-bottom:1.1rem}.eyebrow.dark{color:#6f6d69}.hero{min-height:94svh;padding:130px clamp(20px,4vw,64px) 64px;display:flex;align-items:center;position:relative;background:radial-gradient(circle at 85% 20%,rgba(113,60,155,.26),transparent 32%),linear-gradient(135deg,#08090c 0%,#11172a 55%,#090a0d 100%)}.hero:after{content:"";position:absolute;right:-12vw;bottom:-22vw;width:45vw;height:45vw;border:1px solid rgba(197,163,90,.22);border-radius:50%}.hero-grid{width:100%;align-items:center;gap:clamp(2rem,7vw,7rem)}.hero-copy{position:relative;z-index:2}.hero h1{letter-spacing:.15em;margin:.15em 0}.hero h2{color:#e6e4e1}.hero-art{position:relative;min-height:48vh;background:linear-gradient(145deg,rgba(8,120,209,.24),rgba(113,60,155,.28) 48%,rgba(230,78,154,.18)),repeating-linear-gradient(25deg,transparent 0 34px,rgba(255,255,255,.035) 35px 36px);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center}.hero-art:before{content:"";position:absolute;inset:10%;border:1px solid rgba(197,163,90,.3)}.hero-logo{position:relative;z-index:1;width:min(85%,460px);mix-blend-mode:screen}.hero-logo img{display:block}.art-caption{position:absolute;bottom:1rem;right:1rem;font-size:.58rem;letter-spacing:.2em;color:rgba(255,255,255,.5)}.section-about{background:var(--mist)}.section-about .wp-block-columns{gap:clamp(2rem,8vw,8rem)}.section-about h2,.section-courses h2,.instructor-entry h2,.news-section h2{font-size:clamp(2rem,4vw,3.7rem)}.portal-grid{margin-top:3rem;gap:1px;background:rgba(255,255,255,.15)}.portal-card{min-height:360px;padding:clamp(1.5rem,3vw,2.8rem);display:flex;flex-direction:column;justify-content:flex-end;background-color:#12141c;background-size:cover;position:relative;overflow:hidden}.portal-card:before{content:"";position:absolute;inset:0;opacity:.55;transition:transform .5s ease}.portal-card>*{position:relative}.portal-card:hover:before{transform:scale(1.08)}.portal-a:before{background:radial-gradient(circle at 70% 30%,#0878d1,transparent 30%),linear-gradient(155deg,#12141c,#142a58)}.portal-b:before{background:radial-gradient(circle at 35% 20%,#e64e9a,transparent 23%),linear-gradient(145deg,#17111c,#713c9b)}.portal-c:before{background:linear-gradient(55deg,transparent 20%,rgba(197,163,90,.7) 21% 22%,transparent 23%),linear-gradient(140deg,#0e1016,#282031)}.portal-card .card-no{position:absolute;top:1rem;right:1.2rem;color:var(--gold);font-size:.7rem}.portal-card a{font-size:.7rem;letter-spacing:.12em}.section-courses{background:#f5f3ef}.course-grid{margin-top:3rem;gap:clamp(1rem,2.5vw,2rem)}.course-card{background:#fff;padding:0 0 1.5rem;box-shadow:0 12px 30px rgba(13,17,27,.06)}.course-card>:not(.course-image){margin-left:1.4rem;margin-right:1.4rem}.course-image{aspect-ratio:4/3;margin-bottom:1.5rem;background-color:#ddd;position:relative;overflow:hidden}.course-image:after{content:"IMAGE PLACEHOLDER";position:absolute;bottom:1rem;left:1rem;font-size:.55rem;letter-spacing:.18em;color:rgba(255,255,255,.75)}.image-1{background:linear-gradient(135deg,#102750,#0878d1 45%,#d6c1aa)}.image-2{background:radial-gradient(circle,#e64e9a 0 6%,transparent 7% 18%,#713c9b 19% 22%,transparent 23%),#11131a;background-size:140px 140px}.image-3{background:linear-gradient(25deg,#0b0c10,#6d213c 55%,#c5a35a)}.image-4{background:radial-gradient(ellipse at 65% 35%,#713c9b,transparent 35%),linear-gradient(150deg,#142a58,#08090c)}.image-5{background:repeating-conic-gradient(from 15deg,#142a58 0 12deg,#713c9b 13deg 24deg,#c5a35a 25deg 27deg)}.image-6{background:radial-gradient(circle at 30% 30%,#e64e9a,transparent 20%),radial-gradient(circle at 70% 65%,#0878d1,transparent 24%),#20172b}.detail-link a{font-size:.72rem;letter-spacing:.1em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.3rem}.feature-band{color:#fff;background:radial-gradient(circle at 80% 20%,rgba(230,78,154,.32),transparent 28%),linear-gradient(135deg,#142a58,#17101e)}.academy-band .wp-block-button__link{background:#fff;color:var(--ink)}.instructor-entry{background:#fff}.map-placeholder{min-height:320px;display:flex;align-items:center;background:radial-gradient(circle at 50% 50%,rgba(8,120,209,.1),transparent 36%),repeating-radial-gradient(circle at 50% 50%,transparent 0 34px,rgba(20,42,88,.12) 35px 36px);border:1px solid #ddd;color:#515762;font-size:.7rem;letter-spacing:.14em}.section-voices{background:var(--charcoal);color:#fff}.voice-card{border-top:1px solid rgba(255,255,255,.3);padding:1.2rem 1rem 2rem}.quote{font-family:serif;font-size:4rem;line-height:1;color:var(--gold);margin:0}.founder .wp-block-columns{gap:clamp(2rem,8vw,7rem)}.portrait-placeholder{aspect-ratio:4/5;display:flex;align-items:center;background:linear-gradient(25deg,rgba(8,120,209,.22),transparent 30%),linear-gradient(145deg,#242733,#11131a);border:1px solid rgba(255,255,255,.14);font-size:.65rem;letter-spacing:.2em;color:rgba(255,255,255,.45)}.achievement-list{list-style:none;padding:0;border-top:1px solid rgba(255,255,255,.2)}.achievement-list li{padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.news-section{background:var(--mist)}.news-list{display:block}.news-item{padding:1.1rem 0;border-top:1px solid #ccc;gap:1.2rem}.news-item:last-child{border-bottom:1px solid #ccc}.news-item .wp-block-post-date,.news-item .wp-block-post-terms{font-size:.72rem}.news-item .wp-block-post-terms{color:#6c4b7d}.news-item h3{flex:1}.contact-band{color:#fff;background:linear-gradient(135deg,rgba(8,120,209,.75),rgba(113,60,155,.8) 50%,rgba(230,78,154,.7)),#111}.contact-band h2{font-size:clamp(2rem,5vw,4rem)}.contact-band .wp-block-button__link{background:#fff;color:var(--ink);min-width:220px}.site-footer{padding:3rem clamp(20px,4vw,64px);border-top:1px solid rgba(255,255,255,.12)}.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:inherit;border:1px solid currentColor}.wp-block-button__link{transition:background .25s,color .25s,transform .25s}.wp-block-button__link:hover{transform:translateY(-2px)}
@media (max-width:781px){.site-header{padding:14px 20px}.site-header .wp-block-site-logo img{max-height:44px}.hero{padding-top:100px;min-height:auto}.hero-grid{grid-template-columns:1fr!important}.hero-art{min-height:42vh;order:-1}.hero h1{font-size:clamp(2.5rem,14vw,4rem)!important}.hero h2{font-size:1.08rem!important}.section,.feature-band,.contact-band{padding:72px 20px}.portal-grid{display:block}.portal-card{min-height:280px;margin-bottom:1px}.course-grid{grid-template-columns:1fr!important}.section-about br{display:none}.founder .wp-block-columns{flex-direction:column-reverse}.news-item{display:block!important}.news-item>*{margin:.25rem 0}.wp-block-buttons{gap:.65rem}.hero .wp-block-button{flex:1}.hero .wp-block-button__link{width:100%;text-align:center}.art-caption{font-size:.48rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep the supplied logo portable when WordPress is installed in a subdirectory. */
.hero-logo{min-height:clamp(150px,24vw,260px);background:url('../images/shigetsu-logo.jpg') center/contain no-repeat}.hero-logo img{visibility:hidden}

/* Representative artwork hero — artwork stays unobstructed and fully visible. */
.site-header:before{content:"";display:block;width:112px;height:54px;background:url('../images/shigetsu-logo.jpg') left center/contain no-repeat;flex:0 0 auto}.site-header .wp-block-site-logo{display:none}.hero-copy>.eyebrow,.art-caption{display:none}.hero-art{min-height:min(72vh,760px);padding:clamp(12px,2vw,24px);background:linear-gradient(145deg,rgba(8,120,209,.07),rgba(113,60,155,.08)),#0d0f14}.hero-art:before{inset:clamp(8px,1.4vw,18px);border-color:rgba(197,163,90,.17)}.hero-logo{width:100%;height:100%;min-height:min(66vh,700px);margin:0;background:url('../images/shigetsu-hero.jpg') center/contain no-repeat}.hero-logo img{visibility:hidden;width:100%;height:100%}.hero-grid{grid-template-columns:minmax(270px,.78fr) minmax(420px,1.45fr);gap:clamp(2rem,5vw,5.5rem)}
@media (max-width:781px){.site-header:before{width:94px;height:44px}.hero{padding-top:90px}.hero-grid{grid-template-columns:1fr!important;gap:1.75rem}.hero-art{min-height:auto;aspect-ratio:4/5;padding:10px}.hero-logo{min-height:0;height:100%;background-size:contain}.hero-copy{padding-bottom:10px}.hero-copy h1{margin-top:0}.hero .wp-block-buttons{margin-top:1.25rem}}

/* Stronger brand hierarchy; the header logo is intentionally removed. */
.site-header{justify-content:flex-end}.site-header:before{display:none}.hero h1{font-size:clamp(4rem,6.5vw,6.8rem)!important;line-height:.9;letter-spacing:.13em}.hero h2{font-size:clamp(.95rem,1.35vw,1.22rem)!important;line-height:1.8;letter-spacing:.04em;margin-top:1.7rem}
@media (max-width:781px){.hero h1{font-size:clamp(3.1rem,14vw,4.4rem)!important;line-height:.92}.hero h2{font-size:.98rem!important;line-height:1.75;margin-top:1.15rem}.site-header{justify-content:flex-end}}

/* 0.4.0: museum-style hero refinement and responsive fixed navigation. */
.site-header{
  position:fixed;
  top:0;
  z-index:1000;
  min-height:72px;
  padding:14px clamp(20px,4vw,64px);
  background:linear-gradient(180deg,rgba(5,7,12,.94),rgba(8,11,18,.86));
  border-bottom:1px solid rgba(197,163,90,.16);
  box-shadow:0 12px 34px rgba(0,0,0,.18);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

/* 1.9.0: editorial news index and single-post presentation. */
.news-page,.news-single-page{color:#17233a;background:#f7f3ea}
.news-page-hero,.news-single-hero{position:relative;overflow:hidden;padding:clamp(150px,16vw,210px) clamp(22px,5vw,72px) clamp(82px,9vw,126px);background:radial-gradient(circle at 84% 12%,rgba(197,163,90,.16),transparent 31%),linear-gradient(135deg,#fbf9f4,#f1e9dc)}
.news-page-hero:after,.news-single-hero:after{content:"";position:absolute;right:-12vw;top:72px;width:min(52vw,680px);aspect-ratio:1;border:1px solid rgba(164,128,56,.16);border-radius:50%;pointer-events:none}
.news-page-hero-inner,.news-single-hero-inner{position:relative;z-index:1;margin-inline:auto!important}
.news-page-eyebrow{margin:0 0 1.2rem!important;color:#9b772e;font-family:system-ui,sans-serif;font-size:.72rem!important;font-weight:700;letter-spacing:.28em;line-height:1.4!important}
.news-page-hero h1{margin:0;color:#111c31;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(3.4rem,7vw,6.3rem);font-weight:400;letter-spacing:.08em;line-height:1.18;word-break:keep-all}
.news-page-lead{max-width:760px;margin:2rem 0 0!important;color:#665f54;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.08rem,1.8vw,1.28rem)!important;line-height:2!important}
.news-page-lead>*{margin:0!important}
.news-page-list-section{padding:clamp(78px,10vw,140px) clamp(22px,5vw,72px);background:#fff}
.news-page-list-inner{margin-inline:auto!important}
.news-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px) clamp(24px,3.2vw,42px)}
.news-card{min-width:0;background:#fff;border:1px solid #ded6c8;box-shadow:0 16px 44px rgba(30,40,57,.07);transition:transform .25s ease,box-shadow .25s ease}
.news-card:hover{transform:translateY(-4px);box-shadow:0 22px 54px rgba(30,40,57,.12)}
.news-card-media{display:block;overflow:hidden;aspect-ratio:16/10;background:#111c31}
.news-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.news-card:hover .news-card-media img{transform:scale(1.025)}
.news-card-body{padding:clamp(24px,3.5vw,38px)}
.news-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1.15rem;color:#776d5d;font-family:system-ui,sans-serif;font-size:.75rem;letter-spacing:.08em}
.news-card-meta span{padding:.28rem .65rem;color:#7a5b20;background:#f8f3e8;border:1px solid #d8c59e}
.news-card h2{margin:0;color:#152039;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.45rem,2.4vw,2rem);font-weight:500;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.news-card h2 a{color:inherit;text-decoration:none}
.news-card-body>p{min-height:3.8em;margin:1.1rem 0 1.5rem!important;color:#646b76;font-size:.96rem!important;line-height:1.9!important}
.news-read-more{display:inline-flex;align-items:center;gap:.75rem;padding-bottom:.35rem;color:#172a4e;border-bottom:1px solid #a88a4e;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-decoration:none}
.news-read-more span{color:#a78035;transition:transform .2s ease}
.news-read-more:hover span{transform:translateX(4px)}
.news-empty{margin:0;padding:clamp(34px,5vw,58px);color:#6e685e;background:#faf8f4;border:1px solid #ded6c8;font-family:var(--wp--preset--font-family--mincho);font-size:1.1rem;text-align:center}
.news-pagination{margin:clamp(48px,6vw,76px) 0 0}
.news-pagination .page-numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}
.news-pagination a,.news-pagination span{display:grid;min-width:44px;height:44px;padding:0 .8rem;place-items:center;color:#26334b;background:#fff;border:1px solid #d8cfbe;text-decoration:none}
.news-pagination .current{color:#fff;background:#172a4e;border-color:#172a4e}
.news-pagination a:hover{color:#fff;background:#9a7939;border-color:#9a7939}
.news-contact-cta{margin:clamp(70px,9vw,120px) 0 0;padding:clamp(36px,6vw,64px);color:#fff;background:radial-gradient(circle at 85% 20%,rgba(197,163,90,.2),transparent 30%),linear-gradient(135deg,#0d1728,#172a4e);text-align:center}
.news-contact-cta p{margin:0 0 1.7rem!important;color:rgba(255,255,255,.78);font-size:1rem!important;line-height:1.9!important}
.news-contact-cta a{display:inline-flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:#fff;border:1px solid rgba(255,255,255,.55);font-weight:600;letter-spacing:.08em;text-decoration:none;transition:color .2s ease,background .2s ease}
.news-contact-cta a:hover{color:#172a4e;background:#fff}

.news-single-hero{padding-bottom:clamp(66px,8vw,104px)}
.news-single-hero h1{max-width:920px;margin:0;color:#111c31;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(2.7rem,5.5vw,5rem);font-weight:400;letter-spacing:.035em;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.news-single-meta{gap:1rem 1.4rem;margin:2rem 0 0!important;color:#786e5f;font-family:system-ui,sans-serif;font-size:.8rem;letter-spacing:.08em}
.news-single-meta .wp-block-post-terms a{color:#795c24;text-decoration-color:#b99755;text-underline-offset:.28em}
.news-single-content-section{padding:clamp(72px,9vw,128px) clamp(22px,5vw,72px);background:#fff}
.news-single-content-inner{margin-inline:auto!important}
.news-single-featured{overflow:hidden;margin:0 0 clamp(50px,7vw,82px);background:#111c31}
.news-single-featured img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain}
.news-single-body{color:#465164}
.news-single-body h2,.news-single-body h3,.news-single-body h4{color:#17233a;font-family:var(--wp--preset--font-family--mincho);font-weight:500;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.news-single-body h2{margin:clamp(52px,7vw,76px) 0 1.4rem;padding-bottom:.8rem;border-bottom:1px solid #d7ccb8;font-size:clamp(1.65rem,3vw,2.3rem)}
.news-single-body h3{margin:clamp(40px,5vw,58px) 0 1.1rem;font-size:clamp(1.35rem,2.5vw,1.8rem)}
.news-single-body p,.news-single-body li{font-size:1rem;line-height:2}
.news-single-body p{margin:1rem 0!important}
.news-single-body .past-event-status{display:inline-flex;margin:0 0 1.4rem!important;padding:.55rem .9rem;border:1px solid #c9b58d;background:#f6f1e8;color:#725620;font-size:.88rem;line-height:1.5;letter-spacing:.06em}
.news-single-body ul,.news-single-body ol{padding-left:1.5rem}
.news-single-body a{color:#725620;text-decoration-color:#b8944d;text-underline-offset:.3em}
.news-single-body img{height:auto;max-width:100%}
.news-single-navigation{margin-top:clamp(70px,9vw,110px);padding-top:clamp(38px,5vw,56px);border-top:1px solid #d8cfbe}
.news-single-neighbors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.news-single-neighbor{min-height:98px;padding:20px 22px;background:#faf8f4;border:1px solid #ded6c8}
.news-single-neighbor:empty{visibility:hidden}
.news-single-neighbor.is-next{text-align:right}
.news-single-neighbor span{display:block;margin-bottom:.6rem;color:#8a6b2d;font-size:.72rem;font-weight:600;letter-spacing:.1em}
.news-single-neighbor a{color:#17233a;font-family:var(--wp--preset--font-family--mincho);line-height:1.65;text-decoration:none;word-break:keep-all;overflow-wrap:anywhere}
.news-back-link{display:table;margin:38px auto 0;padding:1rem 1.5rem;color:#fff;background:#172a4e;text-decoration:none}

@media(max-width:760px){
  .news-page-hero,.news-single-hero{padding:120px 20px 72px}
  .news-page-hero:after,.news-single-hero:after{top:62px;right:-48vw;width:112vw}
  .news-page-hero h1{font-size:2.7rem;letter-spacing:.06em}
  .news-page-lead{margin-top:1.35rem!important;font-size:1.03rem!important;line-height:1.9!important}
  .news-page-list-section,.news-single-content-section{padding:68px 20px 82px}
  .news-card-grid{grid-template-columns:1fr;gap:28px}
  .news-card-body{padding:24px 22px 28px}
  .news-card h2{font-size:1.42rem}
  .news-card-body>p{min-height:0}
  .news-contact-cta{margin-top:68px;padding:38px 22px}
  .news-single-hero h1{font-size:clamp(1.9rem,8.2vw,2.65rem);letter-spacing:.02em;line-height:1.45}
  .news-single-meta{margin-top:1.45rem!important}
  .news-single-featured{margin-bottom:50px}
  .news-single-body p,.news-single-body li{font-size:.98rem;line-height:1.95}
  .news-single-neighbors{grid-template-columns:1fr}
  .news-single-neighbor.is-next{text-align:left}
  .news-single-neighbor:empty{display:none}
}

@media(max-width:390px){
  .news-page-hero h1{font-size:2.35rem}
  .news-single-hero h1{font-size:1.8rem}
}
.admin-bar .site-header{top:32px}
.site-header .main-navigation{width:100%;justify-content:flex-end}
.site-header .wp-block-navigation__container{gap:clamp(.9rem,1.7vw,1.8rem)}
.site-header .wp-block-navigation-item__content{
  padding:.45rem 0;
  color:rgba(255,255,255,.88);
  font-size:clamp(.68rem,.82vw,.78rem);
  letter-spacing:.06em;
  text-decoration:none;
  white-space:nowrap;
  transition:color .25s ease,text-shadow .25s ease;
}
.site-header .wp-block-navigation-item__content:hover,
.site-header .wp-block-navigation-item__content:focus{
  color:#fff;
  text-shadow:0 0 14px rgba(197,163,90,.35);
}
.hero{padding-top:clamp(138px,12vw,170px)}
.hero-art{
  isolation:isolate;
  border:1px solid rgba(197,163,90,.34);
  background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 36%),#080a0f;
  box-shadow:0 30px 70px rgba(0,0,0,.48),0 10px 24px rgba(0,0,0,.34),inset 0 0 0 7px #11151d,inset 0 0 0 8px rgba(197,163,90,.14);
}
.hero-art:before{
  inset:clamp(13px,1.55vw,22px);
  border:1px solid rgba(197,163,90,.24);
  box-shadow:inset 0 0 18px rgba(0,0,0,.48);
  pointer-events:none;
  z-index:2;
}
.hero-logo{
  filter:saturate(.96) contrast(1.015);
  box-shadow:0 0 34px rgba(0,0,0,.16);
}
.hero h1{
  position:relative;
  z-index:5;
  width:max-content;
  max-width:none;
  color:#fff;
  white-space:nowrap;
  text-shadow:0 2px 2px rgba(0,0,0,.72),0 7px 18px rgba(0,0,0,.46),0 0 12px rgba(244,248,255,.12);
}

@media (max-width:781px){
  .site-header{min-height:60px;padding:10px 20px;background:rgba(6,8,13,.94)}
  .admin-bar .site-header{top:46px}
  .site-header .main-navigation{width:auto}
  .site-header .wp-block-navigation__responsive-container-open{display:flex;padding:8px;border:1px solid rgba(255,255,255,.24)}
  .site-header .wp-block-navigation__responsive-container.is-menu-open{padding:5.5rem 2rem 2.5rem;background:linear-gradient(145deg,#080a0f,#10172a)}
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:0;align-items:stretch!important;width:100%}
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{border-bottom:1px solid rgba(255,255,255,.12)}
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;padding:1rem .2rem;font-size:.92rem;letter-spacing:.08em}
  .hero{padding-top:clamp(108px,28vw,126px)}
  .hero-art{box-shadow:0 22px 45px rgba(0,0,0,.42),inset 0 0 0 5px #11151d,inset 0 0 0 6px rgba(197,163,90,.14)}
  .hero-art:before{inset:12px}
  .hero h1{max-width:100%;white-space:nowrap;text-shadow:0 2px 2px rgba(0,0,0,.76),0 6px 16px rgba(0,0,0,.4),0 0 10px rgba(244,248,255,.1)}
}

/* 0.6.0: structural frame — the artwork exists only inside a clipped opening. */
.hero-art{
  display:block;
  width:100%;
  min-height:0;
  aspect-ratio:1/1;
  padding:0;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:
    31px 39px 58px -14px rgba(0,0,0,.94),
    0 58px 82px -28px rgba(0,0,0,.96),
    -11px -9px 24px rgba(104,119,165,.12);
}
.hero-art:before,.hero-art:after{content:none!important}
.hero-frame-outer,.hero-frame-bevel,.hero-frame-gold,.hero-frame-mat,.hero-frame-window{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  box-sizing:border-box;
}
.hero-frame-outer{
  display:flex;
  padding:5px;
  background:linear-gradient(145deg,#20252d 0%,#080a0e 38%,#010204 100%);
  border:1px solid rgba(197,163,90,.72);
  box-shadow:inset 2px 2px 2px rgba(255,255,255,.08),inset -5px -6px 9px rgba(0,0,0,.94),8px 10px 15px rgba(0,0,0,.58);
}
.hero-frame-bevel{
  display:flex;
  padding:18px 20px 21px 17px;
  background:linear-gradient(145deg,#20242b 0%,#0d1015 23%,#050609 58%,#010204 100%);
  box-shadow:inset 8px 8px 12px rgba(255,255,255,.055),inset -14px -15px 18px rgba(0,0,0,.96),inset 0 0 0 1px #020305;
}
.hero-frame-gold{
  display:flex;
  padding:1px;
  background:linear-gradient(135deg,#e0c47b 0%,#6e5626 48%,#c4a258 100%);
  box-shadow:0 0 0 1px rgba(0,0,0,.9),0 0 7px rgba(197,163,90,.12);
}
.hero-frame-mat{
  display:flex;
  padding:12px;
  background:#07090c;
  box-shadow:inset 7px 7px 12px rgba(255,255,255,.045),inset -10px -11px 16px rgba(0,0,0,.96),inset 0 0 0 1px #11151a;
}
.hero-frame-window{
  position:relative;
  overflow:hidden;
  background:#030405;
  border:1px solid rgba(197,163,90,.62);
  box-shadow:inset 0 0 0 5px rgba(0,0,0,.68),inset 0 0 30px 13px rgba(0,0,0,.72);
}
.hero-frame-window:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:#030405 url('../images/shigetsu-hero-selected.png') center/178.75% auto no-repeat;
}
.hero-frame-window:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  box-shadow:inset 0 0 32px 13px rgba(0,0,0,.68),inset 0 0 0 3px rgba(2,3,5,.72);
  pointer-events:none;
}
@media (min-width:782px){
  .main-navigation .wp-block-navigation-item{position:relative}
  .main-navigation .wp-block-navigation-item:not(:last-child):after{
    content:"";
    position:absolute;
    right:calc(clamp(.9rem,1.7vw,1.8rem) / -2);
    top:50%;
    width:1px;
    height:1em;
    background:rgba(255,255,255,.55);
    transform:translateY(-50%);
  }
}
@media (max-width:781px){
  .hero-art{aspect-ratio:1/1;box-shadow:16px 23px 32px -10px rgba(0,0,0,.88),0 34px 45px -23px rgba(0,0,0,.94),-5px -4px 13px rgba(104,119,165,.09)}
  .hero-frame-outer{padding:3px}
  .hero-frame-bevel{padding:9px 10px 11px 8px}
  .hero-frame-mat{padding:6px}
  .hero-frame-window{box-shadow:inset 0 0 0 3px rgba(0,0,0,.65),inset 0 0 19px 7px rgba(0,0,0,.62)}
  .hero-frame-window:after{box-shadow:inset 0 0 20px 7px rgba(0,0,0,.58),inset 0 0 0 2px rgba(2,3,5,.68)}
}

/* 0.9.0: Miyabi Dragon Art course introduction page. */
.dragon-course-shell{background:var(--mist)}
.dragon-course-shell .wp-block-post-content{margin:0}
.dragon-course-hero{
  position:relative;
  overflow:hidden;
  min-height:92svh;
  padding:clamp(126px,12vw,170px) clamp(20px,4vw,64px) clamp(76px,8vw,120px);
  background:radial-gradient(circle at 88% 18%,rgba(20,42,88,.62),transparent 34%),linear-gradient(135deg,#07090d 0%,#0d1424 62%,#08090c 100%)
}
.dragon-course-hero:after{content:"";position:absolute;right:-12vw;bottom:-26vw;width:46vw;height:46vw;border:1px solid rgba(197,163,90,.18);border-radius:50%}
.dragon-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(440px,1.18fr);align-items:center;gap:clamp(42px,7vw,100px)}
.dragon-hero-copy{position:relative;z-index:2}
.dragon-hero-copy h1{margin:.1rem 0 .5rem;color:#fff;font-size:clamp(3.2rem,5.8vw,6rem)!important;letter-spacing:.07em}
.dragon-course-subtitle{margin:0 0 clamp(2rem,4vw,3.4rem);color:var(--gold);font-family:var(--wp--preset--font-family--mincho);font-size:.84rem;letter-spacing:.2em}
.dragon-hero-catch{margin:0 0 1.65rem;color:#fff;font-size:clamp(1.65rem,3vw,2.7rem);line-height:1.65;letter-spacing:.05em}
.dragon-hero-copy>p:not(.eyebrow):not(.dragon-course-subtitle){max-width:620px;color:rgba(255,255,255,.72);font-size:.93rem;line-height:2}
.dragon-hero-copy .wp-block-buttons{margin-top:2rem;gap:.85rem}
.dragon-hero-copy .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:#fff;color:var(--ink)}
.dragon-hero-image{margin:0!important;padding:clamp(10px,1.2vw,16px);border:1px solid rgba(197,163,90,.5);background:#07090c;box-shadow:28px 34px 60px rgba(0,0,0,.6),inset 0 0 0 6px #11151d}
.dragon-hero-image img{display:block;width:100%;height:auto;max-height:70svh;object-fit:contain}
.dragon-intro-section,.dragon-feature-section{padding:clamp(88px,10vw,150px) clamp(20px,4vw,64px);background:var(--mist)}
.dragon-section-grid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(340px,1.28fr);gap:clamp(48px,9vw,130px)}
.dragon-section-grid h2,.dragon-recommend-section h2,.dragon-feature-section h2,.dragon-gallery-section h2,.dragon-recruitment-section h2{margin:.15rem 0;font-size:clamp(2.2rem,4.6vw,4rem)}
.dragon-intro-copy{padding-top:.6rem;border-top:1px solid rgba(23,25,34,.22)}
.dragon-intro-copy p{margin:.8rem 0;line-height:2.05}
.dragon-intro-emphasis{color:#78602e;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:.06em}
.dragon-recommend-section{padding:clamp(88px,10vw,145px) clamp(20px,4vw,64px);background:radial-gradient(circle at 85% 15%,rgba(20,42,88,.58),transparent 31%),#0b0c10}
.dragon-recommend-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px!important;margin-top:clamp(38px,5vw,66px);background:rgba(255,255,255,.15)}
.dragon-recommend-card{min-height:150px;padding:clamp(22px,2.5vw,32px)!important;background:#11141c}
.dragon-recommend-card p:last-child{margin:1.5rem 0 0;color:#fff;font-family:var(--wp--preset--font-family--mincho);font-size:1rem;line-height:1.7}
.dragon-card-no{margin:0!important;color:var(--gold);font-family:var(--wp--preset--font-family--sans);font-size:.62rem;letter-spacing:.18em}
.dragon-feature-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)!important;margin-top:clamp(38px,5vw,66px)}
.dragon-feature-card{min-height:280px;padding:clamp(26px,3vw,38px)!important;border:1px solid rgba(23,25,34,.12);background:#fff;box-shadow:0 18px 44px rgba(13,17,27,.07)}
.dragon-feature-card h3{margin:1.8rem 0 1.1rem;font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.65}
.dragon-feature-card>p:last-child{margin-bottom:0;color:#5d5d60;font-size:.9rem;line-height:1.95}
.dragon-gallery-section{padding:clamp(90px,10vw,150px) clamp(20px,4vw,64px);background:linear-gradient(145deg,#08090c 0%,#10182a 100%)}
.dragon-gallery-note{color:rgba(255,255,255,.58);font-size:.78rem;letter-spacing:.05em}
.dragon-gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(16px,2.4vw,34px)!important;margin-top:clamp(34px,5vw,60px)}
.dragon-gallery-image{display:flex;align-items:center;justify-content:center;min-height:0;margin:0!important;padding:clamp(8px,1vw,13px);overflow:hidden;border:1px solid rgba(197,163,90,.4);background:#07080b;box-shadow:0 22px 45px rgba(0,0,0,.32)}
.dragon-gallery-image img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:contain;cursor:zoom-in;transition:transform .45s ease,filter .45s ease}
.dragon-gallery-image:hover img{transform:scale(1.015);filter:saturate(1.04)}
.dragon-recruitment-section{position:relative;overflow:hidden;padding:clamp(92px,11vw,155px) clamp(20px,4vw,64px);color:#fff;background:radial-gradient(circle at 17% 8%,rgba(8,120,209,.2),transparent 28%),radial-gradient(circle at 84% 82%,rgba(113,60,155,.24),transparent 30%),linear-gradient(135deg,#0b0c10,#142a58)}
.dragon-recruitment-inner{position:relative;z-index:1}
.dragon-recruitment-inner>p:not(.eyebrow){max-width:710px;margin-left:auto;margin-right:auto;color:rgba(255,255,255,.76)}
.dragon-recruitment-inner .wp-block-buttons{margin-top:2.2rem}
.dragon-recruitment-inner .wp-block-button__link{min-width:220px;background:#fff;color:var(--ink)}
#dragon-gallery,#dragon-recruitment{scroll-margin-top:90px}
@media (max-width:1080px){
  .dragon-hero-grid{grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:38px}
  .dragon-recommend-grid,.dragon-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dragon-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dragon-gallery-image:last-child{grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center}
}
@media (max-width:680px){
  .dragon-course-hero{min-height:auto;padding-top:108px;padding-bottom:76px}
  .dragon-hero-grid{display:flex;flex-direction:column;gap:34px}
  .dragon-hero-image{order:-1;width:100%;padding:8px;box-shadow:18px 24px 42px rgba(0,0,0,.52),inset 0 0 0 4px #11151d}
  .dragon-hero-image img{max-height:none}
  .dragon-hero-copy h1{font-size:clamp(2.65rem,13vw,4rem)!important;line-height:1.1}
  .dragon-hero-catch{font-size:clamp(1.55rem,7.5vw,2.1rem)}
  .dragon-hero-copy>p:not(.eyebrow):not(.dragon-course-subtitle){font-size:.9rem}
  .dragon-hero-copy .wp-block-button{flex:1}
  .dragon-hero-copy .wp-block-button__link{width:100%;text-align:center}
  .dragon-section-grid{grid-template-columns:1fr;gap:34px}
  .dragon-recommend-grid,.dragon-feature-grid,.dragon-gallery-grid{grid-template-columns:1fr}
  .dragon-recommend-card{min-height:124px}
  .dragon-feature-card{min-height:0}
  .dragon-gallery-image:last-child{grid-column:auto;max-width:none}
  .dragon-gallery-image img{aspect-ratio:auto;height:auto;max-height:75svh}
}

/* 0.5.0: clearly dimensional, multi-layer gallery frame. */
.hero-art{
  overflow:visible;
  border:1px solid rgba(197,163,90,.62);
  box-shadow:
    34px 42px 60px -12px rgba(0,0,0,.92),
    0 62px 92px -30px rgba(0,0,0,.96),
    -10px -9px 24px rgba(104,119,165,.13),
    inset 0 0 0 5px #080a0e,
    inset 0 0 0 6px rgba(197,163,90,.3);
}
.hero-art:before{
  content:"";
  position:absolute;
  inset:-22px;
  z-index:4;
  box-sizing:border-box;
  border-style:solid;
  border-width:20px;
  border-color:#1b2029 #020305 #010204 #171b23;
  outline:1px solid rgba(197,163,90,.72);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.09),
    inset 0 0 0 3px #06080b,
    inset 0 0 0 4px rgba(197,163,90,.32),
    2px 3px 4px rgba(0,0,0,.86),
    28px 35px 46px -12px rgba(0,0,0,.88);
  pointer-events:none;
}
.hero-art:after{
  content:"";
  position:absolute;
  inset:-9px;
  z-index:3;
  box-sizing:border-box;
  border-style:solid;
  border-width:10px;
  border-color:rgba(255,255,255,.11) #050609 #020305 rgba(255,255,255,.08);
  outline:1px solid rgba(197,163,90,.56);
  box-shadow:
    inset 0 0 0 2px #05070a,
    inset 0 0 0 3px rgba(197,163,90,.27),
    inset -9px -10px 14px rgba(0,0,0,.92),
    inset 7px 7px 11px rgba(255,255,255,.05);
  pointer-events:none;
}
.hero-logo{
  isolation:isolate;
}
.hero-logo:before{
  content:"";
  position:absolute;
  inset:clamp(8px,1.15vw,15px);
  z-index:2;
  border:1px solid rgba(197,163,90,.58);
  box-shadow:
    inset 0 0 34px 14px rgba(0,0,0,.76),
    inset 0 0 0 4px rgba(3,4,6,.72),
    0 0 0 1px rgba(255,255,255,.045);
  pointer-events:none;
}
.hero-logo:after{
  content:"";
  position:absolute;
  inset:clamp(13px,1.65vw,21px);
  z-index:3;
  border:1px solid rgba(197,163,90,.42);
  box-shadow:
    inset 8px 8px 14px rgba(0,0,0,.42),
    inset -3px -3px 8px rgba(255,255,255,.035);
  pointer-events:none;
}

@media (max-width:781px){
  .hero-art{
    box-shadow:
      16px 24px 34px -10px rgba(0,0,0,.86),
      0 36px 48px -24px rgba(0,0,0,.94),
      -5px -5px 14px rgba(104,119,165,.1),
      inset 0 0 0 4px #080a0e,
      inset 0 0 0 5px rgba(197,163,90,.28);
  }
  .hero-art:before{
    inset:-11px;
    border-width:11px;
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.08),
      inset 0 0 0 2px #06080b,
      inset 0 0 0 3px rgba(197,163,90,.3),
      12px 18px 26px -9px rgba(0,0,0,.84);
  }
  .hero-art:after{
    inset:-5px;
    border-width:6px;
    box-shadow:
      inset 0 0 0 1px #05070a,
      inset 0 0 0 2px rgba(197,163,90,.24),
      inset -5px -6px 9px rgba(0,0,0,.88),
      inset 4px 4px 7px rgba(255,255,255,.045);
  }
  .hero-logo:before{inset:7px;box-shadow:inset 0 0 22px 9px rgba(0,0,0,.65),inset 0 0 0 3px rgba(3,4,6,.65)}
  .hero-logo:after{inset:11px}
}

/* 0.4.2: include overlay padding inside the viewport and center menu labels. */
@media (max-width:781px){
  .site-header .wp-block-navigation__responsive-container.is-menu-open{
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    box-sizing:border-box!important;
  }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    align-items:stretch!important;
    justify-content:center!important;
  }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100%!important;
    justify-content:center!important;
  }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    width:100%;
    text-align:center;
    color:rgba(255,255,255,.9)!important;
  }
}

/* Company profile page */
.company-page{
  color:#17233a;
  background:#f7f3ea;
  font-size:1.05rem;
}
.company-page h1,
.company-page h2,
.company-page p,
.company-page th,
.company-page td,
.company-page li{
  line-break:strict;
  overflow-wrap:anywhere;
}
.company-page h1,
.company-page h2,
.company-message-emphasis,
.company-history-date{
  word-break:keep-all;
}
.company-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(150px,16vw,205px) clamp(22px,5vw,72px) clamp(84px,9vw,124px);
  background:
    radial-gradient(circle at 83% 13%,rgba(197,163,90,.15),transparent 29%),
    linear-gradient(135deg,#fbf9f4,#f1e8d8);
}
.company-hero:after{
  content:"";
  position:absolute;
  top:70px;
  right:-13vw;
  width:min(51vw,650px);
  aspect-ratio:1;
  border:1px solid rgba(164,128,56,.16);
  border-radius:50%;
  pointer-events:none;
}
.company-hero-inner,
.company-section-inner{
  position:relative;
  z-index:1;
  margin-inline:auto!important;
}
.company-eyebrow{
  margin:0 0 1.15rem!important;
  color:#9a7939;
  font-size:.68rem!important;
  font-weight:600;
  letter-spacing:.24em;
  line-height:1.5!important;
}
.company-hero h1{
  margin:0;
  font-size:clamp(3rem,6.7vw,6rem);
  font-weight:400;
  line-height:1.16;
  letter-spacing:.08em;
}
.company-hero-lead{
  margin:1.8rem 0 0!important;
  color:#6f6557;
  font-family:var(--wp--preset--font-family--mincho);
  font-size:clamp(1.1rem,2vw,1.4rem)!important;
  line-height:1.9!important;
}
.company-profile-section,
.company-history-section{
  padding:clamp(82px,9vw,128px) clamp(22px,5vw,72px);
}
.company-profile-section{
  background:#fff;
}
.company-history-section{
  background:#f7f3ea;
}
.company-profile-section h2,
.company-history-section h2,
.company-message-card h2{
  margin:0;
  font-size:clamp(2rem,3.8vw,3.4rem);
  font-weight:400;
  line-height:1.3;
  letter-spacing:.05em;
}
.company-profile-table{
  margin:clamp(38px,5vw,58px) 0 0!important;
  border-top:1px solid #cdbb97;
}
.company-profile-table table{
  width:100%;
  border-collapse:collapse;
  border:0;
}
.company-profile-table th,
.company-profile-table td{
  padding:1.35rem 1.1rem;
  vertical-align:top;
  border:0;
  border-bottom:1px solid #e2d9c8;
  line-height:1.9;
}
.company-profile-table th{
  width:25%;
  color:#80652e;
  font-weight:600;
  text-align:left;
  letter-spacing:.06em;
  background:#faf7f1;
}
.company-profile-table td{
  color:#283246;
}
.company-profile-table ul{
  margin:0;
  padding-left:1.2rem;
}
.company-profile-table li+li{
  margin-top:.22rem;
}
.company-profile-table a{
  color:#785d29;
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
}
.company-history-list{
  margin-top:clamp(36px,5vw,56px)!important;
  border-top:1px solid #d4c29e;
}
.company-history-item{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(150px,210px) 1fr;
  gap:clamp(24px,5vw,74px);
  margin:0!important;
  padding:1.55rem .35rem 1.55rem 1.45rem;
  border-bottom:1px solid #ded3bf;
}
.company-history-item:before{
  content:"";
  position:absolute;
  top:2.05rem;
  left:.1rem;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#b38a3d;
  box-shadow:0 0 0 5px rgba(179,138,61,.12);
}
.company-history-item p{
  margin:0!important;
  line-height:1.9;
}
.company-history-date{
  color:#8e6d2e;
  font-weight:600;
  letter-spacing:.04em;
}
.company-message-section{
  padding:clamp(88px,10vw,140px) clamp(22px,5vw,72px);
  background:#fff;
}
.company-message-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:0;
  max-width:1180px;
  margin-inline:auto!important;
  border:1px solid #d9ccb3;
  box-shadow:0 24px 60px rgba(38,31,20,.07);
}
.company-message-card{
  padding:clamp(38px,5vw,68px);
}
.company-message-card+.company-message-card{
  border-left:1px solid #d9ccb3;
}
.company-philosophy-card{
  background:#faf7f1;
}
.company-representative-card{
  background:#fff;
}
.company-message-card h2{
  margin-bottom:clamp(28px,4vw,42px);
}
.company-message-card p:not(.company-eyebrow){
  margin:0 0 1.05rem;
  line-height:2.05;
}
.company-message-emphasis{
  margin-bottom:1.75rem!important;
  color:#896a30;
  font-family:var(--wp--preset--font-family--mincho);
  font-size:clamp(1.25rem,2vw,1.55rem)!important;
  letter-spacing:.03em;
}
.company-signature{
  margin-top:2rem!important;
  text-align:right;
  font-family:var(--wp--preset--font-family--mincho);
  letter-spacing:.05em;
}

@media (max-width:781px){
  .company-page{font-size:1rem}
  .company-hero{padding:120px 20px 72px}
  .company-hero:after{top:62px;right:-48vw;width:112vw}
  .company-hero h1{font-size:clamp(2.45rem,12vw,3.35rem);letter-spacing:.05em;white-space:nowrap}
  .company-hero-lead{margin-top:1.25rem!important;font-size:1.05rem!important}
  .company-profile-section,
  .company-history-section,
  .company-message-section{padding:72px 20px}
  .company-profile-section h2,
  .company-history-section h2,
  .company-message-card h2{font-size:clamp(1.9rem,9vw,2.55rem)}
  .company-profile-table{margin-top:34px!important;border-top:0}
  .company-profile-table table,
  .company-profile-table tbody,
  .company-profile-table tr,
  .company-profile-table th,
  .company-profile-table td{display:block;width:100%;box-sizing:border-box}
  .company-profile-table tr{padding:1.1rem 0;border-bottom:1px solid #e2d9c8}
  .company-profile-table th,
  .company-profile-table td{padding:.25rem .2rem;border:0;background:transparent}
  .company-profile-table th{margin-bottom:.38rem;font-size:.84rem;letter-spacing:.08em}
  .company-profile-table td{line-height:1.8}
  .company-profile-table a{overflow-wrap:anywhere}
  .company-history-list{margin-top:32px!important}
  .company-history-item{grid-template-columns:1fr;gap:.35rem;padding:1.35rem .2rem 1.35rem 1.35rem}
  .company-history-item:before{top:1.8rem}
  .company-message-grid{grid-template-columns:1fr}
  .company-message-card{padding:42px 26px}
  .company-message-card+.company-message-card{border-top:1px solid #d9ccb3;border-left:0}
  .company-message-card p:not(.company-eyebrow){line-height:1.95}
}

@media (max-width:390px){
  .company-hero h1{font-size:2.35rem}
  .company-message-card{padding:38px 20px}
}

/* 1.6.0: accessible, low-friction contact page and secure form. */
.contact-page{
  color:#17233a;
  background:#f7f3ea;
  font-size:1.05rem;
}
.contact-page *,
.contact-page *:before,
.contact-page *:after{box-sizing:border-box}
.contact-page h1,
.contact-page h2,
.contact-page label{
  word-break:keep-all;
  overflow-wrap:anywhere;
  line-break:strict;
}
.contact-page p,
.contact-page li{line-break:strict;overflow-wrap:anywhere}
.contact-page-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(150px,16vw,205px) clamp(22px,5vw,72px) clamp(82px,9vw,122px);
  background:
    radial-gradient(circle at 84% 12%,rgba(197,163,90,.16),transparent 28%),
    linear-gradient(135deg,#fbf9f4,#f0e7d7);
}
.contact-page-hero:after{
  content:"";
  position:absolute;
  top:68px;
  right:-13vw;
  width:min(51vw,650px);
  aspect-ratio:1;
  border:1px solid rgba(164,128,56,.16);
  border-radius:50%;
  pointer-events:none;
}
.contact-page-hero-inner,
.contact-form-section-inner{position:relative;z-index:1;margin-inline:auto!important}
.contact-page-eyebrow{
  margin:0 0 1.15rem!important;
  color:#9a7939;
  font-size:.68rem!important;
  font-weight:600;
  letter-spacing:.24em;
  line-height:1.5!important;
}
.contact-page-hero h1{
  margin:0;
  font-size:clamp(3rem,6.7vw,6rem);
  font-weight:400;
  line-height:1.16;
  letter-spacing:.08em;
}
.contact-page-hero-lead{
  margin:1.8rem 0 0!important;
  color:#6f6557;
  font-family:var(--wp--preset--font-family--mincho);
  font-size:clamp(1.08rem,2vw,1.35rem)!important;
  line-height:1.9!important;
}
.contact-form-section{padding:clamp(76px,9vw,126px) clamp(22px,5vw,72px);background:#fff}
.contact-introduction{max-width:840px;margin:0 auto clamp(44px,6vw,68px)}
.contact-intro-text{
  margin:0;
  color:#263248;
  font-family:var(--wp--preset--font-family--mincho);
  font-size:clamp(1.25rem,2.2vw,1.62rem)!important;
  line-height:1.95!important;
}
.contact-response-note{margin:1.2rem 0 0!important;color:#645b4f;line-height:1.9!important}
.contact-top-notes{
  margin:2rem 0 0;
  padding:1.2rem 1.35rem 1.2rem 2.5rem;
  color:#5c554b;
  background:#faf7f1;
  border-left:3px solid #b8944d;
  font-size:.93rem;
  line-height:1.85;
}
.contact-top-notes li+li{margin-top:.3rem}
.contact-form{
  position:relative;
  max-width:840px;
  margin:0 auto;
  padding:clamp(30px,5vw,58px);
  background:#fcfaf6;
  border:1px solid #ded3bf;
  box-shadow:0 24px 65px rgba(38,31,20,.08);
}
.contact-field{margin:0 0 2rem}
.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-field label{
  display:block;
  margin-bottom:.65rem;
  color:#17233a;
  font-weight:700;
  letter-spacing:.035em;
}
.contact-required,
.contact-optional{
  display:inline-block;
  margin-left:.5rem;
  padding:.17rem .5rem;
  vertical-align:.12em;
  border-radius:999px;
  font-family:system-ui,sans-serif;
  font-size:.68rem;
  line-height:1.35;
  letter-spacing:.04em;
}
.contact-required{color:#fff;background:#8d2828}
.contact-optional{color:#615c55;background:#ece7dd}
.contact-field-help{margin:-.2rem 0 .8rem!important;color:#6c665d;font-size:.88rem!important;line-height:1.75!important}
.contact-field input,
.contact-field select,
.contact-field textarea{
  display:block;
  width:100%;
  min-height:56px;
  padding:.82rem 1rem;
  color:#17233a;
  background:#fff;
  border:1px solid #bcb4a8;
  border-radius:0;
  font:inherit;
  line-height:1.55;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.contact-field textarea{min-height:220px;resize:vertical}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
  outline:0;
  border-color:#8b6b2f;
  box-shadow:0 0 0 3px rgba(181,144,72,.18);
  background:#fffefb;
}
.contact-agreement{
  margin:2.25rem 0;
  padding:1rem 1.1rem;
  background:#fff;
  border:1px solid #d8cebd;
  line-height:1.75;
}
.contact-agreement label{display:flex;align-items:flex-start;gap:.75rem;margin:0;font-weight:500}
.contact-agreement input{flex:0 0 auto;width:22px;height:22px;margin:.15rem 0 0;accent-color:#182744}
.contact-agreement a{color:#765b27;text-decoration-thickness:1px;text-underline-offset:.22em}
.contact-submit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  width:min(100%,340px);
  min-height:62px;
  margin:2rem auto 0;
  padding:1rem 1.35rem;
  color:#fff;
  background:linear-gradient(135deg,#101827,#172a4e);
  border:1px solid #101827;
  border-radius:0;
  box-shadow:0 16px 34px rgba(16,24,39,.18);
  font-size:1rem;
  font-weight:700;
  letter-spacing:.08em;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.contact-submit:hover{background:#8b6b2f;box-shadow:0 20px 42px rgba(96,72,25,.22);transform:translateY(-2px)}
.contact-submit:focus-visible{outline:3px solid rgba(139,107,47,.4);outline-offset:3px}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-errors,
.contact-success{
  max-width:840px;
  margin:0 auto 2rem;
  padding:clamp(24px,4vw,40px);
  border:1px solid;
}
.contact-errors{color:#722424;background:#fff7f5;border-color:#d9a6a0}
.contact-errors p{margin:0 0 .65rem!important}
.contact-errors ul{margin:0;padding-left:1.2rem;line-height:1.8}
.contact-success{text-align:center;color:#17233a;background:#faf7f1;border-color:#cfbd98}
.contact-success-mark{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 auto 1.2rem!important;
  color:#fff;
  background:#8b6b2f;
  border-radius:50%;
  font-size:1.4rem!important;
}
.contact-success h2{margin:0 0 1.2rem;font-size:clamp(1.65rem,3.2vw,2.45rem);font-weight:400}
.contact-success p:not(.contact-success-mark){margin:.45rem 0!important;line-height:1.9!important}
.contact-bottom-notes{
  max-width:840px;
  margin:clamp(52px,7vw,80px) auto 0;
  padding-top:2rem;
  border-top:1px solid #d8cbb4;
}
.contact-bottom-notes h2{margin:0 0 1.2rem;font-size:clamp(1.25rem,2.2vw,1.55rem);font-weight:500}
.contact-bottom-notes ul{margin:0;padding-left:1.2rem;color:#625c53;font-size:.92rem;line-height:1.9}
.contact-bottom-notes li+li{margin-top:.3rem}
.contact-form .cf-turnstile{display:flex;justify-content:center;margin:1.5rem 0}

@media (max-width:781px){
  .contact-page{font-size:1rem}
  .contact-page-hero{padding:120px 20px 72px}
  .contact-page-hero:after{top:62px;right:-48vw;width:112vw}
  .contact-page-hero h1{font-size:clamp(2.45rem,12vw,3.35rem);letter-spacing:.05em;white-space:nowrap}
  .contact-page-hero-lead{margin-top:1.25rem!important;font-size:1.02rem!important}
  .contact-page-hero-lead br{display:none}
  .contact-form-section{padding:72px 20px}
  .contact-intro-text{font-size:1.17rem!important;line-height:1.9!important}
  .contact-top-notes{padding:1rem 1rem 1rem 2rem;font-size:.88rem}
  .contact-form{padding:30px 20px}
  .contact-field-grid{grid-template-columns:1fr;gap:0}
  .contact-field{margin-bottom:1.75rem}
  .contact-field input,
  .contact-field select{min-height:58px;font-size:16px}
  .contact-field textarea{font-size:16px}
  .contact-submit{width:100%;min-height:60px}
}

@media (max-width:390px){
  .contact-page-hero h1{font-size:2.35rem}
  .contact-form{margin-inline:-4px;padding:26px 17px}
  .contact-top-notes{margin-inline:-2px}
  .contact-agreement{padding:.9rem}
}

/* 1.8.0: readable, editable privacy policy page. */
.privacy-policy-page{color:#17233a;background:#f7f3ea;font-size:1.04rem}
.privacy-policy-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(150px,16vw,210px) clamp(22px,5vw,72px) clamp(82px,10vw,126px);
  background:radial-gradient(circle at 86% 12%,rgba(197,163,90,.14),transparent 30%),linear-gradient(135deg,#fbf9f4,#f2eadc);
}
.privacy-policy-hero:after{content:"";position:absolute;right:-12vw;top:74px;width:min(52vw,680px);aspect-ratio:1;border:1px solid rgba(164,128,56,.16);border-radius:50%;pointer-events:none}
.privacy-policy-hero-inner{position:relative;z-index:1}
.privacy-policy-eyebrow{margin:0 0 1.2rem!important;color:#9b772e;font-family:system-ui,sans-serif;font-size:.72rem!important;font-weight:700;letter-spacing:.28em;line-height:1.4!important}
.privacy-policy-hero h1{margin:0;color:#111c31;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(3rem,6.2vw,5.6rem);font-weight:400;letter-spacing:.06em;line-height:1.2;word-break:keep-all}
.privacy-policy-hero-lead{margin:1.7rem 0 0!important;color:#6f6557;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.08rem,2vw,1.32rem)!important;line-height:1.9!important}
.privacy-policy-content-section{padding:clamp(76px,9vw,126px) clamp(22px,5vw,72px);background:#fff}
.privacy-policy-article{max-width:860px;margin-inline:auto}
.privacy-policy-article .privacy-policy-intro{margin:0 0 clamp(54px,7vw,78px)!important;padding:clamp(26px,4vw,40px);color:#263248;background:#faf7f1;border-left:3px solid #b8944d;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.08rem,1.8vw,1.25rem)!important;line-height:2!important}
.privacy-policy-article h2{margin:clamp(54px,7vw,78px) 0 1.35rem;padding:0 0 .8rem;color:#17233a;border-bottom:1px solid #d8cbb4;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.35rem,2.6vw,1.75rem);font-weight:500;letter-spacing:.05em;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}
.privacy-policy-article h2:first-of-type{margin-top:0}
.privacy-policy-article p{margin:.7rem 0!important;color:#4f5765;font-size:1rem!important;line-height:2!important}
.privacy-policy-article a{color:#725620;text-decoration-color:#b8944d;text-underline-offset:.3em}
.privacy-policy-list{margin:1.2rem 0 1.35rem;padding:1.2rem 1.4rem 1.2rem 3rem;color:#414b5c;background:#fcfaf6;border:1px solid #e2d9ca;line-height:1.9}
.privacy-policy-list li+li{margin-top:.35rem}
.privacy-policy-company-card{margin:2rem 0 0;padding:clamp(22px,3.5vw,34px);background:#f8f5ee;border:1px solid #d9cdb8}
.privacy-policy-company-card p{margin:.25rem 0!important;color:#303b4d!important}

@media (max-width:781px){
  .privacy-policy-page{font-size:1rem}
  .privacy-policy-hero{padding:120px 20px 72px}
  .privacy-policy-hero:after{top:62px;right:-48vw;width:112vw}
  .privacy-policy-hero h1{font-size:1.65rem;letter-spacing:.02em;white-space:nowrap}
  .privacy-policy-hero-lead{margin-top:1.25rem!important;font-size:1.02rem!important}
  .privacy-policy-hero-lead br{display:none}
  .privacy-policy-content-section{padding:68px 20px 80px}
  .privacy-policy-article .privacy-policy-intro{padding:22px 20px;font-size:1.05rem!important;line-height:1.95!important}
  .privacy-policy-article h2{margin-top:52px;font-size:1.28rem;line-height:1.6}
  .privacy-policy-article p{font-size:.98rem!important;line-height:1.95!important}
  .privacy-policy-list{padding:1rem 1rem 1rem 2.4rem}
}

@media (max-width:360px){
  .privacy-policy-hero h1{font-size:1.5rem}
}

/* 1.4.0: searchable, scalable certified-instructor directory. */
.instructors-directory-page{color:#17233a;background:#f7f3ea;font-size:1.05rem}
.instructors-directory-page h1,.instructors-directory-page h2,.instructor-region-heading h3,.instructor-card h4{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.instructors-directory-hero{position:relative;overflow:hidden;padding:clamp(150px,16vw,210px) clamp(22px,5vw,72px) clamp(88px,10vw,140px);background:radial-gradient(circle at 86% 12%,rgba(197,163,90,.15),transparent 30%),linear-gradient(135deg,#fbf9f4,#f2eadc)}
.instructors-directory-hero:after{content:"";position:absolute;right:-12vw;top:74px;width:min(52vw,680px);aspect-ratio:1;border:1px solid rgba(164,128,56,.16);border-radius:50%;pointer-events:none}
.instructors-directory-hero-inner{position:relative;z-index:1;margin-inline:auto!important}
.instructors-directory-eyebrow{margin:0 0 1.25rem!important;color:#9a7939;font-size:.68rem!important;font-weight:600;letter-spacing:.24em;line-height:1.5!important}
.instructors-directory-hero h1{max-width:900px;margin:0;font-size:clamp(3rem,6.8vw,6.2rem);font-weight:400;line-height:1.18;letter-spacing:.06em}
.instructors-directory-subtitle{max-width:700px;margin:2rem 0 0!important;color:#8e6d2e;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.25rem,2.4vw,1.8rem)!important;line-height:1.8!important}
.instructors-directory-lead{margin:clamp(44px,6vw,72px) 0 0!important;padding-top:clamp(30px,4vw,46px);border-top:1px solid #d8c7a5}
.instructors-directory-lead p{margin:.65rem 0;line-height:2.05}
.instructors-directory-note{margin-top:1.4rem!important;color:#6c6254;font-size:.86rem!important}

.instructors-directory-list-section{padding:clamp(88px,10vw,145px) clamp(22px,5vw,72px);background:#fff}
.instructors-directory-list-inner{margin-inline:auto!important}
.instructors-directory-list-section h2{margin:0;font-size:clamp(2.15rem,4.3vw,4rem);font-weight:400;letter-spacing:.04em}
.instructor-region-nav{margin:clamp(42px,5vw,64px) 0 clamp(70px,8vw,110px);padding:28px clamp(20px,3vw,36px);border:1px solid #ddd3c0;background:#faf7f1}
.instructor-region-nav>p{margin:0 0 1rem;color:#8c6d32;font-size:.72rem;font-weight:600;letter-spacing:.16em}
.instructor-region-nav ul{display:flex;flex-wrap:wrap;gap:10px 12px;margin:0;padding:0;list-style:none}
.instructor-region-nav a{display:block;padding:.68rem 1rem;color:#26334b;background:#fff;border:1px solid #d7ccb8;font-size:.86rem;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease}
.instructor-region-nav a:hover{color:#fff;background:#172a4e;border-color:#172a4e}
.instructor-region-section{padding:clamp(48px,6vw,78px) 0;scroll-margin-top:88px;border-top:1px solid #d8cfbe}
.instructor-region-section:last-child{border-bottom:1px solid #d8cfbe}
.instructor-region-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.instructor-region-heading h3{margin:0;color:#17233a;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.7rem,3vw,2.7rem);font-weight:400;letter-spacing:.07em}
.instructor-region-heading span{display:grid;flex:0 0 auto;min-width:54px;height:34px;padding:0 .65rem;place-items:center;color:#886929;border:1px solid #cdbb93;border-radius:99px;font-size:.7rem;letter-spacing:.08em}
.instructor-directory-empty{margin:0!important;padding:1.2rem 1.4rem;color:#81796d;background:#faf8f4;border-left:2px solid #c6a55e;font-size:.9rem!important}
.instructor-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,480px));gap:clamp(16px,2.2vw,26px);justify-content:start}
.instructor-card{position:relative;min-width:0;padding:clamp(20px,2.4vw,30px);background:#fff;border:1px solid #ddd3c0;box-shadow:0 12px 32px rgba(33,42,58,.065)}
.instructor-card:before{content:"";position:absolute;left:-1px;top:0;width:4px;height:100%;background:linear-gradient(#c5a35a,#172a4e)}
.instructor-card h4{margin:0 0 clamp(16px,2vw,22px);color:#111c31;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:400;letter-spacing:.09em;line-height:1.4}
.instructor-card dl{margin:0}
.instructor-card dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:12px;min-height:46px;border-top:1px solid #e5ded1}
.instructor-card dl>div:last-child{border-bottom:1px solid #e5ded1}
.instructor-card dt{color:#756b5c;font-size:.78rem;font-weight:500;letter-spacing:.08em}
.instructor-card dd{min-width:0;margin:0;color:#17233a;font-size:.95rem;font-weight:500}
.instructor-card dd a{display:inline-flex;align-items:center;gap:.55rem;color:#172a4e;text-decoration-color:#b49858;text-underline-offset:.32em}
.instructor-card dd a span{color:#a88338;font-size:.8rem}
.instructor-availability{display:inline-block;color:#17233a;font-family:var(--wp--preset--font-family--mincho);font-size:1.08rem;font-weight:500;line-height:1}
.instructor-availability.is-available{color:#17233a}
.instructor-availability.is-unavailable{color:#81796d}

.instructors-directory-cta{position:relative;overflow:hidden;padding:clamp(90px,11vw,150px) clamp(22px,5vw,72px);color:#fff;background:radial-gradient(circle at 18% 18%,rgba(197,163,90,.18),transparent 28%),linear-gradient(135deg,#0c1423,#172a4e)}
.instructors-directory-cta:after{content:"";position:absolute;right:-120px;bottom:-240px;width:520px;height:520px;border:1px solid rgba(197,163,90,.18);border-radius:50%;pointer-events:none}
.instructors-directory-cta-inner{position:relative;z-index:1;margin-inline:auto!important}
.instructors-directory-cta h2{margin:0 0 2rem;color:#fff;font-size:clamp(2.05rem,4.4vw,4rem);font-weight:400;letter-spacing:.05em}
.instructors-directory-cta p:not(.instructors-directory-eyebrow){margin:.65rem auto;color:rgba(255,255,255,.78);line-height:2}
.instructors-directory-cta .wp-block-buttons{margin-top:2.5rem}
.instructors-directory-cta .wp-block-button__link{min-width:220px;padding:1rem 1.8rem;background:#fff;color:#111c31;border:1px solid #fff}
.instructors-directory-cta .wp-block-button__link:hover{color:#fff;background:transparent}

@media (max-width:781px){
  .instructors-directory-page{font-size:1rem}
  .instructors-directory-hero{padding:122px 20px 76px}
  .instructors-directory-hero h1{font-size:clamp(2.3rem,10.6vw,3.2rem);letter-spacing:.03em;white-space:nowrap}
  .instructors-directory-subtitle{margin-top:1.4rem!important;font-size:1.2rem!important}
  .instructors-directory-lead{margin-top:38px!important;padding-top:28px}
  .instructors-directory-list-section{padding:76px 20px 90px}
  .instructor-region-nav{margin:36px 0 70px;padding:22px 18px}
  .instructor-region-nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .instructor-region-nav a{height:100%;padding:.65rem .7rem;font-size:.78rem}
  .instructor-region-section{padding:48px 0}
  .instructor-card-grid{grid-template-columns:1fr}
  .instructor-card{padding:22px 20px}
  .instructors-directory-cta{padding:82px 20px}
}
@media (max-width:430px){
  .instructor-region-nav ul{grid-template-columns:1fr}
  .instructor-card dl>div{grid-template-columns:92px minmax(0,1fr);gap:10px;min-height:44px}
  .instructor-region-heading{align-items:flex-end}
}

/* 1.3.0: Academy registration landing page. */
.academy-lp{background:#f8f5ee;color:#17202e;font-size:1.08rem;scroll-behavior:smooth}
.academy-lp,.academy-lp *{box-sizing:border-box}
.academy-lp p{line-height:2}
.academy-lp h1,.academy-lp h2,.academy-lp h3{color:#101827;line-break:strict;word-break:normal;overflow-wrap:normal;text-wrap:balance}
.academy-lp-section{padding:clamp(88px,10vw,148px) clamp(22px,4vw,64px)}
.academy-lp-section-inner{max-width:1180px!important}
.academy-lp-section-label,.academy-lp-kicker{margin:0 0 1rem!important;color:#9b7b35;font-size:.72rem;font-weight:600;letter-spacing:.2em}
.academy-lp-section h2{margin:.1rem 0 clamp(38px,5vw,64px);font-size:clamp(2.35rem,4.2vw,4.2rem);line-height:1.4}
.academy-lp-heading-line{display:block}
.academy-lp-fixed-lines{max-width:100%;text-wrap:wrap!important}
.academy-lp-fixed-lines .academy-lp-heading-line{white-space:nowrap}
.academy-lp-large-copy{font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.3rem,2.1vw,1.75rem);line-height:1.85!important}
.academy-lp-note{margin-top:2rem!important;color:#6b6f76;font-size:.92rem}

.academy-lp-hero{position:relative;overflow:hidden;padding:clamp(132px,12vw,188px) clamp(22px,4vw,64px) clamp(92px,10vw,142px);background:linear-gradient(135deg,#fff 0%,#f7f1e4 67%,#f2eadb 100%)}
.academy-lp-hero:before{content:"";position:absolute;right:-12vw;top:-18vw;width:48vw;aspect-ratio:1;border:1px solid rgba(197,163,90,.22);border-radius:50%}
.academy-lp-hero-grid{position:relative;z-index:1;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:clamp(54px,8vw,110px)!important;align-items:center}
.academy-lp-hero-copy{max-width:650px;min-width:0}
.academy-lp-hero h1{max-width:100%;margin:0 0 1.5rem;font-size:clamp(2.5rem,3.2vw,2.75rem);line-height:1.3;letter-spacing:.01em;word-break:keep-all;overflow-wrap:normal;text-wrap:wrap}
.academy-lp-title-ja,.academy-lp-title-brand{display:block;white-space:nowrap}
.academy-lp-title-brand{margin-top:.08em;letter-spacing:.1em}
.academy-lp-subcopy{margin:0 0 2.3rem!important;padding-left:1rem;border-left:3px solid #b39048;color:#8c6b2b!important;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.65rem,2.8vw,2.45rem)!important;font-weight:600;letter-spacing:.04em}
.academy-lp-lead{font-size:clamp(1.14rem,1.8vw,1.35rem);font-weight:600}
.academy-lp-hero-visual{position:relative;min-height:0;margin:0!important}
.academy-lp-artwork{position:relative;width:min(100%,560px);margin:0 0 0 auto!important;padding:12px;background:#fff;box-shadow:0 28px 70px rgba(20,30,48,.17)}
.academy-lp-artwork img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.academy-cta-wrap{margin:2.5rem 0 0!important}
.academy-cta-button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-width:min(100%,350px);padding:1.18rem 1.45rem;color:#fff!important;background:linear-gradient(135deg,#101827,#172a4e);border:1px solid #101827;text-decoration:none!important;font-size:1rem;font-weight:700;letter-spacing:.06em;box-shadow:0 16px 34px rgba(16,24,39,.18);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.academy-cta-button:hover{color:#fff!important;background:#9b7b35;box-shadow:0 20px 42px rgba(96,72,25,.22);transform:translateY(-2px)}
.academy-cta-button span:last-child{font-size:1.4rem;font-weight:400}
.academy-cta-button.is-disabled{cursor:default;color:#687080!important;background:#e5e7eb;border-color:#cdd1d8;box-shadow:none;pointer-events:none}
.academy-cta-button.is-disabled:hover{color:#687080!important;background:#e5e7eb;box-shadow:none;transform:none}
.academy-cta-button.is-disabled span:last-child{font-size:1rem;font-weight:700}
.academy-cta-note{display:block;margin-top:.85rem;color:#5c6470;font-size:.9rem;line-height:1.8}

.academy-lp-concerns{background:#fff}
.academy-lp-check-grid,.academy-lp-card-grid,.academy-lp-word-list,.academy-lp-pillar-diagram,.academy-lp-step-grid{margin:0!important;padding:0!important;list-style:none}
.academy-lp-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.academy-lp-check-grid li{position:relative;min-height:92px;padding:1.45rem 1.3rem 1.35rem 3.6rem;background:#f8f5ee;border:1px solid #e4dccb;line-height:1.7}
.academy-lp-check-grid li:before{content:"✓";position:absolute;left:1.3rem;top:1.34rem;display:grid;place-items:center;width:25px;height:25px;color:#fff;background:#172a4e;border-radius:50%;font-size:.78rem;font-weight:700}

.academy-lp-origin{background:#f8f5ee}
.academy-lp-story-grid{display:grid!important;grid-template-columns:minmax(300px,.72fr) minmax(0,1.25fr);gap:clamp(52px,8vw,110px)!important;align-items:start}
.academy-lp-story-photo{position:sticky;top:116px;margin:0!important;padding:12px;background:#fff;box-shadow:0 22px 58px rgba(25,32,45,.12)}
.academy-lp-story-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center}
.academy-lp-story-copy h2{margin-bottom:2.3rem}
.academy-lp-story-copy p{margin:.9rem 0}
.academy-lp-quote{margin:2.2rem 0!important;padding:1.8rem 0 1.8rem 2rem;border-left:3px solid #b39048}
.academy-lp-quote p{margin:0!important;color:#16233c;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.8!important}

.academy-lp-about{color:#fff;background:linear-gradient(135deg,#101827,#172a4e)}
.academy-lp-about h2{color:#fff}
.academy-lp-about .academy-lp-fixed-lines{font-size:clamp(2.35rem,4.2vw,4.2rem)}
.academy-lp-about p{color:rgba(255,255,255,.82)}
.academy-lp-narrow{max-width:900px!important}
.academy-lp-word-list{display:flex;flex-wrap:wrap;gap:12px;margin:2.3rem 0!important}
.academy-lp-word-list li{padding:.78rem 1.1rem;border:1px solid rgba(197,163,90,.55);background:rgba(255,255,255,.05);color:#fff}
.academy-lp-pillar-diagram{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:3rem 0!important;counter-reset:academy-pillar}
.academy-lp-pillar-diagram li{position:relative;display:flex;min-height:230px;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.25rem;text-align:center;background:rgba(255,255,255,.055);border:1px solid rgba(197,163,90,.48)}
.academy-lp-pillar-diagram li:not(:last-child):after{content:"→";position:absolute;right:-34px;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:44px;color:#d8bd7c;background:#101a2d;border:1px solid rgba(197,163,90,.58);border-radius:50%;font-size:1.15rem;transform:translateY(-50%)}
.academy-lp-pillar-icon{display:grid;width:66px;height:66px;margin-bottom:1.15rem;place-items:center;color:#d7b866;border:1px solid rgba(215,184,102,.62);border-radius:50%;background:rgba(255,255,255,.04)}
.academy-lp-pillar-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.academy-lp-pillar-diagram strong{display:block;color:#fff;font-family:var(--wp--preset--font-family--mincho);font-size:1.65rem;font-weight:500;letter-spacing:.08em}
.academy-lp-pillar-diagram small{display:block;margin-top:.8rem;color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.75}

.academy-lp-learning{background:#f8f5ee}
.academy-lp-card-grid{display:grid;gap:16px}
.academy-lp-learning-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.academy-lp-card-grid li{position:relative;min-height:210px;padding:1.35rem 1.2rem 1.4rem;background:#fff;border:1px solid #e1d8c6;box-shadow:0 12px 30px rgba(30,38,53,.055);line-height:1.65;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.academy-lp-card-grid li:hover{border-color:#c8ad70;box-shadow:0 18px 38px rgba(30,38,53,.1);transform:translateY(-3px)}
.academy-lp-card-number{position:absolute;right:1.1rem;top:1rem;color:#a38443;font-family:var(--wp--preset--font-family--mincho);font-size:.72rem;letter-spacing:.12em}
.academy-lp-card-icon{display:grid;width:54px;height:54px;margin:1rem 0 1.25rem;place-items:center;color:#172a4e;background:#f7f2e7;border:1px solid #ded2b8;border-radius:50%}
.academy-lp-card-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.academy-lp-card-grid li strong{display:block;color:#17233a;font-family:var(--wp--preset--font-family--mincho);font-size:1.05rem;font-weight:500;line-height:1.65}

.academy-lp-experiences{color:#fff;background:radial-gradient(circle at 88% 8%,rgba(197,163,90,.13),transparent 34%),linear-gradient(135deg,#0d1423 0%,#172a4e 72%,#111927 100%)}
.academy-lp-experiences h2,.academy-lp-experiences h3{color:#fff}
.academy-lp-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.6vw,36px);margin-top:clamp(40px,5vw,64px)!important}
.academy-lp-experience-card{min-width:0;margin:0!important}
.academy-lp-experience-image{position:relative;overflow:hidden;margin:0 0 1.5rem!important;background:#09111f;box-shadow:0 24px 52px rgba(0,0,0,.34)}
.academy-lp-experience-image:after{content:"";position:absolute;inset:0;border:1px solid rgba(197,163,90,.46);box-shadow:inset 0 0 20px rgba(0,0,0,.18);pointer-events:none}
.academy-lp-experience-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .4s ease}
.academy-lp-experience-card:hover .academy-lp-experience-image img{transform:scale(1.025)}
.academy-lp-experience-number{margin:0 0 .4rem!important;color:#d7b866!important;font-size:.68rem!important;font-weight:600;letter-spacing:.18em;line-height:1.4!important}
.academy-lp-experience-card h3{margin:0;font-size:clamp(1.15rem,1.8vw,1.55rem);font-weight:500;line-height:1.65;letter-spacing:.04em;overflow-wrap:anywhere}
#academy-experiences{scroll-margin-top:86px}

.academy-lp-future{background:#fff}
.academy-lp-future .academy-lp-large-copy,.academy-lp-future .academy-lp-section-inner>p{max-width:900px}
.academy-lp-future-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:3rem!important;counter-reset:academy-future}
.academy-lp-future-grid li{counter-increment:academy-future;display:flex;min-height:190px;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:1.6rem;background:linear-gradient(145deg,#faf7f1,#f1eadb);border-top:3px solid #b39048;font-family:var(--wp--preset--font-family--mincho);font-size:1.15rem}
.academy-lp-future-grid li:before{content:"0" counter(academy-future);display:grid;width:46px;height:46px;margin-bottom:auto;place-items:center;color:#8d6d2e;border:1px solid #cbb47d;border-radius:50%;font-family:var(--wp--preset--font-family--mincho);font-size:.78rem;letter-spacing:.08em}

.academy-lp-recommend{background:#f8f5ee}
.academy-lp-recommend-grid li{background:#fff}

.academy-lp-register{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#0d1423 0%,#172a4e 72%,#111927 100%)}
.academy-lp-register:after{content:"";position:absolute;right:-18vw;bottom:-28vw;width:55vw;aspect-ratio:1;border:1px solid rgba(197,163,90,.18);border-radius:50%}
.academy-lp-register-grid{position:relative;z-index:1;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr);gap:clamp(48px,7vw,92px)!important;align-items:start}
.academy-lp-register h2,.academy-lp-register h3{color:#fff}
.academy-lp-register-copy .academy-lp-fixed-lines{font-size:clamp(1.75rem,3.1vw,2.8rem)}
.academy-lp-register p{color:rgba(255,255,255,.82)}
.academy-lp-register-eyebrow{margin:0 0 1rem!important;color:#dec27c!important;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:600}
.academy-lp-register .academy-cta-button{color:#17202e!important;background:#d2b36b;border-color:#d2b36b;box-shadow:0 18px 42px rgba(0,0,0,.28)}
.academy-lp-register .academy-cta-button:hover{color:#17202e!important;background:#f0d895}
.academy-lp-register .academy-cta-button.is-disabled,.academy-lp-register .academy-cta-button.is-disabled:hover{color:rgba(255,255,255,.76)!important;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);box-shadow:none;transform:none}
.academy-lp-register .academy-cta-note{color:rgba(255,255,255,.72)}
.academy-lp-register-panel{padding:clamp(28px,4vw,48px)!important;border:1px solid rgba(197,163,90,.44);background:rgba(255,255,255,.06)}
.academy-lp-register-panel h3{margin:0 0 1.6rem;font-size:clamp(1.35rem,2vw,1.75rem)}
.academy-lp-register-panel ul{margin:0 0 1.8rem;padding-left:1.3rem}
.academy-lp-register-panel li{margin:.6rem 0}
.academy-lp-register-panel p{margin:0;font-size:.94rem}

.academy-lp-flow{background:#fff}
.academy-lp-step-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;counter-reset:academy-step}
.academy-lp-step-grid li{position:relative;min-height:150px;padding:1.4rem 1rem;background:#f8f5ee;border:1px solid #e2dac9;text-align:center}
.academy-lp-step-grid li:not(:last-child):after{content:"→";position:absolute;right:-13px;top:50%;z-index:2;display:grid;place-items:center;width:25px;height:25px;color:#8d6d2e;background:#fff;border:1px solid #d8c79f;border-radius:50%;transform:translateY(-50%)}
.academy-lp-step-grid span{display:block;margin-bottom:1.4rem;color:#9b7b35;font-size:.68rem;font-weight:700;letter-spacing:.12em}
.academy-lp-step-grid strong{display:block;font-size:1rem;line-height:1.6}

.academy-lp-faq{background:#f8f5ee}
.academy-lp-faq-inner{max-width:980px!important}
.academy-lp-faq-item{margin:0!important;padding:1.7rem 0;border-top:1px solid #d8d0c1}
.academy-lp-faq-item:last-child{border-bottom:1px solid #d8d0c1}
.academy-lp-faq-item summary{position:relative;padding:0 3rem 0 3.2rem;cursor:pointer;color:#17202e;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.15rem,2vw,1.4rem);font-weight:600;line-height:1.7;list-style:none}
.academy-lp-faq-item summary::-webkit-details-marker{display:none}
.academy-lp-faq-item summary:before{content:"Q";position:absolute;left:.25rem;top:0;color:#9b7b35;font-size:1.25rem}
.academy-lp-faq-item summary:after{content:"＋";position:absolute;right:.4rem;top:0;color:#8f7748}
.academy-lp-faq-item[open] summary:after{content:"−"}
.academy-lp-faq-item p{position:relative;margin:1.5rem 3rem 0 3.2rem!important;padding:1.4rem 1.6rem;background:#fff}
.academy-lp-faq-item p:before{content:"A";position:absolute;left:-2.9rem;top:1.15rem;color:#172a4e;font-family:var(--wp--preset--font-family--mincho);font-size:1.25rem;font-weight:700}

.academy-lp-final{background:#fff}
.academy-lp-final-grid{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(350px,.72fr);gap:clamp(52px,8vw,108px)!important;align-items:center}
.academy-lp-final h2{margin-bottom:2.3rem}
.academy-lp-final .academy-lp-fixed-lines{font-size:clamp(1.75rem,3.1vw,3.2rem)}
.academy-lp-final-copy p{margin:.8rem 0}
.academy-lp-final-photo{margin:0!important;padding:12px;background:#f8f5ee;box-shadow:0 22px 58px rgba(30,38,53,.12)}
.academy-lp-final-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover}

@media (max-width:1050px){
  .academy-lp-hero-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.82fr);gap:48px!important}
  .academy-lp-hero h1{font-size:clamp(2.1rem,3.6vw,2.4rem)}
  .academy-lp-hero-visual{min-height:0}
  .academy-lp-learning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .academy-lp-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .academy-lp-future-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .academy-lp-step-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .academy-lp-step-grid li:nth-child(3):after{display:none}
}
@media (max-width:900px){
  .academy-lp-hero-grid{grid-template-columns:1fr;gap:50px!important}
  .academy-lp-hero-copy{max-width:720px}
  .academy-lp-hero h1{font-size:clamp(2.25rem,5.4vw,3rem)}
  .academy-lp-hero-visual{min-height:0;max-width:620px;width:100%;margin-inline:auto!important}
}
@media (max-width:781px){
  .academy-lp{font-size:1.04rem}
  .academy-lp-section{padding:78px 22px}
  .academy-lp-hero{padding:126px 22px 82px}
  .academy-lp-hero-grid,.academy-lp-story-grid,.academy-lp-register-grid,.academy-lp-final-grid{grid-template-columns:1fr;gap:50px!important}
  .academy-lp-hero-copy{max-width:720px}
  .academy-lp-hero h1{font-size:clamp(2.25rem,5.4vw,3rem)}
  .academy-lp-hero-visual{min-height:0;max-width:620px;width:100%;margin-inline:auto!important}
  .academy-lp-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .academy-lp-pillar-diagram{grid-template-columns:1fr;gap:26px}
  .academy-lp-pillar-diagram li{min-height:190px}
  .academy-lp-pillar-diagram li:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-36px;transform:translateX(-50%)}
  .academy-lp-story-photo{position:relative;top:auto;max-width:520px;margin-inline:auto!important}
  .academy-lp-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .academy-lp-experience-grid{grid-template-columns:1fr}
  .academy-lp-experience-image{margin-bottom:1.25rem!important}
  .academy-lp-register-panel{margin-top:0!important}
  .academy-lp-final-photo{max-width:560px;margin-inline:auto!important}
}
@media (max-width:520px){
  .academy-lp{font-size:1rem}
  .academy-lp p{line-height:1.95}
  .academy-lp-section{padding:68px 18px}
  .academy-lp-section h2{margin-bottom:32px;font-size:clamp(1.85rem,8.6vw,2.6rem)}
  .academy-lp-hero{padding:112px 18px 68px}
  .academy-lp-hero h1{font-size:clamp(1.72rem,7.2vw,2.15rem);letter-spacing:.005em}
  .academy-lp-about .academy-lp-fixed-lines{font-size:clamp(1.65rem,7vw,2.3rem)}
  .academy-lp-register-copy .academy-lp-fixed-lines,.academy-lp-final .academy-lp-fixed-lines{font-size:clamp(1.72rem,7.2vw,2.2rem)}
  .academy-lp-subcopy{font-size:clamp(1.42rem,6.2vw,1.8rem)!important}
  .academy-lp-hero-visual{min-height:0}
  .academy-cta-button{min-width:100%;gap:18px;padding:1.05rem 1.15rem;font-size:.92rem}
  .academy-lp-check-grid,.academy-lp-learning-grid,.academy-lp-future-grid,.academy-lp-step-grid{grid-template-columns:1fr}
  .academy-lp-check-grid li{min-height:0}
  .academy-lp-card-grid li{min-height:170px}
  .academy-lp-step-grid li{min-height:120px}
  .academy-lp-step-grid li:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-23px;transform:translateX(-50%)}
  .academy-lp-step-grid li:nth-child(3):after{display:grid}
  .academy-lp-faq-item summary{padding-left:2.5rem;padding-right:2.3rem}
  .academy-lp-faq-item p{margin-left:2.5rem!important;margin-right:0!important;padding:1.15rem}
  .academy-lp-faq-item p:before{left:-2.25rem}
}

/* 1.1.0: gallery gateway page — Instagram and YouTube only. */
.gallery-page{background:#f3f1ed;color:#171922}
.gallery-hero{min-height:62svh}
.gallery-hero .courses-lead{max-width:760px}
.gallery-social-section{
  padding:clamp(88px,11vw,150px) clamp(20px,4vw,64px);
  background:#f3f1ed;
}
.gallery-section-intro{margin-bottom:clamp(40px,6vw,72px)!important}
.gallery-section-intro h2{margin:.15rem 0 0;font-size:clamp(2.1rem,4vw,3.7rem)}
.gallery-social-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(20px,3vw,38px)!important;
}
.gallery-social-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:clamp(430px,42vw,560px);
  box-sizing:border-box;
  padding:clamp(34px,4.8vw,64px)!important;
  overflow:hidden;
  border:1px solid rgba(197,163,90,.34);
  color:#fff;
  background:
    radial-gradient(circle at 88% 8%,rgba(20,42,88,.7),transparent 32%),
    linear-gradient(145deg,#0a0c11 0%,#121722 64%,#08090c 100%);
  box-shadow:0 24px 65px rgba(13,17,27,.16);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.gallery-social-card.youtube-card{
  background:
    radial-gradient(circle at 88% 8%,rgba(113,60,155,.28),transparent 32%),
    linear-gradient(145deg,#0a0c11 0%,#15141d 64%,#08090c 100%);
}
.gallery-social-card:before{
  content:"";
  position:absolute;
  right:-86px;
  bottom:-86px;
  width:220px;
  aspect-ratio:1;
  border:1px solid rgba(197,163,90,.18);
  border-radius:50%;
}
.gallery-social-card:hover{
  transform:translateY(-6px);
  border-color:rgba(197,163,90,.58);
  box-shadow:0 32px 78px rgba(13,17,27,.24);
}
.gallery-social-card>*{position:relative;z-index:1;margin-left:0!important;margin-right:0!important}
.gallery-social-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:76px;
  height:76px;
  margin:0 0 clamp(42px,6vw,74px)!important;
  border:1px solid rgba(197,163,90,.7);
  color:#fff;
}
.gallery-social-icon svg{display:block;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6}
.gallery-social-icon .icon-fill{fill:currentColor;stroke:none}
.gallery-social-card h2{margin:0 0 1.5rem;font-size:clamp(1.65rem,2.7vw,2.6rem);line-height:1.45}
.gallery-social-card p{margin:.35rem 0;color:rgba(255,255,255,.72)}
.gallery-social-card .wp-block-buttons{margin-top:auto;padding-top:clamp(34px,5vw,58px)}
.gallery-social-card .wp-block-button__link{
  min-width:190px;
  border:1px solid rgba(255,255,255,.72);
  background:transparent;
  color:#fff;
}
.gallery-social-card .wp-block-button__link:hover{border-color:#c5a35a;background:#c5a35a;color:#0b0c10}
.gallery-external-note{margin-top:1rem!important;color:rgba(255,255,255,.45)!important;font-size:.66rem;letter-spacing:.08em}

@media (max-width:680px){
  .gallery-hero{min-height:auto}
  .gallery-social-section{padding-top:76px;padding-bottom:90px}
  .gallery-social-grid{grid-template-columns:1fr}
  .gallery-social-card{min-height:430px;padding:32px 26px!important}
  .gallery-social-icon{width:66px;height:66px;margin-bottom:44px!important}
  .gallery-social-icon svg{width:30px;height:30px}
  .gallery-social-card .wp-block-button,.gallery-social-card .wp-block-button__link{width:100%;box-sizing:border-box;text-align:center}
}

/* 1.2.0: Yukiko Norizuki profile and artist history. */
.yukiko-page{background:#f3f1ed;color:#171922}
.yukiko-hero{
  position:relative;
  overflow:hidden;
  box-sizing:border-box;
  padding:clamp(148px,13vw,196px) clamp(20px,4vw,64px) clamp(80px,9vw,126px);
  color:#fff;
  background:
    radial-gradient(circle at 76% 22%,rgba(20,42,88,.42),transparent 29%),
    linear-gradient(135deg,#07080b 0%,#101522 62%,#08090c 100%);
}
.yukiko-hero:after{
  content:"";
  position:absolute;
  left:-18vw;
  bottom:-32vw;
  width:52vw;
  aspect-ratio:1;
  border:1px solid rgba(197,163,90,.14);
  border-radius:50%;
}
.yukiko-hero-grid{position:relative;z-index:1;display:grid!important;grid-template-columns:minmax(300px,.9fr) minmax(380px,.78fr);gap:clamp(48px,8vw,112px)!important;align-items:center}
.yukiko-hero-copy{max-width:600px}
.yukiko-hero-copy h1{margin:.08em 0 .18em;font-size:clamp(3.6rem,7vw,7.1rem)!important;line-height:1;letter-spacing:.1em;white-space:nowrap;word-break:keep-all;text-shadow:0 4px 18px rgba(0,0,0,.5)}
.yukiko-name-en{margin:0 0 2.4rem!important;color:rgba(255,255,255,.42);font-family:var(--wp--preset--font-family--mincho);font-size:.78rem;letter-spacing:.24em}
.yukiko-role{margin:.3rem 0;color:rgba(255,255,255,.84);font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1rem,1.6vw,1.28rem);letter-spacing:.08em}
.yukiko-portrait-wrap{margin:0!important}
.yukiko-portrait{position:relative;margin:0!important;padding:clamp(10px,1.5vw,16px);border:1px solid rgba(197,163,90,.36);background:#090a0d;box-shadow:25px 34px 65px rgba(0,0,0,.55)}
.yukiko-portrait:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.yukiko-portrait img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center bottom}
.yukiko-photo-note{margin:1.1rem 0 0!important;color:rgba(255,255,255,.46);font-size:.65rem;line-height:1.8}
.yukiko-section{padding:clamp(90px,11vw,150px) clamp(20px,4vw,64px)}
.yukiko-section-grid{display:grid!important;grid-template-columns:minmax(160px,.34fr) minmax(0,1fr);gap:clamp(46px,9vw,128px)!important}
.yukiko-section-index{margin:.2rem 0;color:#8c7649;font-size:.66rem;letter-spacing:.2em}
.yukiko-section-content{max-width:780px}
.yukiko-section-content h2{margin:0 0 clamp(34px,5vw,58px);font-size:clamp(2.35rem,4.8vw,4.7rem);word-break:keep-all}
.yukiko-section-content p{margin:.6rem 0;line-height:2.15}
.yukiko-greeting{background:#f3f1ed}
.yukiko-profile{color:#fff;background:linear-gradient(135deg,#0b0c10 0%,#111827 68%,#0b0c10 100%)}
.yukiko-profile .yukiko-section-index{color:#c5a35a}
.yukiko-profile .yukiko-section-content{padding-left:clamp(0px,4vw,58px);border-left:1px solid rgba(197,163,90,.28)}
.yukiko-profile .yukiko-section-content p{color:rgba(255,255,255,.74)}
.yukiko-timeline-section{padding:clamp(92px,11vw,156px) clamp(20px,4vw,64px);background:#f3f1ed}
.yukiko-timeline-heading{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;margin-bottom:clamp(50px,7vw,88px)}
.yukiko-timeline-heading h2{margin:.1rem 0 0;font-size:clamp(2.6rem,5vw,5rem)}
.yukiko-timeline-caption{margin:0;color:#81786a;font-size:.72rem;letter-spacing:.16em}
.yukiko-timeline{position:relative;margin:0!important}
.yukiko-timeline:before{content:"";position:absolute;left:153px;top:0;bottom:0;width:1px;background:linear-gradient(#c5a35a,#d9d2c7 88%,transparent)}
.yukiko-timeline-item{position:relative;display:grid!important;grid-template-columns:120px minmax(0,1fr);gap:64px!important;padding:0 0 clamp(46px,6vw,76px)!important}
.yukiko-timeline-item:before{content:"";position:absolute;left:148px;top:12px;width:11px;height:11px;border:2px solid #c5a35a;border-radius:50%;background:#f3f1ed;box-sizing:border-box}
.yukiko-year{margin:0!important;color:#8f7543;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.28rem,2.1vw,1.8rem);letter-spacing:.08em}
.yukiko-timeline-body{padding:0 0 0 clamp(0px,2vw,26px)}
.yukiko-timeline-body ul{margin:0!important;padding:0!important;list-style:none}
.yukiko-timeline-body li{position:relative;margin:0 0 .72rem;padding:0 0 0 1.2rem;line-height:1.9}
.yukiko-timeline-body li:before{content:"";position:absolute;left:0;top:.88em;width:5px;height:1px;background:#9b8a69}
.yukiko-timeline-item.is-featured .yukiko-timeline-body{padding-top:1.25rem;padding-bottom:1.25rem;border-top:1px solid rgba(197,163,90,.42);border-bottom:1px solid rgba(197,163,90,.22)}
.yukiko-timeline-item.is-featured .yukiko-year{color:#5d4820}
.yukiko-awards{position:relative;overflow:hidden;padding:clamp(92px,11vw,150px) clamp(20px,4vw,64px);color:#fff;background:linear-gradient(135deg,#090a0e,#10172a 62%,#15101c)}
.yukiko-awards:before{content:"";position:absolute;right:-15vw;top:-22vw;width:45vw;aspect-ratio:1;border:1px solid rgba(197,163,90,.16);transform:rotate(45deg)}
.yukiko-awards-inner{position:relative;z-index:1}
.yukiko-awards-heading{margin-bottom:clamp(44px,6vw,72px)}
.yukiko-awards-heading h2{margin:.1rem 0 0;font-size:clamp(2.6rem,5vw,5rem)}
.yukiko-awards-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,38px)!important}
.yukiko-award-card{min-height:290px;box-sizing:border-box;padding:clamp(30px,4vw,52px)!important;border:1px solid rgba(197,163,90,.34);background:rgba(255,255,255,.035);box-shadow:0 22px 55px rgba(0,0,0,.2)}
.yukiko-award-year{margin:0 0 1.8rem!important;color:#c5a35a;font-family:var(--wp--preset--font-family--mincho);font-size:1.45rem;letter-spacing:.12em}
.yukiko-award-card h3{margin:0 0 1rem;font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.55}
.yukiko-award-name{margin:0;color:rgba(255,255,255,.7);line-height:1.9}
.yukiko-statement{padding:clamp(104px,13vw,178px) clamp(20px,4vw,64px);background:#fff}
.yukiko-statement-inner{position:relative;max-width:940px!important}
.yukiko-statement-mark{margin:0 0 1rem!important;color:#c5a35a;font-family:var(--wp--preset--font-family--mincho);font-size:5rem;line-height:.7}
.yukiko-statement h2{margin:0 0 clamp(38px,5vw,60px);font-size:clamp(2.8rem,6vw,5.8rem);letter-spacing:.06em}
.yukiko-statement-text{padding-left:clamp(0px,7vw,100px);border-left:1px solid rgba(197,163,90,.48)}
.yukiko-statement-text p{margin:0;font-family:var(--wp--preset--font-family--mincho);font-size:clamp(1.05rem,2vw,1.45rem);line-height:2.25}

@media (max-width:900px){
  .yukiko-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:42px!important}
  .yukiko-timeline:before{left:125px}
  .yukiko-timeline-item{grid-template-columns:96px minmax(0,1fr);gap:58px!important}
  .yukiko-timeline-item:before{left:120px}
}
@media (max-width:680px){
  .yukiko-hero{padding-top:122px;padding-bottom:76px}
  .yukiko-hero-grid{grid-template-columns:1fr;gap:48px!important}
  .yukiko-hero-copy h1{font-size:clamp(3rem,15vw,4.6rem)!important;letter-spacing:.07em}
  .yukiko-name-en{margin-bottom:1.7rem!important;font-size:.68rem}
  .yukiko-portrait-wrap{max-width:460px;width:100%}
  .yukiko-section-grid{grid-template-columns:1fr;gap:26px!important}
  .yukiko-section-content h2{margin-bottom:30px;font-size:clamp(2.2rem,11vw,3.4rem)}
  .yukiko-profile .yukiko-section-content{padding-left:0;border-left:0}
  .yukiko-timeline-heading{display:block!important}
  .yukiko-timeline-caption{margin-top:1rem}
  .yukiko-timeline:before{left:6px}
  .yukiko-timeline-item{display:block!important;padding-left:34px!important;padding-bottom:54px!important}
  .yukiko-timeline-item:before{left:1px;top:9px}
  .yukiko-year{margin-bottom:18px!important;font-size:1.42rem}
  .yukiko-timeline-body{padding-left:0}
  .yukiko-timeline-item.is-featured .yukiko-timeline-body{padding-top:1rem;padding-bottom:1rem}
  .yukiko-awards-grid{grid-template-columns:1fr}
  .yukiko-award-card{min-height:0}
  .yukiko-statement-text{padding-left:24px}
}

/* 0.7.0: course guide page — inherits the master gallery design. */
.courses-page{background:#f3f1ed;color:#171922}
.courses-hero{
  position:relative;
  overflow:hidden;
  min-height:58svh;
  box-sizing:border-box;
  padding:clamp(170px,15vw,220px) clamp(20px,4vw,64px) clamp(92px,10vw,140px);
  background:
    radial-gradient(circle at 82% 28%,rgba(113,60,155,.24),transparent 28%),
    linear-gradient(135deg,#08090c 0%,#11172a 58%,#090a0d 100%);
}
.courses-hero:before{
  content:"";
  position:absolute;
  right:clamp(34px,8vw,130px);
  top:clamp(130px,13vw,190px);
  width:clamp(150px,21vw,320px);
  aspect-ratio:1;
  border:1px solid rgba(197,163,90,.2);
  transform:rotate(45deg);
  box-shadow:inset 0 0 0 18px rgba(255,255,255,.012),0 24px 60px rgba(0,0,0,.28);
}
.courses-hero:after{
  content:"";
  position:absolute;
  right:-8vw;
  bottom:-25vw;
  width:48vw;
  aspect-ratio:1;
  border:1px solid rgba(197,163,90,.15);
  border-radius:50%;
}
.courses-hero-inner{position:relative;z-index:1;margin-left:max(0px,calc((100% - 1180px)/2))!important}
.courses-hero h1{margin:.05em 0 .2em;font-size:clamp(3.4rem,7vw,6.8rem)!important;line-height:1;letter-spacing:.12em;text-shadow:0 3px 15px rgba(0,0,0,.48)}
.courses-catch{margin-top:1.2rem;color:#f1efeb!important;letter-spacing:.05em}
.courses-lead{margin-top:2.4rem!important;padding-top:2rem;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.78)}
.courses-lead p{margin:.35rem 0}
.courses-catalog{padding:clamp(84px,10vw,140px) clamp(20px,4vw,64px);background:#f3f1ed}
.courses-section-heading{align-items:flex-end!important;margin-bottom:clamp(38px,5vw,64px)}
.courses-section-heading h2{margin:.15rem 0 0;font-size:clamp(2.2rem,4vw,3.8rem)}
.courses-count{margin:0;color:#7b746a;font-family:var(--wp--preset--font-family--mincho);font-size:.78rem;letter-spacing:.24em}
.courses-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,34px)!important}
.course-guide-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(23,25,34,.1);
  background:#fff;
  box-shadow:0 18px 48px rgba(13,17,27,.08);
  transition:transform .35s ease,box-shadow .35s ease;
}
.course-guide-card:hover{transform:translateY(-6px);box-shadow:0 26px 65px rgba(13,17,27,.15)}
.course-guide-image{position:relative;width:100%;aspect-ratio:56/45;margin:0!important;overflow:hidden;background:#f7f6f2}
.course-guide-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .7s ease}
.course-guide-card:hover .course-guide-image img{transform:scale(1.035);filter:saturate(1.06)}
.course-guide-body{display:flex;flex:1;flex-direction:column;align-items:stretch;padding:clamp(24px,2.4vw,34px)!important}
.course-guide-body>*{margin-left:0!important;margin-right:0!important}
.course-number{margin:0 0 1.3rem!important;color:#8f7543;font-size:.62rem;letter-spacing:.2em}
.course-guide-body h3{min-height:3.15em;margin:.1rem 0 .45rem;line-height:1.45}
.course-subtitle{margin:.1rem 0 1.15rem!important;padding-bottom:1rem;border-bottom:1px solid #ddd5c8;color:#5f4f30;font-family:var(--wp--preset--font-family--mincho);font-size:.92rem;letter-spacing:.06em}
.course-guide-body>.wp-block-buttons{margin-top:auto;padding-top:1.2rem}
.course-guide-body .wp-block-button__link{min-width:138px;text-align:center}
.course-choice-cta{position:relative;overflow:hidden;padding:clamp(90px,11vw,150px) clamp(20px,4vw,64px);color:#fff;background:linear-gradient(135deg,#0b0c10 0%,#142a58 58%,#17101e 100%)}
.course-choice-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 10%,rgba(8,120,209,.2),transparent 28%),radial-gradient(circle at 84% 80%,rgba(230,78,154,.16),transparent 26%)}
.course-choice-inner{position:relative;z-index:1}
.course-choice-cta h2{font-size:clamp(2rem,4.4vw,4rem)}
.course-choice-cta .wp-block-button__link{min-width:210px;background:#fff;color:#0b0c10}

@media (max-width:1080px){
  .courses-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-guide-card:last-child{grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center}
}
@media (max-width:680px){
  .courses-hero{min-height:auto;padding-top:132px;padding-bottom:80px}
  .courses-hero:before{right:-72px;top:115px;opacity:.65}
  .courses-hero h1{font-size:clamp(2.9rem,15vw,4.6rem)!important;letter-spacing:.08em}
  .courses-catch{font-size:1.03rem!important;line-height:1.75}
  .courses-lead{margin-top:1.7rem!important;padding-top:1.45rem}
  .courses-lead p{font-size:.9rem}
  .courses-card-grid{grid-template-columns:1fr}
  .course-guide-card:last-child{grid-column:auto;max-width:none}
  .course-guide-body h3{min-height:0}
  .courses-section-heading{display:block!important}
  .courses-count{margin-top:1rem}
}

/* 0.8.0: shared site footer component. */
.site-footer{
  padding:clamp(70px,8vw,110px) clamp(20px,4vw,64px) 34px;
  border-top:1px solid rgba(197,163,90,.26);
  color:#fff;
  background:
    radial-gradient(circle at 12% 0%,rgba(20,42,88,.42),transparent 30%),
    linear-gradient(135deg,#08090c 0%,#0b0c10 58%,#11131a 100%)!important;
}
.site-footer-inner{width:100%}
.site-footer-main{gap:clamp(38px,6vw,90px);margin-bottom:clamp(52px,7vw,82px)}
.site-footer-brand h2{margin:0 0 1.25rem;font-size:clamp(2rem,4vw,3.6rem)!important;letter-spacing:.18em;text-shadow:0 2px 13px rgba(0,0,0,.5)}
.site-footer-brand p{margin:0;color:rgba(255,255,255,.68);font-family:var(--wp--preset--font-family--mincho);font-size:clamp(.92rem,1.35vw,1.12rem);line-height:2;letter-spacing:.06em}
.site-footer-column h3{margin:0 0 1.45rem;padding-bottom:.85rem;border-bottom:1px solid rgba(255,255,255,.16);color:#c5a35a;font-family:var(--wp--preset--font-family--sans);font-size:.72rem!important;letter-spacing:.16em}
.site-footer-links{list-style:none;margin:0!important;padding:0!important}
.site-footer-links li{margin:0;padding:.32rem 0;border:0!important;font-size:.78rem;letter-spacing:.04em}
.site-footer-links a{color:rgba(255,255,255,.74);text-decoration:none;transition:color .25s ease,padding-left .25s ease}
.site-footer-links a:hover{padding-left:.25rem;color:#fff}
.site-footer-bottom{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.13)}
.site-footer-bottom p{margin:0;color:rgba(255,255,255,.44);font-size:.62rem!important;letter-spacing:.12em}

@media (max-width:781px){
  .site-footer-main{display:grid!important;grid-template-columns:1fr 1fr;gap:44px 24px}
  .site-footer-brand{grid-column:1/-1}
  .site-footer-column{min-width:0}
}
@media (max-width:520px){
  .site-footer{padding-top:64px}
  .site-footer-main{grid-template-columns:1fr;gap:42px}
  .site-footer-brand{grid-column:auto;padding-bottom:8px}
  .site-footer-bottom{display:block!important}
}

@media (min-width:782px){
  .site-header .wp-block-navigation__responsive-container-open{display:none}
  .site-header .wp-block-navigation__responsive-container{display:block!important;position:static;width:auto;height:auto;background:transparent!important;color:inherit!important}
  .site-header .wp-block-navigation__responsive-container-content{display:flex;align-items:center}
}

/* 0.4.1: keep the mobile overlay independent from the translucent header layer. */
@media (max-width:781px){
  .site-header{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    overflow:visible;
  }
  .site-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    inset:46px 0 0!important;
    z-index:9999!important;
    width:100vw!important;
    height:calc(100dvh - 46px)!important;
    min-height:calc(100vh - 46px)!important;
    overflow-y:auto!important;
  }
  body:not(.admin-bar) .site-header .wp-block-navigation__responsive-container.is-menu-open{
    inset:0!important;
    height:100dvh!important;
    min-height:100vh!important;
  }
  .site-header .wp-block-navigation__responsive-container-content{
    width:100%;
    min-height:100%;
    align-items:stretch!important;
    justify-content:center!important;
  }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
  }
  .site-header .wp-block-navigation__responsive-container-close{
    top:1.1rem;
    right:1.25rem;
    padding:8px;
    color:#fff;
    border:1px solid rgba(255,255,255,.24);
  }
}

/* 0.6.1: final reference positioning and authoritative frame shadow order. */
@media (min-width:782px){
  .hero{
    box-sizing:border-box;
    min-height:calc(100svh - 32px);
    padding-top:132px;
    padding-bottom:40px;
  }
  .hero-art{
    width:min(100%,calc(100svh - 230px));
    justify-self:end;
    box-shadow:
      31px 39px 58px -14px rgba(0,0,0,.94),
      0 58px 82px -28px rgba(0,0,0,.96),
      -11px -9px 24px rgba(104,119,165,.12);
  }
}
@media (max-width:781px){
  .hero-art{
    box-shadow:
      16px 23px 32px -10px rgba(0,0,0,.88),
      0 34px 45px -23px rgba(0,0,0,.94),
      -5px -4px 13px rgba(104,119,165,.09);
  }
}
