
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    :root {
      --white: #0d0d0d;
      --off: #141414;
      --mid: #888880;
      --dark: #f5eed8;
      --gold: #c8102e;
      --gold-bg: rgba(200,16,46,0.1);
    }
    html { scroll-behavior:smooth; }
    body {
      font-family:'Jost',sans-serif;
      background:var(--white); color:var(--dark);
      font-weight:300; -webkit-font-smoothing:antialiased; overflow-x:hidden;
    }



    /* Hamburger - Lightning */
    .hamburger { background:none; border:none; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:3px; padding:4px 8px; z-index:200; position:relative; overflow:visible; }    .hamburger:hover .hamburger-label { color:rgba(245,238,216,0.7); }
    .lightning-icon { filter:drop-shadow(0 0 6px rgba(200,16,46,0.8)); animation:heartbeat 1.8s ease-in-out infinite; }
    .hamburger.open .lightning-icon { filter:drop-shadow(0 0 12px rgba(200,16,46,1)); }
    @keyframes heartbeat {
      0%,100% { transform:scale(1); filter:drop-shadow(0 0 4px rgba(200,16,46,0.6)); }
      14%     { transform:scale(1.2); filter:drop-shadow(0 0 12px rgba(200,16,46,1)); }
      28%     { transform:scale(1); filter:drop-shadow(0 0 4px rgba(200,16,46,0.6)); }
      42%     { transform:scale(1.15); filter:drop-shadow(0 0 10px rgba(200,16,46,0.9)); }
      56%     { transform:scale(1); filter:drop-shadow(0 0 4px rgba(200,16,46,0.6)); }
    }

    /* Side menu */
    .side-menu { position:fixed; top:0; right:-260px; width:240px; height:100vh; height:100dvh; background:#1a1a1a; border-left:1px solid rgba(200,16,46,0.3); z-index:999; transition:transform 0.4s cubic-bezier(.25,.46,.45,.94), right 0.4s cubic-bezier(.25,.46,.45,.94); display:flex; flex-direction:column; padding:72px 40px 60px; overflow-y:auto; -webkit-overflow-scrolling:touch; }
    .side-menu.open { right:0; }
    .side-menu-close { display:none; }
    .side-menu-close:hover { background:#a80d25; transform:scale(1.1); box-shadow:0 6px 20px rgba(200,16,46,0.7); }
    .side-menu-.side-nav-inner { display:flex; flex-direction:column; gap:4px; flex:1; margin-top:20px; }
    .side-menu-nav a { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:300; font-style:italic; color:rgba(245,238,216,0.75); text-decoration:none; display:block; padding:8px 0; border-bottom:1px solid rgba(245,238,216,0.06); transition:color 0.25s, padding-left 0.25s; }
    .side-menu-nav a:hover { color:#c8102e; padding-left:8px; }
    .side-menu-footer { font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:#c8102e; }
    .side-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:500; opacity:0; pointer-events:none; transition:opacity 0.3s; top:56px; }
    .side-overlay.open { opacity:1; pointer-events:all; }

    /* Custom cursor */
    *, *::before, *::after { cursor: none !important; }
    #cursor {
      position: fixed; width: 10px; height: 10px; border-radius: 50%;
      background: var(--gold); pointer-events: none; z-index: 9999;
      transform: translate(-50%,-50%); transition: transform 0.12s ease, width 0.2s ease, height 0.2s ease, opacity 0.2s ease;
      mix-blend-mode: normal;
    }
    #cursor-ring {
      position: fixed; width: 32px; height: 32px; border-radius: 50%;
      border: 1.5px solid rgba(200,16,46,0.55); pointer-events: none; z-index: 9998;
      transform: translate(-50%,-50%); transition: transform 0.22s ease, width 0.25s ease, height 0.25s ease, opacity 0.2s;
    }
    body:hover #cursor { opacity: 1; }
    a:hover ~ #cursor, button:hover ~ #cursor { width: 16px; height: 16px; }

    /* ── NAV ── */
    nav {
      position:fixed; top:0; left:0; right:0; z-index:100;
      display:flex; justify-content:space-between; align-items:center;
      padding:0 40px; height:64px;
      background:#1c1c1c; overflow:visible;
      border-bottom:1px solid rgba(200,16,46,0.35);
    }
    .nav-brand { display:flex; flex-direction:column; gap:1px; justify-content:center; }
    .nav-logo { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.15rem; letter-spacing:0.14em; color:#f5eed8; text-decoration:none; }
    .nav-tagline { font-size:0.52rem; letter-spacing:0.22em; text-transform:uppercase; color:#c8102e; font-weight:300; }
    nav ul { list-style:none; display:flex; gap:34px; }

    nav ul a { font-size:0.68rem; font-weight:300; letter-spacing:0.1em; text-transform:uppercase; color:rgba(245,238,216,0.8); text-decoration:none; transition:color 0.2s; }
    nav ul a:hover { color:var(--gold); }
    .nav-socials { display:flex; gap:16px; align-items:center; }
    .social-icon { color:rgba(245,238,216,0.62); transition:color 0.2s, transform 0.2s; display:flex; align-items:center; }
    .social-icon:hover { color:var(--gold); transform:translateY(-2px); }

    /* ── HERO ── */
    .hero {
      min-height:100vh; display:flex; flex-direction:column;
      justify-content:center; align-items:center; text-align:center;
      padding:128px 24px 0; background:#111111; position:relative; overflow:hidden;
    }
    .hero-eyebrow {
      font-size:0.68rem; letter-spacing:0.26em; text-transform:uppercase;
      color:rgba(245,238,216,0.45); font-weight:300; margin-bottom:28px;
      opacity:0; animation:fadeUp 0.9s ease forwards 0.2s;
    }
    .hero h1 {
      font-family:'Cormorant Garamond',serif; font-weight:300;
      font-size:clamp(3.2rem,8.5vw,7.5rem); line-height:1.04; color:var(--dark);
      opacity:0; animation:fadeUp 0.9s ease forwards 0.45s;
    }
    .hero h1 em { font-style:italic; color:var(--mid); }
    .hero-sub {
      margin-top:30px; font-size:1.02rem; font-weight:300; color:rgba(245,238,216,0.62);
      max-width:560px; line-height:1.85;
      opacity:0; animation:fadeUp 0.9s ease forwards 0.7s;
    }
    .hero-cta {
      margin-top:52px; display:flex; gap:14px; flex-wrap:wrap; justify-content:center;
      opacity:0; animation:fadeUp 0.9s ease forwards 0.9s;
    }
    .btn {
      display:inline-block; padding:13px 34px; border-radius:980px;
      font-size:0.76rem; letter-spacing:0.08em; font-weight:300;
      cursor:pointer; transition:background 0.2s ease, transform 0.25s ease, box-shadow 0.25s ease; text-decoration:none; font-family:'Jost',sans-serif;
    }
    .btn-dark-OLD {}
    
    .btn-outline-OLD {}
    
    .btn-gold-OLD {}
    
    .scroll-label {
      margin-top:60px;
      font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase;
      color:rgba(245,238,216,0.8); opacity:0; animation:fadeUp 1s ease forwards 1.1s;
    }
    .scroll-signal {
      margin-top:16px;
      display:flex; flex-direction:column; align-items:center; gap:5px;
      opacity:0; animation:fadeUp 1s ease forwards 1.2s;
      padding-bottom:70px;
    }
    .sig {
      display:block; border-radius:0 0 40px 40px;
      border-left:1.5px solid var(--gold); border-right:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold);
      border-top:none;
    }
    .sig1 { width:10px; height:6px; animation:sigPulse 1.8s ease-in-out infinite 0s; }
    .sig2 { width:20px; height:10px; animation:sigPulse 1.8s ease-in-out infinite 0.2s; }
    .sig3 { width:30px; height:14px; animation:sigPulse 1.8s ease-in-out infinite 0.4s; }
    .sig4 { width:42px; height:19px; animation:sigPulse 1.8s ease-in-out infinite 0.6s; }
    .sig5 { width:56px; height:25px; animation:sigPulse 1.8s ease-in-out infinite 0.8s; }
    @keyframes sigPulse { 0%,100%{opacity:0.18;} 50%{opacity:1;} }


    /* ── SHARED ── */
    section { padding:110px 24px; }
    .inner { max-width:1000px; margin:0 auto; }
    .s-label { font-size:0.78rem; letter-spacing:0.28em; text-transform:uppercase; color:#c8102e; margin-bottom:14px; font-weight:400; }
    .s-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(2.2rem,5vw,4rem); line-height:1.08; color:var(--dark); margin-bottom:36px; }
    .s-title em { font-style:italic; color:var(--mid); }

    .reveal { opacity:0; transform:translateY(30px); transition:opacity 0.85s cubic-bezier(.25,.46,.45,.94), transform 0.85s cubic-bezier(.25,.46,.45,.94); }
    .reveal.visible { opacity:1; transform:translateY(0); }
    .d1 { transition-delay:0.1s; } .d2 { transition-delay:0.2s; } .d3 { transition-delay:0.3s; } .d4 { transition-delay:0.4s; }

    /* ── ABOUT ── */
    .about { background:#161616; }
    .about-grid { display:grid; grid-template-columns:5fr 7fr; gap:80px; align-items:start; }
    .about-photo { width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top center; filter:grayscale(100%); display:block; border-radius:3px; }
    .about-text .tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.45rem; color:var(--dark); line-height:1.5; margin-bottom:28px; }
    .about-text p { font-size:0.95rem; line-height:1.9; color:rgba(245,238,216,0.82); margin-bottom:0; }
    .about-text .tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.45rem; color:var(--dark); line-height:1.5; margin-bottom:44px; }

    /* Stats */
    .stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:40px; background:rgba(245,238,216,0.09); border-radius:14px; overflow:hidden; }
    .stat-cell { background:#242424; padding:28px 20px; }
    .stat-num { font-family:'Cormorant Garamond',serif; font-size:2.6rem; font-weight:300; color:#c8102e; line-height:1; }
    .stat-lbl { font-size:0.62rem; letter-spacing:0.13em; text-transform:uppercase; color:var(--mid); margin-top:8px; line-height:1.4; }

    /* ── SERVICES ── */
    .services { background:#111111; }
    .svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(245,238,216,0.07); border-radius:18px; overflow:hidden; margin-top:8px; }
    .svc-item { background:#242424; padding:48px 38px; transition:background 0.3s; position:relative; overflow:hidden; }
    .svc-item:hover { background:#f5eed8; }
    /* Service cards - hover reveal */
    .svc-item { position:relative; overflow:hidden; cursor:default; }
    .svc-icon { width:52px; height:52px; margin-bottom:24px; position:relative; display:flex; align-items:center; justify-content:center; transition:transform 0.4s ease, margin-bottom 0.4s ease; }
    .svc-item:hover .svc-icon { transform:translateY(-4px); filter:invert(0); }
    .svc-item p { opacity:0; transform:translateY(8px); transition:opacity 0.4s ease 0.05s, transform 0.4s ease 0.05s; max-height:0; overflow:hidden; }
    .svc-item:hover p { opacity:1; transform:translateY(0); max-height:200px; }

    /* Elegant geometric icons - always animating */
    .icon-ring { width:40px; height:40px; border-radius:50%; border:2px solid var(--gold); animation:spinSlow 3s linear infinite; position:relative; box-shadow:0 0 0 0 rgba(200,16,46,0.3); }
    .icon-ring::before { content:''; position:absolute; top:50%; left:50%; width:20px; height:20px; margin:-10px 0 0 -10px; border-radius:50%; border:2px solid rgba(200,16,46,0.7); animation:spinSlow 1.8s linear infinite reverse; }
    .icon-ring::after { content:''; position:absolute; top:50%; left:50%; width:8px; height:8px; margin:-4px 0 0 -4px; border-radius:50%; background:var(--gold); animation:pulse 1s ease-in-out infinite; }

    .icon-diamond { width:26px; height:26px; border:2px solid var(--gold); transform:rotate(45deg); animation:diamondPulse 1.5s ease-in-out infinite; position:relative; }
    .icon-diamond::after { content:''; position:absolute; inset:5px; border:1.5px solid rgba(200,16,46,0.6); animation:diamondPulse 1.5s ease-in-out infinite reverse; }

    .icon-lines { display:flex; flex-direction:column; gap:7px; width:38px; }
    .icon-lines span { display:block; height:2px; background:var(--gold); border-radius:2px; transform-origin:left; }
    .icon-lines span:nth-child(1) { width:100%; animation:lineBreath 1.2s ease-in-out infinite; }
    .icon-lines span:nth-child(2) { width:65%; animation:lineBreath 1.2s ease-in-out infinite 0.2s; }
    .icon-lines span:nth-child(3) { width:80%; animation:lineBreath 1.2s ease-in-out infinite 0.4s; }

    .icon-dots { display:grid; grid-template-columns:repeat(3,7px); gap:5px; }
    .icon-dots span { display:block; width:7px; height:7px; border-radius:50%; background:var(--gold); }
    .icon-dots span:nth-child(1){animation:dotWave 1.2s ease-in-out infinite 0s}
    .icon-dots span:nth-child(2){animation:dotWave 1.2s ease-in-out infinite 0.08s}
    .icon-dots span:nth-child(3){animation:dotWave 1.2s ease-in-out infinite 0.16s}
    .icon-dots span:nth-child(4){animation:dotWave 1.2s ease-in-out infinite 0.24s}
    .icon-dots span:nth-child(5){animation:dotWave 1.2s ease-in-out infinite 0.32s}
    .icon-dots span:nth-child(6){animation:dotWave 1.2s ease-in-out infinite 0.40s}
    .icon-dots span:nth-child(7){animation:dotWave 1.2s ease-in-out infinite 0.48s}
    .icon-dots span:nth-child(8){animation:dotWave 1.2s ease-in-out infinite 0.56s}
    .icon-dots span:nth-child(9){animation:dotWave 1.2s ease-in-out infinite 0.64s}

    .icon-star { position:relative; width:38px; height:38px; }
    .icon-star::before { content:''; position:absolute; inset:2px; border:2px solid var(--gold); border-radius:3px; animation:rotateStar 2s ease-in-out infinite; }
    .icon-star::after { content:''; position:absolute; inset:8px; border:1.5px solid rgba(200,16,46,0.7); border-radius:2px; animation:rotateStar 2s ease-in-out infinite reverse 1s; }

    .icon-note { position:relative; width:36px; height:40px; }
    .icon-note::before { content:''; position:absolute; bottom:4px; left:0; width:16px; height:11px; border-radius:50%; background:var(--gold); animation:noteFloat 0.9s ease-in-out infinite; }
    .icon-note::after { content:''; position:absolute; left:14px; bottom:4px; width:2px; height:30px; background:var(--gold); animation:noteFloat 0.9s ease-in-out infinite; }
    .icon-note-flag { position:absolute; left:14px; top:2px; width:16px; height:2px; background:var(--gold); animation:noteFloat 0.9s ease-in-out infinite; }
    .icon-note-flag::after { content:''; position:absolute; right:0; top:0; width:2px; height:12px; background:rgba(200,16,46,0.6); }
    .icon-note2 { position:absolute; right:2px; bottom:2px; width:10px; height:8px; border-radius:50%; background:rgba(200,16,46,0.55); animation:noteFloat 0.9s ease-in-out infinite 0.45s; }

    .svc-num { font-family:'Cormorant Garamond',serif; font-size:0.85rem; font-style:italic; color:var(--gold); margin-bottom:14px; transition:color 0.3s; }
    .svc-item:hover .svc-num { color:#c8102e; }
    .svc-item h3 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.35rem; color:var(--dark); margin-bottom:12px; transition:color 0.3s; }
    .svc-item:hover h3 { color:#0d0d0d; }
    .svc-item p { font-size:0.84rem; line-height:1.78; color:var(--mid); }



    /* ── PHILOSOPHY ── */
    .philosophy { background:#0e0e0e; color:var(--dark); }
    .philosophy .s-label { color:#c8102e; }
    .philosophy .s-title { color:var(--dark); }
    .philosophy 
    .phil-lead { font-size:0.95rem; line-height:1.9; color:rgba(245,238,216,0.75); max-width:580px; margin-bottom:60px; }
    .pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(245,238,216,0.04); border-radius:14px; overflow:hidden; perspective:800px; }

    /* ── BRANDS ── */
    .brands { background:#141414; }
    .brands-wrap { display:flex; flex-wrap:wrap; gap:9px; margin-top:8px; }
    .brand-tag { padding:8px 22px; border-radius:980px; border:1px solid rgba(0,0,0,0.12); font-size:0.78rem; letter-spacing:0.06em; color:rgba(245,238,216,0.8); background:#242424; transition:all 0.22s; cursor:default; }
    .brand-tag:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-2px); box-shadow:0 4px 16px rgba(200,16,46,0.15); }


    /* Brand hover pills */
    .brands-wrap { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
    .brand-pill-item { position:relative; display:inline-block; }
    .brand-name-tag { padding:9px 22px; border-radius:980px; border:1px solid rgba(245,238,216,0.18); font-size:0.78rem; letter-spacing:0.07em; color:rgba(245,238,216,0.8); background:#242424; transition:all 0.22s; cursor:default; display:inline-block; }
    .brand-pill-item:hover .brand-name-tag { border-color:var(--gold); color:var(--gold); transform:translateY(-2px); box-shadow:0 4px 16px rgba(200,16,46,0.15); }
    .brand-hover-img { position:absolute; bottom:calc(100% + 10px); left:50%; transform:translateX(-50%) scale(0.85); opacity:0; transition:opacity 0.25s ease, transform 0.25s ease; pointer-events:none; z-index:50; background:#242424; border-radius:10px; padding:10px; box-shadow:0 8px 30px rgba(0,0,0,0.14); min-width:120px; text-align:center; }
    .brand-pill-item:hover .brand-hover-img { opacity:1; transform:translateX(-50%) scale(1); }
    .brand-hover-img img { height:48px; width:auto; max-width:120px; object-fit:contain; display:block; margin:0 auto; }
    .brand-quirky { position:absolute; bottom:calc(100% + 10px); left:50%; transform:translateX(-50%) scale(0.85); opacity:0; transition:opacity 0.25s, transform 0.25s; pointer-events:none; z-index:50; background:#c8102e; color:var(--dark); border-radius:10px; padding:12px 16px; box-shadow:0 8px 30px rgba(0,0,0,0.2); white-space:nowrap; font-size:0.72rem; font-style:italic; letter-spacing:0.04em; }
    .brand-pill-item:hover .brand-quirky { opacity:1; transform:translateX(-50%) scale(1); }

    /* ── HUMAN ── */
    .human { background:#111111; }
    .human-grid { display:grid; grid-template-columns:5fr 7fr; gap:80px; align-items:center; }
    .human-photo-wrap { position:relative; }
    .human-photo { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; filter:grayscale(100%); border-radius:3px; display:block; }
    .human-overlay { position:absolute; bottom:0; left:0; right:0; height:45%; background:linear-gradient(to top,rgba(26,26,26,0.88) 0%,transparent 100%); border-radius:0 0 3px 3px; display:flex; flex-direction:column; justify-content:flex-end; padding:28px; }
    .human-stats { display:flex; gap:28px; }
    .h-num { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:300; color:var(--dark); line-height:1; }
    .h-lbl { font-size:0.58rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(245,238,216,0.58); margin-top:5px; }
    .human-text p { font-size:0.95rem; line-height:1.9; color:rgba(245,238,216,0.75); margin-bottom:18px; }
    .interests { margin-top:28px; display:grid; grid-template-columns:1fr 1fr; gap:2px; background:rgba(245,238,216,0.08); border-radius:12px; overflow:hidden; }
    .interest-item { background:#222222; padding:20px 22px; transition:background 0.3s ease; cursor:default; }
    .interest-item:hover { background:#f5eed8; }
    .interest-item:hover .i-title { color:#0d0d0d; }
    .interest-item:hover .i-sub { color:#a80d25; opacity:1; }
    .interest-item:hover { background:#f5eed8; }
        .interest-item .i-title { font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:rgba(245,238,216,0.88); margin-bottom:4px; transition:color 0.3s; display:block; }
    .interest-item .i-sub { font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:#c8102e; transition:color 0.3s; display:block; opacity:1; font-weight:500; }
        .interest-item .i-sub { font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:#c8102e; transition:color 0.3s; opacity:1; font-weight:500; }
    .interest-item:hover .i-sub { color:#a80d25; opacity:1; }

    .human-caption { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:rgba(245,238,216,0.9); letter-spacing:0.04em; }


    


    /* Card depth */
    .stat-cell { box-shadow: 0 1px 0 rgba(245,238,216,0.05); }
    .svc-item { box-shadow: inset 0 0 0 1px rgba(245,238,216,0.06); }
    .li-card { box-shadow: inset 0 0 0 1px rgba(245,238,216,0.05); }
    .pick-item { box-shadow: inset 0 0 0 1px rgba(245,238,216,0.06); }
    .interest-item { box-shadow: inset 0 0 0 1px rgba(245,238,216,0.06); }
    .pillar { box-shadow: inset 0 0 0 1px rgba(245,238,216,0.06); }

    /* ── CONTACT ── */
    .contact { background:#161616; }
    .contact-wit { font-family:'Jost',sans-serif; font-weight:300; font-style:normal; font-size:0.95rem; line-height:1.9; color:rgba(245,238,216,0.75); margin-bottom:16px; }
    .svc-picker-label { font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(245,238,216,0.45); margin-bottom:18px; }
    .svc-picker { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(245,238,216,0.07); border-radius:14px; overflow:hidden; margin-bottom:48px; }
    .pick-item {
      background:#242424; padding:22px 24px; cursor:pointer;
      transition:background 0.2s; border:none; text-align:left; font-family:'Jost',sans-serif;
      display:flex; flex-direction:column; gap:4px;
    }
    .pick-item:hover { background:#f5eed8; }
    .pick-item.active { background:#c8102e; }
    .pick-item.active:hover { background:#a80d25; }
    .pick-item.active:hover .pick-name { color:#f5eed8; }
    .pick-item.active:hover .pick-num { color:rgba(245,238,216,0.8); }
    .pick-item .pick-num { font-family:'Cormorant Garamond',serif; font-size:0.78rem; font-style:italic; color:var(--gold); }
    .pick-item .pick-name { font-size:0.84rem; font-weight:300; color:rgba(245,238,216,0.8); transition:color 0.25s; }
    .pick-item:hover .pick-name { color:#0d0d0d; }
    .pick-item:hover .pick-num { color:#c8102e; }
    .pick-item.active .pick-name { color:var(--dark); }
    .pick-item.active .pick-num { color:#ffaaaa; }
    .contact-actions { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
    .contact-email { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--dark); text-decoration:none; border-bottom:1px solid rgba(0,0,0,0.18); padding-bottom:2px; transition:all 0.2s; }
    .contact-email:hover { color:var(--gold); border-color:var(--gold); }

    /* ── FOOTER ── */
    footer { background:#c8102e; padding:28px 52px; display:flex; justify-content:space-between; align-items:center; }
    footer .f-logo { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1rem; letter-spacing:0.14em; color:var(--dark); }
    footer p { font-size:0.65rem; color:rgba(245,238,216,0.35); letter-spacing:0.08em; }







    /* ── PILLAR CLEAN ── */
    .pillar { background:rgba(245,238,216,0.055); }
    .pillar:hover, .pillar.open { background:#f5eed8 !important; }

    .pillar-letter {
      font-family:'Cormorant Garamond',serif;
      font-size:3.4rem; font-weight:300; color:#c8102e;
      line-height:1; margin-bottom:14px;
      display:inline-block;
      animation: pillarFloat 3s ease-in-out infinite;
      transition: filter 0.35s ease, color 0.3s;
    }
    .pillars .pillar:nth-child(2) .pillar-letter { animation-delay: 0.6s; }
    .pillars .pillar:nth-child(3) .pillar-letter { animation-delay: 1.2s; }
    @keyframes pillarFloat {
      0%,100% { transform: translateY(0) scale(1); text-shadow: 0 0 0 rgba(200,16,46,0); }
      50% { transform: translateY(-8px) scale(1.08); text-shadow: 0 12px 24px rgba(200,16,46,0.4); }
    }
    .pillar:hover .pillar-letter, .pillar.open .pillar-letter {
      animation: pillarFloat 3s ease-in-out infinite, pillarPop 0.4s cubic-bezier(.34,1.56,.64,1);
      filter: drop-shadow(0 6px 18px rgba(200,16,46,0.6));
      color: #c8102e;
    }
    @keyframes pillarPop {
      0% { transform:scale(1) translateY(0); }
      50% { transform:scale(1.25) translateY(-8px); }
      100% { transform:scale(1) translateY(0); }
    }
    @keyframes pillarHover {
      0% { transform: scale(1) translateY(0) rotate(0deg); }
      60% { transform: scale(1.4) translateY(-10px) rotate(-6deg); }
      100% { transform: scale(1.35) translateY(-6px) rotate(-4deg); }
    }

    .pillar-word {
      font-family:'Cormorant Garamond',serif;
      font-size:1.45rem; font-style:italic;
      display:block; margin-bottom:12px;
      color:rgba(245,238,216,0.88);
      transition: color 0.3s ease, letter-spacing 0.3s ease;
    }
    .pillar:hover .pillar-word, .pillar.open .pillar-word {
      color:#0d0d0d;
      letter-spacing:0.02em;
    }

    .pillar-desc {
      font-size:0.84rem; line-height:1.78; color:#444;
      opacity:0; transform:translateY(10px);
      transition: opacity 0.4s ease 0.08s, transform 0.4s ease 0.08s;
      max-height:0; overflow:hidden;
    }
    .pillar:hover .pillar-desc, .pillar.open .pillar-desc {
      opacity:1; transform:translateY(0); max-height:150px;
    }

    /* Pillar stagger */
    .pillar { opacity:0; transform:translateY(20px); transition: opacity 0.7s ease, transform 0.7s ease, background 0.35s ease; padding:44px 36px; cursor:pointer; position:relative; overflow:hidden; }
    .pillars.visible .pillar:nth-child(1) { opacity:1; transform:translateY(0); transition-delay:0.05s; }
    .pillars.visible .pillar:nth-child(2) { opacity:1; transform:translateY(0); transition-delay:0.22s; }
    .pillars.visible .pillar:nth-child(3) { opacity:1; transform:translateY(0); transition-delay:0.39s; }
    .pillar-letter { display:inline-block; }
    .pillars.visible .pillar:nth-child(1) .pillar-letter { animation: letterDrop 0.6s cubic-bezier(.34,1.56,.64,1) 0.05s both; }
    .pillars.visible .pillar:nth-child(2) .pillar-letter { animation: letterDrop 0.6s cubic-bezier(.34,1.56,.64,1) 0.22s both; }
    .pillars.visible .pillar:nth-child(3) .pillar-letter { animation: letterDrop 0.6s cubic-bezier(.34,1.56,.64,1) 0.39s both; }

    /* ── KEYFRAMES ── */
    @keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
    @keyframes lineGrow { 0%,100%{transform:scaleY(1);opacity:1} 50%{transform:scaleY(0.35);opacity:0.25} }
    @keyframes spinSlow { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
    @keyframes pulse { 0%,100%{opacity:0.4;transform:scale(0.95)} 50%{opacity:1;transform:scale(1.05)} }
    @keyframes lineSlide { 0%,100%{transform:scaleX(1);opacity:0.5} 50%{transform:scaleX(0.7);opacity:1} }

    @keyframes rotateStar { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(45deg)} }
    @keyframes diamondPulse { 0%,100%{transform:rotate(45deg) scale(1)} 50%{transform:rotate(45deg) scale(1.15)} }
    @keyframes lineBreath { 0%,100%{transform:scaleX(1);opacity:0.5} 50%{transform:scaleX(0.7);opacity:1} }
    @keyframes dotWave { 0%,100%{opacity:0.2;transform:scale(0.7)} 50%{opacity:1;transform:scale(1)} }
    @keyframes noteFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
    @keyframes letterDrop { 0%{opacity:0;transform:scale(2.8) translateY(12px);filter:blur(12px);color:transparent} 60%{opacity:1;filter:blur(2px)} 100%{opacity:1;transform:scale(1) translateY(0);filter:blur(0px);} }
    @keyframes countUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

    /* ── RESPONSIVE ── */

    @media(max-width:768px){
      /* Nav */
      nav { padding:0 16px; height:64px; overflow:visible; }
      nav ul { display:none; }

      /* Hero */
      .hero { padding:100px 20px 0; }
      .hero-eyebrow { font-size:0.6rem; letter-spacing:0.18em; margin-bottom:20px; }
      .hero-cta { flex-direction:column; align-items:center; gap:10px; margin-top:36px; }
      .hero-cta .btn { width:100%; max-width:280px; text-align:center; }
      .scroll-label { margin-top:40px; }
      .scroll-signal { margin-top:12px; }

      /* Sections */
      section { padding:70px 20px; }

      /* About */
      .about-grid { grid-template-columns:1fr; gap:32px; }
      .about-photo { aspect-ratio:4/3; }
      .about-text .tagline { font-size:1.15rem; }
      .stats-grid { grid-template-columns:repeat(2,1fr); }

      /* Services */
      .svc-grid { grid-template-columns:1fr; }
      .svc-grid { grid-template-columns:1fr; }

      /* Philosophy */
      .pillars { grid-template-columns:1fr; }

      /* Brands - tap to reveal logo */
      .brand-hover-img { display:none; }
      .brands-wrap { gap:8px; }
      .brand-name-tag { font-size:0.72rem; padding:7px 16px; }

      /* Human */
      .human-grid { grid-template-columns:1fr; gap:32px; }
      .human-photo { aspect-ratio:4/3; }
      .interests { grid-template-columns:1fr 1fr; }

      /* Contact picker */
      .svc-picker { grid-template-columns:1fr 1fr; }
      .pick-item { padding:16px 14px; }
      .contact-actions { flex-direction:column; align-items:flex-start; gap:12px; }
      .contact-email { font-size:1rem; }

      /* Footer */
      footer { flex-direction:column; gap:10px; text-align:center; padding:24px 20px; }

      /* Typography scale */
      .s-title { font-size:clamp(1.9rem,7vw,2.8rem); }
      .about-text .tagline { font-size:1.1rem; }
      .phil-lead { font-size:0.9rem; }
      .pillar-letter { font-size:2.2rem; }
      .pillar-word { font-size:1.2rem; }
      .stat-num { font-size:2rem; }

      /* Services */
      .svc-grid { grid-template-columns:1fr; }
      .svc-grid { grid-template-columns:1fr; }
  
      /* Philosophy */
      .pillars { grid-template-columns:1fr; }

      /* Blog */
      .blog-grid { grid-template-columns:1fr; }

      /* Awards */
      .awards-grid { grid-template-columns:1fr; }

      /* Guest & Investor */
      .guest-grid, .investor-grid { grid-template-columns:1fr; gap:40px; }
      .guest-stats { grid-template-columns:1fr 1fr; }

      .investor-ethos { grid-template-columns:1fr; }
      .investor-tags-wrap { order:-1; }

      /* Contact picker */
      .svc-picker { grid-template-columns:1fr 1fr; }
      .connect-boxes { grid-template-columns:1fr; }

      /* Human interests */
      .interests { grid-template-columns:1fr; }

      /* Footer */
      footer { padding:0; }
      .footer-inner { padding:48px 20px 36px; }
      .footer-logo { font-size:2.2rem; }

      .nav-brand { gap:1px; }
      #cursor, #cursor-ring { display:none !important; }
      * { cursor:auto !important; }
      .nav-series-line { font-size:0.44rem; letter-spacing:0.06em; display:block; }
      /* Nav series line on mobile */
      .nav-brand { gap:1px; }
      #cursor, #cursor-ring { display:none !important; }
      * { cursor:auto !important; }


      /* Pillars single col */
      .pillar { border-right:none; border-bottom:1px solid rgba(245,238,216,0.06); }

      /* SVG icons smaller */
      .svc-svg-icon { width:36px; height:36px; }
      .pillar-anim-icon { width:36px; height:36px; }
    }

    @media(max-width:400px){
      .svc-picker { grid-template-columns:1fr; }
      .guest-stats { grid-template-columns:1fr; }

      .stats-grid { grid-template-columns:1fr 1fr; }
    }

    @media(max-width:400px){
      .svc-picker { grid-template-columns:1fr; }
      .interests { grid-template-columns:1fr; }
      .stats-grid { grid-template-columns:1fr 1fr; }
      .hero h1 { font-size:2.8rem; }
    }

    /* ── FOOTER ── */
    footer { background:#0d0d0d; border-top:1px solid rgba(200,16,46,0.25); }
    .footer-inner { max-width:960px; margin:0 auto; padding:72px 48px 48px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px; }
    .footer-logo { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:3rem; letter-spacing:0.1em; color:#f5eed8; line-height:1; }
    .footer-tagline { font-size:0.62rem; letter-spacing:0.28em; text-transform:uppercase; color:#c8102e; }
    .footer-bio { font-size:0.85rem; color:rgba(245,238,216,0.45); margin-top:4px; }
    .footer-socials { display:flex; gap:20px; margin-top:16px; }
    .footer-social-icon { color:rgba(245,238,216,0.4); transition:color 0.25s, transform 0.25s; display:flex; padding:8px; border:1px solid rgba(245,238,216,0.1); border-radius:50%; }
    .footer-social-icon:hover { color:#c8102e; transform:translateY(-3px); border-color:rgba(200,16,46,0.4); }
    .footer-copy { font-size:0.62rem; letter-spacing:0.1em; color:rgba(245,238,216,0.2); margin-top:8px; }


    /* ── BLOG ── */
    .blog-section { background:#111111; padding:110px 24px; border-top:1px solid rgba(245,238,216,0.05); }
    .blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(245,238,216,0.06); border-radius:14px; overflow:hidden; margin-top:8px; }
    .blog-card { background:#1e1e1e; display:flex; flex-direction:column; transition:background 0.3s; }
    .blog-card:hover { background:#f5eed8; }
    .blog-img-wrap { width:100%; }
    .blog-img { width:100%; height:180px; display:flex; align-items:flex-end; padding:20px; position:relative; }
    .blog-img-text { font-family:'Cormorant Garamond',serif; font-size:0.7rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.5); }
    .blog-body { padding:28px 28px 32px; display:flex; flex-direction:column; gap:14px; flex:1; }
    .blog-meta { display:flex; align-items:center; gap:12px; }
    .blog-tag { font-size:0.6rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(200,16,46,0.35); padding:3px 10px; border-radius:980px; transition:all 0.3s; }
    .blog-card:hover .blog-tag { color:#c8102e; background:rgba(200,16,46,0.08); }
    .blog-date { font-size:0.65rem; letter-spacing:0.08em; color:rgba(245,238,216,0.35); transition:color 0.3s; }
    .blog-card:hover .blog-date { color:#888; }
    .blog-title { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.2rem; line-height:1.35; color:rgba(245,238,216,0.92); transition:color 0.3s; }
    .blog-card:hover .blog-title { color:#0d0d0d; }
    .blog-excerpt { font-size:0.83rem; line-height:1.75; color:rgba(245,238,216,0.5); transition:color 0.3s; flex:1; }
    .blog-card:hover .blog-excerpt { color:#444; }
    .blog-link { font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); text-decoration:none; display:flex; align-items:center; gap:8px; transition:gap 0.2s, color 0.3s; width:fit-content; }
    .blog-link:hover, .blog-card:hover .blog-link { gap:12px; color:#c8102e; }
    @media(max-width:768px){ .blog-grid { grid-template-columns:1fr; } }


    /* ── AWARDS ── */
    .awards-section { background:#0e0e0e; padding:110px 24px; border-top:1px solid rgba(245,238,216,0.05); }
    .awards-sub { font-size:1rem; font-style:italic; font-family:'Cormorant Garamond',serif; color:rgba(245,238,216,0.45); margin-top:-20px; margin-bottom:56px; }
    .awards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(245,238,216,0.06); border-radius:14px; overflow:hidden; }
    .award-card { background:#1e1e1e; padding:48px 36px; transition:background 0.3s; }
    .award-card:hover { background:#f5eed8; }
    .award-icon { font-size:1.8rem; color:var(--gold); margin-bottom:20px; display:inline-block; animation:awardFloat 2.5s ease-in-out infinite; }
    .award-card:nth-child(2) .award-icon { animation-delay:0.5s; }
    .award-card:nth-child(3) .award-icon { animation-delay:1s; }
    .award-card:hover .award-icon { color:#c8102e; animation:awardSpin 1s ease-in-out infinite; }
    @keyframes awardFloat { 0%,100%{transform:translateY(0) scale(1);opacity:0.8} 50%{transform:translateY(-6px) scale(1.15);opacity:1} }
    @keyframes awardSpin { 0%,100%{transform:rotate(0deg) scale(1.2)} 50%{transform:rotate(180deg) scale(1.3)} }
    .award-name { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:400; color:rgba(245,238,216,0.9); margin-bottom:12px; transition:color 0.3s; }
    .award-card:hover .award-name { color:#0d0d0d; }
    .award-desc { font-size:0.84rem; line-height:1.75; color:rgba(245,238,216,0.45); transition:color 0.3s; }
    .award-card:hover .award-desc { color:#444; }
    @media(max-width:768px){ .awards-grid { grid-template-columns:1fr; } }


    /* ── GUEST ── */
    .guest-section { background:#131313; padding:110px 24px; border-top:1px solid rgba(245,238,216,0.05); }
    .guest-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
    .guest-text p { font-size:0.95rem; line-height:1.9; color:rgba(245,238,216,0.72); margin-bottom:16px; }
    .guest-stats { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:rgba(245,238,216,0.06); border-radius:12px; overflow:hidden; }
    .guest-stat-card { background:#1e1e1e; padding:28px 24px; transition:background 0.3s; }
    .guest-stat-card:hover { background:#f5eed8; }
    .g-num { font-family:'Cormorant Garamond',serif; font-size:2.6rem; font-weight:300; color:#c8102e; line-height:1; transition:color 0.3s; }
    .guest-stat-card:hover .g-num { color:#0d0d0d; }
    .g-lbl { font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(245,238,216,0.4); margin-top:6px; transition:color 0.3s; }
    .guest-stat-card:hover .g-lbl { color:#666; }
    .featured-stat { background:#1e1e1e; }
    .g-quote { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.05rem; color:rgba(245,238,216,0.65); line-height:1.6; transition:color 0.3s; }
    .guest-stat-card:hover .g-quote { color:#333; }
    .g-attr { font-size:0.65rem; letter-spacing:0.1em; color:rgba(245,238,216,0.3); margin-top:10px; transition:color 0.3s; }
    .guest-stat-card:hover .g-attr { color:#888; }

    /* ── INVESTOR ── */
    .investor-section { background:#0e0e0e; padding:110px 24px; border-top:1px solid rgba(245,238,216,0.05); }
    .investor-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; margin-top:8px; }
    .investor-text p { font-size:0.95rem; line-height:1.9; color:rgba(245,238,216,0.72); margin-bottom:16px; }
    .investor-cta-line { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.05rem; color:rgba(245,238,216,0.6); line-height:1.7; }
    .inv-tag-label { font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(245,238,216,0.3); margin-bottom:14px; }
    .investor-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
    .inv-tag { padding:7px 16px; border-radius:980px; border:1px solid rgba(200,16,46,0.3); font-size:0.75rem; color:var(--gold); letter-spacing:0.05em; background:rgba(200,16,46,0.06); transition:all 0.2s; cursor:default; }
    .inv-tag:hover { background:rgba(200,16,46,0.15); border-color:var(--gold); }
    .investor-ethos { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(245,238,216,0.06); border-radius:10px; overflow:hidden; }
    .inv-e-item { background:#1a1a1a; padding:18px 16px; transition:background 0.3s; }
    .inv-e-item:hover { background:#f5eed8; }
    .inv-e-title { font-family:'Cormorant Garamond',serif; font-size:1rem; color:rgba(245,238,216,0.85); transition:color 0.3s; }
    .inv-e-item:hover .inv-e-title { color:#0d0d0d; }
    .inv-e-sub { font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(245,238,216,0.35); margin-top:4px; transition:color 0.3s; }
    .inv-e-item:hover .inv-e-sub { color:#666; }

    @media(max-width:768px){
      .guest-grid,.investor-grid { grid-template-columns:1fr; gap:40px; }
      .awards-grid { grid-template-columns:1fr; }
    }


    /* Connect boxes */
    .contact-suggestion { font-size:0.78rem; color:rgba(245,238,216,0.4); font-style:italic; margin-bottom:28px; }
    .contact-funky { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:rgba(245,238,216,0.45); margin-bottom:28px; }
    .connect-boxes { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(245,238,216,0.06); border-radius:14px; overflow:hidden; margin-bottom:8px; }
    .connect-box { background:#1e1e1e; padding:28px 24px; display:flex; gap:16px; align-items:flex-start; text-decoration:none; transition:background 0.3s; }
    .connect-box:hover { background:#f5eed8; }
    .cb-icon { color:var(--gold); flex-shrink:0; margin-top:2px; transition:color 0.3s, transform 0.3s; }
    .connect-box:hover .cb-icon { color:#c8102e; transform:scale(1.15); }
    .cb-title { font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:rgba(245,238,216,0.9); margin-bottom:4px; transition:color 0.3s; }
    .connect-box:hover .cb-title { color:#0d0d0d; }
    .cb-sub { font-size:0.72rem; line-height:1.55; color:rgba(245,238,216,0.38); transition:color 0.3s; }
    .connect-box:hover .cb-sub { color:#555; }
    @media(max-width:768px){ .connect-boxes { grid-template-columns:1fr; } }



    .inv-knowledge { display:grid; grid-template-columns:1fr; gap:2px; background:rgba(245,238,216,0.06); border-radius:10px; overflow:hidden; margin:20px 0; }
    .inv-k-item { background:#1a1a1a; padding:20px 22px; transition:background 0.3s; }
    .inv-k-item:hover { background:#f5eed8; }
    .inv-k-title { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--gold); margin-bottom:6px; transition:color 0.3s; }
    .inv-k-item:hover .inv-k-title { color:#c8102e; }
    .inv-k-desc { font-size:0.82rem; line-height:1.75; color:rgba(245,238,216,0.6); transition:color 0.3s; }
    .inv-k-item:hover .inv-k-desc { color:#333; }



    /* Re-colour icons to red when on cream */
    .pillar:hover .icon-ring, .pillar.open .icon-ring { border-color:#c8102e !important; }
    .pillar:hover .icon-ring::before, .pillar.open .icon-ring::before { border-color:rgba(200,16,46,0.5) !important; }
    .pillar:hover .icon-ring::after, .pillar.open .icon-ring::after { background:#c8102e !important; }
    .pillar:hover .icon-diamond, .pillar.open .icon-diamond { border-color:#c8102e !important; }
    .pillar:hover .icon-diamond::after, .pillar.open .icon-diamond::after { border-color:rgba(200,16,46,0.5) !important; }
    .pillar:hover .icon-lines span, .pillar.open .icon-lines span { background:#c8102e !important; }




    


    /* ── BUTTONS DEFINITIVE ── */
    .btn-dark {
      background: #c8102e;
      color: #ffffff;
      border: none;
      box-shadow: 0 2px 12px rgba(200,16,46,0.3);
    }
    .btn-dark:hover {
      background: #c8102e;
      box-shadow: 0 8px 28px rgba(200,16,46,0.5);
      transform: translateY(-3px);
    }

    .btn-gold {
      background: #c8102e;
      color: #ffffff;
      border: none;
      box-shadow: 0 2px 12px rgba(200,16,46,0.3);
    }
    .btn-gold:hover {
      background: #c8102e;
      box-shadow: 0 8px 28px rgba(200,16,46,0.5);
      transform: translateY(-3px);
    }
    .btn-gold:active, .btn-gold:focus { background: #c8102e; outline: none; box-shadow: none; }

    .btn-outline {
      background: transparent;
      color: rgba(245,238,216,0.8);
      border: 1px solid rgba(245,238,216,0.25);
    }
    .btn-outline:hover { background: rgba(245,238,216,0.06); transform: translateY(-2px); }


 50%{transform:rotate(90deg) scale(1.1)} }


    /* Pillar animated icons */
    .pillar-anim-icon { width:44px; height:44px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
    .pai { position:relative; width:36px; height:36px; display:flex; align-items:center; justify-content:center; }

 50%{transform:scaleX(0.6);opacity:1} }


    /* interests 3x2 grid borders */
    .interest-item:nth-child(even) { border-left: 1px solid rgba(245,238,216,0.08); }
    .interest-item:nth-child(1), .interest-item:nth-child(2) { border-bottom: 1px solid rgba(245,238,216,0.08); }
    .interest-item:nth-child(3), .interest-item:nth-child(4) { border-bottom: 1px solid rgba(245,238,216,0.08); }
    .interest-item:nth-child(5), .interest-item:nth-child(6) { border-bottom: none; }


    /* ── UNIQUE PILLAR ICONS ── */


    /* Lightning bolt (What) */
    .pai-bolt { display:flex; align-items:center; justify-content:center; }
    .pb-svg { animation:boltFlash 1.8s ease-in-out infinite; transform-origin:center; }
    @keyframes boltFlashFast {
      0%,100% { opacity:0.7; filter:drop-shadow(0 0 4px rgba(200,16,46,0.4)); transform:scale(1); }
      50%     { opacity:1; filter:drop-shadow(0 0 20px rgba(200,16,46,1)); transform:scale(1.15); }
    }
    @keyframes boltFlash { 0%{opacity:0.3;filter:drop-shadow(0 0 0 rgba(200,16,46,0));transform:scale(0.9)} 50%{opacity:1;filter:drop-shadow(0 0 14px rgba(200,16,46,0.8));transform:scale(1.1)} 100%{opacity:0.3;filter:drop-shadow(0 0 0 rgba(200,16,46,0));transform:scale(0.9)} }
    .pillar:hover .pb-svg, .pillar.open .pb-svg { animation:boltFlashFast 0.6s ease-in-out infinite; }

    /* Steps/arrows (How) */
    .pai-steps { position:relative; width:36px; height:36px; display:flex; align-items:flex-end; gap:4px; padding-bottom:2px; }


    /* ── SVG SERVICE ICONS ── */
    .svc-svg-icon { display:block; transition:transform 0.3s ease; }
    .svc-item:hover .svc-svg-icon { transform:translateY(-4px) scale(1.05); }

    /* Compass rotate */
    .svc-anim-rotate { animation:paiSpin 8s linear infinite; transform-origin:22px 22px; }
    .svc-item:hover .svc-anim-rotate { animation-duration:2s; }

    /* Bar chart rise */
    .svc-bar-1 { animation:barUp 2s ease-in-out infinite 0s; transform-origin:bottom; }
    .svc-bar-2 { animation:barUp 2s ease-in-out infinite 0.25s; transform-origin:bottom; }
    .svc-bar-3 { animation:barUp 2s ease-in-out infinite 0.5s; transform-origin:bottom; }
    @keyframes barUp { 0%,100%{opacity:0.6} 50%{opacity:1} }

    /* Wifi signal pulse */
    .svc-wifi-dot { animation:paiPulse 1.8s ease-in-out infinite; }
    .svc-wifi-1 { animation:wifiPulse 1.8s ease-in-out infinite 0.2s; }
    .svc-wifi-2 { animation:wifiPulse 1.8s ease-in-out infinite 0.5s; }
    .svc-wifi-3 { animation:wifiPulse 1.8s ease-in-out infinite 0.8s; }
    @keyframes wifiPulse { 0%,100%{opacity:0.15} 50%{opacity:0.7} }

    /* Speech bubble */
    .svc-bubble { animation:bubbleBreath 2.5s ease-in-out infinite; }
    .svc-line-1 { animation:lineBreath 2s ease-in-out infinite 0s; }
    .svc-line-2 { animation:lineBreath 2s ease-in-out infinite 0.4s; }
    @keyframes bubbleBreath { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }


    /* Magnifying glass (Why) */
    .pai-magnify { display:flex; align-items:center; justify-content:center; }
    .pm-svg { animation:magnifySearch 2.5s ease-in-out infinite; transform-origin:center; }
    @keyframes magnifySearch {
      0%   { transform:translate(0,0) scale(1); filter:drop-shadow(0 0 0 rgba(200,16,46,0)); }
      30%  { transform:translate(-3px,-3px) scale(1.1); filter:drop-shadow(0 4px 10px rgba(200,16,46,0.5)); }
      60%  { transform:translate(3px,2px) scale(0.95); filter:drop-shadow(0 2px 6px rgba(200,16,46,0.3)); }
      100% { transform:translate(0,0) scale(1); filter:drop-shadow(0 0 0 rgba(200,16,46,0)); }
    }
    .pillar:hover .pm-svg, .pillar.open .pm-svg { animation:magnifySearch 1s ease-in-out infinite; }

    /* Upward arrow (How) */
    .pai-arrow { display:flex; align-items:center; justify-content:center; }
    .pa-svg { animation:arrowUp 1.6s ease-in-out infinite; transform-origin:center bottom; }
    @keyframes arrowUp {
      0%,100% { transform:translateY(0); filter:drop-shadow(0 0 0 rgba(200,16,46,0)); opacity:0.7; }
      50%     { transform:translateY(-7px); filter:drop-shadow(0 8px 16px rgba(200,16,46,0.6)); opacity:1; }
    }
    .pillar:hover .pa-svg, .pillar.open .pa-svg { animation:arrowUp 0.8s ease-in-out infinite; }

    .pick-item-quirky .pick-name { font-style:italic; }

    /* Human section paragraph spacing */
    .human-text-col p { font-size:0.95rem; line-height:1.9; color:rgba(245,238,216,0.75); margin-bottom:32px; }

  
    /* ── MOBILE TOUCH MIRRORS (mirrors :hover for touch) ── */
    .svc-item.hovered { background:#f5eed8 !important; }
    .svc-item.hovered p { opacity:1 !important; transform:translateY(0) !important; max-height:200px !important; color:#333 !important; }
    .svc-item.hovered h3 { color:#0d0d0d !important; }
    .svc-item.hovered .svc-num { color:#c8102e !important; }
    .svc-item.hovered .svc-svg-icon { transform:translateY(-4px) scale(1.05) !important; }

    .pillar.hovered { background:#f5eed8 !important; }
    .pillar.hovered .pillar-word { color:#0d0d0d !important; letter-spacing:0.02em !important; }
    .pillar.hovered .pillar-desc { opacity:1 !important; transform:translateY(0) !important; max-height:150px !important; color:#333 !important; }
    .pillar.hovered .pillar-letter { animation:pillarFloat 3s ease-in-out infinite, pillarPop 0.4s cubic-bezier(.34,1.56,.64,1) !important; filter:drop-shadow(0 6px 18px rgba(200,16,46,0.6)) !important; }
    .pillar.hovered .pm-svg { animation:magnifySearch 1s ease-in-out infinite !important; }
    .pillar.hovered .pb-svg { animation:boltFlashFast 0.6s ease-in-out infinite !important; }
    .pillar.hovered .pa-svg { animation:arrowUp 0.8s ease-in-out infinite !important; }

    .award-card.hovered { background:#f5eed8 !important; }
    .award-card.hovered .award-icon { color:#c8102e !important; animation:awardSpin 1s ease-in-out infinite !important; }
    .award-card.hovered .award-name { color:#0d0d0d !important; }
    .award-card.hovered .award-desc { color:#444 !important; }

    .stat-cell.hovered { background:#f5eed8 !important; }
    .stat-cell.hovered .stat-num, .stat-cell.hovered .stat-lbl { color:#0d0d0d !important; }

    .interest-item.hovered { background:#f5eed8 !important; }
    .interest-item.hovered .i-title { color:#0d0d0d !important; }
    .interest-item.hovered .i-sub { color:#555 !important; }

    .connect-box.hovered { background:#f5eed8 !important; }
    .connect-box.hovered .cb-icon { color:#c8102e !important; transform:scale(1.15) !important; }
    .connect-box.hovered .cb-title { color:#0d0d0d !important; }
    .connect-box.hovered .cb-sub { color:#555 !important; }

    .pick-item.hovered { background:#f5eed8 !important; }
    .pick-item.hovered .pick-name { color:#0d0d0d !important; }
    .pick-item.hovered .pick-num { color:#c8102e !important; }

    .blog-card.hovered { background:#f5eed8 !important; }
    .blog-card.hovered .blog-title { color:#0d0d0d !important; }
    .blog-card.hovered .blog-excerpt { color:#444 !important; }
    .blog-card.hovered .blog-tag { color:#c8102e !important; }
    .blog-card.hovered .blog-date { color:#888 !important; }
    .blog-card.hovered .blog-link { color:#c8102e !important; }

    .brand-pill-item.hovered .brand-name-tag { border-color:var(--gold) !important; color:var(--gold) !important; transform:translateY(-2px) !important; }
    .brand-pill-item.hovered .brand-hover-img { opacity:1 !important; transform:translateX(-50%) scale(1) !important; display:block !important; }
    .brand-pill-item.hovered .brand-quirky { opacity:1 !important; transform:translateX(-50%) scale(1) !important; }

    .guest-stat-card.hovered { background:#f5eed8 !important; }
    .guest-stat-card.hovered .g-num { color:#0d0d0d !important; }
    .guest-stat-card.hovered .g-lbl { color:#666 !important; }
    .guest-stat-card.hovered .g-quote { color:#333 !important; }
    .guest-stat-card.hovered .g-attr { color:#888 !important; }

    .inv-k-item.hovered { background:#f5eed8 !important; }
    .inv-k-item.hovered .inv-k-title { color:#c8102e !important; }
    .inv-k-item.hovered .inv-k-desc { color:#333 !important; }

    .inv-e-item.hovered { background:#f5eed8 !important; }
    .inv-e-item.hovered .inv-e-title { color:#0d0d0d !important; }
    .inv-e-item.hovered .inv-e-sub { color:#666 !important; }
  
    /* Blog real images */
    .blog-real-img { width:100%; height:180px; object-fit:cover; display:block; transition:transform 0.4s ease; }
    .blog-card:hover .blog-real-img, .blog-card.hovered .blog-real-img { transform:scale(1.04); }
    .blog-img-wrap { overflow:hidden; }
    .blog-card { cursor:pointer; }

    /* Post modal */
    .post-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.85); z-index:800; opacity:0; pointer-events:none; transition:opacity 0.35s ease; }
    .post-overlay.open { opacity:1; pointer-events:all; }
    .post-modal { position:fixed; top:0; right:0; width:min(680px,100vw); height:100vh; background:#141414; z-index:900; overflow-y:auto; transition:transform 0.4s cubic-bezier(.25,.46,.45,.94); border-left:1px solid rgba(200,16,46,0.3); transform:translateX(100%); }
    .post-modal.open { transform:translateX(0); }
    .post-close { position:sticky; top:16px; float:right; margin:16px 16px 0 0; background:rgba(200,16,46,0.15); border:1px solid rgba(200,16,46,0.4); color:rgba(245,238,216,0.7); width:36px; height:36px; border-radius:50%; font-size:0.9rem; cursor:pointer; transition:all 0.2s; display:flex; align-items:center; justify-content:center; z-index:10; }
    .post-close:hover { background:#c8102e; color:#fff; }
    .post-inner { padding:0 40px 60px; clear:both; }
    .post-hero-img { width:calc(100% + 80px); margin-left:-40px; height:280px; object-fit:cover; display:block; margin-bottom:32px; }
    .post-meta { display:flex; gap:14px; align-items:center; margin-bottom:20px; }
    .post-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(1.5rem,4vw,2.2rem); color:rgba(245,238,216,0.95); line-height:1.2; margin-bottom:32px; }
    .post-body p { font-size:0.95rem; line-height:1.9; color:rgba(245,238,216,0.72); margin-bottom:22px; }
    .post-body strong { color:rgba(245,238,216,0.92); font-weight:400; }
    .post-body em { color:rgba(245,238,216,0.55); font-style:italic; }
    @media(max-width:768px){ .post-inner { padding:0 20px 48px; } .post-hero-img { width:calc(100% + 40px); margin-left:-20px; height:200px; } }


    .g-infinity { font-family:'Cormorant Garamond',serif; font-size:2.6rem; font-weight:300; color:#c8102e; transition:color 0.3s; }    .hamburger:hover .hamburger-label { color:rgba(245,238,216,0.9); }





    /* ── HAMBURGER LABEL ── */
    .hamburger-label { display:block; position:relative; height:12px; min-width:90px; text-align:center; margin-top:2px; }
    .lbl-a, .lbl-b { position:absolute; left:0; right:0; font-size:0.58rem; letter-spacing:0.1em; font-family:'Jost',sans-serif; font-weight:300; white-space:nowrap; transition:opacity 0.4s ease; }
    .lbl-a { color:rgba(245,238,216,0.7); opacity:1; }
    .lbl-b { color:#c8102e; font-weight:500; opacity:0; }
    .hamburger:hover .lbl-a { opacity:0; }
    .hamburger:hover .lbl-b { opacity:1; }
    .hamburger.show-tooltip .lbl-a { opacity:0; }
    .hamburger.show-tooltip .lbl-b { opacity:1; }


    /* Lightning <-> X swap */
    .close-icon { display:none; filter:drop-shadow(0 0 6px rgba(200,16,46,0.8)); }
    .hamburger.open .lightning-icon { display:none; }
    .hamburger.open .close-icon { display:block; animation:heartbeat 1.8s ease-in-out infinite; }
    .hamburger.open .lbl-a { display:none; }
    .hamburger.open .lbl-b { opacity:1; color:#c8102e; }


    /* Menu close button */
    .menu-close-btn {
      position:absolute; top:16px; right:16px;
      width:40px; height:40px; border-radius:50%;
      background:#c8102e; display:flex; align-items:center; justify-content:center;
      cursor:pointer; z-index:10;
      box-shadow:0 4px 16px rgba(200,16,46,0.5);
      transition:transform 0.2s ease, box-shadow 0.2s ease;
      -webkit-tap-highlight-color:transparent;
    }
    .menu-close-btn:hover { transform:scale(1.1); box-shadow:0 6px 20px rgba(200,16,46,0.7); }
    .menu-close-btn:active { transform:scale(0.95); }

  