/* SCHEFF — focused homepage refinements. */

/* Header navigation: one quiet point instead of an underline. */
.site-header .navlinks a{
  box-shadow:none!important;
  text-decoration:none!important;
  padding:5px 0;
}
.site-header .navlinks a::before{
  content:'';
  position:absolute;
  left:-12px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:0;
  background:var(--green);
  opacity:0;
  transform:translateY(-50%);
  transition:opacity .16s ease;
}
.site-header .navlinks a:hover::before,
.site-header .navlinks a[aria-current=page]::before{
  opacity:.72;
  transform:translateY(-50%);
}

/* Preserve the original mountain-led hero. */
.home .hero{
  display:block;
  position:relative;
  min-height:min(51vw,1000px);
}
.home .hero-copy{
  position:relative;
  z-index:2;
  padding-right:2.8%;
}
.home .hero .mountain{
  position:absolute;
  right:0;
  bottom:0;
  z-index:1;
  width:100%;
  max-height:66%;
  object-fit:contain;
  object-position:right bottom;
}

/* Musashi belongs only to the lower philosophy section. */
.legacy{
  align-items:stretch;
}
.legacy .musashi-portrait{
  min-height:520px;
  padding:26px 22px 0;
  isolation:isolate;
  justify-content:center;
  background:var(--green);
}
.legacy .musashi-portrait img{
  width:auto;
  height:500px;
  max-width:96%;
  flex:none;
  object-fit:contain;
  object-position:center bottom;
  filter:grayscale(1);
  mix-blend-mode:screen;
  opacity:.72;
  mask-image:none;
  -webkit-mask-image:none;
}
.legacy .musashi-portrait::after{
  display:none;
}

