/* aikidolink.ch
   Palette: Hakama #1E2A44 (indigo), Nebel #EDEFF0 (mist), Tatami #CBBF8E (straw),
   Hanko #B1342B (seal red), Kiefer #3D5A4C (pine), Stein #5F666C (stone) */
:root{
  --hakama:#1E2A44; --nebel:#EDEFF0; --tatami:#CBBF8E; --hanko:#B1342B; --kiefer:#3D5A4C; --stein:#5F666C;
  --line:#D2D7DA;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Karla",system-ui,-apple-system,"Segoe UI",sans-serif;
  --measure:39rem; --wide:72rem;
  --enso:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23EDEFF0' stroke-linecap='round' opacity='.14'%3E%3Cpath d='M131 33A75 75 0 1 0 172 108' stroke-width='15'/%3E%3Cpath d='M126 26A83 83 0 1 0 180 112' stroke-width='3' stroke-dasharray='30 9 50 7 20 12' opacity='.6'/%3E%3Cpath d='M172 108c4-12 4-22 1-32' stroke-width='5'/%3E%3C/g%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--nebel);color:var(--hakama);font:400 1.1rem/1.7 var(--sans);hyphens:auto;-webkit-hyphens:auto}
a{color:var(--kiefer);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px;color:var(--hakama)}
:focus-visible{outline:3px solid var(--hanko);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--hakama);color:#fff;padding:.6rem 1rem;z-index:20}
.skip:focus{left:1rem;top:1rem}
svg{max-width:100%}
h1,h2,h3{hyphens:manual;-webkit-hyphens:manual}

/* header */
.bar{background:var(--nebel);border-bottom:1px solid var(--line)}
.bar-in{max-width:var(--wide);margin:0 auto;padding:1rem clamp(1rem,4vw,2rem);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 2rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--hakama);text-decoration:none;font:500 1.45rem/1 var(--serif);letter-spacing:-.01em}
.brand-enso{width:2.2rem;height:2.2rem}
.bar nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1.5rem}
.bar nav a{font:500 1rem/1.4 var(--sans);color:var(--hakama);text-decoration:none;padding:.25rem 0;background:linear-gradient(var(--hanko),var(--hanko)) 0 100%/0 2px no-repeat}
.bar nav a:hover{background-size:100% 2px}
.bar nav a[aria-current="page"]{background-size:100% 2px}
@media (prefers-reduced-motion:no-preference){.bar nav a{transition:background-size .2s ease}}

