
  :root{
    --ink-deep:#0B1826;
    --paper:#EBE5D7;
    --paper-dim:#A8A491;
    --tachibana:#E08A3C;
    --leaf:#3E7D5C;
    --rule:rgba(235,229,215,.14);

    --display:"Zen Antique","Hiragino Mincho ProN",serif;
    --body:"IBM Plex Sans",system-ui,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,monospace;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;background:var(--ink-deep);color:var(--paper);
    font-family:var(--body);font-weight:300;line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;}
  ::selection{background:var(--tachibana);color:var(--ink-deep);}
  :focus-visible{outline:2px solid var(--tachibana);outline-offset:3px;}
  .wrap{width:min(1100px,92vw);margin-inline:auto;}

  /* ---------- en-tête + sélecteur de langue ---------- */
  .top{
    display:flex;justify-content:space-between;align-items:center;gap:18px;
    padding:22px 0;font-family:var(--mono);font-size:.72rem;
    letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);
  }
  .top-right{display:flex;align-items:center;gap:26px;}
  .top nav a{text-decoration:none;transition:color .2s;}
  .top nav a{margin-left:24px;}
  .top nav a:first-child{margin-left:0;}
  .top nav a:hover{color:var(--tachibana);}

  .lang{display:flex;gap:2px;border:1px solid var(--rule);}
  .lang button{
    font:inherit;letter-spacing:.1em;background:none;border:0;color:var(--paper-dim);
    padding:6px 10px;cursor:pointer;transition:background .2s,color .2s;
  }
  .lang button:hover{color:var(--paper);}
  .lang button[aria-current="true"]{background:var(--tachibana);color:var(--ink-deep);}

  /* ---------- héro ---------- */
  .hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule);}
  .hero::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(to bottom,rgba(235,229,215,.05) 0 1px,transparent 1px 4px);
    opacity:.5;
  }
  .hero-grid{
    display:grid;grid-template-columns:1fr auto;gap:48px;
    align-items:center;padding:56px 0 88px;
  }
  .eyebrow{
    font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;
    text-transform:uppercase;color:var(--tachibana);margin:0 0 26px;
  }
  h1{
    font-family:var(--display);font-weight:400;
    font-size:clamp(3.4rem,11vw,7rem);line-height:.92;
    letter-spacing:.02em;margin:0 0 6px;
  }
  .romaji{
    font-family:var(--mono);font-size:.74rem;letter-spacing:.34em;
    text-transform:uppercase;color:var(--paper-dim);margin:0 0 30px;
  }
  .lede{font-size:clamp(1.05rem,2.2vw,1.3rem);max-width:36ch;margin:0 0 12px;}
  .lede strong{color:var(--tachibana);font-weight:400;}
  .lede-sub{color:var(--paper-dim);max-width:46ch;font-size:.95rem;margin:0 0 34px;}

  .actions{display:flex;flex-wrap:wrap;gap:14px;}
  .btn{
    font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;
    text-decoration:none;padding:13px 22px;border:1px solid var(--paper);
    transition:background .2s,color .2s,border-color .2s;
  }
  .btn:hover{background:var(--paper);color:var(--ink-deep);}
  .btn-fill{background:var(--tachibana);border-color:var(--tachibana);color:var(--ink-deep);}
  .btn-fill:hover{background:transparent;color:var(--tachibana);}

  .crest-zone{position:relative;display:flex;align-items:center;gap:30px;}
  .crest{width:clamp(200px,26vw,300px);height:auto;display:block;}
  .rail{
    writing-mode:vertical-rl;font-family:var(--display);
    font-size:1.5rem;letter-spacing:.5em;color:var(--paper-dim);
    border-left:1px solid var(--rule);padding-left:22px;
  }
  .rail span{display:block;}
  .rail .kana{font-size:.9rem;letter-spacing:.35em;opacity:.65;margin-top:1.2em;}

  /* ---------- sections ---------- */
  section{padding:84px 0;border-bottom:1px solid var(--rule);}
  .label{
    font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;
    text-transform:uppercase;color:var(--paper-dim);margin:0 0 34px;
  }
  h2{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,4vw,2.5rem);margin:0 0 14px;line-height:1.2;}

  .axes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:44px;}
  .axe-mark{
    font-family:var(--display);font-size:2.6rem;color:var(--tachibana);
    line-height:1;display:block;margin-bottom:14px;
  }
  .axe h3{font-family:var(--body);font-weight:500;font-size:1.05rem;margin:0 0 8px;}
  .axe p{margin:0;color:var(--paper-dim);font-size:.94rem;}

  .proj{
    display:grid;grid-template-columns:200px 1fr 150px;gap:26px;
    padding:24px 0;border-top:1px solid var(--rule);align-items:baseline;
  }
  .proj:last-of-type{border-bottom:1px solid var(--rule);}
  .proj-name{font-family:var(--display);font-size:1.3rem;}
  .proj p{margin:0;color:var(--paper-dim);font-size:.94rem;}
  .proj-state{
    font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
    text-transform:uppercase;color:var(--leaf);text-align:right;
  }

  .join{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;margin-top:34px;}
  .join h3{font-family:var(--body);font-weight:500;font-size:1rem;margin:0 0 8px;}
  .join p{margin:0 0 14px;color:var(--paper-dim);font-size:.94rem;}
  .join a.lnk{
    font-family:var(--mono);font-size:.78rem;color:var(--tachibana);
    text-decoration:none;border-bottom:1px solid rgba(224,138,60,.4);padding-bottom:2px;
  }
  .join a.lnk:hover{border-color:var(--tachibana);}

  footer{padding:44px 0 64px;font-family:var(--mono);font-size:.72rem;color:var(--paper-dim);line-height:1.9;}
  footer .dom{color:var(--tachibana);}

  @keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  @keyframes glow{from{opacity:0;transform:scale(.94);}to{opacity:1;transform:none;}}
  .hero-text > *{animation:rise .7s both;}
  .hero-text > *:nth-child(2){animation-delay:.06s;}
  .hero-text > *:nth-child(3){animation-delay:.12s;}
  .hero-text > *:nth-child(4){animation-delay:.18s;}
  .hero-text > *:nth-child(5){animation-delay:.24s;}
  .crest-zone{animation:glow 1.1s .1s both;}

  @media (prefers-reduced-motion:reduce){
    *{animation:none !important;transition:none !important;}
    html{scroll-behavior:auto;}
  }

  @media (max-width:900px){
    .top{flex-direction:column;align-items:flex-start;gap:14px;}
    .top-right{flex-wrap:wrap;gap:16px;}
  }
  @media (max-width:820px){
    .hero-grid{grid-template-columns:1fr;gap:52px;padding-bottom:64px;}
    .crest-zone{justify-content:center;}
    .proj{grid-template-columns:1fr;gap:6px;}
    .proj-state{text-align:left;}
  }

  /* --- ajouts version SEO / multi-URL --- */
  .skip{position:absolute;left:-9999px;top:0;background:var(--tachibana);color:var(--ink-deep);
        padding:10px 16px;font-family:var(--mono);font-size:.8rem;z-index:10;}
  .skip:focus{left:0;}
  .brand{font-family:var(--mono);}
  .lang a{
    font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-decoration:none;
    color:var(--paper-dim);padding:6px 10px;transition:background .2s,color .2s;
  }
  .lang a:hover{color:var(--paper);}
  .lang a[aria-current="page"]{background:var(--tachibana);color:var(--ink-deep);}
  .proj h3.proj-name{font-family:var(--display);font-weight:400;font-size:1.3rem;margin:0;}
