:root{--ink:#292e30;--muted:#626666;--gold:#aa8851;--paper:#fff;--soft:#f5f4f0;--line:#dddeda}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a{transition:color .2s,background .2s,transform .2s}a:hover{color:var(--gold)}h1,h2,h3,p{margin:0}p+p{margin-top:20px}h1,h2,.serif{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(36px,4vw,60px);line-height:1.6;letter-spacing:.055em}h2{font-size:clamp(28px,2.8vw,40px);line-height:1.65;letter-spacing:.035em}h3{font-size:19px;line-height:1.7;font-weight:500}header{height:100px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #ededeb}.brand{font-family:Georgia,serif;font-size:25px;letter-spacing:.11em;white-space:nowrap;line-height:1.25}.brand span{display:block;font-family:Meiryo,sans-serif;font-size:10px;letter-spacing:.16em;margin-top:9px}nav{display:flex;align-items:center;gap:29px;font-size:14px}nav a[aria-current]{color:var(--gold)}.nav-cta{padding:13px 22px;border:1px solid var(--ink)}.nav-cta span{margin-left:25px}.menu{display:none}.wrap{max-width:1200px;width:88%;margin:auto}.section{padding:105px 0}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:500;color:#927344;line-height:1.8;margin-bottom:21px}.hero{position:relative;display:grid;grid-template-columns:53% 47%;background:var(--soft);min-height:690px}.hero-copy{padding:80px 5% 100px 11.4%;position:relative;z-index:2}.hero h1{font-size:clamp(36px,4.05vw,64px);line-height:1.55;white-space:nowrap}.hero h1 em{font-style:normal;color:#967744}.hero-lead{font-size:20px;line-height:1.9;margin-top:27px}.hero-desc{font-size:14px;color:var(--muted);margin-top:19px;line-height:2}.hero-visual{position:relative;margin:28px 28px 60px 0;min-height:500px;overflow:hidden}.hero-visual img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50%;filter:brightness(.8)}.image-caption{position:absolute;bottom:42px;left:37px;color:white;text-shadow:0 2px 12px #0006}.image-caption span{font-size:10px;letter-spacing:.14em}.image-caption p{font-family:"Yu Mincho",serif;font-size:32px;line-height:1.8;letter-spacing:.12em;margin-top:12px}.actions{display:flex;align-items:center;gap:22px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;gap:40px;align-items:center;padding:16px 25px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:15px;cursor:pointer;line-height:1.8}.button:hover{background:#41494b;color:white;transform:translateY(-2px)}.button.outline{background:transparent;color:var(--ink)}.button.outline:hover{background:var(--ink);color:#fff}.text-link{font-size:14px;display:inline-block;border-bottom:1px solid #aaa;padding-bottom:5px}.hero-bottom{position:absolute;bottom:0;left:0;width:100%;height:60px;display:flex;align-items:center;gap:37px;padding:0 6%;border-top:1px solid var(--line);font-size:10px;letter-spacing:.15em}.scroll{margin-left:auto}.problems{display:grid;grid-template-columns:1fr 1.1fr;gap:65px}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);margin-top:23px}.problem-list>div{padding:18px 0;border-bottom:1px solid var(--line);font-size:16px;display:flex;gap:25px}.problem-list>div:first-child{padding-top:0}.problem-list span{font-family:Georgia,serif;font-size:20px;color:var(--gold)}.stage{background:var(--ink);color:#fff}.stage .eyebrow{color:#d0b17e}.stage .section-heading>p:last-child{color:#c6c9c9}.steps{display:grid;grid-template-columns:repeat(5,1fr);margin-top:45px;border-top:1px solid #5c6060;border-bottom:1px solid #5c6060}.step-card{position:relative;padding:25px 20px 65px;border-right:1px solid #5c6060;min-height:255px}.step-card:first-child{border-left:1px solid #5c6060}.step-card:hover{background:#3d4446;color:#fff}.step-label{font-size:11px;letter-spacing:.1em;color:#d0b17e}.step-label b{font-family:Georgia,serif;font-size:34px;font-weight:400;margin-left:8px}.step-card p{font-size:13px;color:#c6c9c9;margin-top:18px}.step-card h3{font-size:16px;margin-top:12px}.step-arrow{position:absolute;bottom:20px;right:20px;font-size:23px;color:#d0b17e}.small{font-size:13px;color:var(--muted)}.stage-note{margin-top:25px;color:#c6c9c9}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px}.services-grid>a{border-top:1px solid var(--line);padding-top:28px}.service-no{font-family:Georgia,serif;font-size:30px;color:var(--gold)}.services-grid h3{margin-top:16px}.services-grid p{font-size:14px;color:var(--muted);margin:13px 0 24px}.learning-bg{background:var(--soft)}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.cards{display:grid;gap:28px;margin-top:40px}.three{grid-template-columns:repeat(3,1fr)}.learn-card{background:#fff;border:1px solid #e4e3df}.course-art{height:235px;padding:30px;display:flex;flex-direction:column;background:#e7dfd2;color:#594b37}.course-art span{font-size:12px;letter-spacing:.08em}.course-art strong{font-family:"Yu Mincho",serif;font-size:24px;font-weight:500;line-height:1.7;margin-top:18px;max-width:240px}.course-art b{font-family:Georgia,serif;margin-top:auto;font-size:18px;font-weight:400}.art1{background:#dce1e2;color:#394b54}.art2{background:#e6e4dc;color:#514b39}.card-body{padding:26px}.badge{font-size:12px;border:1px solid #c7c2b7;padding:4px 10px;white-space:nowrap}.card-body h3{margin-top:15px}.card-body>p{font-size:14px;color:var(--muted);margin-top:13px}.card-body .small{font-size:12px}.course-meta{display:flex;gap:20px;font-size:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.about-teaser{display:grid;grid-template-columns:1fr 1.1fr;gap:75px;align-items:center}.large-en{font-family:Georgia,serif;font-style:italic;font-size:clamp(38px,4.7vw,70px);line-height:1.3;letter-spacing:-.03em;color:#aa9270}.about-teaser .section-heading{margin-bottom:24px}.about-teaser .button{margin-top:30px}.cta{background:#e8e3d9;padding:75px 0}.cta-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:60px}.cta h2{font-size:36px}.cta p:not(.eyebrow){margin-top:23px;font-size:15px}.cta .small{font-size:12px}.cta .button{min-width:300px}footer{background:var(--ink);color:#fff;padding-top:60px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;font-size:13px}.footer-grid .small{color:#bbb;margin-top:25px}.copyright{border-top:1px solid #505657;margin-top:50px;padding:23px 0;font-size:11px;letter-spacing:.07em;color:#bbb}.page-intro{padding:45px 0 75px}.breadcrumb{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:50px}.page-intro h1{font-size:48px}.page-intro>p:last-child{color:var(--muted);margin-top:25px;max-width:790px}.anchor-nav{display:flex;gap:15px;flex-wrap:wrap;padding-bottom:30px}.anchor-nav a{border:1px solid var(--line);padding:8px 28px;font-size:13px}.service-detail{border-top:1px solid var(--line);padding:75px 0;display:grid;grid-template-columns:1fr 1fr;gap:65px}.service-detail h2{font-size:29px}.subhead{font-size:20px;color:var(--gold);margin-top:16px}.check-list{list-style:none;padding:0;margin:25px 0}.check-list li{border-bottom:1px solid var(--line);padding:13px 0}.check-list li:before{content:'✓';color:var(--gold);margin-right:16px}.package{background:var(--soft);padding:55px}.package>p{margin-top:25px}.package .button{margin-top:25px}.package-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px;counter-reset:flow}.package-flow span{border-top:1px solid var(--gold);padding-top:15px;font-size:14px}.package-flow span:before{counter-increment:flow;content:'0'counter(flow)' / ';color:var(--gold)}.notice{background:var(--soft);padding:30px;margin-top:35px}.notice p{margin-top:15px}.no-top{padding-top:0}.plain-card{border-top:1px solid var(--gold);padding-top:25px}.plain-card p:last-child{margin-top:15px;color:var(--muted)}.company{margin:35px 0 0}.company>div{display:grid;grid-template-columns:220px 1fr;border-top:1px solid var(--line);padding:25px 0}.company dt{font-size:14px}.company dd{margin:0}.article-card{border:1px solid var(--line)}.article-cover{padding:30px;background:var(--soft);height:205px;position:relative}.article-cover>span{font-size:11px;letter-spacing:.15em}.article-cover b{position:absolute;right:30px;top:12px;font-family:Georgia,serif;color:#c4b698;font-size:90px;font-weight:400}.article-cover>p{position:absolute;bottom:25px;font-size:14px}.article-body{max-width:800px;padding-bottom:85px}.article-body section{padding:35px 0}.article-body h2{font-size:26px;margin-bottom:22px}.consult-top{display:grid;grid-template-columns:1fr 1fr;gap:80px}.consult-top h2{font-size:28px}.flow-list{padding-left:22px}.flow-list li{padding:13px 0}.contact-box{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;padding:50px;background:var(--soft)}.contact-box h2{font-size:27px;margin-bottom:22px}.contact-box p{font-size:14px}.contact-box .small{font-size:12px;margin-top:20px}.email{display:inline-block;border-bottom:1px solid var(--gold);margin-top:20px;font-size:16px;overflow-wrap:anywhere}form label{display:block;font-size:14px;margin-bottom:22px}label>span{font-size:11px;color:#846635;margin-left:10px}input,textarea,select{width:100%;background:#fff;border:1px solid #c7c9c5;border-radius:0;padding:12px;margin-top:8px;font-size:16px;color:var(--ink)}textarea{resize:vertical}form .button{width:100%}.skip{position:fixed;top:-100px;left:15px;background:white;z-index:40;padding:12px}.skip:focus{top:10px}@media(min-width:1600px){.hero{min-height:790px}.hero-copy{padding-top:120px}}@media(max-width:1100px){nav{gap:16px;font-size:12px}header{padding:0 3%}.brand{font-size:22px}.hero-copy{padding-left:9%;padding-right:2%}.hero h1{font-size:45px}.hero-desc{font-size:13px}.step-card{padding-left:14px;padding-right:14px}.step-card h3{font-size:15px}.services-grid{gap:20px}.contact-box{gap:35px;padding:35px}}@media(max-width:850px){header{height:80px;padding:0 6%}.menu{display:block;border:0;background:transparent;font-size:13px;padding:10px}.menu span{margin-left:10px}nav{display:none;position:absolute;top:80px;left:0;width:100%;background:#fff;padding:25px 6%;border-bottom:1px solid var(--line);font-size:15px;align-items:stretch}nav.open{display:flex;flex-direction:column;gap:20px}.hero{grid-template-columns:1fr 43%;min-height:610px}.hero-copy{padding-top:60px;padding-bottom:100px}.hero h1{font-size:37px}.hero-lead{font-size:17px}.hero-visual{margin:20px 20px 60px 0;min-height:400px}.image-caption{left:20px;bottom:25px}.image-caption p{font-size:25px}.image-caption span{font-size:9px}.hero .eyebrow{font-size:10px}.hero-desc br{display:none}.hero-desc{max-width:300px}.hero-bottom{gap:18px;font-size:9px}.section{padding:75px 0}.problems,.about-teaser{gap:40px}.steps{grid-template-columns:1fr 1fr}.step-card{min-height:210px;border-bottom:1px solid #5c6060;border-left:1px solid #5c6060}.step-card:last-child{grid-column:1/-1;min-height:160px}.services-grid{grid-template-columns:1fr 1fr;gap:35px}.three{grid-template-columns:1fr}.course-art{height:220px}.learn-card{display:grid;grid-template-columns:1fr 1fr}.card-body{padding:22px}.course-art{height:100%;min-height:250px}.heading-row{align-items:flex-start;flex-direction:column;gap:15px}.cta-grid{grid-template-columns:1fr;gap:35px}.cta h2{font-size:32px}.contact-box{grid-template-columns:1fr}.service-detail{gap:35px}.service-detail h2{font-size:25px}.article-card{display:grid;grid-template-columns:1fr 1fr}.article-cover{height:100%;min-height:230px}.consult-top{gap:35px}.no-top{padding-top:0}}@media(max-width:600px){.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 6% 35px}.hero h1{font-size:clamp(32px,8.5vw,45px)}.hero-lead{font-size:17px;margin-top:21px}.hero-desc{max-width:100%;font-size:14px}.hero-visual{height:310px;min-height:0;margin:0 6% 60px}.hero-visual img{object-position:50% 55%}.hero-bottom{font-size:8px;gap:15px}.hero-bottom .scroll{display:none}.hero .eyebrow{font-size:10px}.actions{gap:20px;margin-top:27px}.actions .button{padding:13px 20px;font-size:14px;gap:30px}.actions .text-link{font-size:12px}.image-caption{bottom:22px;left:25px}.image-caption p{font-size:25px}.section{padding:60px 0}.problems,.about-teaser,.service-detail,.consult-top{grid-template-columns:1fr;gap:30px}.section-heading>p:last-child:not(.eyebrow){font-size:14px}h2{font-size:27px}.problem-list>div{font-size:14px;gap:16px}.step-card{padding:18px 16px 55px}.step-card h3{font-size:16px}.step-card p{font-size:12px}.services-grid{gap:30px 23px}.services-grid h3{font-size:17px}.services-grid p{font-size:13px}.learn-card,.article-card{display:block}.course-art{min-height:0;height:220px}.three{gap:25px}.course-art strong{max-width:260px}.about-teaser .large-en{font-size:50px}.cta{padding:55px 0}.cta h2{font-size:29px}.cta .button{min-width:0;width:100%}.cta p:not(.eyebrow){font-size:13px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-links{font-size:12px}.page-intro{padding:25px 0 50px}.breadcrumb{margin-bottom:32px}.page-intro h1{font-size:32px}.page-intro>p:last-child{font-size:14px}.anchor-nav{gap:8px}.anchor-nav a{padding:6px 15px;font-size:12px}.service-detail{padding:45px 0}.service-detail p{font-size:15px}.package{padding:28px}.package-flow{grid-template-columns:1fr 1fr;gap:15px}.package>p{font-size:14px}.company>div{grid-template-columns:1fr;gap:10px}.company dt{color:var(--muted);font-size:12px}.company dd{font-size:14px}.no-top{padding-top:0}.article-cover{min-height:185px}.article-body h2{font-size:23px}.contact-box{padding:25px;gap:35px}.contact-box h2{font-size:24px}.email{font-size:15px}.notice{padding:25px}.notice p{font-size:14px}.button{gap:25px}.article-body{padding-bottom:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.photo-credit{display:block;font-size:12px;margin-top:12px;max-width:280px;line-height:1.7;color:#fff;text-decoration:underline}

/* 2026-09 refinement: soft rose and deep berry palette with larger type. */
@font-face{
  font-family:"Montserrat";
  font-style:normal;
  font-weight:500 600;
  font-display:swap;
  src:url("https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  --ink:#683044;
  --muted:#755b65;
  --gold:#b3476c;
  --paper:#fff9fb;
  --soft:#fbeff3;
  --line:#ead3dc;
  --rose:#b3476c;
  --berry:#683044;
  --blush:#f7dce5;
  --beige:#f3f1e9;
}

body{font-size:20px;line-height:2;background:var(--paper)}
h1{font-size:clamp(44px,4.5vw,72px)}
h2{font-size:clamp(34px,3.2vw,48px)}
h3{font-size:23px}
header{background:#fffafd;border-bottom-color:#efdce3}
.brand{font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;font-size:19px;font-weight:500;letter-spacing:4.5px;line-height:1.1}
.brand span{font-family:"Montserrat","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:13px;font-weight:600;letter-spacing:1.5px;line-height:1.4;margin-top:4px}
nav{font-size:17px}
.nav-cta{border-color:#b3476c;background:#fff7fa}
.eyebrow{font-size:15px;color:#a63f63}
.hero{background:linear-gradient(125deg,#fff8fb 0%,#f8e4eb 100%)}
.hero h1{font-size:clamp(44px,4.5vw,72px)}
.hero h1 em{color:#b13f68}
.hero-lead{font-size:24px}
.hero-desc{font-size:19px}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(133,45,78,.08),rgba(180,71,108,.18));pointer-events:none}
.image-caption{z-index:1}
.image-caption span{font-size:12px}
.image-caption p{font-size:38px}
.photo-credit{position:relative;z-index:1;font-size:14px}
.button{background:linear-gradient(135deg,#743148,#a74466);border-color:#743148;font-size:18px}
.button:hover{background:linear-gradient(135deg,#60273c,#8d3856)}
.button.outline{background:transparent;color:var(--ink);border-color:#b3476c}
.button.outline:hover{background:linear-gradient(135deg,#743148,#a74466);color:#fff}
.text-link{font-size:17px;border-bottom-color:#c58a9f}
.hero-bottom{font-size:13px;background:rgba(255,249,251,.78)}
.problem-list>div{font-size:20px}
.problem-list span{color:#a63f63;font-size:24px}
.stage{background:linear-gradient(135deg,#77334c 0%,#5e293d 100%)}
.stage .eyebrow,.step-label,.step-arrow{color:#ffd3e0}
.stage .section-heading>p:last-child,.stage-note,.step-card p{color:#f3dfe6}
.steps{border-color:rgba(255,255,255,.38)}
.step-card{border-color:rgba(255,255,255,.38)}
.step-card:first-child{border-color:rgba(255,255,255,.38)}
.step-card:hover{background:rgba(62,20,36,.32)}
.step-label{font-size:14px}
.step-label b{font-size:38px}
.step-card p{font-size:17px}
.step-card h3{font-size:20px}
.small{font-size:17px}
.services-grid p{font-size:18px}
.course-art{background:#f1d7e0;color:#6f3349}
.art1{background:#eadde2;color:#693147}
.art2{background:#f7e4ea;color:#743950}
.course-art span{font-size:15px}
.course-art strong{font-size:28px}
.course-art b{font-size:21px}
.learn-card{background:#fffafd;border-color:#ead3dc}
.badge{font-size:15px;border-color:#d6a6b7}
.card-body>p{font-size:17px}
.card-body .small{font-size:15px}
.course-meta{font-size:15px}
.large-en{color:#c16f8d}
.cta{background:linear-gradient(120deg,#f7dce5 0%,#f3f1e9 52%,#fbeaf0 100%)}
.cta h2{font-size:42px}
.cta p:not(.eyebrow){font-size:19px}
.cta .small{font-size:16px}
footer{background:linear-gradient(135deg,#683044 0%,#4f2535 100%)}
.footer-links{font-size:17px}
.footer-grid .small{color:#f0d8e0}
.copyright{border-top-color:#955d71;color:#ead2db;font-size:14px}
.breadcrumb{font-size:15px}
.page-intro h1{font-size:56px}
.page-intro>p:last-child{font-size:19px}
.anchor-nav a{font-size:16px;border-color:#dfbcc8;background:#fffafd}
.service-detail h2{font-size:36px}
.subhead{font-size:25px}
.check-list li{font-size:19px}
.package{background:#f6f1ed;border:1px solid #e2d7d5}
.package-flow span{font-size:18px}
.notice{background:#fbeff3}
.plain-card p:last-child{font-size:18px}
.company dt{font-size:17px}
.article-cover{background:#fbeff3}
.article-cover>span{font-size:14px}
.article-cover b{color:#d694aa}
.article-cover>p{font-size:17px}
.article-body{font-size:20px}
.article-body h2{font-size:32px}
.consult-top h2{font-size:34px}
.contact-box{background:#fbeff3}
.contact-box h2{font-size:33px}
.contact-box p{font-size:18px}
.contact-box .small{font-size:16px}
.email{font-size:20px}
form label{font-size:17px}
label>span{font-size:14px;color:#9e3e60}
input,textarea,select{border-color:#d8aeba;font-size:18px}

@media(max-width:1100px){
  nav{font-size:14px}
  .hero h1{font-size:52px}
  .hero-desc{font-size:18px}
  .step-card h3{font-size:19px}
}

@media(max-width:850px){
  .menu{font-size:16px;color:var(--ink)}
  nav{font-size:18px;background:#fffafd}
  .hero h1{font-size:46px}
  .hero-lead{font-size:22px}
  .image-caption span{font-size:12px}
  .image-caption p{font-size:32px}
  .cta h2{font-size:38px}
  .service-detail h2{font-size:32px}
}

@media(max-width:600px){
  body{font-size:18px}
  .hero h1{font-size:clamp(38px,9.7vw,52px)}
  .hero-lead{font-size:20px}
  .hero-desc{font-size:18px}
  .hero .eyebrow{font-size:14px}
  .actions .button{font-size:17px}
  .actions .text-link{font-size:16px}
  .hero-bottom{font-size:11px}
  .section-heading>p:last-child:not(.eyebrow){font-size:17px}
  h2{font-size:32px}
  .problem-list>div{font-size:18px}
  .step-card h3{font-size:19px}
  .step-card p{font-size:16px}
  .services-grid h3{font-size:20px}
  .services-grid p{font-size:17px}
  .cta h2{font-size:34px}
  .cta p:not(.eyebrow){font-size:17px}
  .footer-links{font-size:16px}
  .page-intro h1{font-size:40px}
  .page-intro>p:last-child{font-size:18px}
  .anchor-nav a{font-size:15px}
  .service-detail h2{font-size:30px}
  .service-detail p{font-size:18px}
  .package>p{font-size:18px}
  .company dt{font-size:15px}
  .company dd{font-size:18px}
  .article-body h2{font-size:29px}
  .contact-box h2{font-size:30px}
  .contact-box p{font-size:18px}
  .notice p{font-size:18px}
}

/* Restore the original charcoal, gold, white, and soft beige palette. */
:root{
  --ink:#292e30;
  --muted:#626666;
  --gold:#aa8851;
  --paper:#fff;
  --soft:#f5f4f0;
  --line:#dddeda;
}

body{background:var(--paper)}
header{background:#fff;border-bottom-color:#ededeb}
.nav-cta{border-color:var(--ink);background:transparent}
.eyebrow{color:#927344}
.hero{background:var(--soft)}
.hero h1 em{color:#967744}
.hero-visual::after{background:transparent}
.hero-visual img{object-position:60% 50%;filter:none}
.image-caption{color:var(--ink);text-shadow:0 1px 12px rgba(255,255,255,.95)}
.hero-slideshow{position:absolute;inset:0;overflow:hidden}
.hero-slide{opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity 1.2s ease,transform 7s ease,visibility 0s linear 1.2s}
.hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1);transition:opacity 1.2s ease,transform 6s ease,visibility 0s linear 0s}
.motion-ready .hero-visual img.hero-slide{animation:none}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none!important}.hero-slide:not(.is-active){opacity:0!important}}
.button{background:var(--ink);border-color:var(--ink)}
.button:hover{background:#41494b}
.button.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.button.outline:hover{background:var(--ink);color:#fff}
.text-link{border-bottom-color:#aaa}
.hero-bottom{background:transparent}
.problem-list span{color:var(--gold)}
.stage{background:var(--ink)}
.stage .eyebrow,.step-label,.step-arrow{color:#d0b17e}
.stage .section-heading>p:last-child,.stage-note,.step-card p{color:#c6c9c9}
.steps,.step-card,.step-card:first-child{border-color:#5c6060}
.step-card:hover{background:#3d4446}
.course-art{background:#e7dfd2;color:#594b37}
.art1{background:#dce1e2;color:#394b54}
.art2{background:#e6e4dc;color:#514b39}
.learn-card{background:#fff;border-color:#e4e3df}
.badge{border-color:#c7c2b7}
.large-en{color:#aa9270}
.script-en{font-family:"Great Vibes","Segoe Script","Snell Roundhand","Brush Script MT",cursive;font-size:clamp(58px,6vw,92px);font-style:normal;font-weight:400;letter-spacing:.01em;line-height:1.05}
.cta{background:#e8e3d9}
footer{background:var(--ink)}
.footer-grid .small{color:#bbb}
.copyright{border-top-color:#505657;color:#bbb}
.anchor-nav a{border-color:var(--line);background:transparent}
.package{background:var(--soft);border:0}
.notice{background:var(--soft)}
.article-cover{background:var(--soft)}
.article-cover b{color:#c4b698}
.contact-box{background:var(--soft)}
label>span{color:#846635}
input,textarea,select{border-color:#c7c9c5}

@media(max-width:850px){
  nav{background:#fff}
}

/* Motion inspired by the supplied Web Motion Codex reference. */
.motion-ready .hero-enter{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--motion-delay,0ms);
}
.motion-ready body.motion-loaded .hero-enter{opacity:1;transform:none}
.motion-ready .hero-image-enter{clip-path:inset(0 100% 0 0);transition:clip-path 1.15s cubic-bezier(.77,0,.18,1) .18s}
.motion-ready body.motion-loaded .hero-image-enter{clip-path:inset(0)}
.motion-ready .hero-visual img{animation:hero-image-drift 16s ease-in-out 1.3s infinite alternate}
.motion-ready .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--reveal-delay,0ms);
}
.motion-ready .reveal.is-visible{opacity:1;transform:none}
.scroll-progress{position:fixed;top:0;left:0;z-index:60;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left center;will-change:transform}
.button span,.step-arrow{display:inline-block;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.button:hover span,.step-card:hover .step-arrow{transform:translateX(7px)}
.services-grid>a,.learn-card,.article-card,.plain-card{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .3s ease}
nav a:not(.nav-cta){position:relative}
nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.22,1,.36,1)}
nav a:not(.nav-cta):hover::after,nav a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.script-en{animation:script-float 5.5s ease-in-out infinite}

@keyframes hero-image-drift{
  from{transform:scale(1.01) translate3d(0,0,0)}
  to{transform:scale(1.07) translate3d(-1.2%,-1%,0)}
}

@keyframes script-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}

@media(hover:hover){
  .services-grid>a:hover,.learn-card:hover,.article-card:hover,.plain-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(41,46,48,.11);border-color:var(--gold)}
}

@media(prefers-reduced-motion:reduce){
  .hero-enter,.hero-image-enter,.reveal,.script-en,.hero-visual img{opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important;transition:none!important}
  .scroll-progress{display:none}
}