/* hero */
.hero{background:var(--hakama);color:var(--nebel)}
.hero-in{max-width:var(--wide);margin:0 auto;padding:4rem clamp(1rem,4vw,2rem);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:2.5rem 4rem;align-items:center}
.hero h1{font:400 clamp(2.2rem,4.4vw,3.5rem)/1.1 var(--serif);letter-spacing:-.015em;margin:0 0 1.4rem}
.lede{color:#D5DBE6;font-size:1.16rem;max-width:32rem}
.lede p{margin:0 0 1rem}
.hero-fig{margin:0;border:1px solid #3A4A6E;padding:.6rem;background:#24324F}
.hero-fig svg{display:block;width:100%;height:auto}

/* topics */
.paths,.quiet{max-width:var(--wide);margin:0 auto;padding:3.5rem clamp(1rem,4vw,2rem) 0}
.paths>h2,.quiet h2,.more h2{font:500 1.7rem/1.2 var(--serif);margin:0 0 1.6rem;letter-spacing:-.01em}
.path-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3.5rem;border-top:2px solid var(--hakama)}
.path{padding:1.4rem 0 1.6rem;border-bottom:1px solid var(--line)}
.path h3{font:500 1.4rem/1.25 var(--serif);margin:0 0 .5rem}
.path h3 a{color:var(--hakama);text-decoration:none}
.path h3 a:hover{text-decoration:underline;text-decoration-color:var(--hanko);text-decoration-thickness:2px}
.path p{margin:0;color:var(--stein);max-width:34rem}
.quiet{padding-bottom:4.5rem}
.quiet p{max-width:var(--measure);margin:0;font:400 1.25rem/1.6 var(--serif)}

/* article */
.page-head{background:var(--hakama) var(--enso) no-repeat;background-position:right 6% center;background-size:auto 140%;color:var(--nebel);overflow:hidden}
.page-head-in{max-width:var(--wide);margin:0 auto;padding:3.6rem clamp(1rem,4vw,2rem) 3rem;position:relative}
.page-head h1{font:400 clamp(2rem,4.2vw,3.2rem)/1.12 var(--serif);margin:0 0 1rem;max-width:40rem;letter-spacing:-.015em}
.standfirst{font:400 1.25rem/1.55 var(--serif);color:#D5DBE6;max-width:var(--measure);margin:0 0 1rem}
.meta{margin:0;font-size:.92rem;color:#B9C3D6}
.prose{max-width:var(--wide);margin:0 auto;padding:3rem clamp(1rem,4vw,2rem) 1rem}
.prose>*{max-width:var(--measure)}
.prose h2{font:500 1.7rem/1.25 var(--serif);margin:2.8rem 0 .9rem;letter-spacing:-.01em}
.prose h3{font:700 1.08rem/1.4 var(--sans);margin:2rem 0 .5rem}
.prose p,.prose ul,.prose ol,.prose dl{margin:0 0 1.15rem}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li{margin:0 0 .45rem}
.prose li::marker{color:var(--hanko)}
.prose strong{font-weight:700}
.prose dl{border-left:3px solid var(--tatami);padding-left:1.2rem}
.prose dt{font:italic 500 1.15rem/1.4 var(--serif);margin-top:.9rem}
.prose dt:first-child{margin-top:0}
.prose dd{margin:.15rem 0 0}
.prose table{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:.98rem;line-height:1.5;display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;vertical-align:top;padding:.65rem .9rem .65rem 0;border-bottom:1px solid var(--line)}
.prose thead th{font:500 1.05rem/1.3 var(--serif);border-bottom:2px solid var(--hakama)}
.prose blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:3px solid var(--hanko);font:italic 400 1.2rem/1.55 var(--serif)}
.more{max-width:var(--wide);margin:0 auto;padding:2rem clamp(1rem,4vw,2rem) 4rem}
.more>*{max-width:var(--measure)}
.more h2{font-size:1.4rem;padding-top:2rem;border-top:2px solid var(--hakama)}
.more ul{margin:0;padding:0;list-style:none}
.more li{margin:0 0 .6rem;font:400 1.15rem/1.4 var(--serif)}

/* footer with tatami edge */
.foot{background:var(--hakama);color:#D5DBE6}
.tatami{height:26px;background:repeating-linear-gradient(90deg,var(--tatami) 0 182px,var(--hakama) 182px 188px);border-top:5px solid var(--hakama);border-bottom:5px solid var(--hakama);box-shadow:inset 0 0 0 1px rgba(30,42,68,.15)}
.foot-in{max-width:var(--wide);margin:0 auto;padding:2rem clamp(1rem,4vw,2rem) 2.6rem;font-size:.95rem}
.foot-in p{margin:0 0 .8rem;max-width:40rem}
.foot-links{display:flex;flex-wrap:wrap;gap:.3rem 1.5rem}
.foot a{color:#fff}
.foot :focus-visible{outline-color:var(--tatami)}

@media (max-width:900px){
  .hero-in{grid-template-columns:1fr;padding-top:2.8rem;padding-bottom:3rem}
  .path-list{grid-template-columns:1fr}
  .page-head{background-size:auto 110%;background-position:right -6rem center}
}
@media (max-width:520px){
  body{font-size:1.05rem}
  .bar nav ul{gap:.1rem 1rem}
  .bar nav a{font-size:.95rem}
  .page-head{background-position:right -9rem top 1rem;background-size:auto 70%}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
