    :root {
      --gold:        #ffd060;
      --gold-dim:    rgba(255,208,96,.28);
      --dark:        #0e0c08;
      --card-bg:     rgba(20,15,5,.72);
      --border:      rgba(255,208,96,.18);
      --text:        #f0e8d8;
      --text-soft:   rgba(240,232,216,.62);
      --text-muted:  rgba(240,232,216,.36);
      --cream:       #fdf8f0;
      --album-gap:   1.4rem;
      --album-speed: 38s;
    }
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      background:var(--dark); color:var(--text);
      font-family:'Jost',sans-serif; font-weight:300;
      overflow-x:hidden; cursor:none;
    }

    /* ── CURSOR ── */
    #cur {
      position:fixed; width:10px; height:10px;
      background:var(--gold); border-radius:50%;
      pointer-events:none; z-index:9999;
      transform:translate(-50%,-50%);
      box-shadow:0 0 10px rgba(255,210,60,.8);
      transition:width .15s, height .15s;
    }
    #cur.big { width:20px; height:20px; }
    #cur-ring {
      position:fixed; width:34px; height:34px;
      border:1.5px solid rgba(255,210,60,.35); border-radius:50%;
      pointer-events:none; z-index:9998;
      transform:translate(-50%,-50%);
      transition:all .15s ease;
    }

    /* ── BG ── */
    .site-bg {
      position:fixed; inset:0; z-index:0;
      background:
        radial-gradient(ellipse 80% 60% at 10% 20%, rgba(255,180,40,.07) 0%, transparent 60%),
        radial-gradient(ellipse 60% 80% at 90% 80%, rgba(255,140,30,.06) 0%, transparent 60%),
        #0e0c08;
    }
    .site-bg::after {
      content:''; position:absolute; inset:0;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
      opacity:.5; pointer-events:none;
    }

    /* ── NAV ── */
    nav {
      position:fixed; top:0; left:0; right:0; z-index:200;
      display:flex; align-items:center; justify-content:space-between;
      padding:1.4rem 3.5rem;
      transition:background .4s, border-color .4s;
      border-bottom:1px solid transparent;
    }
    nav.scrolled {
      background:rgba(14,12,8,.92);
      border-color:var(--border);
      backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
    }
    .nav-logo {
      font-family:'Dancing Script',cursive; font-size:2rem;
      color:var(--gold); text-decoration:none;
      text-shadow:0 0 18px rgba(255,210,60,.35);
    }
    .nav-links { display:flex; gap:2.5rem; list-style:none; }
    .nav-links a {
      font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
      color:var(--text-soft); text-decoration:none; transition:color .3s;
    }
    .nav-links a:hover,.nav-links a.active { color:var(--gold); }
    .nav-back {
      font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
      color:var(--dark); background:var(--gold);
      padding:.55rem 1.5rem; border-radius:2rem; text-decoration:none;
      transition:all .3s; font-weight:500;
    }
    .nav-back:hover { background:#ffe48a; transform:translateY(-1px); }

    /* ── HERO ── */
    .blog-hero {
      position:relative; z-index:10;
      min-height:44vh;
      display:flex; flex-direction:column;
      align-items:center; justify-content:flex-end;
      padding:9rem 2rem 4.5rem;
      text-align:center; overflow:hidden;
    }
    .hero-orb {
      position:absolute; border-radius:50%;
      filter:blur(70px); pointer-events:none;
    }
    .hero-orb-1 {
      width:520px; height:520px; top:-100px; left:-140px;
      background:radial-gradient(circle, rgba(255,190,50,.11) 0%, transparent 70%);
      animation:oA 15s ease-in-out infinite alternate;
    }
    .hero-orb-2 {
      width:380px; height:380px; bottom:-80px; right:-80px;
      background:radial-gradient(circle, rgba(255,140,40,.09) 0%, transparent 70%);
      animation:oB 19s ease-in-out infinite alternate;
    }
    @keyframes oA { from{transform:translate(0,0)} to{transform:translate(70px,50px)} }
    @keyframes oB { from{transform:translate(0,0)} to{transform:translate(-60px,-70px)} }

    .hero-eyebrow {
      font-size:.58rem; letter-spacing:.4em; text-transform:uppercase;
      color:var(--gold); margin-bottom:1.1rem; opacity:.8;
      display:flex; align-items:center; gap:.8rem; justify-content:center;
    }
    .hero-eyebrow::before,.hero-eyebrow::after {
      content:''; width:28px; height:1px; background:var(--gold); opacity:.5;
    }
    .hero-title {
      font-family:'Playfair Display',serif;
      font-size:clamp(2.8rem,6vw,5.5rem); font-weight:400;
      line-height:1.05; color:var(--cream); margin-bottom:1.2rem;
    }
    .hero-title em { font-style:italic; color:var(--gold); }
    .hero-sub {
      font-size:.82rem; color:var(--text-soft);
      letter-spacing:.06em; max-width:420px; line-height:1.9;
    }

    /* ── FILTER ── */
    .filter-bar {
      position:relative; z-index:10;
      display:flex; align-items:center; justify-content:center;
      gap:.7rem; flex-wrap:wrap; padding:2.5rem 2rem 3.5rem;
    }
    .filter-btn {
      font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
      color:var(--text-muted); border:1px solid var(--border);
      background:transparent; border-radius:2rem;
      padding:.55rem 1.4rem; cursor:none;
      transition:all .3s; font-family:'Jost',sans-serif;
    }
    .filter-btn:hover,.filter-btn.active {
      background:var(--gold); color:var(--dark); border-color:var(--gold); font-weight:500;
    }

    /* ── POSTS SECTION ── */
    .posts-section {
      position:relative; z-index:10;
      max-width:1200px; margin:0 auto;
      padding:0 2.5rem 7rem;
    }

    /* Featured — more spacious */
    .post-featured {
      display:grid; grid-template-columns:1fr 1fr;
      border:1px solid var(--border); border-radius:2rem; overflow:hidden;
      background:var(--card-bg);
      backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
      transition:box-shadow .4s, transform .4s; cursor:none;
      margin-bottom:2rem;
    }
    .post-featured:hover {
      box-shadow:0 28px 70px rgba(255,190,40,.13), 0 0 0 1px rgba(255,208,96,.32);
      transform:translateY(-4px);
    }
    .post-featured-img { overflow:hidden; position:relative; }
    .post-featured-img img {
      width:100%; height:100%; object-fit:cover; display:block; min-height:440px;
      transition:transform .9s cubic-bezier(.16,1,.3,1);
    }
    .post-featured:hover .post-featured-img img { transform:scale(1.05); }
    .post-featured-img::after {
      content:''; position:absolute; inset:0;
      background:linear-gradient(90deg,transparent 55%,rgba(14,12,8,.45));
      pointer-events:none;
    }
    .post-featured-body {
      padding:4.5rem 4rem;                      /* ← spacious */
      display:flex; flex-direction:column; justify-content:center; gap:.2rem;
    }
    .post-tag {
      font-size:.52rem; letter-spacing:.3em; text-transform:uppercase;
      color:var(--gold); margin-bottom:1.1rem;
      display:flex; align-items:center; gap:.6rem;
    }
    .post-tag::before { content:''; width:18px; height:1px; background:var(--gold); opacity:.6; }
    .post-title {
      font-family:'Playfair Display',serif;
      font-size:2rem; font-weight:400; line-height:1.2;
      color:var(--cream); margin-bottom:1.2rem; transition:color .3s;
    }
    .post-featured:hover .post-title { color:var(--gold); }
    .post-excerpt {
      font-size:.84rem; line-height:2.1; color:var(--text-soft);
      margin-bottom:2.4rem; max-width:400px;
    }
    .post-meta-row { display:flex; align-items:center; gap:1.8rem; }
    .post-date {
      font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-muted);
    }
    .read-link {
      font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
      color:var(--gold); display:flex; align-items:center; gap:.5rem;
      transition:gap .3s; cursor:none;
    }
    .read-link:hover { gap:.95rem; }

    /* 3-col grid — spacious */
    .posts-grid {
      display:grid; grid-template-columns:repeat(3,1fr);
      gap:1.8rem;
    }
    .post-card {
      background:var(--card-bg);
      backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
      border:1px solid var(--border); border-radius:1.6rem; overflow:hidden;
      cursor:none;
      transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s;
    }
    .post-card:hover {
      transform:translateY(-7px);
      box-shadow:0 24px 55px rgba(255,190,40,.12), 0 0 0 1px rgba(255,208,96,.3);
    }
    .post-card-img { overflow:hidden; }
    .post-card-img img {
      width:100%; aspect-ratio:16/10; object-fit:cover; display:block;
      transition:transform .65s cubic-bezier(.16,1,.3,1);
    }
    .post-card:hover .post-card-img img { transform:scale(1.07); }
    .post-card-body { padding:2.2rem 2.2rem 2.5rem; }   /* ← spacious */
    .post-card .post-title { font-size:1.22rem; margin-bottom:.8rem; }
    .post-card:hover .post-title { color:var(--gold); }
    .post-card .post-excerpt {
      font-size:.78rem; line-height:2.1; color:var(--text-soft); margin-bottom:1.6rem;
    }

    /* ════════════════════════════════════════
       INFINITE SCROLL PHOTO ALBUM
    ════════════════════════════════════════ */
    .album-section {
      position:relative; z-index:10;
      padding:5rem 0 6rem;
      overflow:hidden;
    }
    .album-header {
      text-align:center; padding:0 2rem 3.5rem;
    }
    .album-eyebrow {
      font-size:.56rem; letter-spacing:.38em; text-transform:uppercase;
      color:var(--gold); margin-bottom:.8rem; opacity:.8;
      display:flex; align-items:center; gap:.8rem; justify-content:center;
    }
    .album-eyebrow::before,.album-eyebrow::after {
      content:''; width:24px; height:1px; background:var(--gold); opacity:.5;
    }
    .album-title {
      font-family:'Playfair Display',serif;
      font-size:clamp(2rem,4vw,3.4rem); font-weight:400;
      color:var(--cream); line-height:1.1;
    }
    .album-title em { font-style:italic; color:var(--gold); }

    /* Each marquee row */
    .album-row {
      display:flex;
      gap:var(--album-gap);
      width:max-content;
      will-change:transform;
      margin-bottom:var(--album-gap);
    }
    .album-row-1 { animation:albumLeft  var(--album-speed) linear infinite; }
    .album-row-2 { animation:albumRight var(--album-speed) linear infinite; }
    .album-row-3 { animation:albumLeft  calc(var(--album-speed) * 1.2) linear infinite; }

    /* Pause / reverse on hover */
    .album-row:hover { animation-play-state:paused; }

    @keyframes albumLeft  { from{transform:translateX(0)} to{transform:translateX(-50%)} }
    @keyframes albumRight { from{transform:translateX(-50%)} to{transform:translateX(0)} }

    /* Individual photo card */
    .album-card {
      flex-shrink:0;
      position:relative;
      border-radius:1.1rem;
      overflow:hidden;
      cursor:none;
      border:1px solid var(--border);
      transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s;
    }
    .album-card:hover {
      transform:scale(1.04) translateY(-4px);
      box-shadow:0 20px 50px rgba(0,0,0,.5), 0 0 0 1px rgba(255,208,96,.35);
      z-index:2;
    }
    .album-card img {
      display:block; object-fit:cover;
      transition:transform .6s cubic-bezier(.16,1,.3,1);
    }
    .album-card:hover img { transform:scale(1.06); }

    /* Sizes — mix portrait/landscape for rhythm */
    .album-card.ls { width:320px; height:220px; }   /* landscape */
    .album-card.pt { width:200px; height:280px; }   /* portrait */
    .album-card.sq { width:240px; height:240px; }   /* square */
    .album-card.ls img { width:320px; height:220px; }
    .album-card.pt img { width:200px; height:280px; }
    .album-card.sq img { width:240px; height:240px; }

    /* Caption overlay on hover */
    .album-caption {
      position:absolute; inset:0;
      background:linear-gradient(to top, rgba(14,12,8,.82) 0%, transparent 55%);
      opacity:0; transition:opacity .35s;
      display:flex; flex-direction:column;
      justify-content:flex-end; padding:1rem 1.1rem;
    }
    .album-card:hover .album-caption { opacity:1; }
    .album-caption-tag {
      font-size:.48rem; letter-spacing:.25em; text-transform:uppercase;
      color:var(--gold); margin-bottom:.25rem;
    }
    .album-caption-title {
      font-family:'Playfair Display',serif;
      font-size:.82rem; font-style:italic; color:var(--cream);
      line-height:1.3;
    }

    /* Edge fade */
    .album-section::before,
    .album-section::after {
      content:''; position:absolute; top:0; bottom:0; width:180px; z-index:3;
      pointer-events:none;
    }
    .album-section::before {
      left:0;
      background:linear-gradient(to right, var(--dark) 0%, transparent 100%);
    }
    .album-section::after {
      right:0;
      background:linear-gradient(to left, var(--dark) 0%, transparent 100%);
    }

    /* ════════════════════════════════════════
       GRID + SCROLLABLE CONTENT SECTION
    ════════════════════════════════════════ */
    .grid-section {
      position:relative; z-index:10;
      display:grid;
      grid-template-columns:420px 1fr;
      height:100vh;
      border-top:1px solid var(--border);
    }

    /* LEFT — fixed index panel */
    .grid-index {
      position:sticky; top:0;
      height:100vh;
      border-right:1px solid var(--border);
      display:flex; flex-direction:column;
      overflow:hidden;
    }
    .grid-index-header {
      padding:3rem 3rem 2rem;
      border-bottom:1px solid var(--border);
      flex-shrink:0;
    }
    .grid-index-eyebrow {
      font-size:.52rem; letter-spacing:.38em; text-transform:uppercase;
      color:var(--gold); opacity:.7; margin-bottom:.6rem;
      display:flex; align-items:center; gap:.6rem;
    }
    .grid-index-eyebrow::before {
      content:''; width:18px; height:1px; background:var(--gold); opacity:.6;
    }
    .grid-index-title {
      font-family:'Playfair Display',serif;
      font-size:1.9rem; font-weight:400; line-height:1.1;
      color:var(--cream);
    }
    .grid-index-title em { font-style:italic; color:var(--gold); }

    /* The numbered list */
    .grid-list {
      list-style:none;
      overflow-y:auto;
      flex:1;
      scrollbar-width:none;
    }
    .grid-list::-webkit-scrollbar { display:none; }

    .grid-item {
      display:grid;
      grid-template-columns:56px 1fr 28px;
      align-items:center;
      gap:0;
      padding:1.5rem 2rem 1.5rem 3rem;
      border-bottom:1px solid rgba(255,208,96,.08);
      cursor:none;
      transition:background .25s;
      position:relative;
    }
    .grid-item::after {
      content:''; position:absolute;
      left:0; top:0; bottom:0; width:2px;
      background:var(--gold);
      transform:scaleY(0); transform-origin:bottom;
      transition:transform .3s cubic-bezier(.16,1,.3,1);
    }
    .grid-item:hover { background:rgba(255,208,96,.04); }
    .grid-item.active { background:rgba(255,208,96,.06); }
    .grid-item.active::after { transform:scaleY(1); }

    .gi-num {
      font-family:'Playfair Display',serif;
      font-size:1.5rem; font-weight:400; font-style:italic;
      color:rgba(255,208,96,.22);
      line-height:1;
      transition:color .3s;
    }
    .grid-item.active .gi-num,
    .grid-item:hover .gi-num { color:var(--gold); }

    .gi-body { min-width:0; padding:0 .8rem; }
    .gi-tag {
      font-size:.48rem; letter-spacing:.26em; text-transform:uppercase;
      color:var(--text-muted); margin-bottom:.3rem;
      transition:color .3s;
    }
    .grid-item.active .gi-tag,
    .grid-item:hover .gi-tag { color:rgba(255,208,96,.6); }
    .gi-title {
      font-family:'Playfair Display',serif;
      font-size:.95rem; font-weight:400; color:var(--text-soft);
      line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
      transition:color .3s;
    }
    .grid-item.active .gi-title,
    .grid-item:hover .gi-title { color:var(--cream); }

    .gi-arrow {
      opacity:0; transition:opacity .25s, transform .25s;
      transform:translateX(-4px);
      color:var(--gold);
    }
    .grid-item.active .gi-arrow,
    .grid-item:hover .gi-arrow { opacity:1; transform:translateX(0); }

    /* RIGHT — scrollable content panel */
    .grid-content {
      overflow-y:auto;
      scrollbar-width:thin;
      scrollbar-color:rgba(255,208,96,.2) transparent;
    }
    .grid-content::-webkit-scrollbar { width:3px; }
    .grid-content::-webkit-scrollbar-track { background:transparent; }
    .grid-content::-webkit-scrollbar-thumb { background:rgba(255,208,96,.2); border-radius:2px; }

    /* Each content panel */
    .gc-panel {
      padding:5rem 5rem 5rem 4rem;
      border-bottom:1px solid var(--border);
      opacity:.25;
      transition:opacity .5s ease;
      cursor:none;
    }
    .gc-panel.active { opacity:1; }
    .gc-panel:last-child { border-bottom:none; min-height:100vh; }

    .gc-num {
      font-family:'Playfair Display',serif;
      font-size:5rem; font-weight:400; font-style:italic;
      color:rgba(255,208,96,.07);
      line-height:1; margin-bottom:-.5rem;
      letter-spacing:-.02em;
    }
    .gc-tag {
      font-size:.52rem; letter-spacing:.32em; text-transform:uppercase;
      color:var(--gold); margin-bottom:1.2rem;
      display:flex; align-items:center; gap:.6rem;
    }
    .gc-tag::before { content:''; width:16px; height:1px; background:var(--gold); }
    .gc-title {
      font-family:'Playfair Display',serif;
      font-size:clamp(1.6rem,2.8vw,2.6rem); font-weight:400;
      color:var(--cream); line-height:1.15;
      margin-bottom:.9rem;
    }
    .gc-subtitle {
      font-family:'Playfair Display',serif;
      font-size:1rem; font-style:italic;
      color:rgba(255,208,96,.55); margin-bottom:2rem;
    }
    .gc-img {
      width:100%; aspect-ratio:16/9; object-fit:cover;
      border-radius:.8rem; display:block;
      margin-bottom:2.2rem;
      border:1px solid rgba(255,208,96,.1);
      filter:brightness(.9) contrast(1.05);
      transition:filter .4s;
    }
    .gc-panel.active .gc-img { filter:brightness(1) contrast(1); }
    .gc-date {
      font-size:.55rem; letter-spacing:.2em; text-transform:uppercase;
      color:var(--text-muted); margin-bottom:2rem;
      padding-bottom:1.5rem; border-bottom:1px solid rgba(255,208,96,.1);
    }
    .gc-body {
      font-size:.88rem; line-height:2.15; color:var(--text-soft);
    }
    .gc-body p { margin-bottom:1.5rem; }
    .gc-body p:first-child { font-size:.98rem; color:var(--text); }
    .gc-read {
      display:inline-flex; align-items:center; gap:.5rem;
      font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
      color:var(--gold); background:none; border:1px solid rgba(255,208,96,.25);
      padding:.65rem 1.6rem; border-radius:2rem;
      margin-top:1rem; cursor:none; font-family:'Jost',sans-serif;
      transition:all .3s;
    }
    .gc-read:hover { background:var(--gold); color:var(--dark); }

    /* Mobile — stack */
    @media (max-width:900px) {
      .grid-section { grid-template-columns:1fr; height:auto; }
      .grid-index { position:relative; height:auto; border-right:none; border-bottom:1px solid var(--border); }
      .grid-list { max-height:360px; overflow-y:auto; }
      .grid-content { overflow-y:visible; }
      .gc-panel { padding:3rem 1.5rem; opacity:1; }
      .gc-panel:not(.active) { display:none; }
    }
    @media (max-width:600px) {
      .grid-index-header { padding:2rem 1.5rem 1.5rem; }
      .grid-item { padding:1.2rem 1rem 1.2rem 1.5rem; }
      .gi-num { font-size:1.2rem; }
      .gi-title { font-size:.88rem; }
    }
    .kt-overlay {
      position:fixed; inset:0; z-index:5000;
      background:var(--dark);
      display:flex; flex-direction:column; justify-content:center;
      overflow:hidden; opacity:0; pointer-events:none;
      transition:opacity .2s ease;
    }
    .kt-overlay.active { opacity:1; pointer-events:all; }
    .kt-row {
      display:flex; align-items:center; padding:.2rem 0;
      border-top:1px solid rgba(255,208,96,.07); overflow:hidden; flex-shrink:0;
    }
    .kt-row:last-child { border-bottom:1px solid rgba(255,208,96,.07); }
    .kt-track { display:flex; align-items:center; will-change:transform; }
    .kt-word {
      font-family:'Playfair Display',serif;
      font-size:clamp(2rem,4.5vw,4.2rem); font-weight:400;
      white-space:nowrap; padding:0 .45em; user-select:none; line-height:1.15;
    }
    .kt-row:nth-child(odd)  .kt-word { font-style:italic; color:var(--gold); }
    .kt-row:nth-child(even) .kt-word { color:transparent; -webkit-text-stroke:1px rgba(255,208,96,.4); }
    .kt-row:nth-child(3n)   .kt-word { font-family:'Dancing Script',cursive; color:rgba(255,208,96,.55); font-size:clamp(1.6rem,3.5vw,3.2rem); }
    .kt-sep { font-size:1.1rem; color:rgba(255,208,96,.3); padding:0 .2em; user-select:none; flex-shrink:0; }

    /* ── POST VIEW ── */
    .post-view {
      position:fixed; inset:0; z-index:4000;
      overflow-y:auto; background:var(--dark);
      opacity:0; pointer-events:none; transition:opacity .35s ease;
    }
    .post-view.visible { opacity:1; pointer-events:all; }
    .post-view-inner { max-width:760px; margin:0 auto; padding:8rem 2.5rem 6rem; }
    .pv-back {
      display:inline-flex; align-items:center; gap:.5rem;
      font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
      color:var(--gold); background:none; border:none;
      font-family:'Jost',sans-serif; cursor:none; margin-bottom:3.5rem;
      transition:gap .3s;
    }
    .pv-back:hover { gap:.9rem; }
    .pv-tag {
      font-size:.55rem; letter-spacing:.3em; text-transform:uppercase;
      color:var(--gold); margin-bottom:1.1rem;
      display:flex; align-items:center; gap:.6rem;
    }
    .pv-tag::before { content:''; width:18px; height:1px; background:var(--gold); }
    .pv-title {
      font-family:'Playfair Display',serif;
      font-size:clamp(2rem,5vw,3.6rem); font-weight:400;
      line-height:1.1; color:var(--cream); margin-bottom:1.4rem;
    }
    .pv-meta {
      font-size:.6rem; letter-spacing:.18em; text-transform:uppercase;
      color:var(--text-muted); padding-bottom:2.2rem;
      border-bottom:1px solid var(--border); margin-bottom:3.2rem;
    }
    .pv-hero-img {
      width:100%; aspect-ratio:16/9; object-fit:cover;
      border-radius:1.2rem; display:block; margin-bottom:3rem;
      border:1px solid var(--border);
    }
    .pv-body { font-size:.96rem; line-height:2.2; color:var(--text-soft); }
    .pv-body p { margin-bottom:1.8rem; }
    .pv-body p:first-child { font-size:1.08rem; color:var(--text); }

    /* ── FOOTER ── */
    footer {
      position:relative; z-index:10;
      border-top:1px solid var(--border);
      padding:3rem 3.5rem 2rem;
      display:flex; justify-content:space-between; align-items:center;
      gap:2rem; flex-wrap:wrap;
    }
    .foot-logo { font-family:'Dancing Script',cursive; font-size:1.8rem; color:var(--gold); text-decoration:none; }
    .foot-copy { font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); text-shadow:0 0 14px rgba(255,200,40,.4); }
    .foot-links { display:flex; gap:1.5rem; }
    .foot-links a { font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text-muted); text-decoration:none; transition:color .3s; }
    .foot-links a:hover { color:var(--gold); }

    /* ── REVEAL ── */
    .reveal { opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
    .reveal.visible { opacity:1; transform:none; }
    .d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s}

    /* ── MOBILE ── */
    @media (max-width:960px) {
      nav { padding:1.2rem 1.5rem; }
      .nav-links { display:none; }
      .blog-hero { padding:7rem 1.5rem 3rem; }
      .post-featured { grid-template-columns:1fr; }
      .post-featured-img img { min-height:240px; }
      .post-featured-body { padding:2.8rem 2.2rem; }
      .posts-grid { grid-template-columns:1fr 1fr; gap:2px; }
      footer { flex-direction:column; text-align:center; padding:2rem 1.5rem; }
      .foot-links { justify-content:center; }
      .album-card.ls { width:240px; height:165px; }
      .album-card.ls img { width:240px; height:165px; }
      .album-card.pt { width:155px; height:215px; }
      .album-card.pt img { width:155px; height:215px; }
      .album-card.sq { width:185px; height:185px; }
      .album-card.sq img { width:185px; height:185px; }
    }
    @media (max-width:600px) {
      body { cursor:auto; }
      #cur, #cur-ring { display:none; }
      .posts-grid { grid-template-columns:1fr; }
      .posts-section { padding:0 1rem 5rem; }
      .blog-hero { padding:6rem 1rem 2.5rem; }
      .kt-word { font-size:clamp(1.4rem,7vw,2.6rem); }
      .album-section::before,.album-section::after { width:60px; }
    }
