/* WANOIR teaser — lightweight static styles. No JS, no webfonts. */
:root{
  /* Seam fix 2026-11-02 (M4/M7): tokens unified to the production theme. */
  --black:#0e0e0e;
  --charcoal:#1c1c1e;
  --ink:#141412;
  --line:#d8d4c9;
  --paper:#eceae3;
  --stone:#8a877f;
  --serif:Didot,"Bodoni MT","Noto Serif Display","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:-apple-system,"Helvetica Neue",Helvetica,"Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.75;
  letter-spacing:.01em;
  padding-top:64px;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
.wrap{max-width:880px;margin:0 auto;padding:0 24px}

/* header — shared chrome, identical to the home page (styles.css) */
.hd{position:fixed;inset:0 0 auto 0;z-index:100;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--black);border-bottom:1px solid rgba(236,234,227,.12);color:var(--paper)}
/* Seam fix 2026-11-02 (M1): the header wordmark is the serif logo, as on
   the home page and in the production theme (19px / .34em). */
.logo{font-size:19px;font-weight:600;letter-spacing:.34em;line-height:1;color:var(--paper);font-family:var(--serif)}
.logo small{display:block;font-size:7.5px;letter-spacing:.34em;font-weight:400;color:#a49f92;margin-top:3px}
.hd-nav{display:flex;gap:30px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.hd-nav a{opacity:.72;color:var(--paper)}
.hd-nav a:hover{opacity:1;text-decoration:none}
.hd-actions{display:flex;align-items:center;gap:12px}
.hd-ic{position:relative;display:inline-flex;align-items:center;background:none;border:0;font-family:inherit;cursor:pointer;color:var(--paper);opacity:.82;padding:4px 2px}
.hd-ic:hover{opacity:1;text-decoration:none}
.hd-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}
.bag-count{position:absolute;top:-3px;right:-5px;min-width:15px;height:15px;border-radius:999px;background:var(--paper);color:var(--black);font-size:9px;line-height:15px;text-align:center;padding:0 3px;display:none}
.lang{display:flex;border:1px solid rgba(236,234,227,.38);border-radius:999px;overflow:hidden}
.lang button{border:0;background:transparent;font-size:10px;letter-spacing:.12em;padding:6px 11px;cursor:pointer;color:var(--paper);font-family:inherit}
.lang button.on{background:var(--paper);color:var(--black)}
.burger{display:none;border:0;background:transparent;cursor:pointer;padding:4px;color:var(--paper)}
.burger svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;display:block}
@media(max-width:900px){.hd-nav{display:none}.burger{display:block}}
@media(max-width:640px){.hd{padding:0 14px}.hd-actions{gap:8px}.lang button{padding:6px 9px}.logo{letter-spacing:.3em}}
.menu{position:fixed;inset:0;z-index:101;background:var(--black);color:var(--paper);display:none;flex-direction:column;justify-content:center;padding:90px 30px 40px;font-family:var(--sans)}
.menu.on{display:flex}
.menu a{font-size:clamp(29px,8vw,44px);font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:11px 0;border-bottom:1px solid rgba(236,234,227,.14);color:var(--paper)}
.menu a:hover{text-decoration:none}
.menu-close{position:absolute;top:16px;right:22px;background:none;border:0;color:var(--paper);font-size:34px;cursor:pointer}
.menu-lang{margin-top:28px;display:flex;gap:10px}
.menu-lang button{background:transparent;color:var(--paper);border:1px solid rgba(236,234,227,.4);border-radius:999px;padding:9px 18px;font-size:11px;letter-spacing:.14em;cursor:pointer;font-family:inherit}
.menu-lang button.on{background:var(--paper);color:var(--black)}
.demo-toast{position:fixed;top:76px;left:50%;transform:translateX(-50%);z-index:120;max-width:min(92vw,560px);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:12px 22px;font-size:12px;line-height:1.7;letter-spacing:.03em;text-align:center;box-shadow:0 12px 32px rgba(14,14,14,.28);cursor:pointer;font-family:var(--sans)}
.demo-toast[hidden]{display:none}
.ft-logo{font-family:var(--serif);font-size:17px;letter-spacing:.42em;text-indent:.42em;color:var(--paper)}

/* hero */
.hero{background:var(--black);color:var(--paper);padding:104px 0 88px;text-align:center}
.hero .kicker{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--stone)}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,9vw,84px);letter-spacing:.34em;text-indent:.34em;margin:22px 0 10px}
.hero .house{font-family:var(--serif);font-style:italic;font-size:clamp(17px,3vw,22px);color:#c9c5ba;letter-spacing:.08em}
.hero .def{max-width:620px;margin:38px auto 0;font-size:16.5px;line-height:1.9;color:#e6e2d8}
.hero .def-ja{max-width:620px;margin:16px auto 0;font-size:13.5px;line-height:2;color:#a9a59a}
.hero .status{
  display:inline-block;margin-top:42px;padding:9px 22px;
  border:1px solid #3a3a40;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#d8d4c9;
}

/* sections */
section{padding:72px 0}
section + section{border-top:1px solid var(--line)}
.label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--stone);margin-bottom:26px}
h2{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:.06em;line-height:1.35;margin-bottom:22px}
p.lede{font-size:16.5px;max-width:660px}
p.ja{margin-top:18px;font-size:13.5px;line-height:2;color:#55534d;max-width:660px}

/* four perspectives */
.axes{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:8px}
.axis{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 24px}
.axis h3{font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:.1em;margin-bottom:8px}
.axis p{font-size:13.5px;line-height:1.8;color:#44423d}
@media (max-width:640px){.axes{grid-template-columns:1fr}}

/* journal cards */
.card{border-top:1px solid var(--ink);padding:30px 0}
.card .tag{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--stone)}
.card h3{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:.04em;margin:10px 0 8px;line-height:1.4}
.card p{font-size:14.5px;color:#44423d;max-width:640px}
.card .more{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}
.card .more:hover{text-decoration:none;opacity:.65}

/* article */
.article-head{padding:76px 0 8px}
.article-head .tag{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--stone)}
.article-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(30px,5.4vw,44px);line-height:1.3;letter-spacing:.03em;margin:16px 0 18px}
.article-head .standfirst{font-size:17px;line-height:1.85;max-width:680px}
.article{padding:26px 0 72px}
.article h2{font-size:24px;margin:44px 0 14px}
.article p{max-width:680px;margin-bottom:16px;font-size:15.5px}
.article ul{max-width:680px;margin:0 0 16px 20px;font-size:15.5px}
.article li{margin-bottom:6px}
.facts{border:1px solid var(--line);background:#f4f1ea;padding:6px 24px;margin:30px 0;max-width:680px}
.facts table{width:100%;border-collapse:collapse;font-size:14px}
.facts th,.facts td{padding:10px 8px 10px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.facts tr:last-child th,.facts tr:last-child td{border-bottom:none}
.facts th{font-weight:600;letter-spacing:.06em;white-space:nowrap;padding-right:18px}
.faq{max-width:680px}
.faq dt{font-weight:600;margin-top:22px;font-size:15.5px}
.faq dd{margin-top:6px;font-size:15.5px;color:#33312d}
.note{font-size:12.5px;color:var(--stone);max-width:680px;margin-top:36px}
.backlink{display:inline-block;margin-top:40px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}
.backlink:hover{text-decoration:none;opacity:.65}

/* footer */
.ft{background:var(--black);color:#a9a59a;padding:56px 0;text-align:center}
.ft .wordmark{color:var(--paper);font-size:17px}
.ft p{font-size:12.5px;margin-top:16px;line-height:2}
.ft a{color:#d8d4c9}
