/* ============================================================================
   Re:Generation — shared shell styles. Warm paper, earth tones, serif type.
   Loaded by every root sister page; page-specific styles stay in the page.
============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;1,6..72,300&display=swap');

:root{
  --paper:#EDEDE2; --paper-2:#E6E6DA; --card:#F4F4EC;
  --ink:#171E19; --faded:#525a48; --hairline:rgba(23,30,25,.16); --breath:rgba(23,30,25,.035);
  --person:#B4622A; --circle:#3F7691; --ground:#5C8544; --venture:#9F7F28; --relation:#0F6E56;
  --display:'Cormorant Garamond',Georgia,serif;
  --body:'Newsreader',Georgia,serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}
.wrap{width:min(1060px,92vw);margin:0 auto}
.serif{font-family:var(--display)}

/* ---- header ---- */
.rg-header{position:sticky;top:0;z-index:50;background:rgba(237,237,226,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}
.rg-bar{width:min(1060px,92vw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.rg-brand{display:flex;flex-direction:column;line-height:1.02;gap:1px}
.rg-b1{font-family:var(--display);font-weight:600;font-size:1.3rem;letter-spacing:.01em}
.rg-b1 b{color:var(--person);font-weight:600}
.rg-b2{font-family:var(--display);font-weight:500;font-size:.95rem;color:var(--faded)}
.rg-b3{font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faded)}
.rg-nav{display:flex;align-items:center;gap:1.15rem;font-size:.95rem}
.rg-nav>a{color:var(--faded);transition:color .2s}
.rg-nav>a:hover,.rg-nav>a[aria-current=page]{color:var(--ink)}
.rg-nav>a[aria-current=page]{border-bottom:1.5px solid var(--person)}
.rg-rabbit{display:inline-flex;align-items:center;padding:3px;border-radius:9px;transition:background .2s}
.rg-rabbit img{height:24px;width:auto;display:block;filter:brightness(0);transition:filter .2s,transform .2s}
.rg-rabbit:hover{background:var(--ink)}
.rg-rabbit:hover img{filter:brightness(0) invert(1);transform:translateY(-1px)}
.rg-deck{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--ink);border-radius:100px;padding:.4rem .85rem;transition:opacity .2s,transform .2s}
.rg-deck:hover{opacity:.86;transform:translateY(-1px)}
.rg-acctwrap{display:inline-flex;align-items:center;gap:.5rem}
.rg-join{font-family:var(--mono);font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--faded);border:1px solid var(--hairline);border-radius:100px;padding:.42rem .85rem;transition:color .2s,border-color .2s}
.rg-join:hover{color:var(--ink);border-color:var(--ink)}
.rg-join-solid{color:var(--paper);background:var(--relation);border-color:var(--relation)}
.rg-join-solid:hover{color:var(--paper);opacity:.9}
.rg-acct{display:inline-flex}
.rg-right{display:flex;align-items:center;gap:1rem}
.rg-extras{display:inline-flex;align-items:center;gap:1rem}
.rg-lang{cursor:pointer;background:none;border:1px solid var(--relation);color:var(--relation);border-radius:100px;padding:.32rem .72rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;flex:none}
.rg-lang:hover{background:var(--relation);color:var(--paper)}
.rg-ini{width:34px;height:34px;border-radius:50%;background:var(--relation);color:var(--paper);display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:.9rem}
.rg-burger{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;padding:6px}
.rg-burger span{width:22px;height:2px;background:var(--ink);display:block}
@media(max-width:760px){
  .rg-burger{display:flex}
  .rg-nav{position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:flex-end;gap:.9rem;background:var(--paper);border-bottom:1px solid var(--hairline);padding:1.1rem 4vw;display:none;text-align:right}
  .rg-nav.open{display:flex}
}

/* ---- shared type + sections ---- */
.eyebrow,.kicker{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--faded)}
h1{font-family:var(--display);font-weight:500;font-size:clamp(2.4rem,5.2vw,3.9rem);line-height:1.08;letter-spacing:-.01em}
h1 em{font-style:italic;color:var(--ground)}
h2{font-family:var(--display);font-weight:500;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.15;max-width:22ch}
h3{font-family:var(--display);font-weight:600}
.lede{font-size:1.12rem;color:#2c322b}
.sec-lede{font-size:1.06rem;color:#2c322b;max-width:58ch}
section{padding:6vh 0}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:500;border-radius:100px;padding:.72rem 1.55rem;font-size:1.05rem;transition:transform .24s cubic-bezier(.2,.7,.3,1),background .24s,box-shadow .24s,border-color .24s,color .24s;cursor:pointer;border:1px solid transparent}
.btn .arw{transition:transform .24s cubic-bezier(.2,.7,.3,1)}
.btn:hover .arw{transform:translateX(4px)}
.btn-primary{background:var(--ink);color:var(--paper);box-shadow:0 1px 2px rgba(23,30,25,.12)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(23,30,25,.24)}
.btn-ghost{border-color:var(--hairline);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--breath);border-color:var(--ink);transform:translateY(-1px)}

/* ---- footer ---- */
.rg-footer{border-top:1px solid var(--hairline);margin-top:2vh;padding:2.4rem 0 3rem}
.rg-foot{width:min(1060px,92vw);margin:0 auto;display:flex;flex-wrap:wrap;gap:1.2rem 2rem;justify-content:space-between;align-items:center}
.rg-rabbitfoot{display:inline-flex;align-items:center;gap:.6rem;color:var(--faded);font-family:var(--display);font-style:italic;font-size:1.02rem}
.rg-rabbitfoot img{width:1.6em;height:1.6em;object-fit:contain;filter:brightness(0);transition:filter .2s,transform .2s}
.rg-rabbitfoot:hover{color:var(--ink)}
.rg-rabbitfoot:hover img{filter:brightness(0) invert(1);transform:translateY(-1px)}
.rg-legal{font-size:.8rem;color:var(--faded)}
.rg-legal a{border-bottom:1px dotted var(--hairline)}
.rg-legal a:hover{color:var(--ink)}
.rg-ver{font-family:var(--mono);font-size:.72rem}

/* ---- diagnostics line (optional, pages add #rg-diag) ---- */
.rg-diag{width:min(1060px,92vw);margin:0 auto;padding:.3rem 0 0;display:flex;gap:.7rem;align-items:center;font-family:var(--mono);font-size:.62rem;color:var(--faded)}
.rg-mode{padding:1px 7px;border-radius:100px;border:1px solid var(--hairline)}
.rg-mode.live{color:var(--ground)} .rg-mode.preview{color:var(--person)}

/* ---- reveal on scroll ---- */
@media(prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
  .reveal.seen{opacity:1;transform:none}
}
