
/* Hidden in the Aisle — site styles */
:root{
  --paper:#FBF9F5;
  --paper-2:#F4F0E8;
  --ink:#15130F;
  --ink-2:#403A32;
  --muted:#776F63;
  --rule:#E3DCD0;
  --rule-2:#EFEAE1;
  --shu:#B23A2C;
  --serif:"Newsreader","Hiragino Mincho ProN",Georgia,serif;
  --sans:"Zen Kaku Gothic New","Hiragino Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mincho:"Zen Old Mincho","Hiragino Mincho ProN",serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16.5px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;}
a{color:var(--ink);text-decoration:none;}
a:focus-visible,button:focus-visible{outline:2px solid var(--shu);outline-offset:3px;}

.wrap{max-width:1060px;margin:0 auto;padding:0 28px;}
/* narrow = constrain the measure of the content, but keep it left-aligned
   to the same grid as every other page, rather than centring the column */
.wrap.narrow > *{max-width:672px;}

/* ---------- nav ---------- */
header.site{border-bottom:1px solid var(--rule);background:var(--paper);}
.nav{display:flex;align-items:baseline;justify-content:space-between;gap:28px;padding:22px 0;flex-wrap:wrap;}
.mark{
  font-family:var(--serif);font-size:19px;letter-spacing:.005em;font-weight:500;
  white-space:nowrap;display:inline-flex;align-items:center;gap:11px;
}
.mark .a{color:var(--shu);}
.mark .kan{
  font-family:var(--mincho);font-size:14px;font-weight:600;line-height:1;
  width:27px;height:27px;border-radius:50%;flex:none;
  background:var(--shu);color:var(--paper);
  display:inline-flex;align-items:center;justify-content:center;
  padding-top:1px;
}

/* ---------- kanji watermark ---------- */
.hero{position:relative;overflow:hidden;}
.hero .wrap{position:relative;z-index:1;}
.watermark{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:0;
  writing-mode:vertical-rl;
  font-family:var(--mincho);font-weight:600;letter-spacing:.1em;
  font-size:clamp(54px,7.2vw,104px);line-height:1;
  color:var(--ink);opacity:.055;
  user-select:none;pointer-events:none;white-space:nowrap;
}
@media (max-width:860px){
  .watermark{opacity:.04;font-size:52px;right:-4px;}
}

/* ---------- social ---------- */
.social{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.social a{
  display:inline-flex;align-items:center;gap:9px;
  border:1px solid var(--ink);border-radius:2px;padding:12px 20px;
  font-size:14px;letter-spacing:.03em;color:var(--ink);
}
.social a:hover{background:var(--ink);color:var(--paper);}
.social a .h{color:var(--muted);font-size:13px;}
.social a:hover .h{color:rgba(251,249,245,.7);}

/* ---------- phase rail ---------- */
.phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:34px 44px;}
.phase{border-top:1px solid var(--rule);padding-top:18px;}
.phase .p{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--shu);margin-bottom:9px;}
.phase h3{font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:0;margin-bottom:8px;}
.phase p{font-size:14.5px;color:var(--muted);}
.phase.now{border-top:2px solid var(--ink);}

/* ---------- founders ---------- */
.founders{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:40px 52px;}
.founder{border-top:2px solid var(--ink);padding-top:20px;}
.founder .who{font-family:var(--serif);font-size:23px;line-height:1.2;}
.founder .role{
  font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--shu);margin:8px 0 15px;
}
.founder p{font-size:15.5px;color:var(--ink-2);max-width:46ch;}
nav.links{display:flex;gap:26px;flex-wrap:wrap;}
nav.links a{
  font-size:13.5px;letter-spacing:.04em;color:var(--ink-2);
  padding-bottom:2px;border-bottom:1px solid transparent;
}
nav.links a:hover{border-bottom-color:var(--shu);}
nav.links a.on{color:var(--ink);border-bottom-color:var(--ink);}
nav.links a.ja{font-family:var(--mincho);letter-spacing:.06em;}

/* ---------- type ---------- */
.eyebrow{
  font-size:11.5px;letter-spacing:.19em;text-transform:uppercase;
  color:var(--shu);margin-bottom:18px;
}
h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(34px,6vw,60px);line-height:1.1;letter-spacing:-.018em;
  text-wrap:balance;
}
h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(24px,3.4vw,32px);line-height:1.22;letter-spacing:-.012em;
  text-wrap:balance;
}
h3{font-size:14px;font-weight:700;letter-spacing:.02em;}
p{max-width:64ch;}
.lede{font-family:var(--serif);font-size:clamp(18px,2.3vw,22px);line-height:1.5;color:var(--ink-2);max-width:52ch;}
.dim{color:var(--muted);}
.sm{font-size:14.5px;}

