*,*::before,*::after{box-sizing:border-box;margin:0;padding:0} :root{ --bg:#F6F1E9;--fg:#1C1610; --surface:#EDE7D8;--surface2:#E3DDD0; --accent:#E5451C;--amber:#C98500; --ink:#192C50;--muted:#8B8070; --r:20px;--T:420ms cubic-bezier(.25,.46,.45,.94); } [data-theme="dark"]{ --bg:#1C1610;--fg:#F6F1E9; --surface:#262019;--surface2:#2E2820; --accent:#FF5933;--amber:#FFAE1F; --ink:#243870;--muted:#6C6152; } html{scroll-behavior:smooth} body{ font-family:'DM Sans',sans-serif; background:var(--bg);color:var(--fg); overflow-x:hidden; transition:background var(--T),color var(--T); } body::after{ content:'';position:fixed;inset:0;pointer-events:none;z-index:9000; opacity:.032; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='320' height='320' filter='url(%23g)'/%3E%3C/svg%3E"); } /* ── NAV ──────────────────────────────────── */ nav{ position:fixed;top:0;left:0;right:0;z-index:800; display:flex;align-items:center;justify-content:space-between; padding:20px 48px;background:var(--bg); border-bottom:1px solid transparent; transition:background var(--T),border-color .25s,box-shadow .25s; } nav.stuck{ border-bottom-color:color-mix(in oklch,var(--fg) 8%,transparent); box-shadow:0 2px 40px color-mix(in oklch,var(--fg) 5%,transparent); } .nav-logo{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:21px;letter-spacing:-.04em;color:var(--fg);text-decoration:none; transition:color var(--T); } .nav-logo em{font-style:normal;color:var(--accent)} .nav-links{display:flex;gap:36px;list-style:none} .nav-links a{ font-size:13.5px;font-weight:500;color:var(--muted); text-decoration:none;letter-spacing:.01em;transition:color .2s; } .nav-links a:hover{color:var(--fg)} .nav-r{display:flex;align-items:center;gap:14px} .pill{ font-family:'DM Sans',sans-serif;font-weight:600;font-size:13.5px; padding:9px 20px;border-radius:100px;cursor:pointer; text-decoration:none;display:inline-flex;align-items:center;gap:6px; border:none;transition:transform .2s,opacity .2s,background var(--T),color var(--T),border-color var(--T); } .pill-accent{background:var(--accent);color:#fff} .pill-accent:hover{opacity:.9;transform:translateY(-1px)} .pill-ghost{ background:transparent;color:var(--fg); border:1.5px solid color-mix(in oklch,var(--fg) 22%,transparent); } .pill-ghost:hover{border-color:var(--fg);background:var(--surface)} .theme-btn{ width:38px;height:38px;border-radius:50%; border:1.5px solid color-mix(in oklch,var(--fg) 15%,transparent); background:transparent;cursor:pointer;font-size:15px;color:var(--fg); display:flex;align-items:center;justify-content:center; transition:background .2s,color var(--T),border-color var(--T); } .theme-btn:hover{background:var(--surface)} /* ── HERO ─────────────────────────────────── */ .hero{ height:100vh;min-height:680px; padding:100px 48px 32px; display:flex;flex-direction:column;justify-content:flex-start; position:relative;overflow:hidden; } .hero-meta{ font-family:'Space Mono',monospace; font-size:11px;letter-spacing:.07em;color:var(--muted); display:flex;flex-direction:column;gap:4px; margin-bottom:36px;min-height:54px; position:relative;z-index:2; opacity:0;transition:color var(--T); } /* atmospheric glow — pure CSS */ .hero::before{ content:'';position:absolute; right:14%;top:50%; width:520px;height:520px;border-radius:50%; transform:translateY(-50%);pointer-events:none;z-index:0; background:radial-gradient(circle at center, color-mix(in oklch,var(--accent) 7%,transparent) 0%, transparent 64%); transition:background var(--T); } [data-theme="dark"] .hero::before{ background:radial-gradient(circle at center, color-mix(in oklch,var(--accent) 13%,transparent) 0%, transparent 58%); } .hero-l{max-width:min(820px,58vw);position:relative;z-index:1} /* ── ROTATING EDITORIAL BADGE ─────────────── */ .hero-badge{ position:absolute; right:13%;top:52%; transform:translateY(-50%) rotate(-8deg); width:250px;height:250px;z-index:1; color:var(--fg); opacity:0; animation:badge-in .55s cubic-bezier(.34,1.4,.64,1) 1.1s forwards; transition:color var(--T); } @keyframes badge-in{ from{opacity:0;transform:translateY(-50%) rotate(-8deg) scale(.82)} to {opacity:1;transform:translateY(-50%) rotate(-8deg) scale(1)} } .badge-spin{ animation:spin-cw 24s linear infinite; transform-origin:125px 125px; } @keyframes spin-cw{ from{transform:rotate(0deg)} to {transform:rotate(360deg)} } @media(prefers-reduced-motion:reduce){ .badge-spin{animation:none} .hero-badge{animation:none;opacity:1;transform:translateY(-50%) rotate(-8deg)} } /* meta-row + cursor styles */ .meta-row{display:flex;gap:10px} .mk{color:var(--muted);min-width:38px} .mv{color:var(--fg)} /* typewriter cursor */ .tw-cursor{ color:var(--accent);opacity:1; animation:blink .75s steps(1) infinite; } @keyframes blink{50%{opacity:0}} .hero-hl{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:clamp(60px,10vw,148px); line-height:.9;letter-spacing:-.046em;margin-bottom:36px; opacity:0;transform:translateY(24px); animation:up .65s .25s ease forwards; } .hero-hl em{font-style:italic;color:var(--accent)} .hero-sub{ font-size:clamp(15px,1.5vw,19px); color:var(--muted);max-width:480px;line-height:1.62;margin-bottom:44px; opacity:0;transform:translateY(10px); animation:up .5s .45s ease forwards; } .hero-sub strong{color:var(--fg);font-weight:600} .hero-ctas{ display:flex;align-items:center;gap:14px; opacity:0;transform:translateY(10px); animation:up .5s .62s ease forwards; } .hero-ctas .pill{font-size:15px;padding:13px 28px} @keyframes up{ from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} } /* hero-badge opacity fallback (CSS animation handles it, JS as safety) */ /* ── MARQUEE ──────────────────────────────── */ .mq-strip{ overflow:hidden;padding:18px 0; border-top:1px solid color-mix(in oklch,var(--fg) 7%,transparent); border-bottom:1px solid color-mix(in oklch,var(--fg) 7%,transparent); background:var(--bg);transition:background var(--T); } .mq-track{ display:flex;gap:52px;white-space:nowrap; animation:mq 30s linear infinite; } .mq-item{ font-family:'Space Mono',monospace; font-size:11px;letter-spacing:.13em;text-transform:uppercase; color:var(--muted);flex-shrink:0;transition:color var(--T); } .mq-dot{ display:inline-block;width:4px;height:4px; background:var(--accent);border-radius:50%; vertical-align:middle;flex-shrink:0;transition:background var(--T); } @keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}} /* ── SHARED ───────────────────────────────── */ .wrap{max-width:1440px;margin:0 auto;padding:0 48px} .eyebrow{ font-family:'Space Mono',monospace; font-size:10.5px;letter-spacing:.15em;text-transform:uppercase; color:var(--muted);margin-bottom:28px; display:flex;align-items:center;gap:12px;transition:color var(--T); } .eyebrow::before{ content:'';display:block;width:22px;height:1px; background:var(--muted);transition:background var(--T); } .sec-title{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:clamp(36px,4.4vw,62px);letter-spacing:-.035em;line-height:1; } .sec-title em{font-style:italic;color:var(--accent)} /* ── BENTO ────────────────────────────────── */ .bento-sec{padding:96px 0 120px} .bento-head{ display:flex;align-items:flex-end; justify-content:space-between;gap:32px;margin-bottom:40px; } .bento-hl{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:clamp(36px,4.4vw,64px);letter-spacing:-.035em;line-height:1; } .bento-sub{ max-width:300px;font-size:14px; color:var(--muted);line-height:1.65;text-align:right; transition:color var(--T); } .bento{ display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:340px 260px 160px; gap:14px; } /* ── TILE BASE ─────────────────────────────── */ .tile{ border-radius:var(--r);padding:36px; position:relative;overflow:hidden;cursor:pointer; transition:transform .35s cubic-bezier(.34,1.1,.64,1), box-shadow .3s,background var(--T),color var(--T), filter .28s ease; opacity:0;transform:scale(.96) translateY(10px); } .tile.in{animation:tile-in .5s cubic-bezier(.34,1.05,.64,1) forwards} @keyframes tile-in{ from{opacity:0;transform:scale(.96) translateY(10px)} to{opacity:1;transform:scale(1) translateY(0)} } [data-theme="light"] .tile:hover{ transform:translateY(-5px) scale(1.008); box-shadow:0 28px 56px color-mix(in oklch,var(--fg) 10%,transparent); } [data-theme="dark"] .tile:hover{ transform:translateY(-5px) scale(1.008); box-shadow:0 24px 56px color-mix(in oklch,var(--accent) 16%,transparent); } /* dim / flood states (set by spam-fx.js) */ .tile.dimmed{ filter:brightness(.45) saturate(.2); transform:scale(.975) !important; box-shadow:none !important; } .tile-flood{ position:absolute;inset:0;pointer-events:none;z-index:1; clip-path:inset(0 100% 0 0 round var(--r)); transition:clip-path .42s cubic-bezier(.4,0,.2,1); } .tile.flooded .tile-flood{clip-path:inset(0 0% 0 0 round var(--r))} /* flood colors per tile type */ .c-surface .tile-flood{background:color-mix(in oklch,var(--accent) 20%,transparent)} .c-surface2 .tile-flood{background:color-mix(in oklch,var(--amber) 20%,transparent)} .c-accent .tile-flood{background:rgba(255,255,255,.13)} .c-ink .tile-flood{background:rgba(255,255,255,.09)} .c-amber .tile-flood{background:rgba(255,255,255,.18)} /* ensure tile content sits above flood layer */ .tile > *:not(.tile-flood){position:relative;z-index:2} /* grid positions */ .t-s{grid-column:1/8;grid-row:1} .t-p{grid-column:8/13;grid-row:1} .t-a{grid-column:1/5;grid-row:2} .t-m{grid-column:5/10;grid-row:2} .t-x{grid-column:10/13;grid-row:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px} .t-bundle{ grid-column:1/13;grid-row:3; display:flex;align-items:center;justify-content:space-between; gap:32px;padding:0 52px;flex-wrap:nowrap; overflow:hidden; } .bundle-left{display:flex;flex-direction:column;gap:0;min-width:0} /* colors */ .c-surface {background:var(--surface)} .c-surface2{background:var(--surface2)} .c-accent {background:var(--accent);color:#fff} .c-ink {background:var(--ink);color:#fff} .c-amber {background:var(--amber);color:#1C1610} /* tile internals */ .t-tag{ font-family:'Space Mono',monospace; font-size:10px;letter-spacing:.15em;text-transform:uppercase; opacity:.55;margin-bottom:18px; } .t-name{ font-family:'Bricolage Grotesque',sans-serif;font-weight:700; font-size:clamp(24px,2.3vw,36px);letter-spacing:-.025em; line-height:1.07;margin-bottom:14px; } .t-desc{font-size:14px;line-height:1.65;opacity:.7;max-width:300px} /* ghost letter — bumped opacity for intentional feel */ .t-letter{ position:absolute;bottom:-14px;right:-4px; font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:188px;line-height:1;letter-spacing:-.06em; opacity:.14; /* was .065 — now reads as intentional */ pointer-events:none;user-select:none; transition:opacity .3s,transform .3s; } .tile:hover .t-letter{opacity:.22;transform:scale(1.06)} .t-arrow{ position:absolute;bottom:32px;right:32px; width:38px;height:38px;border-radius:50%; background:color-mix(in oklch,currentColor 10%,transparent); display:flex;align-items:center;justify-content:center;font-size:16px; transition:transform .25s,background .25s; } .tile:hover .t-arrow{ transform:translate(3px,-3px); background:color-mix(in oklch,currentColor 18%,transparent); } /* SPAM mark tile */ .spam-mark{display:flex;gap:3px;align-items:baseline} .sm-l{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:60px;letter-spacing:-.07em;line-height:1; } .sm-s{color:var(--accent)} .sm-p{color:var(--ink)} .sm-a{color:var(--amber)} .sm-m{color:var(--fg)} [data-theme="dark"] .sm-p{color:#5B82E8} /* bundle tile internals */ .bundle-badge{ display:inline-flex;align-items:center;gap:6px; background:color-mix(in oklch,currentColor 12%,transparent); padding:5px 14px;border-radius:100px; font-family:'Space Mono',monospace;font-size:10px; letter-spacing:.1em;text-transform:uppercase; margin-bottom:8px;align-self:flex-start; } .bundle-hl{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:clamp(22px,2.4vw,38px);letter-spacing:-.03em;line-height:1.05; } .bundle-note{ font-size:13.5px;opacity:.65;max-width:320px; line-height:1.55;margin-top:8px; } /* ── STATS ─────────────────────────────────── */ .stats-sec{ padding:100px 0; border-top:1px solid color-mix(in oklch,var(--fg) 7%,transparent); border-bottom:1px solid color-mix(in oklch,var(--fg) 7%,transparent); transition:border-color var(--T); } .stats-grid{display:grid;grid-template-columns:repeat(4,1fr)} .stat{ padding:0 48px; border-right:1px solid color-mix(in oklch,var(--fg) 7%,transparent); transition:border-color var(--T); } .stat:first-child{padding-left:0} .stat:last-child{border-right:none} .stat-num{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:clamp(52px,6vw,84px);letter-spacing:-.05em;line-height:1; color:var(--accent);margin-bottom:14px;transition:color var(--T); } .stat:last-child .stat-num{color:var(--amber)} .stat-lbl{font-size:14px;color:var(--muted);line-height:1.55;transition:color var(--T)} /* ── WORK ──────────────────────────────────── */ .work-sec{padding:120px 0} .work-head{ display:flex;align-items:flex-end; justify-content:space-between;gap:32px;margin-bottom:56px; } .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px} .card{ background:var(--surface);border-radius:var(--r); padding:40px;min-height:320px; display:flex;flex-direction:column;justify-content:space-between; cursor:pointer;position:relative;overflow:hidden; transition:transform .35s cubic-bezier(.34,1.1,.64,1),box-shadow .3s,background var(--T); } [data-theme="light"] .card:hover{transform:translateY(-6px);box-shadow:0 32px 64px color-mix(in oklch,var(--fg) 9%,transparent)} [data-theme="dark"] .card:hover{transform:translateY(-6px);box-shadow:0 28px 60px color-mix(in oklch,var(--accent) 12%,transparent)} .card-tag{ display:inline-flex;align-items:center; background:color-mix(in oklch,var(--accent) 10%,transparent); color:var(--accent);padding:5px 12px;border-radius:100px; font-family:'Space Mono',monospace;font-size:10px; letter-spacing:.1em;font-weight:700;margin-bottom:24px; transition:background var(--T),color var(--T); } .card-client{ font-family:'Bricolage Grotesque',sans-serif;font-weight:700; font-size:28px;letter-spacing:-.025em;margin-bottom:10px; } .card-desc{font-size:13.5px;color:var(--muted);line-height:1.62;transition:color var(--T)} .card-result{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:50px;letter-spacing:-.04em; color:var(--accent);line-height:1;margin-top:28px;transition:color var(--T); } .card-rlbl{font-size:12px;color:var(--muted);margin-top:6px;transition:color var(--T)} .card-hi{background:var(--accent);color:#fff;transition:background var(--T)} .card-hi .card-tag{background:rgba(255,255,255,.15);color:#fff} .card-hi .card-desc{color:rgba(255,255,255,.62)} .card-hi .card-result{color:#fff} .card-hi .card-rlbl{color:rgba(255,255,255,.52)} /* ── PROCESS ───────────────────────────────── */ .proc-sec{ padding:120px 0; border-top:1px solid color-mix(in oklch,var(--fg) 7%,transparent); transition:border-color var(--T); } .proc-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px} .step{ padding:0 48px; border-right:1px solid color-mix(in oklch,var(--fg) 7%,transparent); transition:border-color var(--T); } .step:first-child{padding-left:0} .step:last-child{border-right:none} .step-num{ font-family:'Space Mono',monospace;font-size:10.5px; letter-spacing:.1em;color:var(--muted);margin-bottom:28px;transition:color var(--T); } .step-name{ font-family:'Bricolage Grotesque',sans-serif;font-weight:700; font-size:34px;letter-spacing:-.025em;line-height:1.08;margin-bottom:18px; } .step-desc{font-size:14px;color:var(--muted);line-height:1.72;transition:color var(--T)} /* ── CONTACT ───────────────────────────────── */ .contact-sec{padding:120px 0} .contact-shell{ background:var(--fg);color:var(--bg); border-radius:28px;padding:80px; display:grid;grid-template-columns:1fr 1fr;gap:80px; position:relative;overflow:hidden; transition:background var(--T),color var(--T); } [data-theme="dark"] .contact-shell{background:var(--surface);color:var(--fg)} .contact-title{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:clamp(34px,3.4vw,54px);letter-spacing:-.035em; line-height:1.06;margin-bottom:24px; } .contact-title em{font-style:italic;color:var(--accent)} .deets{margin-top:44px;display:flex;flex-direction:column;gap:22px} .deet{display:flex;gap:18px} .dk{ font-family:'Space Mono',monospace;font-size:10px; letter-spacing:.13em;text-transform:uppercase; opacity:.4;width:56px;flex-shrink:0;padding-top:2px; } .dv{font-size:14.5px;opacity:.88;line-height:1.5} /* compose form */ .compose{display:flex;flex-direction:column} .compose-hdr{ font-family:'Space Mono',monospace;font-size:10.5px; letter-spacing:.12em;text-transform:uppercase; opacity:.36;margin-bottom:24px; } .compose-row{ display:flex;align-items:center;gap:14px;padding:14px 0; border-bottom:1px solid color-mix(in oklch,currentColor 10%,transparent); } .ck{ font-family:'Space Mono',monospace;font-size:10px; letter-spacing:.12em;text-transform:uppercase; opacity:.36;width:50px;flex-shrink:0; } .cv{ flex:1;background:transparent;border:none;outline:none; font-family:'DM Sans',sans-serif;font-size:14.5px;color:inherit;opacity:.88; } .cv::placeholder{opacity:.35} .compose-body{flex:1;padding:18px 0} .compose-msg{ width:100%;min-height:120px;background:transparent; border:none;outline:none;resize:none; font-family:'DM Sans',sans-serif;font-size:14.5px; color:inherit;opacity:.88;line-height:1.65; } .compose-msg::placeholder{opacity:.35} .send-btn{ margin-top:24px;align-self:flex-start; background:var(--accent);color:#fff; font-family:'DM Sans',sans-serif;font-weight:700;font-size:15px; padding:15px 36px;border-radius:100px;border:none;cursor:pointer; display:inline-flex;align-items:center;gap:8px; transition:transform .2s,opacity .2s,background var(--T); } .send-btn:hover{transform:translateY(-2px);opacity:.9} /* compose success state */ .compose-success{ display:flex;flex-direction:column;align-items:flex-start;gap:16px; padding:32px 0;opacity:1; animation:fadeup .55s ease; } @keyframes fadeup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}} .success-icon{ width:52px;height:52px;border-radius:50%; background:var(--accent);color:#fff; display:flex;align-items:center;justify-content:center;font-size:22px; } .success-title{ font-family:'Bricolage Grotesque',sans-serif; font-weight:700;font-size:28px;letter-spacing:-.025em; } .success-sub{font-size:14px;opacity:.62;line-height:1.65} /* paper airplane (injected by spam-fx.js) */ .paper-plane{position:fixed;pointer-events:none;z-index:9999} /* ── FOOTER ────────────────────────────────── */ footer{ border-top:1px solid color-mix(in oklch,var(--fg) 7%,transparent); padding:0 0 48px;transition:border-color var(--T); } .fmq-wrap{ overflow:hidden;padding:14px 0; border-bottom:1px solid color-mix(in oklch,var(--fg) 7%,transparent); margin-bottom:56px;transition:border-color var(--T); } .fmq-track{ display:flex;gap:40px;white-space:nowrap; animation:mq 18s linear infinite; font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:54px;letter-spacing:-.03em; color:var(--fg);opacity:.055;transition:color var(--T); } .footer-bot{ display:flex;align-items:center; justify-content:space-between;gap:24px;padding:0 48px; } .footer-logo{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800; font-size:17px;letter-spacing:-.04em;color:var(--fg);transition:color var(--T); } .footer-logo em{font-style:normal;color:var(--accent)} .footer-links{display:flex;gap:28px;list-style:none;flex-wrap:wrap} .footer-links a{ font-family:'Space Mono',monospace;font-size:10.5px; letter-spacing:.08em;color:var(--muted); text-decoration:none;transition:color .2s; } .footer-links a:hover{color:var(--fg)} .footer-fine{ font-family:'Space Mono',monospace;font-size:10px; color:var(--muted);letter-spacing:.06em;text-align:right; line-height:1.65;transition:color var(--T); } /* ── SCROLL REVEAL ─────────────────────────── */ /* ══ AWWWARDS POLISH: cursor glow + gleam ══ */ .tile::after,.card::after{ content:'';position:absolute;inset:0;border-radius:inherit;opacity:0; transition:opacity .35s;pointer-events:none; background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), color-mix(in oklch,currentColor 9%,transparent), transparent 72%); } .tile:hover::after,.card:hover::after{opacity:1} .card{position:relative;overflow:hidden} .card-hi::before{ content:'';position:absolute;top:0;bottom:0;left:-30%;width:24%;z-index:1; background:linear-gradient(105deg,transparent,rgba(255,255,255,.12),transparent); transform:skewX(-18deg);transition:left .9s cubic-bezier(.22,1,.36,1);pointer-events:none; } .card-hi:hover::before{left:118%} .reveal{ opacity:0;transform:translateY(22px); transition:opacity .65s ease,transform .65s cubic-bezier(.25,.46,.45,.94); } .reveal.in{opacity:1;transform:none} /* ── RESPONSIVE ────────────────────────────── */ @media(max-width:1100px){ .bento{grid-template-columns:repeat(6,1fr);grid-template-rows:auto} .t-s{grid-column:1/7;grid-row:1;min-height:280px} .t-p{grid-column:1/4;grid-row:2;min-height:240px} .t-a{grid-column:4/7;grid-row:2} .t-m{grid-column:1/4;grid-row:3} .t-x{grid-column:4/7;grid-row:3} .t-bundle{grid-column:1/7;grid-row:4} .cards{grid-template-columns:1fr 1fr} .stats-grid{grid-template-columns:1fr 1fr;gap:48px 0} .stat{border-right:none;padding-left:0;padding-right:0} .stat:nth-child(odd){border-right:1px solid color-mix(in oklch,var(--fg) 7%,transparent);padding-right:48px} } @media(max-width:768px){ nav{padding:16px 24px} .nav-links{display:none} .hero{height:auto;min-height:100svh;padding:120px 24px 80px} .hero-badge{display:none} .wrap{padding:0 24px} .bento-head{flex-direction:column;align-items:flex-start} .bento-sub{text-align:left} .t-bundle{padding:32px 28px;flex-direction:column;align-items:flex-start;gap:24px} .cards{grid-template-columns:1fr} .proc-grid{grid-template-columns:1fr} .step{ border-right:none;padding-left:0;padding-right:0; margin-bottom:48px;padding-bottom:48px; border-bottom:1px solid color-mix(in oklch,var(--fg) 7%,transparent); } .step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0} .contact-shell{grid-template-columns:1fr;padding:48px 28px;gap:48px} .footer-bot{flex-direction:column;align-items:flex-start} .footer-fine{text-align:left} .stats-grid{grid-template-columns:1fr} .stat:nth-child(odd){border-right:none;padding-right:0} } @media(prefers-reduced-motion:reduce){ *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important} .reveal,.tile{opacity:1!important;transform:none!important} }
Social Media · Public Relations · Advertising · Marketing. Four disciplines, one studio, zero filler. The message your competitors wish you'd marked as read.
Four disciplines, fully integrated. Because the best work doesn't live in silos — and neither do we.
Content that earns attention. Strategies built on signal, not noise. We make your feed the one they actually stop scrolling for.
SThe press release is dead. Earned media built on relationships, story, and impeccable timing. We get you in the room that matters.
PPaid that performs. Creative-first media buying that turns budgets into ROI worth bragging about.
AFull-funnel strategy from awareness to conversion. Positioning, research, campaign planning — the whole play.
MIntegrated outperforms fragmented. Most agencies won't do the work. We will.
Competitive audit, audience mapping, channel analysis. We locate your exact opportunity before we touch a brief. No assumptions. No guessing.
Strategy, creative, production, copy — fully in-house. What we pitch, we build. What we build, we stand behind. No handoffs to mysterious third parties.
Launch, manage, optimize, report. We stay in it until the numbers look like a case study worth putting on a website. (Like the one you're reading.)