/* styles.css — Timo Ezra (soft sibling, playful motion)
   Fonts: Cormorant Garamond + Inter
   Accent: Sage #A3B18A
*/

:root{
  --bg: #FBF9F6;
  --paper: #FFFFFF;
  --text: #2B2B2B;
  --muted: #505050;
  --accent: #A3B18A; /* sage accent */
  --radius: 12px;
  --container: 1100px;
  --easing: cubic-bezier(.22,.9,.32,1);
  --float-range: 6px;
}

/* Reset */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--bg);
  color:var(--text);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Container */
.container{max-width:var(--container);margin:0 auto;padding:0 20px}

/* Type */
h1,h2,h3{font-family:"Cormorant Garamond", serif;color:var(--text);line-height:1.08;margin-bottom:.6rem;font-weight:600}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
h3{font-size:1.05rem}
p{margin-bottom:1rem;color:var(--text);max-width:65ch}
.kicker,.h-eyebrow{text-transform:uppercase;font-size:.85rem;letter-spacing:.14em;color:var(--muted);margin-bottom:.4rem}
.lede{font-size:1.05rem;color:#3b3b3b;margin-bottom:1.2rem}
.meta{color:#4b4b4b;font-weight:600;font-size:.95rem}

/* Header */
.site-header{position:sticky;top:0;z-index:120;background:rgba(251,249,246,0.9);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,0.04)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-width:var(--container);margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}
.brand-mark{width:46px;height:46px;border-radius:10px;background:linear-gradient(135deg,var(--paper),#F4F6F2);display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,0.04)}
.brand-mark svg{width:20px;height:20px;fill:var(--accent)}
.brand-title{font-family:"Cormorant Garamond",serif;font-size:1.05rem}
.nav{display:flex;gap:18px;align-items:center}
.nav a{color:var(--text);text-decoration:none;font-weight:600;padding:8px 12px;border-radius:8px;transition:all .18s var(--easing)}
.nav a:hover{color:var(--accent);background:rgba(0,0,0,0.04)}
.cta{background:var(--accent);color:var(--paper);padding:9px 16px;border-radius:10px;font-weight:700;text-decoration:none;transition:transform .18s var(--easing);box-shadow:0 8px 24px rgba(163,177,138,0.09)}
.cta:hover{transform:translateY(-3px)}

/* Hero */
.hero{padding:88px 0 56px}
.hero-grid{display:grid;grid-template-columns:1fr 420px;gap:42px;align-items:center}
.hero-intro .h-eyebrow{margin-bottom:.6rem}
.hero-figure{position:relative;overflow:hidden;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.04)}

/* playful float for hero image */
.float {
  display:block;
  transform-origin:center;
  transition:transform 0.9s var(--easing);
  will-change:transform;
}
.float.ani {
  animation: floaty 6s ease-in-out infinite;
}
@keyframes floaty {
  0% { transform: translateY(0); }
  50% { transform: translateY(calc(-1 * var(--float-range))); }
  100% { transform: translateY(0); }
}

/* Cards */
.card{background:var(--paper);border-radius:var(--radius);padding:20px;box-shadow:0 8px 24px rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.04);transition:transform .22s var(--easing), box-shadow .22s var(--easing)}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,0.06)}

/* values grid */
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:28px}
.value h3{margin-bottom:.35rem}
.value p{color:var(--muted);font-size:.95rem}

/* timeline */
.timeline{display:grid;gap:16px;margin-top:1.2rem}
.event{display:flex;gap:14px;align-items:flex-start}
.event .dot{width:12px;height:12px;border-radius:50%;background:var(--accent);margin-top:6px;flex:0 0 12px;box-shadow:0 8px 18px rgba(163,177,138,0.08)}
.event .meta{min-width:90px;color:var(--muted);font-weight:600}
.event .body{background:var(--paper);padding:12px;border-radius:10px;border:1px solid rgba(0,0,0,0.04);flex:1}

/* journal grid */
.journal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.figure{border-radius:12px;overflow:hidden;background:#EEE}
.figure img{width:100%;height:100%;object-fit:cover;display:block}

/* micro interactions */
.ghost-hover:hover{transform:scale(1.02)}
.kicker{margin-bottom:.25rem}

/* reveal (JS toggles .is-visible) */
.reveal{opacity:0;transform:translateY(16px);transition:all .8s var(--easing)}
.reveal.is-visible{opacity:1;transform:none}

/* noscript fallback so content shows even if JS fails */
noscript .reveal{opacity:1!important;transform:none!important}

/* footer */
.site-footer{padding:50px 0;text-align:center;color:var(--muted);font-size:.92rem;background:transparent}

/* responsive */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:22px}
  .nav{display:none}
  .brand-title{display:none}
  body{font-size:16px}
}
