/* Nora Coco — soft neutral, pale rose accent */
:root {
  --bg:#FDFBFB;
  --paper:#FFFFFF;
  --text:#2C2C2C;
  --muted:#6B6B6B;
  --accent:#F3C6C6;
  --radius:12px;
  --container:1100px;
  --easing:cubic-bezier(.22,.9,.32,1);
  --float-range:5px;
}

/* Base */
*{box-sizing:border-box;margin:0;padding:0}
body {
  font-family: "Inter", "Noto Sans", "Segoe UI Emoji",
                system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}

/* Type */
h1, h2, h3 {
  font-family: "Cormorant Garamond", "Georgia",serif;font-weight:600;line-height:1.08;color:var(--text)}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
h3{font-size:1.05rem}
.kicker{font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:.25rem}
.meta{color:var(--muted);font-weight:600;font-size:.95rem}
.lede{font-size:1.05rem;color:var(--text);opacity:.9}

/* Header */
.site-header{position:sticky;top:0;background:rgba(253,251,251,0.9);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,0.04);z-index:120}
.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;text-decoration:none;color:var(--text)}
.brand-mark{width:46px;height:46px;border-radius:10px;background:linear-gradient(135deg,#FFF,#F7EFEF);border:1px solid rgba(0,0,0,0.05);display:flex;align-items:center;justify-content:center}
.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 .2s 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 .2s var(--easing);box-shadow:0 8px 24px rgba(243,198,198,0.25)}
.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-figure{border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.05)}
.float{transition:transform 0.9s var(--easing)}
.float.ani{animation:floaty 7s ease-in-out infinite}
@keyframes floaty{
  0%{transform:translateY(0)}
  50%{transform:translateY(calc(-1 * var(--float-range)))}
  100%{transform:translateY(0)}
}

/* Cards, timeline, etc. */
.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.05);transition:transform .22s var(--easing)}
.card:hover{transform:translateY(-6px)}
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:28px}
.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(243,198,198,0.25)}
.event .body{background:var(--paper);padding:12px;border-radius:10px;border:1px solid rgba(0,0,0,0.04);flex:1}
.journal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.figure{border-radius:12px;overflow:hidden}
.figure img{width:100%;height:100%;object-fit:cover}

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

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

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