/* Three restrained principles directly beneath the green philosophy field. */
.core-principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fff;
  border-top:0;
}
.core-principle{
  min-height:168px;
  padding:31px 3.8% 34px;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.core-principle:last-child{border-right:0}
.core-principle .mono{
  display:block;
  margin-bottom:24px;
  font-size:10px;
  letter-spacing:.08em;
  color:#879589;
}
.core-principle h2{
  margin:0 0 12px;
  font:400 clamp(21px,1.55vw,28px)/1.15 Suisse,Arial,sans-serif;
  letter-spacing:-.035em;
}
.core-principle p{
  max-width:330px;
  font-size:14px;
  line-height:1.55;
  color:#617968;
}

@media(min-width:1700px){
  .legacy .musashi-portrait{min-height:610px}
  .legacy .musashi-portrait img{height:585px}
}
@media(max-width:1000px){
  .home .hero{min-height:660px}
  .legacy .musashi-portrait{min-height:470px}
  .legacy .musashi-portrait img{height:450px}
}
@media(max-width:650px){
  .site-header .mobile-nav .navlinks a::before{left:-10px}
  .home .hero{min-height:650px}
  .home .hero .mountain{width:115%;max-width:none;max-height:50%}
  .legacy .musashi-portrait{height:400px;min-height:400px;padding:20px 12px 0}
  .legacy .musashi-portrait img{height:380px;max-width:100%}
  .core-principles{grid-template-columns:1fr}
  .core-principle{
    min-height:0;
    padding:24px 20px 26px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .core-principle:last-child{border-bottom:0}
  .core-principle .mono{margin-bottom:13px}
  .core-principle h2{font-size:22px}
}


/* Tighter final navigation label. */
.site-header .navlinks a:last-child{
  letter-spacing:-.045em;
  word-spacing:-.15em;
}

/* Editorial index for Musashi's twenty-one principles. */
.dokkodo{
  background:#fff;
}
.dokkodo-head{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(300px,1.15fr);
  column-gap:8%;
  align-items:end;
  padding:42px 2.8% 48px;
}
.dokkodo-head .tag{
  grid-column:1/-1;
  justify-self:start;
}
.dokkodo-head h2{
  margin:28px 0 0;
}
.dokkodo-head>p{
  max-width:600px;
  padding-bottom:5px;
  color:#617968;
  font-size:17px;
  line-height:1.65;
}
.dokkodo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
}
.dokkodo-item{
  min-height:190px;
  padding:26px 8% 30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.dokkodo-item:nth-child(3n){border-right:0}
.dokkodo-item:nth-last-child(-n+3){border-bottom:0}
.dokkodo-item>.mono{
  display:block;
  margin-bottom:24px;
  color:#879589;
  font-size:10px;
  letter-spacing:.08em;
}
.dokkodo-item h3{
  margin:0 0 13px;
  font:400 clamp(18px,1.25vw,23px)/1.22 Suisse,Arial,sans-serif;
  text-transform:none;
  letter-spacing:-.025em;
}
.dokkodo-item p{
  color:#617968;
  font-size:15px;
  line-height:1.58;
}

/* The supplied close portrait replaces the former full-body artwork. */
.legacy .musashi-portrait{
  min-height:540px;
  padding:28px 18px 0;
  align-items:flex-end;
}
.legacy .musashi-portrait img{
  width:100%;
  height:510px;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:grayscale(1);
  mix-blend-mode:screen;
  opacity:.84;
}

/* Green visual symbols unify the three core principles. */
.principle-icon{
  display:block;
  width:58px;
  height:44px;
  margin:0 0 24px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.5;
  stroke-linecap:square;
  stroke-linejoin:miter;
}
.core-principle .mono{
  margin-bottom:18px;
}
.core-principle{
  min-height:230px;
}

@media(min-width:1700px){
  .legacy .musashi-portrait{min-height:630px}
  .legacy .musashi-portrait img{height:600px}
}
@media(max-width:1000px){
  .dokkodo-head{grid-template-columns:1fr;gap:0}
  .dokkodo-head>p{margin-top:24px;padding:0}
  .dokkodo-grid{grid-template-columns:repeat(2,1fr)}
  .dokkodo-item:nth-child(3n){border-right:1px solid var(--line)}
  .dokkodo-item:nth-child(2n){border-right:0}
  .dokkodo-item:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
  .dokkodo-item:last-child{border-bottom:0}
}
@media(max-width:650px){
  .site-header .navlinks a:last-child{letter-spacing:-.055em;word-spacing:-.18em}
  .dokkodo-head{padding:30px 20px 34px}
  .dokkodo-head h2{font-size:31px}
  .dokkodo-head>p{font-size:16px}
  .dokkodo-grid{grid-template-columns:1fr}
  .dokkodo-item{
    min-height:0;
    padding:23px 20px 26px;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .dokkodo-item:last-child{border-bottom:0!important}
  .dokkodo-item>.mono{margin-bottom:14px}
  .dokkodo-item p{font-size:16px}
  .legacy .musashi-portrait{height:410px;min-height:410px;padding:18px 8px 0}
  .legacy .musashi-portrait img{height:390px}
  .core-principle{min-height:0}
  .principle-icon{width:50px;height:38px;margin-bottom:19px}
}


/* Gauss-aligned correction: compact system, no oversized standalone cards. */
.dokkodo-head{
  grid-template-columns:minmax(260px,.72fr) minmax(320px,1.28fr);
  padding:34px 2.8% 38px;
}
.dokkodo-head h2{
  font-size:clamp(30px,2.25vw,44px);
  margin-top:24px;
}
.dokkodo-head>p{
  max-width:560px;
  font-size:16px;
  line-height:1.55;
}
.dokkodo-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(7,auto);
  grid-auto-flow:column;
  border-top:1px solid var(--line);
}
.dokkodo-item{
  min-height:0!important;
  padding:17px 22px 18px!important;
  border-right:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  background:#fff;
}
.dokkodo-item:nth-child(7n){border-bottom:0!important}
.dokkodo-item:nth-child(n+15){border-right:0!important}
.dokkodo-item>.mono{
  margin:0 0 8px!important;
  font:400 10px/1.2 monospace!important;
  color:#879589;
}
.dokkodo-item h3{
  margin:0 0 7px!important;
  font:400 16px/1.25 Suisse,Arial,sans-serif!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
  color:var(--green)!important;
}
.dokkodo-item p{
  margin:0!important;
  font:300 14px/1.45 Suisse,Arial,sans-serif!important;
  color:#617968!important;
}

/* The portrait block keeps the same restrained proportions as the Gauss reference. */
.legacy .musashi-portrait{
  height:430px!important;
  min-height:430px!important;
  padding:24px 34px 0!important;
}
.legacy .musashi-portrait img{
  width:auto!important;
  height:400px!important;
  max-width:86%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}

/* Treat the three principles as the lower band of the green philosophy system. */
.core-principles{
  width:73.6%;
  max-width:1440px;
  margin:0 auto;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  background:var(--green)!important;
  color:#fff!important;
  border:1px solid #294133!important;
  border-top:0!important;
  box-shadow:0 0 0 100vmax var(--green);
  clip-path:inset(0 -100vmax);
}
.core-principle{
  min-height:190px!important;
  padding:25px 32px 29px!important;
  border-right:1px solid #294133!important;
  border-bottom:0!important;
  background:var(--green)!important;
}
.core-principle:last-child{border-right:0!important}
.core-principle .mono{
  color:#819889!important;
  margin-bottom:15px!important;
}
.core-principle .principle-icon{
  display:block!important;
  width:62px!important;
  height:44px!important;
  margin:0 0 21px!important;
  fill:none!important;
  stroke:#ddffdf!important;
  stroke-width:1.5!important;
  color:#ddffdf!important;
}
.core-principle .principle-icon *{
  fill:none!important;
  stroke:#ddffdf!important;
}
.core-principle h2{
  color:#fff!important;
  margin:0 0 9px!important;
  font:400 19px/1.2 monospace!important;
  letter-spacing:0!important;
  text-transform:uppercase;
}
.core-principle p{
  color:#9daf9e!important;
  font-size:15px!important;
  line-height:1.45!important;
}

@media(max-width:1000px){
  .dokkodo-head{grid-template-columns:1fr;padding:32px 28px 36px}
  .dokkodo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(11,auto)}
  .dokkodo-item:nth-child(n){border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
  .dokkodo-item:nth-child(n+12){border-right:0!important}
  .dokkodo-item:nth-child(11),.dokkodo-item:last-child{border-bottom:0!important}
  .core-principles{width:86%}
}
@media(max-width:650px){
  .dokkodo-head{padding:28px 20px 30px}
  .dokkodo-head h2{font-size:29px}
  .dokkodo-grid{display:block!important}
  .dokkodo-item:nth-child(n){
    padding:17px 20px 18px!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .dokkodo-item:last-child{border-bottom:0!important}
  .legacy .musashi-portrait{height:330px!important;min-height:330px!important;padding:18px 15px 0!important}
  .legacy .musashi-portrait img{height:312px!important;max-width:92%!important}
  .core-principles{width:calc(100% - 32px);grid-template-columns:1fr!important}
  .core-principle{min-height:0!important;padding:22px 20px 24px!important;border-right:0!important;border-bottom:1px solid #294133!important}
  .core-principle:last-child{border-bottom:0!important}
  .core-principle .principle-icon{width:52px!important;height:38px!important;margin-bottom:16px!important}
}


/* Final Gauss-style philosophy composition. */
.philosophy .intro{
  padding-top:38px;
  padding-bottom:42px;
}
.philosophy .intro h2{
  margin-bottom:24px;
}
.philosophy .intro>p{
  max-width:610px;
  color:#a7b6aa;
}
.legacy-text>p{
  padding:34px 38px!important;
  font-size:16px!important;
  line-height:1.58!important;
  color:#9eafa2!important;
}
.legacy-text>p strong{
  color:#e4ebe5;
  font-weight:400;
}
.work-title{font:inherit;color:inherit}
.featured-statement{
  background:#233e2e!important;
  padding:35px 42px!important;
}
.featured-statement blockquote{
  font-size:clamp(27px,2.35vw,43px)!important;
  line-height:1.12!important;
}
.featured-statement figcaption{
  margin-top:24px!important;
}
.core-principles{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid #294133!important;
  box-shadow:none!important;
  clip-path:none!important;
}
.core-principle{
  border-right:1px solid #294133!important;
}
@media(max-width:1000px){
  .core-principles{width:100%!important}
  .legacy-text>p{padding:30px!important}
}
@media(max-width:650px){
  .philosophy .intro{padding:30px 20px 34px}
  .legacy-text>p{padding:26px 22px!important}
  .featured-statement{padding:30px 38px!important}
  .core-principles{width:100%!important}
}


/* Lighter Gauss-style hero typography and supplied mountain banner. */
.site-header .navlinks,
.home .location,
.home .research-cta,
.tag{
  font-family:Suisse,Arial,sans-serif!important;
  font-weight:300!important;
  -webkit-font-smoothing:antialiased;
}
.site-header .navlinks{
  font-size:12px!important;
  letter-spacing:.035em!important;
  gap:25px!important;
}
.site-header .navlinks a:last-child{
  letter-spacing:.01em!important;
  word-spacing:-.11em!important;
}
.home .location{
  font-size:12px!important;
  letter-spacing:.035em!important;
  color:#708074!important;
}
.home .location .coordinates{
  color:#99a69c!important;
  letter-spacing:.045em!important;
}
.home .hero h1{
  font-size:clamp(31px,2.72vw,52px)!important;
  line-height:1.07!important;
  font-weight:300!important;
}
.home .hero-copy>p{
  max-width:590px!important;
  font-size:clamp(16px,1.04vw,20px)!important;
  line-height:1.5!important;
  font-weight:300!important;
}
.home .research-cta{
  font-size:14px!important;
  font-weight:300!important;
}
.home .hero{
  min-height:min(48vw,850px)!important;
}
.home .hero .mountain{
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:unset!important;
  object-position:right bottom!important;
}
.core-principle h2{
  font-family:Suisse,Arial,sans-serif!important;
  font-weight:300!important;
  font-size:18px!important;
  letter-spacing:.025em!important;
}
.core-principle p,
.dokkodo-item h3,
.dokkodo-item p{
  font-weight:300!important;
}

@media(max-width:1000px){
  .home .hero{min-height:620px!important}
  .home .hero h1{font-size:39px!important}
}
@media(max-width:650px){
  .site-header .navlinks{font-size:11px!important;gap:12px!important}
  .home .hero{min-height:590px!important}
  .home .hero h1{font-size:clamp(30px,8vw,41px)!important}
  .home .hero-copy>p{font-size:16px!important}
  .home .hero .mountain{width:132%!important;max-width:none!important;right:-5%!important}
}


/* Supplied Gauss type system. */
@font-face{
  font-family:DMMono;
  src:url("/assets/dm-mono-20260917-refined-guide.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
.site-header .navlinks,
.home .location,
.tag,
.site-stats span,
.core-principle .mono,
.dokkodo-item>.mono,
.core-principle h2{
  font-family:DMMono,monospace!important;
  font-weight:400!important;
}
body,
.home .hero-copy>p,
.core-principle p,
.dokkodo-item h3,
.dokkodo-item p{
  font-family:Suisse,Arial,sans-serif!important;
  font-weight:300!important;
}

/* Static guide facts replace decorative world clocks. */
.site-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fff;
  padding:30px 0 32px;
  text-align:center;
}
.site-stats>div{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.site-stats strong{
  font:300 clamp(25px,2vw,36px)/1 Suisse,Arial,sans-serif;
  letter-spacing:-.035em;
  color:var(--green);
}
.site-stats span{
  color:#8e9d91;
  font-size:11px;
  letter-spacing:.055em;
  text-transform:uppercase;
}

/* One upper rule, no vertical dividers, pure white symbols. */
.core-principles{
  border-top:1px solid #294133!important;
}
.core-principle,
.core-principle:last-child{
  border-right:0!important;
  border-left:0!important;
}
.core-principle .principle-icon{
  fill:#fff!important;
  stroke:none!important;
  width:66px!important;
  height:50px!important;
}
.core-principle .principle-icon *{
  fill:#fff!important;
  stroke:none!important;
}
.core-principle h2{
  color:#fff!important;
  font-size:16px!important;
  letter-spacing:.035em!important;
}
@media(max-width:650px){
  .site-stats{padding:24px 0 26px}
  .site-stats strong{font-size:25px}
  .site-stats span{font-size:9px}
  .core-principle,
  .core-principle:last-child{
    border-right:0!important;
    border-left:0!important;
    border-bottom:0!important;
  }
  .core-principle .principle-icon{width:58px!important;height:44px!important}
}

/* Final shared principle band: only the continuous rule above all three. */
.philosophy .core-principles > .core-principle{
 border:0!important;
 box-shadow:none!important;
 text-align:center;
 padding:30px 24px 34px!important;
}
.philosophy .core-principle > .mono{display:none!important}
.philosophy .core-principle .principle-icon{
 margin:0 auto 22px!important;
 fill:#fff!important;
 stroke:none!important;
}
.philosophy .core-principle p{max-width:280px;margin:0 auto!important}
.philosophy .core-principle::before,
.philosophy .core-principle::after{content:none!important}
.site-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(max-width:650px){
 .philosophy .core-principles > .core-principle{padding:26px 22px!important}
}

/* A complete first screen, with visible registration marks at its lower corners. */
.home{--hero-header-height:72px}
.home .hero{
 height:calc(100vh - var(--hero-header-height) - 20px)!important;
 height:calc(100svh - var(--hero-header-height) - 20px)!important;
 min-height:520px!important;
 overflow:visible;
 isolation:isolate;
 border-bottom:1px solid var(--line);
 box-shadow:none;
}
.home .hero-art{
 position:absolute;
 inset:0;
 overflow:hidden;
 z-index:1;
 pointer-events:none;
}
.home .hero .mountain{
 filter:grayscale(.8) brightness(1.025);
 opacity:.8;
}
.home .hero.framed::before,
.home .hero.framed::after{
 display:block;
 bottom:-8px;
 z-index:4;
}
.home .site-stats{margin-top:40px}
@media(min-width:1700px){.home{--hero-header-height:90px}}
@media(max-width:650px){
 .home{--hero-header-height:68px}
 .home .hero{min-height:560px!important}
 .home .site-stats{margin-top:32px}
}

/* One quiet, centred guide form. */
.guide-download{
 background:#fff;
 text-align:center;
 padding:64px 24px 68px;
}
.guide-download h2{font:300 clamp(28px,3vw,42px)/1.15 Suisse,Arial,sans-serif;margin:26px 0 14px}
.guide-download-intro{color:var(--muted);font-size:16px}
.guide-download form{max-width:500px;margin:32px auto 0}
.guide-download .signup-line{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--green)}
.guide-download .signup-line input{min-width:0;flex:1;background:transparent;font:300 17px Suisse,Arial,sans-serif}
.guide-download .signup-line button{display:inline-flex;align-items:center;gap:12px;min-height:48px;white-space:nowrap;font:400 11px DMMono,monospace}
.guide-download .signup-line .arrow-icon{width:16px;height:16px}
.guide-download .signup-note{font-size:11px;margin:16px 0 0;color:var(--muted)}
.guide-download .signup-status:empty{display:none}
.guide-download .signup-status{margin:20px 0;color:var(--green)}
.guide-download-link{display:inline-flex;align-items:center;gap:28px;padding:12px 0;border-bottom:1px solid var(--green);font-size:16px}
.guide-download [hidden]{display:none!important}
@media(max-width:650px){.guide-download{padding:42px 20px 48px}.guide-download form{margin-top:26px}.guide-download .signup-line{gap:10px}}

/* Final spacing: a slightly lower desktop composition and a compact mobile hero. */
@media(min-width:651px){
 .home .hero{
  height:calc(100vh - var(--hero-header-height) - 12px)!important;
  height:calc(100svh - var(--hero-header-height) - 12px)!important;
 }
 .home .hero-copy{padding-top:calc(7.1% + 20px)}
}
@media(min-width:651px) and (max-width:1000px){
 .home .hero-copy{padding-top:80px}
}
@media(max-width:650px){
 .home .hero{height:auto!important;min-height:0!important}
 .home .hero-copy{padding:44px 22px 178px!important}
 .home .hero-copy>p{max-width:none!important;line-height:1.5!important}
 .home .hero-copy>p br{display:initial}
 .home .location{flex-wrap:wrap;gap:8px 10px}
 .home .location .coordinates{flex-basis:100%;padding-left:27px;font-size:10px!important;letter-spacing:0!important}
 .home .hero .mountain{width:132%!important;right:-5%!important}
 .home .section-gap{height:48px}
}
