  *{margin:0;padding:0;box-sizing:border-box;}
  :root{
    --ink:#0a0a0a;
    --white:#ffffff;
    --paper:#f5f5f0;
    --yellow:#f5e642;
    --navy:#18243a;
    --line:#e4e4dc;
    --font-display:'Bebas Neue',sans-serif;
    --font-body:'Space Grotesk',sans-serif;
    --wrap:1180px;
    --ease:cubic-bezier(.2,.7,.2,1);
  }
  html{scroll-behavior:smooth;}
  body{font-family:var(--font-body);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
  a{color:inherit;}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px;}
  ::selection{background:var(--yellow);color:var(--ink);}

  .hl{background:linear-gradient(180deg,transparent 58%,var(--yellow) 58%);padding:0 .06em;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
  .eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink);opacity:.55;}

  /* ---------- NAV ---------- */
  nav{position:sticky;top:0;z-index:100;background:rgba(245,245,240,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
  .nav-inner{max-width:var(--wrap);margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
  .nav-logo{font-family:var(--font-display);font-size:26px;letter-spacing:2px;text-decoration:none;color:var(--ink);}
  .nav-links{display:flex;gap:30px;list-style:none;}
  .nav-links a{text-decoration:none;font-size:14px;font-weight:500;letter-spacing:.2px;opacity:.75;transition:opacity .2s;position:relative;}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease);}
  .nav-links a:hover,.nav-links a:focus-visible{opacity:1;}
  .nav-links a:hover::after{transform:scaleX(1);}
  .nav-contact{background:var(--ink);color:var(--white);text-decoration:none;font-size:14px;font-weight:600;padding:10px 22px;border-radius:40px;transition:transform .15s var(--ease),background .2s;}
  .nav-contact:hover{transform:translateY(-1px);background:var(--navy);}
  .nav-burger{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink);}

  /* ---------- BUTTONS ---------- */
  .btn{text-decoration:none;font-size:15px;font-weight:600;border-radius:40px;padding:14px 28px;display:inline-flex;align-items:center;gap:9px;position:relative;overflow:hidden;isolation:isolate;transition:transform .2s var(--ease),background .25s,color .25s,box-shadow .25s;}
  .btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.32) 50%,transparent 80%);transform:translateX(-130%);transition:transform .6s var(--ease);}
  .btn:hover::after{transform:translateX(130%);}
  .btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(10,10,10,.18);}
  .btn:active{transform:translateY(0) scale(.95);box-shadow:0 4px 10px rgba(10,10,10,.16);transition-duration:.08s;}
  .btn .arrow{display:inline-block;transition:transform .28s var(--ease);}
  .btn:hover .arrow{transform:translateX(5px);}
  .btn-primary{background:var(--ink);color:var(--white);}
  .btn-primary:hover{background:var(--navy);}
  .btn-ghost{border:1.5px solid var(--ink);color:var(--ink);}
  .btn-ghost:hover{background:var(--ink);color:var(--white);}
  .btn-yellow{background:var(--yellow);color:var(--ink);}
  .btn-yellow:hover{filter:brightness(.97);}

  /* ---------- HERO ---------- */
  .hero{padding:78px 0 64px;}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
  .hero-avail{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.4px;background:var(--white);border:1px solid var(--line);padding:6px 14px;border-radius:40px;margin-bottom:26px;}
  .hero-avail .dot{width:8px;height:8px;border-radius:50%;background:#2ab052;box-shadow:0 0 0 3px rgba(42,176,82,.18);}
  .hero-role{font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink);opacity:.6;margin-bottom:12px;}
  .hero-hi{font-family:var(--font-display);font-size:clamp(56px,8vw,104px);line-height:.92;letter-spacing:1.5px;margin-bottom:18px;}
  .wave{display:inline-block;cursor:pointer;transform-origin:70% 70%;}
  .hero-hi:hover .wave,.wave.waving{animation:wave 1.2s ease-in-out;}
  @keyframes wave{
    0%{transform:rotate(0deg);}
    15%{transform:rotate(16deg);}
    30%{transform:rotate(-9deg);}
    45%{transform:rotate(14deg);}
    60%{transform:rotate(-5deg);}
    75%{transform:rotate(10deg);}
    100%{transform:rotate(0deg);}
  }
  @media(prefers-reduced-motion:reduce){.hero-hi:hover .wave,.wave.waving{animation:none;}}
  .hero-line{font-size:clamp(20px,2.4vw,28px);font-weight:500;line-height:1.35;max-width:560px;margin-bottom:22px;}
  .hero-intro{font-size:16.5px;line-height:1.75;max-width:520px;color:#2a2a26;margin-bottom:34px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .hero-photo{position:relative;justify-self:center;}
  .hero-photo .shape{position:absolute;inset:auto -18px -18px auto;width:78%;height:78%;background:var(--yellow);border-radius:26px;z-index:0;transition:transform .4s var(--ease);}
  .hero-photo:hover .shape{transform:translate(6px,6px);}
  .hero-photo img{position:relative;z-index:1;width:100%;max-width:420px;aspect-ratio:1/1.04;object-fit:cover;object-position:50% 28%;border-radius:26px;border:1px solid var(--line);display:block;}

  /* ---------- MARQUEE ---------- */
  .marquee{background:var(--ink);color:var(--white);padding:20px 0;overflow:hidden;white-space:nowrap;transition:background .3s;}
  .marquee:hover{background:#141414;}
  .marquee-track{display:inline-flex;align-items:center;animation:scroll 34s linear infinite;}
  .marquee:hover .marquee-track{animation-play-state:paused;}
  .marquee-track span{font-family:var(--font-display);font-size:30px;letter-spacing:2px;padding:0 26px;transition:color .2s,transform .25s var(--ease);}
  .marquee-track span:not(.star){cursor:default;}
  .marquee-track span:not(.star):hover{color:var(--yellow);transform:translateY(-3px);}
  .marquee-track .star{color:var(--yellow);font-size:20px;padding:0 4px;transition:transform .5s var(--ease);}
  .marquee:hover .marquee-track .star{transform:rotate(180deg);}
  @keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media(prefers-reduced-motion:reduce){.marquee-track{animation:none;}}

  /* ---------- SECTION SHELL ---------- */
  section{padding:88px 0;}
  .sec-head{max-width:640px;margin-bottom:52px;}
  .sec-title{font-family:var(--font-display);font-size:clamp(40px,6vw,72px);line-height:.98;letter-spacing:1px;margin:14px 0 16px;}
  .sec-sub{font-size:16.5px;line-height:1.7;color:#2a2a26;}

  /* ---------- SERVICES ---------- */
  .services{background:var(--paper);}
  .svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
  .svc-card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:36px 34px;position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;}
  .svc-card::before{content:"";position:absolute;top:0;left:0;height:4px;width:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:2;}
  .svc-card::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 32%,rgba(245,230,66,.16) 50%,transparent 68%);transform:translateX(-125%);transition:transform .85s var(--ease);pointer-events:none;z-index:1;}
  .svc-card:hover{transform:translateY(-9px) scale(1.015);box-shadow:0 30px 64px rgba(10,10,10,.14);border-color:var(--ink);background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(245,230,66,.18),rgba(255,255,255,0) 60%),var(--white);}
  .svc-card:hover::before{transform:scaleX(1);}
  .svc-card:hover::after{transform:translateX(125%);}
  .svc-num{font-family:var(--font-display);font-size:22px;letter-spacing:1px;color:var(--ink);opacity:.28;transition:opacity .35s,transform .35s var(--ease),color .35s;display:inline-block;}
  .svc-card:hover .svc-num{opacity:1;transform:translateX(3px) scale(1.18);color:#b7a800;}
  .svc-name{font-size:22px;font-weight:600;letter-spacing:-.2px;margin:10px 0 12px;transition:transform .3s var(--ease);}
  .svc-name::after{content:"→";display:inline-block;max-width:0;opacity:0;transform:translateX(-4px);overflow:hidden;vertical-align:baseline;transition:opacity .3s,transform .3s var(--ease),margin-left .3s,max-width .3s;}
  .svc-card:hover .svc-name::after{opacity:1;transform:translateX(0);margin-left:8px;max-width:26px;}
  .svc-desc{font-size:15.5px;line-height:1.7;color:#3a3a34;}
  .svc-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px;}
  .svc-tags span{font-size:12px;font-weight:500;background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:5px 12px;border-radius:40px;transition:background .25s,color .25s,border-color .25s;}
  .svc-card:hover .svc-tags span{background:var(--ink);color:var(--white);border-color:var(--ink);}

  /* ---------- PROCESS ---------- */
  .process{background:var(--navy);color:var(--white);}
  .process .eyebrow{color:var(--white);opacity:.6;}
  .process .sec-title{color:var(--white);}
  .process .sec-sub{color:rgba(255,255,255,.72);}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.16);}
  .step{padding:34px 26px 30px;border-right:1px solid rgba(255,255,255,.16);transition:background .3s;}
  .step:last-child{border-right:none;}
  .step:hover{background:rgba(255,255,255,.04);}
  .step-num{font-family:var(--font-display);font-size:56px;line-height:1;letter-spacing:1px;color:var(--yellow);margin-bottom:16px;transition:transform .3s var(--ease);display:inline-block;}
  .step:hover .step-num{transform:translateY(-4px);}
  .step-title{font-size:19px;font-weight:600;margin-bottom:10px;}
  .step-desc{font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.72);}
  .process-cta{margin-top:44px;}

  /* ---------- TESTIMONIALS ---------- */
  .testimonials{background:var(--paper);}
  .testi-wrap{max-width:780px;margin:0 auto;}
  .testi-viewport{overflow:hidden;}
  .testi-track{display:flex;transition:transform .55s var(--ease);will-change:transform;}
  .testi-slide{min-width:100%;padding:4px;}
  .testi-card{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:48px 44px;position:relative;}
  .testi-card::before{content:"\201C";position:absolute;top:14px;left:34px;font-family:Georgia,serif;font-size:96px;line-height:1;color:var(--yellow);}
  .testi-quote{font-size:clamp(18px,2.2vw,22px);line-height:1.6;font-weight:500;margin:26px 0 30px;position:relative;}
  .testi-brand{display:flex;align-items:center;gap:14px;}
  .testi-logo{width:48px;height:48px;border-radius:13px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0;}
  .testi-name{font-weight:600;font-size:15px;}
  .testi-role{font-size:13px;opacity:.6;}
  .testi-nav{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:30px;}
  .testi-btn{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:transform .18s var(--ease),background .25s,color .25s;}
  .testi-btn:hover{background:var(--ink);color:#fff;transform:translateY(-2px);}
  .testi-btn:active{transform:scale(.92);}
  .testi-dots{display:flex;gap:9px;}
  .dot-b{width:9px;height:9px;border-radius:50%;background:rgba(10,10,10,.2);border:none;cursor:pointer;padding:0;transition:width .3s var(--ease),background .3s;}
  .dot-b.active{background:var(--ink);width:26px;border-radius:6px;}

  /* ---------- TEASERS ---------- */
  .teasers{background:var(--paper);}
  .teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .teaser{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:44px 40px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;min-height:230px;position:relative;overflow:hidden;transition:transform .32s var(--ease),box-shadow .32s;}
  .teaser::before{content:"";position:absolute;top:0;left:0;height:4px;width:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
  .teaser:hover{transform:translateY(-7px);box-shadow:0 24px 54px rgba(10,10,10,.11);}
  .teaser:hover::before{transform:scaleX(1);}
  .teaser.dark{background:var(--ink);color:var(--white);border-color:var(--ink);}
  .teaser-kicker{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:.55;}
  .teaser h3{font-family:var(--font-display);font-size:46px;letter-spacing:1px;line-height:1;margin:16px 0 10px;}
  .teaser p{font-size:15px;line-height:1.6;opacity:.8;max-width:340px;}
  .teaser .go{font-size:15px;font-weight:600;margin-top:26px;display:inline-flex;align-items:center;gap:8px;}
  .teaser .go .arrow{display:inline-block;transition:transform .28s var(--ease);}
  .teaser:hover .go .arrow{transform:translateX(5px);}
  .teaser.dark .teaser-kicker{color:var(--yellow);opacity:1;}

  /* ---------- CONTACT ---------- */
  .contact{background:var(--yellow);color:var(--ink);}
  .contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
  .contact h2{font-family:var(--font-display);font-size:clamp(46px,7vw,88px);line-height:.94;letter-spacing:1px;margin-bottom:18px;}
  .contact p{font-size:17px;line-height:1.7;max-width:440px;}
  .contact-channels{display:flex;flex-direction:column;gap:12px;}
  .channel{display:flex;align-items:center;gap:16px;background:var(--ink);color:var(--white);text-decoration:none;padding:18px 24px;border-radius:16px;font-size:16px;font-weight:500;transition:transform .2s var(--ease),box-shadow .2s;}
  .channel:hover{transform:translateX(6px);box-shadow:0 10px 24px rgba(10,10,10,.2);}
  .channel .ch-ic{width:22px;height:22px;flex-shrink:0;}
  .channel .ch-meta{margin-left:auto;font-size:13px;opacity:.6;}

  /* ---------- RESUME ---------- */
  .resume{background:var(--ink);color:#fff;padding:66px 0 30px;}
  .resume-inner{display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap;}
  .resume-text .eyebrow{color:var(--yellow);opacity:1;}
  .resume-text h2{font-family:var(--font-display);font-size:clamp(34px,5vw,56px);line-height:1;letter-spacing:1px;margin:12px 0 10px;}
  .resume-text p{font-size:16px;color:rgba(255,255,255,.68);max-width:440px;}
  .resume-ctas{display:flex;gap:14px;flex-wrap:wrap;}
  .btn-light{border:1.5px solid rgba(255,255,255,.4);color:#fff;}
  .btn-light:hover{background:#fff;color:var(--ink);border-color:#fff;}
  .resume-copy{border-top:1px solid rgba(255,255,255,.12);margin-top:52px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:rgba(255,255,255,.5);}

  /* ---------- PROOF STRIP ---------- */
  .proof{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .proof-grid{display:grid;grid-template-columns:repeat(3,1fr);}
  .proof-item{padding:30px 22px;text-align:center;border-right:1px solid var(--line);}
  .proof-item:last-child{border-right:none;}
  .proof-num{font-family:var(--font-display);font-size:44px;letter-spacing:1px;line-height:1;color:var(--ink);}
  .proof-num.sm{font-size:26px;letter-spacing:1.5px;padding-top:8px;}
  .proof-label{font-size:11.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;opacity:.5;margin-top:10px;}

  /* ---------- INDUSTRIES ---------- */
  .industries{background:var(--white);padding:80px 0;}
  .ind-list{display:flex;flex-wrap:wrap;gap:12px;}
  .ind-chip{font-size:15px;font-weight:500;background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:12px 22px;border-radius:40px;cursor:default;transition:transform .2s var(--ease),background .25s,color .25s,border-color .25s;}
  .ind-chip:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-3px);}

  /* teaser cursor glow */
  .teaser:not(.dark):hover{background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(245,230,66,.16),rgba(255,255,255,0) 60%),var(--white);}
  .teaser.dark:hover{background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(245,230,66,.15),rgba(10,10,10,0) 60%),var(--ink);}

  a:focus-visible,button:focus-visible{outline:2.5px solid var(--yellow);outline-offset:3px;border-radius:4px;}

  /* ---------- RESPONSIVE ---------- */
  @media(max-width:920px){
    .hero-grid{grid-template-columns:1fr;gap:40px;}
    .hero-photo{order:-1;justify-self:start;}
    .hero-photo img{max-width:340px;}
    .svc-grid,.teaser-grid{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr 1fr;}
    .step{border-bottom:1px solid rgba(255,255,255,.16);}
    .step:nth-child(2){border-right:none;}
    .contact-grid{grid-template-columns:1fr;gap:36px;}
    .resume-inner{flex-direction:column;align-items:flex-start;}
    .nav-links{display:none;}
    .nav-burger{display:block;}
  }
  @media(max-width:560px){
    .wrap{padding:0 20px;}
    .nav-inner{padding:14px 20px;}
    section{padding:64px 0;}
    .hero{padding:52px 0 48px;}
    .steps{grid-template-columns:1fr;}
    .step{border-right:none;}
    .marquee-track span{font-size:24px;}
    .testi-card{padding:38px 26px;}
    .proof-grid{grid-template-columns:1fr 1fr;}
    .proof-item:nth-child(2n){border-right:none;}
    .proof-item:nth-child(-n+2){border-bottom:1px solid var(--line);}
    .industries{padding:56px 0;}
  }
