:root{--navy:#142440;--navy-2:#1b2f52;--gold:#b8963e;--gold-light:#d8c58f;--white:#fff;--off:#f7f8fa;--text:#2d3440;--muted:#687181;--line:#e2e6eb;--shadow:0 18px 50px rgba(20,36,64,.1);--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--white);font-family:var(--sans);line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.skip-link{position:fixed;top:-100px;left:16px;z-index:999;background:#fff;padding:10px 16px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(226,230,235,.8)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-family:var(--serif);font-weight:700;color:var(--navy);letter-spacing:.04em}.logo small{display:block;font:500 10px/1.3 var(--sans);letter-spacing:.18em;color:var(--gold)}.nav-list{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:600}.nav-list a{position:relative}.nav-list a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:.25s}.nav-list a:hover::after,.nav-list a[aria-current="page"]::after{right:0}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;background:var(--navy);color:#fff;border:1px solid var(--navy);font-weight:700;letter-spacing:.06em;transition:.25s}.button:hover{background:var(--navy-2);transform:translateY(-2px)}.button.outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.button.gold{background:var(--gold);border-color:var(--gold);color:#fff}.menu-button{display:none;border:0;background:none;width:44px;height:44px;padding:10px;cursor:pointer}.menu-button span{display:block;height:2px;background:var(--navy);margin:6px 0;transition:.25s}.hero{min-height:650px;display:grid;align-items:center;color:#fff;background:radial-gradient(circle at 82% 30%,rgba(184,150,62,.25),transparent 25%),linear-gradient(125deg,#0c192e 0%,#1b2f52 68%,#253b60 100%);position:relative;overflow:hidden}.hero::after{content:"";position:absolute;right:-100px;bottom:-180px;width:520px;height:520px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.018)}.hero-content{position:relative;z-index:1;max-width:820px;padding:100px 0}.eyebrow{display:block;color:var(--gold-light);font:600 12px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;margin-bottom:22px}.hero h1{font:600 clamp(34px,5vw,62px)/1.5 var(--serif);letter-spacing:.04em;margin:0 0 24px}.hero p{max-width:690px;color:#e8ecf3;font-size:16px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.section{padding:110px 0}.section.alt{background:var(--off)}.section-head{margin-bottom:48px}.section-head.center{text-align:center}.section-title{margin:0;font:600 clamp(27px,3vw,40px)/1.45 var(--serif);color:var(--navy);letter-spacing:.05em}.section-head::after{content:"";display:block;width:54px;height:2px;background:var(--gold);margin-top:18px}.section-head.center::after{margin:18px auto 0}.grid{display:grid;gap:28px}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--line);padding:38px;box-shadow:0 10px 35px rgba(20,36,64,.04)}.card-number{font:500 12px var(--sans);color:var(--gold);letter-spacing:.16em}.card h3{font:600 21px/1.6 var(--serif);color:var(--navy);margin:14px 0}.card p{margin:0;color:var(--muted);font-size:14px}.text-link{display:inline-block;color:var(--navy);font-weight:700;margin-top:20px;border-bottom:1px solid var(--gold)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.visual-panel{min-height:460px;background:linear-gradient(145deg,#e8edf4,#f8f9fb);position:relative;overflow:hidden}.visual-panel::before{content:"RYO SENSEI";position:absolute;left:11%;bottom:16%;font:600 clamp(32px,6vw,74px)/1 var(--serif);color:rgba(20,36,64,.1);letter-spacing:.06em}.visual-panel::after{content:"";position:absolute;right:12%;top:12%;width:52%;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,var(--navy),#40577b);box-shadow:28px 30px 0 rgba(184,150,62,.25)}.message p{margin:0 0 18px}.quote{font:500 clamp(23px,3vw,34px)/1.75 var(--serif);color:var(--navy);margin:0 0 28px}.voice-card{border-top:3px solid var(--gold)}.placeholder-tag{display:inline-block;padding:4px 10px;background:#fff4d8;color:#75580c;font-size:11px;font-weight:700}.media-logo{display:grid;place-items:center;height:110px;border:1px solid var(--line);background:#fff;color:#89909a;font-family:var(--serif)}.cta-band{background:var(--navy);color:#fff;padding:76px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-inner h2{font:600 clamp(25px,3vw,37px)/1.5 var(--serif);margin:0}.page-hero{padding:76px 0;background:linear-gradient(120deg,#11203a,#20375c);color:#fff}.page-hero h1{font:600 clamp(31px,4vw,48px)/1.4 var(--serif);margin:5px 0}.page-hero p{margin:0;color:var(--gold-light);letter-spacing:.2em;font-size:12px}.profile-photo{min-height:520px;background:linear-gradient(145deg,#dfe5ed,#f7f8fa);display:grid;place-items:center;color:#788495}.profile-photo span{text-align:center}.check-list{padding:0;list-style:none}.check-list li{padding:13px 0 13px 28px;border-bottom:1px solid var(--line);position:relative}.check-list li::before{content:"";position:absolute;left:2px;top:24px;width:10px;height:5px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}.service-block{display:grid;grid-template-columns:130px 1fr;gap:38px;padding:50px 0;border-top:1px solid var(--line)}.service-block:last-child{border-bottom:1px solid var(--line)}.service-index{font:500 45px var(--serif);color:var(--gold)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.detail-box{padding:18px;background:var(--off)}.detail-box strong{display:block;color:var(--navy);margin-bottom:4px}.flow{counter-reset:flow;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.flow-item{counter-increment:flow;padding:28px 24px;border-top:2px solid var(--gold);background:#fff}.flow-item::before{content:"STEP 0" counter(flow);display:block;color:var(--gold);font-size:11px;letter-spacing:.14em}.faq-item{border-bottom:1px solid var(--line)}.faq-button{width:100%;border:0;background:none;text-align:left;padding:24px 48px 24px 0;color:var(--navy);font-weight:700;position:relative;cursor:pointer}.faq-button::after{content:"＋";position:absolute;right:12px;font-size:22px;font-weight:400}.faq-button[aria-expanded="true"]::after{content:"−"}.faq-answer{display:none;padding:0 36px 25px;color:var(--muted)}.faq-answer.open{display:block}.notice{padding:26px;background:#f3f0e8;border-left:3px solid var(--gold);font-size:13px}.media-list{display:grid;gap:18px}.media-item{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:28px;background:#fff;border:1px solid var(--line)}.media-meta{color:var(--gold);font-size:12px}.company-table{width:100%;border-collapse:collapse}.company-table th,.company-table td{padding:22px;border-bottom:1px solid var(--line);text-align:left}.company-table th{width:220px;color:var(--navy);background:var(--off)}.map-placeholder{min-height:320px;background:repeating-linear-gradient(45deg,#f2f4f7,#f2f4f7 10px,#e9edf1 10px,#e9edf1 20px);display:grid;place-items:center;color:#6e7784}.form{max-width:760px}.field{margin-bottom:24px}.field label{display:block;font-weight:700;color:var(--navy);margin-bottom:7px}.required{color:#8b5d00;font-size:11px;margin-left:8px}.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1px solid #c9d0d8;background:#fff;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(184,150,62,.25);border-color:var(--gold)}.checkbox-row{display:flex;align-items:flex-start;gap:10px}.checkbox-row input{width:auto;margin-top:7px}.form-status{display:none;padding:18px;margin-top:18px;background:#eef7f0;color:#28643a}.form-status.show{display:block}.privacy{font-size:14px}.site-footer{background:#0d192d;color:#cdd4df;padding:68px 0 22px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.footer-logo{color:#fff;font:600 20px var(--serif)}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;font-size:13px}.disclaimer{margin-top:45px;padding-top:25px;border-top:1px solid rgba(255,255,255,.15);font-size:11px;color:#aeb7c4}.copyright{margin:22px 0 0;font-size:11px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1024px){.nav-list{gap:15px;font-size:12px}.split{gap:45px}.grid.three{gap:18px}.card{padding:28px}.detail-grid{grid-template-columns:1fr}.flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.container{width:min(calc(100% - 30px),var(--max))}.header-inner{height:70px}.menu-button{display:block}.site-nav{position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s}.site-nav.open{max-height:520px}.nav-list{display:block;padding:12px 20px 24px}.nav-list li{border-bottom:1px solid var(--line)}.nav-list a{display:block;padding:15px 3px}.nav-list .nav-cta{margin-top:10px;text-align:center}.hero{min-height:600px}.hero-content{padding:80px 0}.hero h1{font-size:34px}.section{padding:76px 0}.grid.three,.grid.two,.split{grid-template-columns:1fr}.split{gap:35px}.visual-panel{min-height:330px}.cta-inner{display:block}.cta-inner .button{margin-top:25px}.service-block{grid-template-columns:1fr;gap:8px}.detail-grid{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.media-item{grid-template-columns:1fr;gap:8px}.company-table,.company-table tbody,.company-table tr,.company-table th,.company-table td{display:block;width:100%}.company-table th{padding-bottom:8px}.company-table td{padding-top:12px}.footer-top{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
.course-hero{padding:105px 0;background:radial-gradient(circle at 82% 24%,rgba(184,150,62,.24),transparent 24%),linear-gradient(125deg,#0d1b31,#20375c);color:#fff}.course-hero h1{font:600 clamp(34px,5vw,58px)/1.5 var(--serif);margin:8px 0 24px;letter-spacing:.04em}.course-hero .lead{max-width:760px;color:#e5eaf1}.course-badge{display:inline-block;padding:7px 12px;border:1px solid rgba(216,197,143,.65);color:var(--gold-light);font-size:11px;letter-spacing:.12em}.course-promise{display:grid;grid-template-columns:1fr 1fr;gap:28px}.course-promise>div{padding:35px;border:1px solid var(--line)}.course-promise .not{background:var(--off)}.course-promise .yes{background:var(--navy);color:#fff}.course-promise h3{font:600 22px var(--serif);margin-top:0}.course-promise ul{margin:0;padding-left:1.2em}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.module{padding:25px;background:#fff;border-top:2px solid var(--gold);box-shadow:0 8px 25px rgba(20,36,64,.05)}.module span{color:var(--gold);font-size:11px;letter-spacing:.12em}.module h3{font:600 18px/1.55 var(--serif);color:var(--navy);margin:8px 0}.module p{font-size:13px;color:var(--muted);margin:0}.learning-cycle{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cycle-step{position:relative;padding:28px 18px;background:var(--off);text-align:center}.cycle-step strong{display:block;color:var(--navy);font-family:var(--serif);margin-bottom:8px}.cycle-step:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:50%;z-index:2;color:var(--gold);font-size:20px}.pending-box{padding:32px;border:1px dashed #b8a36c;background:#fffaf0}@media(max-width:1024px){.module-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.course-hero{padding:78px 0}.course-promise,.module-grid,.learning-cycle{grid-template-columns:1fr}.cycle-step:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-19px}}
.featured-book{display:grid;grid-template-columns:minmax(260px,390px) 1fr;gap:70px;align-items:center;padding:55px;background:linear-gradient(140deg,#fff,#f4f6f9);border:1px solid var(--line);box-shadow:var(--shadow)}.featured-book__cover{max-height:540px;width:auto;margin:auto;box-shadow:0 20px 45px rgba(20,36,64,.2)}.featured-book__label{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.18em}.featured-book h3{font:600 clamp(25px,3vw,38px)/1.55 var(--serif);color:var(--navy);margin:12px 0 20px}.book-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:20px 0}.coauthored-book{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center;max-width:760px;padding:28px;background:#fff;border:1px solid var(--line)}.coauthored-book img{width:180px;max-height:190px;object-fit:contain}.coauthored-book h3{font:600 20px/1.55 var(--serif);color:var(--navy);margin:6px 0}.press-list{display:grid;gap:14px}.press-link{display:grid;grid-template-columns:195px 1fr;gap:28px;padding:25px 28px;background:#fff;border:1px solid var(--line);transition:.25s}.press-link:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(20,36,64,.08);border-color:var(--gold)}.press-source{color:var(--gold);font-size:12px;font-weight:700}.press-source time{display:block;color:var(--muted);font-weight:400;margin-top:5px}.press-title{color:var(--navy);font-weight:700}.contribution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contribution{padding:30px;background:var(--navy);color:#fff}.contribution small{color:var(--gold-light)}.contribution h3{font:600 20px/1.5 var(--serif);margin:10px 0}.contribution p{font-size:13px;color:#ced6e2}@media(max-width:768px){.featured-book{grid-template-columns:1fr;padding:30px;gap:35px}.featured-book__cover{max-height:420px}.coauthored-book,.press-link{grid-template-columns:1fr}.coauthored-book img{width:150px;margin:auto}.contribution-grid{grid-template-columns:1fr}}
.books-section{background:var(--off)}.book-showcase{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:28px;align-items:stretch}.book-showcase .featured-book{grid-template-columns:minmax(190px,250px) 1fr;gap:38px;padding:38px;box-shadow:0 12px 38px rgba(20,36,64,.09)}.book-showcase .featured-book__cover{max-height:390px}.book-showcase .featured-book h3{font-size:clamp(24px,2.5vw,34px)}.book-showcase .coauthored-book{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:none;padding:28px;background:#fff}.book-showcase .coauthored-book img{width:100%;height:190px;object-fit:contain;background:#fafafa}.book-showcase .coauthored-book h3{font-size:17px}.book-showcase .coauthored-book p{font-size:13px;color:var(--muted)}@media(max-width:1024px){.book-showcase{grid-template-columns:1fr}.book-showcase .coauthored-book{display:grid;grid-template-columns:150px 1fr}.book-showcase .coauthored-book .featured-book__label{grid-column:1/-1}.book-showcase .coauthored-book img{width:150px}}@media(max-width:768px){.book-showcase .featured-book{grid-template-columns:1fr;padding:28px}.book-showcase .featured-book__cover{max-height:360px}.book-showcase .coauthored-book{display:flex}.book-showcase .coauthored-book img{width:100%;height:150px}}

/* Instructor portrait */
.profile-photo{background-image:url("../img/ryo-sensei-instructor-20260727.jpg");background-size:cover;background-position:center;}
.profile-photo span{display:none;}
.footer-nav .privacy-link{grid-column:1;font-size:10px;color:#9fa9b8;margin-top:-8px;}

/* 2026-07-27 benchmark-inspired refresh
   Previous version: ../_backups/ryo-sensei-school_before_fdcj_2026-07-27 */
:root{
  --navy:#102b57;
  --navy-2:#1b3b69;
  --gold:#102b57;
  --gold-light:#8794a8;
  --off:#f5f6f8;
  --text:#1a2433;
  --muted:#5c6878;
  --line:#e1e5ea;
  --shadow:0 12px 34px rgba(16,43,87,.09);
  --serif:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
}
body{letter-spacing:.015em;}
.site-header{background:rgba(255,255,255,.98);box-shadow:0 2px 12px rgba(16,43,87,.05);}
.header-inner{height:76px;}
.logo{font-family:var(--sans);font-weight:800;letter-spacing:.02em;}
.logo small{color:#102b57;font-weight:700;}
.nav-list{font-weight:700;}
.nav-cta,.button{border-radius:999px;background:#102b57;border-color:#102b57;}
.button.gold{background:#102b57;border-color:#102b57;}
.button:hover{background:#17457d;border-color:#17457d;}

.hero{
  min-height:670px;
  color:#102b57;
  background:#fff;
}
.hero::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0 0 0 auto;
  width:46%;
  background:
    linear-gradient(90deg,#fff 0%,rgba(255,255,255,.08) 22%),
    url("../img/ryo-sensei-instructor-20260727.jpg") center/cover no-repeat;
}
.hero::after{display:none;}
.hero-content{max-width:1160px;padding:105px 0;}
.hero-content>h1,.hero-content>p,.hero-content>.eyebrow,.hero-content>.hero-actions{max-width:55%;}
.hero h1{font:800 clamp(36px,4.5vw,58px)/1.48 var(--sans);letter-spacing:.02em;}
.hero p{color:#44546a;font-size:16px;}
.hero .eyebrow{color:#102b57;}
.hero .button.outline{color:#102b57;border-color:#102b57;background:#fff;}

.section{padding:96px 0;}
.section-title{font-family:var(--sans);font-weight:800;letter-spacing:.02em;}
.section-head::after{width:66px;height:3px;background:#102b57;}
.eyebrow{color:#102b57;font-weight:700;}
.card{border:0;border-radius:6px;box-shadow:var(--shadow);}
.card h3,.quote,.cta-inner h2,.page-hero h1,.course-hero h1,.module h3,.featured-book h3,.coauthored-book h3{font-family:var(--sans);}
.voice-card{border-top:4px solid #102b57;}
.text-link{border-color:#102b57;color:#102b57;}

.visual-panel{
  min-height:520px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.08),transparent 48%),
    linear-gradient(145deg,#0b203f,#1b3b69);
  box-shadow:var(--shadow);
}
.visual-panel::before{
  display:block;
  content:"RYO SENSEI";
  position:absolute;
  left:9%;
  bottom:10%;
  color:rgba(255,255,255,.76);
  font:800 clamp(32px,5vw,66px)/1 var(--sans);
  letter-spacing:.08em;
}
.visual-panel::after{
  display:block;
  content:"";
  position:absolute;
  right:10%;
  top:12%;
  width:48%;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  box-shadow:0 0 0 45px rgba(255,255,255,.08),0 0 0 90px rgba(255,255,255,.04);
}
.cta-band{background:linear-gradient(120deg,#102b57,#17457d);}
.page-hero{background:linear-gradient(120deg,#fff,#f1f3f6);color:#102b57;}
.page-hero p{color:#102b57;}
.course-hero{background:linear-gradient(120deg,#102b57,#24649f);}
.module{border-top:4px solid #102b57;border-radius:4px;}
.module span,.service-index,.media-meta,.press-source,.featured-book__label{color:#102b57;}
.notice{background:#f3f4f6;border-left-color:#102b57;}
.site-footer{background:#0b2347;}

@media(max-width:768px){
  .header-inner{height:70px;}
  .hero{min-height:680px;}
  .hero::before{width:100%;opacity:.18;background-position:58% center;}
  .hero-content{padding:76px 0;}
  .hero-content>h1,.hero-content>p,.hero-content>.eyebrow,.hero-content>.hero-actions{max-width:100%;}
  .hero h1{font-size:34px;}
  .hero p{color:#263b55;font-weight:500;}
  .visual-panel{min-height:390px;}
}

/* Navy and white refinement */
:root{
  --off:#fff;
  --muted:#46546a;
  --line:rgba(16,43,87,.18);
}
.section.alt{
  background:#fff;
  border-top:1px solid rgba(16,43,87,.15);
  border-bottom:1px solid rgba(16,43,87,.15);
}
.page-hero{
  background:#fff;
  border-bottom:1px solid rgba(16,43,87,.18);
}
.card{
  background:#fff;
  border:1px solid rgba(16,43,87,.16);
  box-shadow:0 10px 28px rgba(16,43,87,.07);
}
.detail-box,.cycle-step,.company-table th,.books-section{background:#fff;}
.detail-box,.cycle-step{border:1px solid rgba(16,43,87,.16);}
.notice{
  background:#fff;
  border:1px solid rgba(16,43,87,.18);
  border-left:4px solid #102b57;
}
.featured-book{background:#fff;}
.book-showcase .coauthored-book img{background:#fff;}
.course-promise .not{background:#fff;border:1px solid rgba(16,43,87,.18);}
.pending-box{background:#fff;border-color:#102b57;}
.map-placeholder{
  background:#fff;
  border:1px solid rgba(16,43,87,.18);
  color:#102b57;
}

/* Strong navy message band on the home page */
.home-page main>.section.alt:nth-of-type(3){
  background:#102b57;
  color:#fff;
  border:0;
}
.home-page main>.section.alt:nth-of-type(3) .section-title,
.home-page main>.section.alt:nth-of-type(3) .quote{
  color:#fff;
}
.home-page main>.section.alt:nth-of-type(3) .eyebrow{
  color:#fff;
  opacity:.72;
}
.home-page main>.section.alt:nth-of-type(3) .section-head::after{
  background:#fff;
}
.home-page main>.section.alt:nth-of-type(3) .text-link{
  color:#fff;
  border-color:#fff;
}
.home-page main>.section.alt:nth-of-type(3) .visual-panel{
  background:
    linear-gradient(135deg,rgba(255,255,255,.09),transparent 48%),
    linear-gradient(145deg,#091d3a,#254a79);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:none;
}

/* Navy site header */
.site-header{
  background:#102b57;
  border-bottom:1px solid rgba(255,255,255,.18);
  box-shadow:0 3px 14px rgba(16,43,87,.16);
}
.logo,.logo small,.nav-list a{color:#fff;}
.logo small{opacity:.7;}
.nav-list a:not(.nav-cta)::after{background:#fff;}
.nav-list .nav-cta{
  background:#fff;
  color:#102b57;
  border-color:#fff;
}
.menu-button span{background:#fff;}

@media(max-width:768px){
  .site-nav{
    background:#102b57;
    border-bottom-color:rgba(255,255,255,.18);
  }
  .nav-list li{border-bottom-color:rgba(255,255,255,.16);}
  .nav-list .nav-cta{
    background:#fff;
    color:#102b57;
  }
}

/* Refined hero typography */
.hero h1{
  max-width:58%;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  line-height:1.55;
  letter-spacing:.055em;
}
.hero .eyebrow{letter-spacing:.26em;}

@media(max-width:768px){
  .hero h1{max-width:100%;font-size:36px;line-height:1.55;}
}

/* Serif display system */
.logo,
.section-title,
.page-hero h1,
.course-hero h1,
.cta-inner h2,
.card h3,
.quote,
.module h3,
.service-block h2,
.service-block h3,
.featured-book h3,
.coauthored-book h3,
.contribution h3,
.footer-logo{
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
}
.section-title,.page-hero h1,.course-hero h1{font-weight:600;letter-spacing:.045em;}

/* Course page: navy and white only */
.course-hero{
  background:#102b57;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.16);
}
.course-hero .lead{color:#fff;opacity:.84;}
.course-badge{
  color:#fff;
  border-color:rgba(255,255,255,.65);
}
.course-promise .yes{background:#102b57;}
.module,.flow-item{background:#fff;}

/* Translucent glass header */
.site-header{
  position:sticky;
  top:0;
  width:100%;
  background:#102b57;
  -webkit-backdrop-filter:blur(0);
  backdrop-filter:blur(0);
  border-bottom:1px solid rgba(255,255,255,.22);
  box-shadow:0 6px 24px rgba(9,30,60,.14);
  transition:background-color .3s ease,backdrop-filter .3s ease,box-shadow .3s ease;
}
.site-header.is-scrolled{
  background:rgba(9,30,60,.86);
  -webkit-backdrop-filter:blur(14px) saturate(110%);
  backdrop-filter:blur(14px) saturate(110%);
  box-shadow:0 8px 28px rgba(9,30,60,.18);
}

/* Balanced footer navigation */
.site-footer{padding:60px 0 24px;}
.footer-top{
  grid-template-columns:minmax(260px,.8fr) minmax(480px,1.4fr);
  align-items:start;
  gap:70px;
}
.footer-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:14px 26px;
  font-size:13px;
  line-height:1.5;
}
.footer-nav a{
  padding-bottom:3px;
  border-bottom:1px solid transparent;
}
.footer-nav a:hover{border-bottom-color:rgba(255,255,255,.75);}
.footer-nav .privacy-link{
  grid-column:auto;
  margin:0;
  color:inherit;
  font-size:13px;
}
.disclaimer{margin-top:38px;}

@media(max-width:768px){
  .footer-top{grid-template-columns:1fr;gap:30px;}
  .footer-nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    justify-content:initial;
    gap:14px 20px;
  }
  .footer-nav .privacy-link{font-size:13px;}
}

/* Profile reading rhythm */
.profile-page .profile-copy p,
.profile-page .philosophy-copy p{
  line-height:2;
  text-wrap:pretty;
  word-break:normal;
  line-break:strict;
}
.profile-page .profile-copy p{max-width:38em;}
.profile-page .philosophy-copy{
  width:min(100%,760px);
  margin:0 auto;
}
.profile-page .philosophy-copy p{margin:0 0 24px;}

@media(min-width:769px){
  .profile-page .split{
    grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);
    gap:64px;
  }
}

.outcome-note{
  max-width:760px;
  margin:-18px auto 34px;
  color:var(--muted);
  font-size:13px;
  text-align:center;
}
