  :root{
    --ink:#0d0d12;
    --paper:#fff8ef;
    --paper-2:#fff2df;
    --blue:#1f5cff;
    --hot:#ff4d6d;
    --yellow:#ffd23f;
    --mint:#3ddc97;
    --plum:#6a2bff;
    --line:rgba(13,13,18,.12);
    --shadow: 0 14px 40px -16px rgba(13,13,18,.25);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:"Inter",system-ui,-apple-system,Segoe UI,sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
  }
  img{max-width:100%;display:block}
  a{color:inherit}
  .wrap{max-width:1240px;margin:0 auto;padding:0 28px}
  .display{font-family:"Fraunces",Georgia,serif;font-weight:900;letter-spacing:-.02em;line-height:.95}
  .stencil{font-family:"Archivo Black",Impact,sans-serif;letter-spacing:-.01em;text-transform:uppercase}
  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:var(--ink);background:var(--yellow);
    padding:8px 14px;border-radius:999px;border:2px solid var(--ink);
  }
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 24px;border-radius:999px;
    font-weight:700;font-size:15px;text-decoration:none;
    border:2px solid var(--ink);transition:transform .15s ease, box-shadow .15s ease;
    box-shadow:4px 4px 0 0 var(--ink);
  }
  .btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 var(--ink)}
  .btn-primary{background:var(--blue);color:#fff}
  .btn-secondary{background:var(--paper);color:var(--ink)}
  .btn-hot{background:var(--hot);color:#fff}

  /* NAV */
  header.nav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,248,239,.92);
    backdrop-filter:saturate(140%) blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none}
  .brand-mark{
    width:42px;height:42px;border-radius:12px;background:var(--blue);
    display:grid;place-items:center;color:#fff;font-family:"Archivo Black",sans-serif;
    border:2px solid var(--ink);box-shadow:3px 3px 0 0 var(--ink);
    transform:rotate(-4deg);
  }
  .brand-name{font-family:"Fraunces",serif;font-weight:900;font-size:20px;letter-spacing:-.01em}
  .brand-name span{color:var(--blue)}
  nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}
  nav a{text-decoration:none;font-weight:600;font-size:14px}
  nav a:hover{color:var(--blue)}
  .nav-cta{display:none}
  @media (min-width:920px){.nav-cta{display:inline-flex}}
  .menu-btn{display:none}
  @media (max-width:880px){
    nav ul{display:none}
    .menu-btn{display:inline-flex}
  }

  /* HERO */
  .hero{
    position:relative;overflow:hidden;
    padding:80px 0 100px;
  }
  .hero::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(600px 500px at 85% 10%, rgba(31,92,255,.18), transparent 60%),
      radial-gradient(500px 400px at 8% 90%, rgba(255,77,109,.18), transparent 60%);
  }
  .hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
  @media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px}}
  .hero h1{
    font-size:clamp(48px,7vw,104px);
    margin:18px 0 22px;
  }
  .hero h1 .accent{color:var(--blue);position:relative;display:inline-block}
  .hero h1 .accent::after{
    content:"";position:absolute;left:-2%;right:-2%;bottom:6%;height:18%;
    background:var(--yellow);z-index:-1;border-radius:6px;transform:rotate(-1deg);
  }
  .hero p.lede{font-size:20px;max-width:560px;margin:0 0 30px;color:#3b3b48}
  .hero .ctas{display:flex;gap:14px;flex-wrap:wrap}

  /* Hero collage */
  .collage{
    position:relative;aspect-ratio:1/1;max-width:520px;margin-left:auto;
  }
  .collage .tile{
    position:absolute;border-radius:22px;overflow:hidden;
    border:3px solid var(--ink);box-shadow:8px 8px 0 0 var(--ink);
    background:#fff;
  }
  .collage .tile img{width:100%;height:100%;object-fit:cover}
  .t1{top:0;left:0;width:38%;height:38%;transform:rotate(-4deg);background:#000;z-index:3}
  .t2{top:0;right:0;width:35%;height:35%;transform:rotate(5deg);background:#fff;z-index:2}
  .t3{top:33%;left:28%;width:40%;height:36%;transform:rotate(2deg);background:#fff;z-index:4}
  .t4{bottom:0;left:0;width:34%;height:34%;transform:rotate(-3deg);background:#fff;z-index:2}
  .t5{bottom:2%;left:30%;width:34%;height:32%;transform:rotate(4deg);background:#000;z-index:3}
  .t6{bottom:0;right:0;width:33%;height:33%;transform:rotate(-2deg);background:#fff;z-index:2}

  /* Hero Carousel */
  .hero-carousel{
    position:relative;max-width:520px;margin-left:auto;
    border-radius:22px;overflow:hidden;
    border:3px solid var(--ink);box-shadow:8px 8px 0 0 var(--ink);
    aspect-ratio:1/1;
  }
  .carousel-track{position:relative;width:100%;height:100%}
  .carousel-slide{
    position:absolute;top:0;left:0;width:100%;height:100%;
    opacity:0;transition:opacity 0.6s ease;
  }
  .carousel-slide.active{opacity:1}
  .carousel-slide img{width:100%;height:100%;object-fit:cover}
  .carousel-label{
    position:absolute;bottom:16px;left:16px;
    background:var(--ink);color:#fff;
    font-family:'Archivo Black',sans-serif;font-size:14px;
    padding:6px 14px;border-radius:8px;
    letter-spacing:0.5px;text-transform:uppercase;
  }
  .carousel-dots{
    position:absolute;bottom:16px;right:16px;
    display:flex;gap:8px;z-index:5;
  }
  .carousel-dot{
    width:10px;height:10px;border-radius:50%;
    background:rgba(255,255,255,0.5);border:2px solid var(--ink);
    cursor:pointer;transition:background 0.3s;
  }
  .carousel-dot.active{background:var(--blue)}
  .blob{
    position:absolute;width:140px;height:140px;border-radius:50%;
    background:var(--mint);border:3px solid var(--ink);
    display:grid;place-items:center;text-align:center;
    font-family:"Archivo Black",sans-serif;font-size:13px;line-height:1.1;
    transform:rotate(-8deg);box-shadow:6px 6px 0 0 var(--ink);
    bottom:42%;right:-30px;padding:14px;
  }
  .blob span{display:block;font-size:22px;color:var(--ink)}

  /* PROOF STRIP */
  .proof{
    background:var(--ink);color:var(--paper);
    border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);
  }
  .proof-row{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  }
  .proof-row > div{
    padding:34px 22px;border-right:1px solid rgba(255,255,255,.12);
    display:flex;flex-direction:column;gap:6px;
  }
  .proof-row > div:last-child{border-right:none}
  .proof .num{font-family:"Fraunces",serif;font-weight:900;font-size:42px;line-height:1;color:var(--yellow)}
  .proof .lbl{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#cfd0d8}
  @media (max-width:820px){.proof-row{grid-template-columns:repeat(2,1fr)}.proof-row > div:nth-child(2){border-right:none}}

  /* SECTION SCAFFOLD */
  section{padding:110px 0;position:relative}
  .section-head{display:flex;flex-direction:column;gap:18px;max-width:780px;margin-bottom:56px}
  .section-head h2{font-size:clamp(36px,5vw,64px);margin:0}
  .section-head p{font-size:19px;color:#3b3b48;margin:0;max-width:640px}

  /* FEATURED BRANDS */
  #brands{background:var(--paper-2)}
  .card{position:relative}
  .card .photo{position:relative}
  .card .photo .badge-overlay{
    position:absolute;bottom:12px;right:12px;width:80px;height:80px;
    border-radius:50%;z-index:2;
    filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));
  }
  .card .photo .logo-overlay{
    position:absolute;bottom:12px;left:12px;height:40px;width:auto;
    z-index:2;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));
  }
  .brand-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
  .card{
    border:3px solid var(--ink);border-radius:24px;background:#fff;overflow:hidden;
    box-shadow:8px 8px 0 0 var(--ink);position:relative;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .card:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 0 var(--ink)}
  .card .photo{aspect-ratio:4/5;overflow:hidden;background:#f3f3f3}
  .card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
  .card:hover .photo img{transform:scale(1.04)}
  .card .body{padding:22px 22px 26px}
  .card h3{font-family:"Fraunces",serif;font-weight:900;font-size:26px;margin:0 0 6px}
  .card .tag{
    display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;
    text-transform:uppercase;padding:6px 10px;border-radius:999px;
    background:var(--yellow);border:2px solid var(--ink);margin-bottom:14px;
  }
  .card p{margin:0;color:#3b3b48;font-size:15px}
  .card{grid-column:span 4}
  .card-deddy{background:#fff}
  .card-deddy .photo{background:#000}
  @media (max-width:1080px){
    .brand-grid > .card{grid-column:span 6}
  }
  @media (max-width:820px){.brand-grid > .card{grid-column:span 12}}

  /* WHAT WE DO */
  #do{background:var(--blue);color:#fff}
  #do .section-head h2{color:#fff}
  #do .section-head p{color:#dfe6ff}
  #do .eyebrow{background:var(--yellow)}
  .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  @media (max-width:980px){.pillars{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:560px){.pillars{grid-template-columns:1fr}}
  .pillar{
    background:var(--paper);color:var(--ink);
    border:3px solid var(--ink);border-radius:22px;padding:28px 24px 30px;
    box-shadow:6px 6px 0 0 var(--ink);
    display:flex;flex-direction:column;gap:12px;
    min-height:230px;
  }
  .pillar .num{
    font-family:"Archivo Black",sans-serif;font-size:32px;color:var(--hot);
    line-height:1;
  }
  .pillar h3{font-family:"Fraunces",serif;font-weight:900;font-size:24px;margin:6px 0 4px}
  .pillar p{margin:0;font-size:15px;color:#3b3b48}

  /* EXPERIENCE / CASE HISTORIES */
  #cases{background:var(--paper)}
  .cases{display:flex;flex-direction:column;gap:28px}
  .case{
    display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;
    background:#fff;border:3px solid var(--ink);border-radius:28px;
    box-shadow:10px 10px 0 0 var(--ink);overflow:hidden;
  }
  .case:nth-child(even){grid-template-columns:.9fr 1.1fr}
  .case:nth-child(even) .case-art{order:2}
  .case-art{aspect-ratio:5/4;background:#f3f3f3;overflow:hidden}
  .case-art img{width:100%;height:100%;object-fit:cover}
  .case-body{padding:34px 38px 38px}
  .case-body h3{font-family:"Fraunces",serif;font-weight:900;font-size:34px;margin:0 0 10px}
  .case-body .meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
  .case-body .meta span{
    font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    padding:6px 10px;border-radius:999px;background:var(--paper-2);border:2px solid var(--ink);
  }
  .case-body .res{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
  .case-body .res div{
    border:2px solid var(--ink);border-radius:14px;padding:12px 14px;background:var(--paper);
  }
  .case-body .res strong{display:block;font-family:"Fraunces",serif;font-size:22px;line-height:1}
  .case-body .res small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#666}
  @media (max-width:880px){
    .case,.case:nth-child(even){grid-template-columns:1fr}
    .case:nth-child(even) .case-art{order:0}
    .case-body{padding:24px 26px 30px}
  }

  /* ABOUT */
  #about{background:var(--paper-2)}
  .about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;align-items:center}
  @media (max-width:880px){.about-grid{grid-template-columns:1fr;gap:30px}}
  .founder-card{
    border:3px solid var(--ink);border-radius:28px;background:#fff;
    padding:30px;box-shadow:10px 10px 0 0 var(--ink);position:relative;overflow:hidden;
  }
  .founder-card::before{
    content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;
    background:var(--mint);border:3px solid var(--ink);
  }
  .founder-card .avatar{
    position:relative;width:100%;aspect-ratio:1/1;border-radius:22px;
    background:linear-gradient(135deg,var(--hot),var(--plum));
    border:3px solid var(--ink);display:grid;place-items:center;
    font-family:"Fraunces",serif;font-weight:900;font-size:120px;color:#fff;
  }
  .founder-card .name{
    position:relative;margin-top:18px;font-family:"Fraunces",serif;font-weight:900;font-size:26px;
  }
  .founder-card .role{position:relative;color:#666;font-size:14px;text-transform:uppercase;letter-spacing:.1em}
  .about-body h2{font-size:clamp(36px,5vw,56px);margin:0 0 16px}
  .about-body p{font-size:18px;color:#3b3b48;max-width:580px}
  .logos-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
  .logos-strip span{
    font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    padding:8px 12px;border:2px solid var(--ink);border-radius:999px;background:#fff;
  }

  /* PRESS */
  #press{background:var(--ink);color:var(--paper)}
  #press .section-head h2{color:#fff}
  #press .section-head p{color:#cfd0d8}
  .press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media (max-width:880px){.press-grid{grid-template-columns:1fr}}
  .press-card{
    border:3px solid var(--paper);border-radius:22px;padding:26px;background:#16161e;
    display:flex;flex-direction:column;gap:14px;min-height:220px;
  }
  .press-card .source{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);font-weight:700}
  .press-card h3{font-family:"Fraunces",serif;font-weight:700;font-size:22px;margin:0;color:#fff}
  .press-card .arrow{margin-top:auto;font-size:14px;color:var(--mint);font-weight:700}

  /* CONTACT */
  #contact{
    background:linear-gradient(180deg,var(--paper) 0%, var(--paper-2) 100%);
    text-align:center;
  }
  #contact h2{font-size:clamp(44px,6.5vw,84px);max-width:900px;margin:0 auto 18px}
  #contact .accent{color:var(--hot)}
  #contact p{font-size:20px;color:#3b3b48;max-width:560px;margin:0 auto 32px}
  .email-pill{
    display:inline-flex;align-items:center;gap:14px;padding:18px 28px;
    border:3px solid var(--ink);border-radius:999px;background:#fff;
    font-weight:700;text-decoration:none;box-shadow:6px 6px 0 0 var(--ink);
    font-size:18px;
  }
  .email-pill:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 0 var(--ink)}

  /* VIDEO GRID */
  .video-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
    text-align:left;
  }
  @media(max-width:760px){.video-grid{grid-template-columns:1fr}}
  .video-card{
    border-radius:18px;overflow:hidden;
    border:3px solid var(--ink);box-shadow:6px 6px 0 0 var(--ink);
    background:#fff;
  }
  .video-card video{
    width:100%;aspect-ratio:16/9;object-fit:cover;display:block;
    background:#000;
  }
  .video-card h4{
    padding:14px 18px;margin:0;
    font-family:'Archivo Black',sans-serif;font-size:16px;
  }

  /* FOOTER */
  footer{background:var(--ink);color:var(--paper);padding:60px 0 40px;border-top:3px solid var(--ink)}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;align-items:start}
  @media (max-width:760px){.foot-grid{grid-template-columns:1fr;gap:20px}}
  .foot-grid h4{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#cfd0d8;margin:0 0 14px}
  .foot-grid a{display:block;text-decoration:none;color:#fff;font-size:15px;margin-bottom:8px}
  .foot-grid a:hover{color:var(--yellow)}
  .foot-bottom{
    margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
    font-size:13px;color:#cfd0d8;
  }

  /* TOP PROMO BAR */
  .promo-bar{
    background:var(--ink);color:#fff;text-align:center;
    padding:12px 18px;font-size:14px;font-weight:600;
    border-bottom:3px solid var(--yellow);
  }
  .promo-bar a{
    color:var(--yellow);text-decoration:none;font-weight:800;
    border-bottom:2px solid var(--yellow);padding-bottom:1px;margin-left:8px;
  }
  .promo-bar .star{color:var(--hot);margin:0 6px}

  /* EXPO SECTION */
  #expo{
    background:linear-gradient(135deg,var(--plum) 0%, var(--blue) 100%);
    color:#fff;position:relative;overflow:hidden;
  }
  #expo::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(500px 400px at 90% 20%, rgba(255,210,63,.25), transparent 60%),
      radial-gradient(400px 300px at 10% 80%, rgba(255,77,109,.3), transparent 60%);
  }
  .expo-grid{
    position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center;
  }
  @media (max-width:880px){.expo-grid{grid-template-columns:1fr;gap:30px}}
  #expo .eyebrow{background:var(--yellow);color:var(--ink)}
  #expo h2{color:#fff;font-size:clamp(40px,6vw,76px);margin:18px 0 18px}
  #expo .highlight{
    display:inline-block;background:var(--yellow);color:var(--ink);
    padding:0 12px;border-radius:8px;transform:rotate(-1deg);
  }
  #expo p.lede{font-size:19px;color:#e8ecff;max-width:560px;margin:0 0 22px}
  .expo-stats{
    display:flex;gap:14px;flex-wrap:wrap;margin:24px 0 30px;
  }
  .expo-stats div{
    background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.4);
    border-radius:14px;padding:14px 18px;backdrop-filter:blur(8px);
  }
  .expo-stats strong{display:block;font-family:"Fraunces",serif;font-size:24px;color:var(--yellow);line-height:1}
  .expo-stats small{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#dfe6ff}
  .expo-card{
    background:#fff;color:var(--ink);
    border:3px solid var(--ink);border-radius:28px;
    box-shadow:12px 12px 0 0 var(--ink);
    padding:34px 32px;text-align:center;
    transform:rotate(2deg);
  }
  .expo-card .badge{
    display:inline-block;background:var(--hot);color:#fff;
    padding:6px 14px;border-radius:999px;border:2px solid var(--ink);
    font-family:"Archivo Black",sans-serif;font-size:12px;letter-spacing:.06em;
    margin-bottom:14px;
  }
  .expo-card h3{font-family:"Fraunces",serif;font-weight:900;font-size:28px;margin:0 0 6px;line-height:1.05}
  .expo-card .date{font-size:14px;color:#666;margin-bottom:18px}
  .expo-card .booth{
    background:var(--yellow);border:2px solid var(--ink);border-radius:14px;
    padding:14px;margin:18px 0;
  }
  .expo-card .booth strong{display:block;font-family:"Archivo Black",sans-serif;font-size:32px;line-height:1}
  .expo-card .booth small{font-size:11px;text-transform:uppercase;letter-spacing:.08em}

  /* INQUIRIES FORM */
  .form-card{
    max-width:680px;margin:40px auto 0;background:#fff;
    border:3px solid var(--ink);border-radius:28px;
    box-shadow:12px 12px 0 0 var(--ink);
    padding:38px 36px;text-align:left;
  }
  .form-card h3{font-family:"Fraunces",serif;font-weight:900;font-size:30px;margin:0 0 6px;text-align:center}
  .form-card .sub{text-align:center;color:#666;margin:0 0 26px;font-size:15px}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
  @media (max-width:560px){.form-row{grid-template-columns:1fr}}
  .form-field{display:flex;flex-direction:column;gap:6px}
  .form-field label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#3b3b48}
  .form-field input, .form-field select, .form-field textarea{
    font-family:inherit;font-size:15px;padding:14px 16px;
    border:2px solid var(--ink);border-radius:12px;background:var(--paper);
    color:var(--ink);outline:none;transition:box-shadow .15s ease;
  }
  .form-field textarea{min-height:120px;resize:vertical}
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{
    box-shadow:4px 4px 0 0 var(--blue);
  }
  .form-card .btn{width:100%;justify-content:center;margin-top:8px}
  .form-checkbox{
    display:flex;align-items:flex-start;gap:10px;margin:12px 0 18px;
    font-size:14px;color:#3b3b48;
  }
  .form-checkbox input{margin-top:3px;width:18px;height:18px;accent-color:var(--blue)}

  /* Locked work badge */
  .lock-badge{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--plum);color:#fff;font-size:11px;font-weight:700;
    padding:4px 10px;border-radius:999px;border:2px solid var(--ink);
    text-transform:uppercase;letter-spacing:.08em;
  }

  /* small floating tag */
  .floater{
    position:absolute;display:inline-flex;align-items:center;gap:8px;
    background:var(--hot);color:#fff;font-family:"Archivo Black",sans-serif;
    padding:10px 16px;border-radius:999px;border:3px solid var(--ink);
    box-shadow:5px 5px 0 0 var(--ink);font-size:13px;letter-spacing:.04em;
    transform:rotate(-6deg);
  }
