    /* ─── DESIGN TOKENS ─── */
    :root {
      --red:        #E8193C;
      --red-dark:   #C4102D;
      --red-glow:   rgba(232,25,60,.16);
      --red-glow-s: rgba(232,25,60,.07);
      --bg:         #090909;
      --bg2:        #0d0d0d;
      --bg3:        #111111;
      --glass:      rgba(255,255,255,.03);
      --glass-bd:   rgba(255,255,255,.07);
      --glass-hv:   rgba(255,255,255,.055);
      --white:      #ffffff;
      --body:       rgba(255,255,255,.6);
      --muted:      rgba(255,255,255,.38);
      --nav-h:      96px;
      --r:          14px;
      --pill:       100px;
      --max:        1280px;
      --px:         clamp(20px,5vw,80px);
    }
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
    body { font-family:'DM Sans',sans-serif; background:var(--bg); color:var(--body); overflow-x:hidden; }

    /* ─── TYPE SCALE ─── */
    h1 { font-family:'Syne',sans-serif; font-weight:800; font-size:clamp(40px,3.5vw,48px); line-height:1.1; letter-spacing:-.025em; color:#fff; }
    h2 { font-family:'Syne',sans-serif; font-weight:800; font-size:clamp(32px,2.8vw,36px); line-height:1.15; letter-spacing:-.02em;  color:#fff; }
    h3 { font-family:'Syne',sans-serif; font-weight:700; font-size:clamp(24px,2.2vw,28px); line-height:1.25; letter-spacing:-.015em; color:#fff; }
    h4 { font-family:'Syne',sans-serif; font-weight:700; font-size:clamp(20px,1.8vw,22px); line-height:1.3;  letter-spacing:-.01em;  color:#fff; }
    h5 { font-family:'Syne',sans-serif; font-weight:600; font-size:clamp(16px,1.5vw,18px); line-height:1.4;  color:#fff; }
    h6 { font-family:'Syne',sans-serif; font-weight:600; font-size:clamp(14px,1.2vw,16px); line-height:1.5;  color:var(--muted); letter-spacing:.04em; text-transform:uppercase; }
    img  { display:block; max-width:100%; }
    a    { text-decoration:none; color:inherit; }
    ul   { list-style:none; }
    button { font-family:inherit; cursor:pointer; border:none; background:none; }

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

    /* ─── REVEAL ─── */
    [data-reveal] {
      opacity:0;
      transform:translateY(36px);
      transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
    }
    [data-reveal="left"]  { transform:translateX(-36px); }
    [data-reveal="right"] { transform:translateX(36px); }
    [data-reveal="scale"] { transform:scale(.93); }
    [data-reveal].on { opacity:1; transform:none; }

    /* ─── BUTTONS ─── */
    .btn {
      display:inline-flex; align-items:center; gap:8px;
      border-radius:var(--pill);
      font-family:'Syne',sans-serif; font-weight:700; font-size:.875rem;
      letter-spacing:.04em; padding:11px 26px;
      transition:all .25s ease; white-space:nowrap;
    }
    .btn-red  { background:var(--red); color:#fff; }
    .btn-red:hover  { background:var(--red-dark); transform:translateY(-2px); box-shadow:0 10px 30px var(--red-glow); }
    .btn-ghost { background:transparent; color:#fff; border:1px solid var(--glass-bd); }
    .btn-ghost:hover { border-color:rgba(255,255,255,.22); background:var(--glass-hv); transform:translateY(-2px); }
    .btn-lg { padding:15px 36px; font-size:.9375rem; }

    /* ─── SECTION HEADER ─── */
    .eyebrow {
      display:inline-flex; align-items:center; gap:10px;
      font-size:.6875rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
      color:var(--red); margin-bottom:16px;
    }
    .eyebrow::before { content:''; width:22px; height:1px; background:var(--red); }
    .h-display {
      font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(32px,2.8vw,36px); line-height:1.1; letter-spacing:-.02em; color:#fff;
    }
    .h-display em { font-style:italic; font-weight:400; color:var(--muted); }
    .accent { color:var(--red); }

    /* ─── NAV ─── */
    .nav {
      position:fixed; top:0; left:0; right:0; z-index:200;
      height:var(--nav-h); display:flex; align-items:center;
      transition:background .35s, backdrop-filter .35s, border-color .35s;
      border-bottom:1px solid transparent;
    }
    .nav.scrolled {
      background:rgba(9,9,9,.88);
      backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
      border-bottom-color:var(--glass-bd);
    }
    /* Nav layout — container constrains nav to same width as page content */
    .nav > .container { display:flex; align-items:center; height:100%; width:100%; }
    .nav__wrap {
      display:grid; grid-template-columns:auto 1fr auto;
      align-items:center; width:100%;
      column-gap:clamp(24px,3vw,52px);
    }
    .nav__logo { }
    .nav__logo img { height:70px; width:auto; }
    .nav__links {
      display:flex; align-items:center; justify-content:center;
      gap:clamp(24px,3vw,52px); white-space:nowrap; list-style:none;
    }
    .nav__links a { font-size:.875rem; font-weight:500; color:var(--muted); letter-spacing:.02em; transition:color .2s; }
    .nav__links a:hover { color:#fff; }
    .nav__right { display:flex; align-items:center; gap:14px; justify-content:flex-end; }
    .nav__burger { display:none; flex-direction:column; gap:5px; padding:6px; }
    .nav__burger span { display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:all .3s; }
    .nav__burger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
    .nav__burger.open span:nth-child(2) { opacity:0; transform:translateX(-8px); }
    .nav__burger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }
    /* Mobile drawer */
    .nav__drawer {
      display:none; position:fixed; top:var(--nav-h); left:0; right:0;
      background:rgba(9,9,9,.97); backdrop-filter:blur(20px);
      padding:28px var(--px) 40px; flex-direction:column; gap:4px;
      border-bottom:1px solid var(--glass-bd); z-index:199;
    }
    .nav__drawer.open { display:flex; }
    .nav__drawer a {
      font-family:'Syne',sans-serif; font-size:1.25rem; font-weight:700; color:#fff;
      padding:14px 0; border-bottom:1px solid var(--glass-bd);
    }
    .nav__drawer .btn { margin-top:20px; align-self:stretch; justify-content:center; font-size:1rem; padding:16px 24px; border-bottom:none; }

    /* ─── HERO ─── */
    .hero {
      position:relative; min-height:100vh;
      display:flex; flex-direction:column; justify-content:center;
      padding-top:var(--nav-h); overflow:hidden;
    }
    /* BG layers */
    .hero__grid {
      position:absolute; inset:0; pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
      background-size:72px 72px;
      -webkit-mask-image:radial-gradient(ellipse 80% 90% at 50% 50%, #000 20%, transparent 80%);
      mask-image:radial-gradient(ellipse 80% 90% at 50% 50%, #000 20%, transparent 80%);
    }
    .hero__glow-a {
      position:absolute; pointer-events:none;
      width:900px; height:900px; border-radius:50%;
      background:radial-gradient(circle, rgba(232,25,60,.13) 0%, transparent 65%);
      top:-220px; right:-180px;
      animation:floatGlow 9s ease-in-out infinite;
    }
    .hero__glow-b {
      position:absolute; pointer-events:none;
      width:600px; height:600px; border-radius:50%;
      background:radial-gradient(circle, rgba(232,25,60,.07) 0%, transparent 70%);
      bottom:-100px; left:-100px;
      animation:floatGlow 12s ease-in-out infinite reverse;
    }
    @keyframes floatGlow {
      0%,100% { transform:translateY(0) scale(1); }
      50%      { transform:translateY(-28px) scale(1.04); }
    }
    /* Giant A watermark */
    .hero__wm {
      position:absolute; right:-2%; top:50%; transform:translateY(-50%);
      font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(280px,38vw,580px); line-height:1;
      color:transparent; -webkit-text-stroke:1px rgba(232,25,60,.05);
      pointer-events:none; user-select:none; z-index:0;
    }
    .hero__content { position:relative; z-index:1; padding:80px 0 100px; }
    .hero__pill {
      display:inline-flex; align-items:center; gap:8px;
      font-size:.6875rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
      color:var(--red); padding:6px 14px;
      border:1px solid rgba(232,25,60,.25); border-radius:var(--pill);
      background:rgba(232,25,60,.06); margin-bottom:32px;
    }
    .hero__pill::before {
      content:''; width:6px; height:6px; border-radius:50%; background:var(--red);
      animation:pulse 2s ease-in-out infinite;
    }
    @keyframes pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.4; transform:scale(.7); } }
    .hero__h1 {
      font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(40px,3.5vw,48px); line-height:1.1; letter-spacing:-.025em;
      color:#fff; margin-bottom:32px;
    }
    .hero__h1 .light { font-weight:400; font-style:italic; color:rgba(255,255,255,.35); }
    .hero__sub {
      font-size:clamp(16px,1.4vw,19px); font-weight:300; line-height:1.7;
      color:var(--body); max-width:500px; margin-bottom:48px;
    }
    .hero__actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
    .hero__scroll {
      position:absolute; bottom:40px; left:50%; transform:translateX(-50%);
      display:flex; flex-direction:column; align-items:center; gap:6px;
      z-index:1; opacity:.4; animation:bounce 2.5s ease-in-out infinite;
    }
    .hero__scroll span { font-size:.625rem; letter-spacing:.14em; text-transform:uppercase; }
    @keyframes bounce { 0%,100% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(7px); } }

    /* ─── ABOUT ─── */
    .about {
      padding:clamp(80px,12vw,160px) 0;
      background:var(--bg2); position:relative; overflow:hidden;
    }
    .about::before {
      content:''; position:absolute; top:0; left:0; right:0; height:1px;
      background:linear-gradient(90deg,transparent,rgba(232,25,60,.2),transparent);
    }
    .about__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(48px,7vw,100px); align-items:center; }
    .about__h2 {
      font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(32px,2.8vw,36px); line-height:1.1; letter-spacing:-.02em; color:#fff;
    }
    .about__h2 em { font-weight:400; font-style:italic; color:rgba(255,255,255,.35); }
    .about__body { font-size:clamp(15px,1.35vw,18px); line-height:1.78; color:var(--body); margin-bottom:36px; }
    .about__list { display:flex; flex-direction:column; gap:14px; }
    .about__li {
      display:flex; align-items:center; gap:14px;
      font-size:.9375rem; font-weight:500; color:rgba(255,255,255,.7);
    }
    .about__li::before { content:''; width:20px; height:2px; background:var(--red); flex-shrink:0; }

    /* ─── SERVICES ─── */
    .services { padding:clamp(80px,12vw,160px) 0; background:var(--bg); }
    .sec-head { margin-bottom:clamp(48px,6vw,80px); }
    .services__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
    .svc {
      background:var(--glass); border:1px solid var(--glass-bd); border-radius:var(--r);
      padding:34px 30px 44px; position:relative; overflow:hidden;
      transition:all .35s cubic-bezier(.16,1,.3,1);
    }
    .svc::before {
      content:''; position:absolute; inset:0;
      background:radial-gradient(circle at 0% 0%, var(--red-glow-s) 0%, transparent 55%);
      opacity:0; transition:opacity .35s;
    }
    .svc::after {
      content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
      background:linear-gradient(90deg, var(--red), transparent);
      transform:scaleX(0); transform-origin:left; transition:transform .4s ease;
    }
    .svc:hover { border-color:rgba(232,25,60,.18); background:var(--glass-hv); transform:translateY(-5px); box-shadow:0 24px 60px rgba(0,0,0,.35); }
    .svc:hover::before { opacity:1; }
    .svc:hover::after  { transform:scaleX(1); }
    .svc__icon {
      width:46px; height:46px; border-radius:11px;
      background:rgba(232,25,60,.1); display:flex; align-items:center; justify-content:center;
      color:var(--red); margin-bottom:22px;
    }
    .svc__num { font-size:.625rem; font-weight:700; letter-spacing:.14em; color:var(--red); opacity:.55; margin-bottom:10px; }
    .svc__title { font-family:'Syne',sans-serif; font-size:clamp(20px,1.8vw,22px); font-weight:700; color:#fff; margin-bottom:10px; line-height:1.3; }
    .svc__desc  { font-size:.875rem; line-height:1.68; color:var(--muted); }
    .svc__arrow {
      position:absolute; bottom:26px; right:26px; color:var(--red);
      opacity:0; transform:translateX(-6px); transition:all .3s;
    }
    .svc:hover .svc__arrow { opacity:1; transform:none; }
    /* 6th card accent */
    .svc--accent { background:rgba(232,25,60,.05); border-color:rgba(232,25,60,.16); }

    /* ─── WORK ─── */
    .work { padding:clamp(80px,12vw,160px) 0; background:var(--bg2); }
    .work__grid { display:grid; grid-template-columns:repeat(12,1fr); gap:14px; }
    .wi {
      position:relative; overflow:hidden; border-radius:var(--r);
      background:var(--bg3); border:1px solid var(--glass-bd); cursor:pointer;
    }
    .wi--hero { grid-column:span 8; aspect-ratio:16/10; }
    .wi--a    { grid-column:span 4; aspect-ratio:3/4; }
    .wi--b    { grid-column:span 4; aspect-ratio:4/5; }
    .wi--c    { grid-column:span 4; aspect-ratio:4/5; }
    .wi--d    { grid-column:span 4; aspect-ratio:4/5; }
    .wi__vis  { position:absolute; inset:0; transition:transform .55s cubic-bezier(.16,1,.3,1); }
    .wi:hover .wi__vis { transform:scale(1.06); }
    /* Project colour palettes — placeholder art */
    .p1 .wi__vis { background:linear-gradient(145deg,#130508 0%,#2a0710 60%,#0d0204 100%); }
    .p1 .wi__vis::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 40%, rgba(232,25,60,.4) 0%,transparent 45%), radial-gradient(circle at 72% 65%, rgba(180,15,40,.2) 0%,transparent 40%); }
    .p2 .wi__vis { background:linear-gradient(145deg,#08080f 0%,#0f0d20 100%); }
    .p2 .wi__vis::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 35%, rgba(80,50,200,.25) 0%,transparent 50%); }
    .p3 .wi__vis { background:linear-gradient(145deg,#080f0a 0%,#0c1c0e 100%); }
    .p3 .wi__vis::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 55% 50%, rgba(40,160,90,.22) 0%,transparent 50%); }
    .p4 .wi__vis { background:linear-gradient(145deg,#0f0c07 0%,#1c1509 100%); }
    .p4 .wi__vis::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 45% 55%, rgba(200,150,20,.2) 0%,transparent 50%); }
    .p5 .wi__vis { background:linear-gradient(145deg,#0f080f 0%,#1c0d1c 100%); }
    .p5 .wi__vis::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 40%, rgba(160,40,180,.22) 0%,transparent 50%); }
    .wi__tag {
      position:absolute; top:18px; left:18px; z-index:2;
      font-size:.625rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
      color:var(--red); background:rgba(232,25,60,.1); border:1px solid rgba(232,25,60,.22);
      padding:4px 10px; border-radius:var(--pill);
    }
    /* Permanent bar on hero item */
    .wi--hero .wi__bar {
      position:absolute; bottom:0; left:0; right:0; z-index:2; padding:28px 28px 24px;
      background:linear-gradient(to top, rgba(9,9,9,.92) 0%,transparent 100%);
    }
    .wi__name { font-family:'Syne',sans-serif; font-weight:700; font-size:clamp(20px,1.8vw,22px); color:#fff; margin-bottom:4px; }
    .wi__cat  { font-size:.8125rem; color:var(--muted); margin-bottom:8px; }
    .wi__res  { font-size:.875rem; font-weight:600; color:var(--red); }
    .wi__overlay {
      position:absolute; inset:0; z-index:3; padding:24px;
      background:linear-gradient(to top, rgba(9,9,9,.94) 0%,rgba(9,9,9,.3) 55%,transparent 100%);
      display:flex; flex-direction:column; justify-content:flex-end;
      opacity:0; transition:opacity .35s;
    }
    .wi:hover .wi__overlay { opacity:1; }
    .wi--hero .wi__overlay { display:none; }
    .work__foot { display:flex; justify-content:center; margin-top:44px; }

    /* ─── STATS ─── */
    .stats {
      padding:56px 0; background:var(--bg);
      border-top:1px solid var(--glass-bd); border-bottom:1px solid var(--glass-bd);
      position:relative; overflow:hidden;
    }
    .stats::before {
      content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
      width:700px; height:220px; pointer-events:none;
      background:radial-gradient(ellipse, rgba(232,25,60,.05) 0%,transparent 70%);
    }
    .stats__grid { display:grid; grid-template-columns:repeat(4,1fr); position:relative; z-index:1; }
    .stat { display:flex; flex-direction:column; align-items:center; text-align:center; padding:20px 24px; position:relative; }
    .stat:not(:last-child)::after { content:''; position:absolute; right:0; top:15%; bottom:15%; width:1px; background:var(--glass-bd); }
    .stat__n { font-family:'Syne',sans-serif; font-size:clamp(32px,4.5vw,56px); font-weight:800; color:#fff; line-height:1; margin-bottom:8px; }
    .stat__n span { color:var(--red); }
    .stat__l { font-size:.875rem; color:var(--muted); }

    /* ─── TESTIMONIALS (floating cards) ─── */
    .testi {
      padding:clamp(80px,12vw,160px) 0;
      background:var(--bg2); position:relative; overflow:hidden;
    }
    .testi__glow {
      position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
      width:1000px; height:700px; pointer-events:none;
      background:radial-gradient(ellipse, rgba(232,25,60,.06) 0%,transparent 70%);
    }
    .testi__cards {
      display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
      margin-top:clamp(40px,5vw,64px); align-items:start;
      perspective:1400px;
    }
    .tc {
      background:var(--glass); border:1px solid var(--glass-bd); border-radius:var(--r);
      padding:clamp(28px,3vw,40px); position:relative; overflow:hidden;
      transform-style:preserve-3d; will-change:transform;
      transition:box-shadow .4s ease, border-color .4s ease;
      cursor:default;
    }
    .tc:nth-child(1) { animation:floatCard1 7s ease-in-out infinite; }
    .tc:nth-child(2) { animation:floatCard2 9s ease-in-out infinite; }
    .tc:nth-child(3) { animation:floatCard3 8s ease-in-out infinite; }
    @keyframes floatCard1 { 0%,100%{transform:translateY(0)}    50%{transform:translateY(-12px)} }
    @keyframes floatCard2 { 0%,100%{transform:translateY(32px)} 50%{transform:translateY(18px)} }
    @keyframes floatCard3 { 0%,100%{transform:translateY(16px)} 50%{transform:translateY(4px)} }
    .tc.tilting { animation-play-state:paused; }
    .tc::before {
      content:''; position:absolute; inset:0;
      background:radial-gradient(circle at var(--mx,30%) var(--my,30%), rgba(232,25,60,.09) 0%, transparent 60%);
      opacity:0; transition:opacity .35s; pointer-events:none;
    }
    .tc::after {
      content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
      background:linear-gradient(90deg, var(--red), transparent);
      transform:scaleX(0); transform-origin:left; transition:transform .45s ease;
    }
    .tc:hover { border-color:rgba(232,25,60,.28); box-shadow:0 40px 80px rgba(0,0,0,.5), 0 0 50px rgba(232,25,60,.09); }
    .tc:hover::before { opacity:1; }
    .tc:hover::after  { transform:scaleX(1); }
    .tc__stars { display:flex; gap:4px; margin-bottom:20px; }
    .tc__star  { color:var(--red); font-size:13px; }
    .tc__qm {
      font-family:'Syne',sans-serif; font-size:64px; line-height:.7; font-weight:800;
      color:var(--red); opacity:.15; margin-bottom:14px; user-select:none;
    }
    .tc__quote {
      font-family:'Syne',sans-serif; font-style:italic; font-weight:500;
      font-size:clamp(14px,1.25vw,17px); line-height:1.68; color:rgba(255,255,255,.85);
      margin-bottom:28px; position:relative; z-index:1;
    }
    .tc__who {
      display:flex; align-items:center; gap:12px;
      border-top:1px solid var(--glass-bd); padding-top:20px; position:relative; z-index:1;
    }
    .tc__av {
      width:42px; height:42px; border-radius:50%; flex-shrink:0;
      background:linear-gradient(135deg,var(--red),#7d0d1e);
      display:flex; align-items:center; justify-content:center;
      font-family:'Syne',sans-serif; font-weight:700; font-size:.875rem; color:#fff;
    }
    .tc__name { font-family:'Syne',sans-serif; font-size:.9rem; font-weight:700; color:#fff; }
    .tc__co   { font-size:.8rem; color:var(--muted); margin-top:2px; }
    @media(max-width:768px){
      .testi__cards { grid-template-columns:1fr; }
      .tc:nth-child(1),.tc:nth-child(2),.tc:nth-child(3){ animation:floatCard1 7s ease-in-out infinite; }
    }

    /* ─── FAQ ─── */
    .faq { padding:clamp(80px,12vw,160px) 0; background:var(--bg); }
    .faq__wrap { display:grid; grid-template-columns:1fr 2fr; gap:clamp(48px,7vw,100px); align-items:start; }
    .faq__sticky { position:sticky; top:calc(var(--nav-h) + 32px); }
    .faq__note { font-size:.9375rem; line-height:1.75; color:var(--body); margin-top:20px; margin-bottom:28px; }
    .faq__list { display:flex; flex-direction:column; }
    .faq-i { border-bottom:1px solid var(--glass-bd); }
    .faq-i__btn {
      width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
      padding:22px 0; text-align:left; background:none; border:none; cursor:pointer; color:#fff;
      transition:color .2s;
    }
    .faq-i__btn:hover { color:rgba(255,255,255,.8); }
    .faq-i__q { font-family:'Syne',sans-serif; font-size:clamp(16px,1.5vw,18px); font-weight:600; line-height:1.45; }
    .faq-i__ico {
      flex-shrink:0; width:28px; height:28px; border-radius:50%;
      background:var(--glass); border:1px solid var(--glass-bd);
      display:flex; align-items:center; justify-content:center;
      color:var(--muted); transition:all .3s;
    }
    .faq-i.open .faq-i__ico { background:var(--red); border-color:var(--red); color:#fff; transform:rotate(45deg); }
    .faq-i__body { overflow:hidden; max-height:0; transition:max-height .38s cubic-bezier(.16,1,.3,1); }
    .faq-i.open .faq-i__body { max-height:280px; }
    .faq-i__a { font-size:.9375rem; line-height:1.75; color:var(--body); padding-bottom:22px; padding-right:44px; }

    /* ─── CTA ─── */
    .cta {
      padding:clamp(100px,14vw,180px) 0; background:var(--bg2);
      text-align:center; position:relative; overflow:hidden;
    }
    .cta__glow {
      position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
      width:900px; height:600px; pointer-events:none;
      background:radial-gradient(ellipse, rgba(232,25,60,.09) 0%,transparent 70%);
    }
    .cta__inner { position:relative; z-index:1; }
    .cta__h2 {
      font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(32px,2.8vw,36px); line-height:1.1; letter-spacing:-.02em;
      color:#fff; margin-bottom:22px;
    }
    .cta__sub { font-size:clamp(16px,1.5vw,19px); font-weight:300; color:var(--body); margin-bottom:48px; }
    .cta__btns { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }

    /* ─── FOOTER ─── */
    .footer { background:var(--bg); border-top:1px solid var(--glass-bd); padding:72px 0 32px; }
    .footer__top {
      display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:48px;
      padding-bottom:56px; border-bottom:1px solid var(--glass-bd); margin-bottom:28px;
    }
    .footer__logo { height:30px; width:auto; margin-bottom:18px; }
    .footer__tag  { font-family:'Syne',sans-serif; font-size:clamp(16px,1.5vw,18px); font-weight:800; color:#fff; margin-bottom:10px; }
    .footer__desc { font-size:.875rem; line-height:1.72; color:var(--muted); max-width:270px; margin-bottom:22px; }
    .footer__soc  { display:flex; gap:10px; }
    .footer__sl   {
      width:34px; height:34px; border-radius:50%; background:var(--glass); border:1px solid var(--glass-bd);
      display:flex; align-items:center; justify-content:center; color:var(--muted);
      transition:all .25s;
    }
    .footer__sl:hover { background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-2px); }
    .footer__col-h { font-family:'Syne',sans-serif; font-size:clamp(14px,1.2vw,16px); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; margin-bottom:18px; }
    .footer__col-l { display:flex; flex-direction:column; gap:11px; }
    .footer__col-l a { font-size:.875rem; color:var(--muted); transition:color .2s; }
    .footer__col-l a:hover { color:#fff; }
    .footer__bot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
    .footer__copy { font-size:.8125rem; color:var(--muted); }
    .footer__credit { font-size:.8125rem; color:var(--muted); }
    .footer__credit span { color:var(--red); }

    /* ─── RESPONSIVE ─── */
    @media (max-width:1024px) {
      .services__grid { grid-template-columns:repeat(2,1fr); }
      .wi--hero { grid-column:span 12; }
      .wi--a,.wi--b,.wi--c { grid-column:span 4; }
      .wi--d { display:none; }
      .faq__wrap { grid-template-columns:1fr; }
      .faq__sticky { position:static; }
      .footer__top { grid-template-columns:1fr 1fr; }
      .stats__grid { grid-template-columns:repeat(2,1fr); }
      .stat:nth-child(2)::after { display:none; }
    }
    @media (max-width:768px) {
      :root { --nav-h:68px; }
      .nav__links  { display:none; }
      .nav__right .btn { display:none; }
      .nav__burger { display:flex; }
      .hero__h1 { font-size:clamp(32px,7vw,40px); }
      .hero__wm { display:none; }
      .about__grid { grid-template-columns:1fr; }
      .services__grid { grid-template-columns:1fr; }
      .work__grid { grid-template-columns:1fr; }
      .wi--hero,.wi--a,.wi--b,.wi--c { grid-column:span 1; aspect-ratio:4/3; }
      .wi--hero .wi__overlay { display:flex; opacity:1; }
      .wi--hero .wi__bar { display:none; }
      .stats__grid { grid-template-columns:1fr 1fr; }
      .footer__top { grid-template-columns:1fr; }
      .footer__bot { flex-direction:column; text-align:center; }
    }
    @media (max-width:480px) {
      .hero__actions,.cta__btns { flex-direction:column; align-items:stretch; }
      .btn { justify-content:center; }
      .stats__grid { grid-template-columns:1fr 1fr; }
    }

    /* ─── TRUSTED LOGOS ─── */
    @keyframes marquee {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    .logos { padding:52px 0; background:var(--bg); border-top:1px solid var(--glass-bd); border-bottom:1px solid var(--glass-bd); overflow:hidden; }
    .logos__label { font-size:.6875rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-align:center; margin-bottom:32px; }
    /* fade edges */
    .logos__track-wrap {
      position:relative;
      -webkit-mask-image:linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
      mask-image:linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
    }
    .logos__row {
      display:flex; align-items:center; flex-wrap:nowrap;
      gap:40px; width:max-content;
      animation: marquee 28s linear infinite;
    }
    .logos__row:hover { animation-play-state: paused; }
    .logos__item {
      height:44px; padding:0 22px; flex-shrink:0;
      display:flex; align-items:center; justify-content:center;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(232,25,60,.18);
      border-radius:8px;
      font-family:'Syne',sans-serif; font-weight:700; font-size:.8125rem;
      letter-spacing:.08em; text-transform:uppercase;
      color:rgba(255,255,255,.55);
      box-shadow: 0 0 12px rgba(232,25,60,.12), inset 0 0 12px rgba(232,25,60,.04);
      transition:color .3s, border-color .3s, box-shadow .3s, transform .3s;
      white-space:nowrap;
    }
    .logos__item:hover {
      color:#fff;
      border-color:rgba(232,25,60,.55);
      box-shadow: 0 0 24px rgba(232,25,60,.3), 0 0 48px rgba(232,25,60,.12), inset 0 0 16px rgba(232,25,60,.08);
      transform:translateY(-2px);
    }

    /* ─── ABOUT REDESIGN ─── */
    .about__header { margin-bottom:clamp(40px,6vw,70px); }
    .about__header p.about__body { max-width:700px; margin-top:16px; margin-bottom:0; }
    .about__vision { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,70px); align-items:start; margin-bottom:clamp(48px,7vw,80px); }
    .about__vision h3 { font-family:'Syne',sans-serif; font-weight:700; font-size:clamp(24px,2.2vw,28px); color:#fff; margin-bottom:14px; line-height:1.25; }
    .about__vision-quote { background:var(--glass); border:1px solid var(--glass-bd); border-left:3px solid var(--red); border-radius:0 var(--r) var(--r) 0; padding:28px 30px; align-self:center; }
    .about__vision-quote p { font-family:'Syne',sans-serif; font-style:italic; font-size:clamp(15px,1.4vw,18px); color:#fff; line-height:1.65; }
    .about__principles { margin-bottom:clamp(48px,7vw,80px); }
    .about__principles-head { font-family:'Syne',sans-serif; font-weight:800; font-size:clamp(24px,2.2vw,28px); color:#fff; margin-bottom:24px; }
    .principles__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

    /* Base card */
    .principle-card {
      background: linear-gradient(145deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.015) 100%);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 18px;
      padding: 32px 28px 36px;
      position: relative; overflow: hidden;
      backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s, border-color .35s;
      box-shadow: 0 4px 24px rgba(0,0,0,.35);
    }
    /* subtle top-edge shimmer line */
    .principle-card::before {
      content:''; position:absolute; top:0; left:10%; right:10%; height:1px;
      background: linear-gradient(90deg, transparent, rgba(232,25,60,.35), transparent);
      opacity: 0; transition: opacity .35s;
    }
    /* bottom red accent bar on hover */
    .principle-card::after {
      content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
      background: linear-gradient(90deg, var(--red), transparent);
      transform: scaleX(0); transform-origin: left; transition: transform .4s ease;
    }
    .principle-card:hover {
      border-color: rgba(232,25,60,.28);
      transform: translateY(-6px);
      box-shadow: 0 20px 48px rgba(0,0,0,.5), 0 0 32px rgba(232,25,60,.1);
    }
    .principle-card:hover::before { opacity: 1; }
    .principle-card:hover::after  { transform: scaleX(1); }

    /* Featured (centre) card — elevated like the reference */
    .principle-card--featured {
      background: linear-gradient(145deg, rgba(232,25,60,.12) 0%, rgba(130,10,30,.08) 60%, rgba(255,255,255,.02) 100%);
      border-color: rgba(232,25,60,.32);
      box-shadow: 0 8px 40px rgba(0,0,0,.45), 0 0 48px rgba(232,25,60,.14), inset 0 1px 0 rgba(232,25,60,.15);
    }
    .principle-card--featured::before { opacity: 1; }

    /* Glowing icon */
    .principle-card__icon {
      width: 46px; height: 46px; border-radius: 12px;
      background: rgba(232,25,60,.15);
      border: 1px solid rgba(232,25,60,.3);
      display: flex; align-items: center; justify-content: center;
      color: var(--red); margin-bottom: 20px;
      box-shadow: 0 0 14px rgba(232,25,60,.35), inset 0 0 10px rgba(232,25,60,.1);
      transition: box-shadow .35s, transform .35s;
    }
    .principle-card:hover .principle-card__icon {
      box-shadow: 0 0 28px rgba(232,25,60,.6), 0 0 56px rgba(232,25,60,.2), inset 0 0 14px rgba(232,25,60,.15);
      transform: scale(1.08);
    }
    .principle-card--featured .principle-card__icon {
      background: rgba(232,25,60,.2);
      box-shadow: 0 0 22px rgba(232,25,60,.55), 0 0 44px rgba(232,25,60,.2), inset 0 0 14px rgba(232,25,60,.15);
    }

    .principle-card h4 { font-family:'Syne',sans-serif; font-weight:700; font-size:clamp(20px,1.8vw,22px); color:#fff; margin-bottom:10px; }
    .principle-card p { font-size:.875rem; color:var(--muted); line-height:1.7; }
    .about__personality { margin-bottom:clamp(48px,7vw,80px); padding:clamp(32px,4vw,56px); background:rgba(232,25,60,.04); border:1px solid rgba(232,25,60,.12); border-radius:var(--r); text-align:center; }
    .about__personality h3 { font-family:'Syne',sans-serif; font-weight:800; font-size:clamp(24px,2.2vw,28px); color:#fff; line-height:1.25; }
    .about__results-head { font-family:'Syne',sans-serif; font-weight:800; font-size:clamp(24px,2.2vw,28px); color:#fff; margin-bottom:24px; }
    .about__stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
    .about__stat { background:var(--glass); border:1px solid var(--glass-bd); border-radius:var(--r); padding:24px; text-align:center; }
    .about__stat-n { font-family:'Syne',sans-serif; font-size:clamp(28px,3.5vw,44px); font-weight:800; color:#fff; margin-bottom:6px; }
    .about__stat-n span { color:var(--red); }
    .about__stat-l { font-size:.8125rem; color:var(--muted); }

    /* ─── SERVICES REDESIGN ─── */
    .svc-cat { margin-bottom:clamp(40px,5vw,64px); }
    .svc-cat__head { display:flex; align-items:center; gap:14px; margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--glass-bd); }
    .svc-cat__icon { width:40px; height:40px; border-radius:10px; background:rgba(232,25,60,.1); display:flex; align-items:center; justify-content:center; color:var(--red); flex-shrink:0; }
    .svc-cat__title { font-family:'Syne',sans-serif; font-weight:700; font-size:clamp(20px,1.8vw,22px); color:#fff; }
    .svc-cat__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
    .svc-item { background:var(--glass); border:1px solid var(--glass-bd); border-radius:10px; padding:18px 20px; transition:all .3s; position:relative; overflow:hidden; }
    .svc-item::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .35s; }
    .svc-item:hover { border-color:rgba(232,25,60,.2); background:var(--glass-hv); }
    .svc-item:hover::after { transform:scaleX(1); }
    .svc-item h4 { font-family:'Syne',sans-serif; font-weight:600; font-size:clamp(16px,1.5vw,18px); color:#fff; margin-bottom:4px; }
    .svc-item p { font-size:.8125rem; color:var(--muted); line-height:1.55; }

    /* ─── WORK FILTERS ─── */
    .work__filters { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:32px; }
    .wf-btn { padding:8px 22px; border-radius:var(--pill); font-size:.8125rem; font-weight:600; letter-spacing:.04em; border:1px solid var(--glass-bd); background:var(--glass); color:var(--muted); cursor:pointer; transition:all .25s; font-family:'Syne',sans-serif; }
    .wf-btn.active, .wf-btn:hover { background:var(--red); border-color:var(--red); color:#fff; }

    /* ─── WHO WE SERVE ─── */
    .serve { padding:clamp(80px,12vw,160px) 0; background:var(--bg); }
    .serve__intro { max-width:640px; margin:0 auto clamp(40px,6vw,72px); text-align:center; }
    .serve__intro p { font-size:clamp(15px,1.4vw,18px); color:var(--body); margin-top:16px; line-height:1.7; }
    .serve__icons { display:flex; gap:clamp(24px,5vw,72px); justify-content:center; margin-bottom:clamp(40px,6vw,72px); flex-wrap:wrap; }
    .serve__icon-item { display:flex; flex-direction:column; align-items:center; gap:10px; }
    .serve__icon-circle { width:64px; height:64px; border-radius:50%; background:var(--glass); border:1px solid var(--glass-bd); display:flex; align-items:center; justify-content:center; color:var(--red); }
    .serve__icon-label { font-size:.8125rem; color:var(--muted); font-weight:500; }
    .serve__cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .serve-card { background:var(--glass); border:1px solid var(--glass-bd); border-radius:var(--r); padding:clamp(24px,3vw,40px); }
    .serve-card__title { font-family:'Syne',sans-serif; font-weight:700; font-size:clamp(20px,1.8vw,22px); color:#fff; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--glass-bd); }
    .serve-card__why { font-size:.6875rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--red); margin-bottom:12px; }
    .serve-card__list { display:flex; flex-direction:column; gap:10px; padding:0; }
    .serve-card__list li { font-size:.875rem; color:var(--body); padding-left:18px; position:relative; line-height:1.55; }
    .serve-card__list li::before { content:''; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%; background:var(--red); }

    /* ─── CONTACT FORM ─── */
    .contact-sec { padding:clamp(80px,12vw,160px) 0; background:var(--bg2); }
    .contact-sec__grid { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(40px,6vw,80px); align-items:start; }
    .contact-sec__form { display:flex; flex-direction:column; gap:14px; }
    .cf-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .cf-field { display:flex; flex-direction:column; gap:6px; }
    .cf-label { font-size:.75rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
    .cf-input, .cf-textarea { background:var(--glass); border:1px solid var(--glass-bd); border-radius:10px; padding:12px 16px; color:#fff; font-family:'DM Sans',sans-serif; font-size:.9375rem; transition:border-color .25s; width:100%; }
    .cf-input:focus, .cf-textarea:focus { outline:none; border-color:rgba(232,25,60,.45); }
    .cf-textarea { resize:vertical; min-height:110px; }
    .contact-sec__side { display:flex; flex-direction:column; gap:24px; }
    .contact-sec__embed { background:var(--glass); border:1px solid var(--glass-bd); border-radius:var(--r); padding:32px; text-align:center; aspect-ratio:16/9; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
    .contact-sec__embed .embed-icon { width:52px; height:52px; border-radius:50%; background:rgba(232,25,60,.1); display:flex; align-items:center; justify-content:center; color:var(--red); }
    .contact-sec__embed p { font-family:'Syne',sans-serif; font-weight:700; font-size:1rem; color:rgba(255,255,255,.5); }
    .contact-sec__info { display:flex; flex-direction:column; gap:14px; }
    .ci-item { display:flex; align-items:center; gap:12px; }
    .ci-icon { width:36px; height:36px; border-radius:50%; background:rgba(232,25,60,.1); border:1px solid rgba(232,25,60,.18); display:flex; align-items:center; justify-content:center; color:var(--red); flex-shrink:0; }
    .ci-text { font-size:.9375rem; color:var(--body); }

    /* ─── MAKE IT SEEN — Tagline placements ─── */
    .hero__mis {
      font-family:'Syne',sans-serif; font-weight:700;
      font-size:clamp(12px,1vw,14px); letter-spacing:.24em;
      text-transform:uppercase; color:var(--red);
      display:flex; align-items:center; gap:14px;
      margin-bottom:24px;
    }
    .hero__mis::before { content:''; width:36px; height:1px; background:rgba(232,25,60,.5); }
    .mis-strip {
      padding:16px 0; overflow:hidden;
      border-top:1px solid rgba(232,25,60,.1);
      border-bottom:1px solid rgba(232,25,60,.1);
      background:rgba(232,25,60,.025);
    }
    .mis-strip__track {
      display:flex; white-space:nowrap;
      animation:misSroll 28s linear infinite;
    }
    .mis-strip__item {
      font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(10px,.8vw,12px); letter-spacing:.3em;
      text-transform:uppercase; color:var(--red); opacity:.5;
      padding:0 clamp(24px,3.5vw,48px); flex-shrink:0;
      display:inline-flex; align-items:center; gap:clamp(24px,3.5vw,48px);
    }
    .mis-strip__item::after { content:'✦'; opacity:.5; font-size:.7em; }
    @keyframes misSroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
    .about__mis {
      display:flex; align-items:center; justify-content:center; gap:20px;
      font-family:'Syne',sans-serif; font-weight:700;
      font-size:clamp(11px,.85vw,13px); letter-spacing:.26em;
      text-transform:uppercase; color:var(--red); opacity:.6;
      margin-top:clamp(28px,4vw,48px);
    }
    .about__mis::before, .about__mis::after { content:''; height:1px; width:clamp(28px,5vw,72px); background:rgba(232,25,60,.3); }
    .cta__mis {
      font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(32px,2.8vw,36px); line-height:1.1; letter-spacing:-.02em;
      color:#fff; margin-bottom:14px; white-space:nowrap;
    }
    .cta__mis .accent { color:var(--red); }
    .contact-mis {
      font-family:'Syne',sans-serif; font-weight:700;
      font-size:clamp(11px,.85vw,13px); letter-spacing:.22em;
      text-transform:uppercase; color:var(--red); opacity:.6;
      display:flex; align-items:center; gap:12px; margin-top:8px;
    }
    .contact-mis::before { content:''; width:28px; height:1px; background:rgba(232,25,60,.4); }

    /* ─── RESPONSIVE ADDITIONS ─── */
    @media (max-width:1024px) {
      .principles__grid { grid-template-columns:repeat(2,1fr); }
      .svc-cat__grid { grid-template-columns:repeat(2,1fr); }
      .serve__cards { grid-template-columns:1fr; }
      .about__stats { grid-template-columns:repeat(2,1fr); }
      .about__vision { grid-template-columns:1fr; }
      .contact-sec__grid { grid-template-columns:1fr; }
    }
    @media (max-width:768px) {
      .svc-cat__grid { grid-template-columns:1fr 1fr; }
      .serve__icons { gap:20px; }
      .cf-row { grid-template-columns:1fr; }
    }
    @media (max-width:480px) {
      .svc-cat__grid { grid-template-columns:1fr; }
      .principles__grid { grid-template-columns:1fr; }
      .about__stats { grid-template-columns:1fr 1fr; }
    }

    /* ─── BLOG ─── */
    .blog { padding:clamp(80px,12vw,160px) 0; background:var(--bg2); position:relative; overflow:hidden; }
    .blog::before {
      content:''; position:absolute; top:0; left:0; right:0; height:1px;
      background:linear-gradient(90deg,transparent,rgba(232,25,60,.2),transparent);
    }
    .blog__grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
    .blog-card {
      background:var(--glass); border:1px solid var(--glass-bd); border-radius:var(--r);
      overflow:hidden; display:flex; flex-direction:column;
      transition:all .35s cubic-bezier(.16,1,.3,1); position:relative;
    }
    .blog-card::after {
      content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
      background:linear-gradient(90deg, var(--red), transparent);
      transform:scaleX(0); transform-origin:left; transition:transform .4s ease;
    }
    .blog-card:hover { border-color:rgba(232,25,60,.22); transform:translateY(-6px); box-shadow:0 32px 64px rgba(0,0,0,.45), 0 0 48px rgba(232,25,60,.08); }
    .blog-card:hover::after { transform:scaleX(1); }
    .blog-card__vis { position:relative; aspect-ratio:16/9; overflow:hidden; flex-shrink:0; }
    .blog-card__vis-inner { position:absolute; inset:0; transition:transform .6s cubic-bezier(.16,1,.3,1); }
    .blog-card:hover .blog-card__vis-inner { transform:scale(1.06); }
    /* Post 1 — AI Disruption: electric blue-purple tension */
    .blog-vis-1 { background:linear-gradient(145deg,#050a1a 0%,#0a0520 40%,#06080f 100%); }
    .blog-vis-1::before {
      content:''; position:absolute; inset:0;
      background:
        radial-gradient(circle at 25% 35%, rgba(100,50,220,.38) 0%,transparent 45%),
        radial-gradient(circle at 75% 70%, rgba(232,25,60,.22) 0%,transparent 35%),
        radial-gradient(circle at 50% 50%, rgba(60,20,160,.15) 0%,transparent 60%);
    }
    .blog-vis-1::after {
      content:''; position:absolute; inset:0;
      background-image:
        linear-gradient(rgba(100,50,220,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(100,50,220,.07) 1px, transparent 1px);
      background-size:40px 40px;
    }
    /* Post 2 — AI Benefits: growth emerald-amber */
    .blog-vis-2 { background:linear-gradient(145deg,#040f06 0%,#071505 40%,#0d0d04 100%); }
    .blog-vis-2::before {
      content:''; position:absolute; inset:0;
      background:
        radial-gradient(circle at 30% 40%, rgba(40,180,80,.32) 0%,transparent 45%),
        radial-gradient(circle at 72% 65%, rgba(220,160,20,.22) 0%,transparent 40%),
        radial-gradient(circle at 50% 50%, rgba(20,140,60,.12) 0%,transparent 65%);
    }
    .blog-vis-2::after {
      content:''; position:absolute; inset:0;
      background-image:
        linear-gradient(rgba(40,180,80,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(40,180,80,.06) 1px, transparent 1px);
      background-size:40px 40px;
    }
    .blog-card__vis-icon {
      position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
      z-index:2; opacity:.12; font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(80px,14vw,160px); color:#fff; line-height:1;
      user-select:none; letter-spacing:-.04em; pointer-events:none;
    }
    .blog-card__cat-bar {
      position:absolute; top:16px; left:16px; z-index:3;
      display:flex; align-items:center; gap:8px;
    }
    .blog-card__cat {
      font-size:.6rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
      color:var(--red); background:rgba(232,25,60,.1); border:1px solid rgba(232,25,60,.25);
      padding:4px 10px; border-radius:var(--pill);
    }
    .blog-card__read-time {
      font-size:.6rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
      color:rgba(255,255,255,.55); background:rgba(0,0,0,.45);
      padding:4px 10px; border-radius:var(--pill); backdrop-filter:blur(6px);
    }
    .blog-card__body { padding:28px 30px 32px; display:flex; flex-direction:column; flex:1; }
    .blog-card__date { font-size:.75rem; color:var(--muted); margin-bottom:12px; }
    .blog-card__title {
      font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(20px,1.8vw,22px); line-height:1.22; color:#fff;
      margin-bottom:14px; letter-spacing:-.015em;
    }
    .blog-card__title a { color:inherit; transition:color .2s; }
    .blog-card__title a:hover { color:var(--red); }
    .blog-card__excerpt { font-size:.9rem; line-height:1.72; color:var(--body); margin-bottom:24px; flex:1; }
    .blog-card__footer {
      display:flex; align-items:center; justify-content:space-between;
      border-top:1px solid var(--glass-bd); padding-top:18px;
    }
    .blog-card__author { display:flex; align-items:center; gap:10px; }
    .blog-card__av {
      width:32px; height:32px; border-radius:50%; flex-shrink:0;
      background:linear-gradient(135deg,var(--red),#7d0d1e);
      display:flex; align-items:center; justify-content:center;
      font-family:'Syne',sans-serif; font-weight:700; font-size:.7rem; color:#fff;
    }
    .blog-card__author-name { font-family:'Syne',sans-serif; font-size:.8rem; font-weight:600; color:rgba(255,255,255,.75); }
    .blog-card__read-btn {
      display:inline-flex; align-items:center; gap:6px;
      font-family:'Syne',sans-serif; font-size:.8rem; font-weight:700;
      color:var(--red); letter-spacing:.04em; transition:gap .25s;
    }
    .blog-card:hover .blog-card__read-btn { gap:10px; }
    @media (max-width:768px) { .blog__grid { grid-template-columns:1fr; } }

    /* ─── PAGE HERO (inner pages) ─── */
    .page-hero {
      padding: calc(var(--nav-h) + clamp(56px,8vw,100px)) 0 clamp(48px,7vw,80px);
      background: var(--bg2);
      border-bottom: 1px solid var(--glass-bd);
      position: relative; overflow: hidden;
    }
    .page-hero::before {
      content:''; position:absolute; top:50%; right:-100px; transform:translateY(-50%);
      width:600px; height:600px; border-radius:50%; pointer-events:none;
      background:radial-gradient(circle, rgba(232,25,60,.09) 0%, transparent 65%);
    }
    .page-hero .container { position:relative; z-index:1; }
    .page-hero__h1 {
      font-family:'Syne',sans-serif; font-weight:800;
      font-size:clamp(40px,3.5vw,48px); line-height:1.1; letter-spacing:-.025em;
      color:#fff; margin-top:14px;
    }
    .page-hero__sub {
      font-size:clamp(15px,1.4vw,18px); line-height:1.75; color:var(--body);
      max-width:540px; margin-top:16px;
    }

    /* ─── 3D GEOMETRIC ELEMENT ─── */
    @keyframes hero3dFloat {
      0%,100% { transform: translateY(calc(-50% + var(--hero3d-scroll, 0px))); }
      50%      { transform: translateY(calc(-50% + var(--hero3d-scroll, 0px) - 18px)); }
    }
    .hero3d {
      position: fixed;
      top: 50vh; right: clamp(-80px, 0vw, 20px);
      width: clamp(200px, 25vw, 373px);
      height: clamp(200px, 25vw, 373px);
      pointer-events: none; z-index: 0;
      opacity: 0.55;
      transition: opacity .6s ease;
      animation: hero3dFloat 5s ease-in-out infinite;
    }
    @media (max-width: 768px) {
      .hero3d { opacity: 0.18; width: 147px; height: 147px; right: -50px; }
    }

    /* ─── CHATBOT ─── */
    .chat-bubble {
      position: fixed; bottom: 28px; right: 28px;
      width: 56px; height: 56px; border-radius: 50%;
      background: var(--red); border: none;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; z-index: 900;
      box-shadow: 0 4px 24px rgba(232,25,60,.45);
      transition: transform .2s, box-shadow .2s;
    }
    .chat-bubble:hover { transform: scale(1.1); box-shadow: 0 6px 36px rgba(232,25,60,.6); }
    .chat-bubble svg { display: block; color: #fff; stroke: #fff; }
    .chat-window {
      position: fixed; bottom: 96px; right: 28px;
      width: clamp(300px, 90vw, 360px); max-height: 520px;
      background: #111; border: 1px solid rgba(255,255,255,.1);
      border-radius: 18px; display: flex; flex-direction: column;
      z-index: 900; overflow: hidden;
      box-shadow: 0 20px 70px rgba(0,0,0,.7);
      opacity: 0; transform: translateY(14px) scale(0.96);
      transition: opacity .25s, transform .25s;
      pointer-events: none;
    }
    .chat-window.open { opacity: 1; transform: none; pointer-events: all; }
    .chat-head {
      background: var(--red); padding: 14px 18px;
      display: flex; align-items: center; gap: 10px; flex-shrink: 0;
    }
    .chat-head-av {
      width: 34px; height: 34px; border-radius: 50%;
      background: rgba(255,255,255,.2);
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .chat-head-info { flex: 1; }
    .chat-head-name { font-family:'Syne',sans-serif; font-weight:700; font-size:.875rem; color:#fff; margin:0; }
    .chat-head-status { font-size:.7rem; color:rgba(255,255,255,.65); margin:0; display:flex; align-items:center; gap:4px; }
    .chat-head-status::before { content:''; width:6px; height:6px; border-radius:50%; background:#4ade80; display:block; }
    .chat-close-btn { background:none; border:none; color:rgba(255,255,255,.65); cursor:pointer; font-size:1.1rem; padding:4px; line-height:1; }
    .chat-close-btn:hover { color:#fff; }
    .chat-msgs {
      flex: 1; overflow-y: auto; padding: 16px;
      display: flex; flex-direction: column; gap: 10px;
      scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.1) transparent;
    }
    .chat-msg {
      max-width: 82%; padding: 10px 14px;
      font-size: .84rem; line-height: 1.55; border-radius: 14px;
    }
    .chat-msg--bot {
      background: rgba(255,255,255,.07); color: #fff;
      align-self: flex-start; border-radius: 4px 14px 14px 14px;
      white-space: pre-line;
    }
    .chat-msg--user {
      background: var(--red); color: #fff;
      align-self: flex-end; border-radius: 14px 4px 14px 14px;
    }
    .chat-typing {
      display: flex; gap: 4px; align-items: center;
      padding: 10px 14px; background: rgba(255,255,255,.07);
      border-radius: 4px 14px 14px 14px; align-self: flex-start; opacity: 0;
      transition: opacity .2s;
    }
    .chat-typing.show { opacity: 1; }
    .chat-typing span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.5); animation: chatDot 1.2s infinite; }
    .chat-typing span:nth-child(2) { animation-delay: .2s; }
    .chat-typing span:nth-child(3) { animation-delay: .4s; }
    @keyframes chatDot { 0%,60%,100% { transform:translateY(0); opacity:.5; } 30% { transform:translateY(-4px); opacity:1; } }
    .chat-sugs {
      display: flex; flex-wrap: wrap; gap: 6px;
      padding: 0 14px 12px; flex-shrink: 0;
    }
    .chat-sug {
      padding: 5px 11px; border-radius: 20px;
      border: 1px solid rgba(232,25,60,.4); background: rgba(232,25,60,.07);
      color: #E8193C; font-size: .75rem; cursor: pointer;
      transition: background .15s; font-family:'DM Sans',sans-serif;
    }
    .chat-sug:hover { background: rgba(232,25,60,.18); }
    .chat-input-row {
      display: flex; gap: 8px; padding: 12px 14px;
      border-top: 1px solid rgba(255,255,255,.06); flex-shrink: 0;
    }
    .chat-input {
      flex: 1; background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1); border-radius: 10px;
      padding: 9px 12px; color: #fff; font-size: .84rem;
      font-family: 'DM Sans',sans-serif; outline: none;
      transition: border-color .2s;
    }
    .chat-input:focus { border-color: rgba(232,25,60,.5); }
    .chat-input::placeholder { color: rgba(255,255,255,.28); }
    .chat-send-btn {
      background: var(--red); border: none; border-radius: 10px;
      width: 38px; height: 38px; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; transition: background .2s;
    }
    .chat-send-btn:hover { background: var(--red-dark); }
    .chat-notify {
      position: absolute; top: -4px; right: -4px;
      width: 18px; height: 18px; border-radius: 50%;
      background: #fff; color: var(--red);
      font-size: .65rem; font-weight: 700;
      display: flex; align-items: center; justify-content: center;
      animation: notifyPop .3s cubic-bezier(.34,1.56,.64,1);
    }
    @keyframes notifyPop { from { transform: scale(0); } to { transform: scale(1); } }

    /* ─── CUSTOM CURSOR ─── */
    .cursor-dot,
    .cursor-ring {
      position: fixed;
      pointer-events: none;
      z-index: 9999;
      border-radius: 50%;
      transform: translate(-50%, -50%);
      will-change: left, top;
    }
    .cursor-dot {
      width: 6px;
      height: 6px;
      background: var(--red);
      transition: transform .15s ease, opacity .3s;
    }
    .cursor-ring {
      width: 34px;
      height: 34px;
      border: 1.5px solid rgba(232,25,60,.5);
      transition: width .35s cubic-bezier(.16,1,.3,1),
                  height .35s cubic-bezier(.16,1,.3,1),
                  border-color .25s,
                  background .25s;
    }
    .cursor-dot.cursor--hover  { transform: translate(-50%,-50%) scale(0); }
    .cursor-ring.cursor--hover {
      width: 54px;
      height: 54px;
      border-color: rgba(232,25,60,.9);
      background: rgba(232,25,60,.07);
    }
    .cursor-ring.cursor--click {
      width: 24px;
      height: 24px;
      background: rgba(232,25,60,.2);
    }
    @media (pointer: coarse) { .cursor-dot, .cursor-ring, .cursor-spotlight { display: none; } }
    body.cursor-ready        { cursor: none; }
    body.cursor-ready a,
    body.cursor-ready button,
    body.cursor-ready [role="button"],
    body.cursor-ready label  { cursor: none; }

    /* ─── GLOBAL SPOTLIGHT ─── */
    .cursor-spotlight {
      position: fixed;
      pointer-events: none;
      z-index: 0;
      width: 800px;
      height: 800px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(232,25,60,.04) 0%, transparent 65%);
      transform: translate(-50%, -50%);
      will-change: left, top;
      mix-blend-mode: screen;
    }

    /* ─── HERO PARALLAX ─── */
    .hero__wm,
    .hero__glow-a,
    .hero__glow-b {
      transition: transform .9s cubic-bezier(.16,1,.3,1);
    }