/* ---------- sections ---------- */
section{padding:74px 0;border-bottom:1px solid var(--rule-2);}
section:last-of-type{border-bottom:none;}
.hero{padding:92px 0 78px;border-bottom:1px solid var(--rule);}
.hero h1{max-width:15ch;}
.hero .lede{margin-top:26px;}
.stack>*+*{margin-top:18px;}

.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:44px 56px;}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:38px 44px;}
.head{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:38px;}

/* ---------- lists ---------- */
ul.plain{list-style:none;display:flex;flex-direction:column;gap:12px;}
ul.plain li{position:relative;padding-left:20px;color:var(--ink-2);max-width:62ch;}
ul.plain li::before{
  content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;
  background:var(--shu);border-radius:50%;
}
ul.plain li b{color:var(--ink);}

/* ---------- category rows ---------- */
.cats{border-top:1px solid var(--rule);}
.cat{
  display:grid;grid-template-columns:34px minmax(0,1fr);gap:0 22px;
  padding:22px 0;border-bottom:1px solid var(--rule-2);align-items:start;
}
.cat .n{font-family:var(--serif);font-size:14px;color:var(--shu);padding-top:3px;}
.cat h3{margin-bottom:5px;font-size:17px;font-weight:500;font-family:var(--serif);letter-spacing:0;}
.cat p{font-size:15px;color:var(--muted);max-width:58ch;}

/* ---------- numbers strip ---------- */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:30px;}
.fact .v{font-family:var(--serif);font-size:30px;line-height:1.1;}
.fact .k{font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-top:8px;}

/* ---------- pull quote ---------- */
.pull{
  border-left:2px solid var(--shu);padding:4px 0 4px 24px;
  font-family:var(--serif);font-size:clamp(19px,2.6vw,25px);line-height:1.4;
  max-width:26ch;
}

/* ---------- callout ---------- */
.note{background:var(--paper-2);padding:24px 26px;border-radius:2px;}
.note p{font-size:15px;color:var(--ink-2);max-width:60ch;}
.note .k{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;background:var(--ink);color:var(--paper);
  padding:13px 24px;font-size:14px;letter-spacing:.03em;border-radius:2px;
  border:1px solid var(--ink);cursor:pointer;font-family:inherit;
}
.btn:hover{background:var(--shu);border-color:var(--shu);}
.btn.ghost{background:transparent;color:var(--ink);}
.btn.ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}

/* ---------- form ---------- */
form{max-width:520px;display:flex;flex-direction:column;gap:16px;margin-top:26px;}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.04em;color:var(--muted);}
input,textarea,select{
  font-family:inherit;font-size:16px;color:var(--ink);background:#fff;
  border:1px solid var(--rule);border-radius:2px;padding:11px 13px;width:100%;
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--shu);}
textarea{min-height:120px;resize:vertical;}
.consent{flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:var(--muted);}
.consent input{width:auto;margin-top:3px;}
.hp{position:absolute;left:-9999px;}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--rule);padding:44px 0 60px;margin-top:8px;}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px 40px;}
footer.site a{color:var(--ink-2);border-bottom:1px solid var(--rule);}
footer.site a:hover{color:var(--shu);border-bottom-color:var(--shu);}
.fine{font-size:12.5px;color:var(--muted);margin-top:34px;line-height:1.6;}
.fk{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.flist{font-size:14.5px;display:flex;flex-direction:column;gap:7px;color:var(--ink-2);}

/* ---------- japanese page ---------- */
.ja{font-family:var(--sans);}
.ja h1,.ja h2{font-family:var(--mincho);letter-spacing:.02em;font-weight:600;}
.ja h1{font-size:clamp(26px,4.4vw,42px);line-height:1.4;max-width:none;}
.ja .hero h1{max-width:none;}
.ja h2{font-size:clamp(20px,2.8vw,26px);line-height:1.4;}
.ja p,.ja li{line-height:1.95;max-width:44em;}
.ja .lede{font-family:var(--mincho);line-height:1.8;max-width:38em;}

@media (max-width:640px){
  section{padding:56px 0;}
  .hero{padding:64px 0 54px;}
  .nav{gap:14px;}
  nav.links{gap:18px;}
}
@media print{ nav.links,form{display:none;} }
