/* ============================================================
   EMAH OKON — PORTFOLIO
   Design language: Adire Atelier — Blue Hour
   Deep navy-blue base, bright blue + a touch of orange accents,
   Montserrat for display, Open Sans for UI/body.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,600;1,700&family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root{
  --indigo-deep:#0B1E3D;
  --indigo:#13294F;
  --indigo-soft:#1F4E8C;
  --accent-blue:#3B82F6;
  --accent-orange:#F2793A;
  --paper:#F3EEE1;
  --paper-dim:#E7DFC9;
  --ink:#0B1E3D;
  --muted:#8A97B8;
  --muted-on-paper:#6B6650;
  --line:rgba(243,238,225,0.14);
  --line-on-paper:rgba(11,30,61,0.12);
  --radius-lg:28px;
  --radius-md:16px;
  --radius-sm:10px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--indigo-deep);
  color:var(--paper);
  font-family:'Open Sans',sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}

a{color:inherit;}
img{display:block;max-width:100%;}
button{font-family:inherit;}

::selection{background:var(--accent-blue);color:var(--indigo-deep);}

:focus-visible{outline:2.5px solid var(--accent-blue);outline-offset:3px;}

.display{font-family:'Montserrat',sans-serif;}

/* -------------------- wave / adire motif -------------------- */
.wave-rule{
  width:100%;height:14px;
  background-image:radial-gradient(circle at 7px 7px, var(--accent-blue) 3.5px, transparent 4px);
  background-size:14px 14px;
  background-repeat:repeat-x;
  opacity:0.55;
}
.wave-divider{
  position:relative;height:64px;overflow:hidden;
}
.wave-divider svg{width:100%;height:100%;display:block;}

/* -------------------- layout helpers -------------------- */
.wrap{max-width:1240px;margin:0 auto;padding-left:56px;padding-right:56px;}
section{position:relative;}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12.5px;letter-spacing:0.16em;text-transform:uppercase;
  font-weight:600;color:var(--accent-blue);margin-bottom:20px;
}
.eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent-blue);}

.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{
  font-size:clamp(32px,4.6vw,54px);
  font-weight:600;letter-spacing:-0.01em;line-height:1.06;
}
.section-head p{margin-top:18px;color:var(--muted);font-size:16px;max-width:520px;}
.on-paper .section-head p{color:var(--muted-on-paper);}

/* -------------------- nav -------------------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 56px;
  background:rgba(11,30,61,0.72);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:background 0.3s;
}
.nav-mark{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-mark img{
  height:56px;width:auto;filter:invert(1) brightness(1.9) drop-shadow(0 0 10px rgba(59,130,246,0.35));
  transition:transform 0.35s cubic-bezier(.34,1.56,.64,1),filter 0.35s;
}
.nav-mark:hover img{transform:scale(1.08) rotate(-3deg);filter:invert(1) brightness(1.9) drop-shadow(0 0 18px rgba(59,130,246,0.6));}
.nav-links{display:flex;align-items:center;gap:34px;list-style:none;}
.nav-links a{
  font-size:14px;font-weight:500;text-decoration:none;color:var(--paper);
  opacity:0.75;transition:opacity 0.2s,color 0.2s;position:relative;
  padding-bottom:4px;
}
.nav-links a:not(.nav-cta)::after{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;
  background:var(--accent-blue);transform:scaleX(0);transform-origin:right;
  transition:transform 0.3s ease;
}
.nav-links a:not(.nav-cta):hover::after,
.nav-links a.active-page::after{transform:scaleX(1);transform-origin:left;}
.nav-links a:hover{opacity:1;}
.nav-links a.active-page{opacity:1;color:var(--accent-blue);}
nav.scrolled{background:rgba(11,30,61,0.92);box-shadow:0 10px 30px rgba(0,0,0,0.25);}
.nav-cta{
  background:var(--accent-orange);color:#1A1000 !important;
  padding:10px 22px;border-radius:999px;font-weight:700 !important;
  opacity:1 !important;transition:transform 0.2s,box-shadow 0.2s,background 0.2s;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(242,121,58,0.4);background:#FF8A45;}
.nav-burger{display:none;background:none;border:none;color:var(--paper);font-size:26px;cursor:pointer;}

@media (max-width:860px){
  nav{padding:16px 24px;}
  .nav-links{position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--indigo-deep);flex-direction:column;justify-content:flex-start;padding:40px 32px;gap:28px;transform:translateX(100%);transition:transform 0.35s ease;}
  .nav-links.open{transform:translateX(0);}
  .nav-links a{font-size:20px;}
  .nav-burger{display:block;}
}

/* -------------------- cursor glow (desktop only) -------------------- */
.glow-cursor{
  position:fixed;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle, rgba(59,130,246,0.10) 0%, transparent 70%);
  pointer-events:none;z-index:1;left:0;top:0;
  transform:translate(-50%,-50%);
  transition:opacity 0.4s;
}

/* -------------------- cursor dot + trail (desktop only) -------------------- */
.cursor-dot,.cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:600;
  border-radius:50%;mix-blend-mode:difference;
}
.cursor-dot{width:9px;height:9px;background:var(--accent-blue);transition:transform 0.15s ease;}
.cursor-ring{
  width:34px;height:34px;border:1.5px solid var(--accent-blue);
  transition:width 0.25s,height 0.25s,opacity 0.25s;opacity:0.7;
}
.cursor-ring.grow{width:64px;height:64px;opacity:1;}

/* -------------------- scroll progress bar -------------------- */
.progress-bar{
  position:fixed;top:0;left:0;height:3px;width:0%;
  background:linear-gradient(90deg,var(--accent-orange),var(--accent-blue));
  z-index:700;transition:width 0.1s linear;
}

/* -------------------- click ripple -------------------- */
.click-ripple{
  position:fixed;pointer-events:none;z-index:599;
  width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle, var(--accent-blue) 0%, transparent 70%);
  transform:translate(-50%,-50%) scale(0);
  animation:ripple-pop 0.65s ease-out forwards;
}
@keyframes ripple-pop{
  0%{transform:translate(-50%,-50%) scale(0);opacity:0.9;}
  70%{opacity:0.5;}
  100%{transform:translate(-50%,-50%) scale(9);opacity:0;}
}

@media (pointer:coarse){
  .cursor-dot,.cursor-ring{display:none;}
}

/* -------------------- scroll to top -------------------- */
.to-top{
  position:fixed;right:28px;bottom:28px;z-index:400;
  width:52px;height:52px;border-radius:50%;
  background:var(--accent-blue);color:#fff;border:none;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;cursor:pointer;
  box-shadow:0 14px 30px rgba(59,130,246,0.4);
  opacity:0;transform:translateY(16px) scale(0.8);pointer-events:none;
  transition:opacity 0.3s,transform 0.3s cubic-bezier(.34,1.56,.64,1),background 0.3s;
}
.to-top.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.to-top:hover{background:var(--accent-orange);transform:translateY(-4px) scale(1.06);}
@media (max-width:640px){.to-top{right:18px;bottom:18px;width:46px;height:46px;font-size:18px;}}

/* -------------------- HERO -------------------- */
.hero{
  min-height:100vh;
  padding:150px 56px 100px;
  display:grid;grid-template-columns:1.2fr 0.8fr;gap:40px;align-items:center;
  position:relative;
}
.hero-signature-bg{
  position:absolute;top:14%;right:-4%;width:640px;max-width:70vw;
  opacity:0.10;pointer-events:none;filter:invert(1) brightness(1.8);
  animation:sig-draw 3.6s ease-out both;
}
@keyframes sig-draw{
  0%{opacity:0;transform:translateX(30px) scale(0.96);}
  100%{opacity:0.10;transform:translateX(0) scale(1);}
}
.hero-copy h1{
  font-size:clamp(44px,6.4vw,84px);
  font-weight:600;line-height:1.02;letter-spacing:-0.015em;
  margin-bottom:26px;
}
.hero-copy h1 .accent{color:var(--accent-blue);font-style:italic;font-weight:500;}
.hero-copy p.lede{
  font-size:18px;color:var(--muted);max-width:480px;margin-bottom:36px;line-height:1.75;
}
.hero-copy p.lede strong{color:var(--paper);font-weight:600;}

.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:56px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;position:relative;overflow:hidden;
  padding:15px 30px;border-radius:999px;font-weight:600;font-size:14.5px;
  text-decoration:none;transition:transform 0.25s cubic-bezier(.34,1.56,.64,1),box-shadow 0.25s,background 0.2s,color 0.2s;
  letter-spacing:0.01em;
}
.btn-fill{background:var(--accent-blue);color:#FFFFFF;}
.btn-fill:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 38px rgba(59,130,246,0.4);}
.btn-fill:active,.btn-line:active,.cta-links a.primary:active{transform:translateY(-1px) scale(0.97);}
.btn-line{border:1.5px solid var(--line);color:var(--paper);}
.btn-line:hover{border-color:var(--accent-blue);color:var(--accent-blue);transform:translateY(-3px);}

/* -------------------- brand name link -------------------- */
.brand-link{
  color:var(--accent-orange);font-weight:700;text-decoration:none;
  background-image:linear-gradient(var(--accent-orange),var(--accent-orange));
  background-repeat:no-repeat;background-size:0% 2px;background-position:0 100%;
  transition:background-size 0.35s ease,color 0.3s;
  padding-bottom:1px;
}
.brand-link:hover{background-size:100% 2px;color:var(--accent-blue);}
footer .brand-link{color:var(--accent-blue);}
footer .brand-link:hover{color:var(--paper);}
.on-paper .btn-line{border-color:var(--line-on-paper);color:var(--ink);}
.on-paper .btn-line:hover{border-color:var(--accent-orange);color:var(--accent-orange);}

.hero-stats{display:flex;gap:44px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:34px;}
.stat b{
  display:block;font-family:'Montserrat',sans-serif;font-size:36px;font-weight:600;color:var(--paper);
}
.stat b span{color:var(--accent-blue);}
.stat small{display:block;font-size:12.5px;color:var(--muted);margin-top:4px;letter-spacing:0.02em;}

.hero-portrait{
  position:relative;justify-self:center;
}
.hero-portrait-frame{
  width:100%;max-width:380px;aspect-ratio:3/4;
  border-radius:180px 180px 24px 24px;
  overflow:hidden;position:relative;
  border:1px solid var(--line);
  box-shadow:0 40px 80px rgba(0,0,0,0.35);
  transition:box-shadow 0.4s,border-color 0.4s;
}
.hero-portrait-frame::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(140deg, rgba(59,130,246,0.35), transparent 40%, rgba(242,121,58,0.3));
  opacity:0;transition:opacity 0.45s;pointer-events:none;
}
.hero-portrait-frame:hover{border-color:var(--accent-blue);box-shadow:0 46px 90px rgba(59,130,246,0.22);}
.hero-portrait-frame:hover::after{opacity:1;}
.hero-portrait-frame img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.6s cubic-bezier(.22,1,.36,1),filter 0.6s;
}
.hero-portrait-frame:hover img{transform:scale(1.08) rotate(-1deg);filter:saturate(1.15);}
.hero-badge{
  position:absolute;bottom:-18px;left:-28px;
  background:var(--accent-orange);color:#1A1000;
  border-radius:50%;width:118px;height:118px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:11px;font-weight:700;letter-spacing:0.04em;line-height:1.35;
  box-shadow:0 18px 36px rgba(242,121,58,0.4);
  animation:spin-badge 16s linear infinite;
  padding:10px;transition:transform 0.3s;
}
.hero-badge:hover{transform:scale(1.12);}
@keyframes spin-badge{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.hero-badge span{display:block;font-size:20px;margin-bottom:2px;animation:none;}

@media (max-width:960px){
  .hero{grid-template-columns:1fr;padding:130px 24px 60px;text-align:left;}
  .hero-portrait{order:-1;margin-bottom:20px;max-width:280px;justify-self:start;}
  .hero-signature-bg{display:none;}
}

/* -------------------- marquee -------------------- */
.marquee{
  overflow:hidden;padding:18px 0;
  background:var(--indigo);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.marquee-track{display:flex;width:max-content;animation:scroll-x 26s linear infinite;}
.marquee-track span{
  padding:0 30px;font-family:'Montserrat',sans-serif;font-style:italic;font-weight:500;
  font-size:16px;color:var(--paper);opacity:0.8;white-space:nowrap;
  display:flex;align-items:center;gap:30px;
}
.marquee-track span::after{content:'✦';color:var(--accent-orange);font-style:normal;opacity:1;}
@keyframes scroll-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* -------------------- ABOUT -------------------- */
.about{padding:120px 0;background:var(--paper);color:var(--ink);}
.about .wrap{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:start;}
.about-photo{position:relative;overflow:hidden;border-radius:var(--radius-lg);}
.about-photo img{
  width:100%;border-radius:var(--radius-lg);
  border:1px solid var(--line-on-paper);
  transition:transform 0.6s cubic-bezier(.22,1,.36,1),filter 0.6s;
}
.about-photo:hover img{transform:scale(1.06) rotate(-0.6deg);filter:saturate(1.2);}
.about-photo .tape{
  position:absolute;top:-14px;left:34px;width:90px;height:34px;
  background:rgba(242,121,58,0.5);transform:rotate(-4deg);
  box-shadow:0 4px 10px rgba(0,0,0,0.1);
  transition:transform 0.4s;z-index:2;
}
.about-photo:hover .tape{transform:rotate(4deg) scale(1.1);}
.about-copy .eyebrow{color:var(--accent-orange);}
.about-copy .eyebrow::before{background:var(--accent-orange);}
.about-copy h2{
  font-family:'Montserrat',sans-serif;font-size:clamp(30px,4vw,44px);
  font-weight:600;line-height:1.14;margin-bottom:24px;
}
.about-copy p{color:var(--muted-on-paper);font-size:16.5px;margin-bottom:18px;max-width:560px;}
.about-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.about-tags span{
  font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:999px;
  background:rgba(11,30,61,0.06);color:var(--ink);border:1px solid var(--line-on-paper);
}
@media (max-width:860px){.about .wrap{grid-template-columns:1fr;}}

/* -------------------- SERVICES -------------------- */
.services{padding:120px 0;}

/* -------------------- SKILL CHIP ROW (home preview) -------------------- */
.skill-chip-row{display:flex;flex-wrap:wrap;gap:12px;}
.skill-chip{
  display:flex;align-items:center;gap:10px;
  padding:13px 20px;border:1px solid var(--line);border-radius:999px;
  font-size:13.5px;font-weight:600;color:var(--paper);
  transition:transform 0.35s cubic-bezier(.34,1.56,.64,1),border-color 0.3s,background 0.3s;
}
.skill-chip span{
  font-family:'Montserrat',sans-serif;font-weight:800;font-size:11.5px;color:var(--accent-orange);
}
.skill-chip:hover{transform:translateY(-4px) scale(1.04);border-color:var(--accent-blue);background:rgba(59,130,246,0.08);}

/* -------------------- ROLES / EXPERIENCE -------------------- */
.roles{padding:120px 0;background:var(--paper);color:var(--ink);}
.roles .eyebrow{color:var(--accent-orange);}
.roles .eyebrow::before{background:var(--accent-orange);}
.roles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.role-card{
  border:1px solid var(--line-on-paper);border-radius:var(--radius-md);
  padding:30px 28px;background:rgba(11,30,61,0.02);
  transition:transform 0.4s cubic-bezier(.34,1.56,.64,1),box-shadow 0.4s,border-color 0.3s;
}
.role-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(11,30,61,0.12);border-color:var(--accent-blue);}
.role-tag{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--accent-blue);background:rgba(59,130,246,0.1);padding:5px 12px;border-radius:999px;margin-bottom:16px;
}
.role-card h3{font-family:'Montserrat',sans-serif;font-size:19px;font-weight:600;margin-bottom:4px;}
.role-co{font-size:13px;font-weight:600;color:var(--accent-orange);margin-bottom:12px;}
.role-card p{font-size:14px;color:var(--muted-on-paper);line-height:1.7;}
@media (max-width:760px){.roles-grid{grid-template-columns:1fr;}}

/* -------------------- FILTER BAR -------------------- */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.filter-btn{
  padding:10px 20px;border-radius:999px;border:1.5px solid var(--line);
  background:transparent;color:var(--paper);font-family:'Open Sans',sans-serif;
  font-size:13px;font-weight:600;cursor:pointer;transition:all 0.3s;
}
.filter-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue);}
.filter-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;}
.work-item.filtered-out{display:none;}

/* -------------------- REMOTE WORK -------------------- */
.remote{padding:120px 0;background:var(--paper);color:var(--ink);}
.remote .eyebrow{color:var(--accent-blue);}
.remote .eyebrow::before{background:var(--accent-blue);}
.remote-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.remote-card{
  border:1px solid var(--line-on-paper);border-radius:var(--radius-md);
  padding:28px 24px;text-align:left;
  transition:transform 0.4s cubic-bezier(.34,1.56,.64,1),box-shadow 0.4s,border-color 0.3s;
}
.remote-card:hover{transform:translateY(-6px) rotate(-0.6deg);box-shadow:0 20px 40px rgba(11,30,61,0.12);border-color:var(--accent-orange);}
.rc-icon{font-size:26px;margin-bottom:14px;}
.remote-card h3{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:600;margin-bottom:8px;}
.remote-card p{font-size:13.5px;color:var(--muted-on-paper);line-height:1.65;}
@media (max-width:960px){.remote-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.remote-grid{grid-template-columns:1fr;}}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;}
.services-grid .service:last-child{grid-column:1 / -1;}
@media (max-width:860px){.services-grid .service:last-child{grid-column:auto;}}
.service{
  background:var(--indigo-deep);padding:40px 32px;position:relative;
  transition:background 0.3s,transform 0.4s cubic-bezier(.34,1.56,.64,1),box-shadow 0.4s;
  will-change:transform;
}
.service:hover{
  background:var(--indigo);transform:translateY(-8px) rotate(-0.6deg) scale(1.02);
  box-shadow:0 26px 50px rgba(0,0,0,0.35);z-index:2;
}
.service .num{
  font-family:'Montserrat',sans-serif;font-size:13px;color:var(--accent-blue);font-weight:600;
  letter-spacing:0.08em;margin-bottom:22px;transition:transform 0.35s;
}
.service:hover .num{transform:translateX(4px);}
.service h3{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:600;margin-bottom:12px;}
.service p{font-size:14.5px;color:var(--muted);line-height:1.7;}
.service .svc-stack{
  margin-top:14px;font-size:11.5px;font-weight:600;letter-spacing:0.02em;
  color:var(--accent-orange);text-transform:uppercase;
}
@media (max-width:860px){.services-grid{grid-template-columns:1fr;}}

/* -------------------- WORK -------------------- */
.work{padding:120px 0;background:var(--indigo);color:var(--paper);}
.work .eyebrow{color:var(--accent-orange);}
.work .eyebrow::before{background:var(--accent-orange);}
.work-list{display:flex;flex-direction:column;}
.work-item{
  display:grid;grid-template-columns:120px 1fr auto;gap:28px;align-items:center;
  padding:32px 8px;border-top:1px solid var(--line);
  cursor:pointer;transition:padding-left 0.3s;
  text-decoration:none;color:inherit;
}
.work-list .work-item:last-child{border-bottom:1px solid var(--line);}
.work-item:hover{padding-left:20px;background:rgba(242,121,58,0.10);}

/* -------------------- FEATURE CARD (Brand Identity showcase) -------------------- */
.work-item.wi-feature{
  display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:center;
  padding:36px 8px;cursor:default;
}
.work-item.wi-feature:hover{padding-left:8px;background:none;}
.wi-feature-img{
  width:100%;border-radius:var(--radius-md);border:1px solid var(--line);
  box-shadow:0 24px 48px rgba(0,0,0,0.3);
  transition:transform 0.5s cubic-bezier(.22,1,.36,1);
}
.wi-feature:hover .wi-feature-img{transform:translateY(-6px) scale(1.02);}
.wi-feature-body .wi-year{margin-bottom:6px;}
.wi-feature-body .btn{margin-top:16px;}
@media (max-width:760px){.work-item.wi-feature{grid-template-columns:1fr;}}

.work-item .wi-year{font-family:'Montserrat',sans-serif;font-size:14px;color:var(--muted);transition:color 0.3s;}
.work-item:hover .wi-year{color:var(--accent-orange);}
.work-item .wi-kicker{
  font-size:12.5px;font-weight:700;color:var(--accent-orange);
  text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px;
}
.work-item h3{font-family:'Montserrat',sans-serif;font-size:clamp(22px,2.6vw,32px);font-weight:600;margin-bottom:8px;color:var(--paper);}
.work-item p{color:var(--muted);font-size:14.5px;max-width:560px;}
.work-item .wi-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.work-item .wi-tags span{
  font-size:11px;font-weight:600;color:var(--accent-orange);background:rgba(242,121,58,0.14);
  padding:4px 10px;border-radius:999px;transition:transform 0.3s,background 0.3s;
}
.work-item:hover .wi-tags span{background:rgba(242,121,58,0.24);}
.work-item .wi-arrow{font-size:26px;color:var(--accent-orange);display:inline-block;transition:transform 0.35s cubic-bezier(.34,1.56,.64,1);}
.work-item:hover .wi-arrow{transform:translate(8px,-8px) rotate(8deg) scale(1.15);}
@media (max-width:700px){
  .work-item{grid-template-columns:1fr;gap:10px;}
  .work-item .wi-arrow{display:none;}
}

/* -------------------- TOOLS -------------------- */
.tools{padding:110px 0;}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;}
.tool{
  border:1px solid var(--line);border-radius:var(--radius-md);
  padding:28px 18px;text-align:center;position:relative;overflow:hidden;
  transition:border-color 0.3s,transform 0.4s cubic-bezier(.34,1.56,.64,1),box-shadow 0.4s;
}
.tool::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(59,130,246,0.16), transparent 70%);
  opacity:0;transition:opacity 0.35s;
}
.tool:hover{
  border-color:var(--accent-blue);transform:translateY(-6px) scale(1.05);
  box-shadow:0 20px 40px rgba(0,0,0,0.3);
}
.tool:hover::before{opacity:1;}
.tool .t-icon-wrap{
  height:44px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;position:relative;z-index:1;
}
.tool .t-icon-wrap img{height:34px;width:34px;object-fit:contain;transition:transform 0.4s cubic-bezier(.34,1.56,.64,1);}
.tool:hover .t-icon-wrap img{animation:tool-bounce 0.6s cubic-bezier(.34,1.56,.64,1);}
.tool-badge{
  width:38px;height:38px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px;color:#fff;
  letter-spacing:-0.02em;transition:transform 0.4s cubic-bezier(.34,1.56,.64,1);
  box-shadow:0 6px 14px rgba(0,0,0,0.25);
}
.tool:hover .tool-badge{animation:tool-bounce 0.6s cubic-bezier(.34,1.56,.64,1);}
@keyframes tool-bounce{
  0%{transform:translateY(0) scale(1);}
  35%{transform:translateY(-10px) scale(1.15) rotate(-8deg);}
  65%{transform:translateY(2px) scale(0.96) rotate(4deg);}
  100%{transform:translateY(0) scale(1) rotate(0);}
}
.tool .t-name{font-weight:600;font-size:13px;position:relative;z-index:1;}
.tool .t-type{font-size:11px;color:var(--muted);margin-top:3px;position:relative;z-index:1;}

/* -------------------- AWARDS TEASER -------------------- */
/* -------------------- VIDEO ANIMATION SECTION -------------------- */
.animation{padding:120px 0;background:var(--indigo);}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.video-card{
  display:block;text-decoration:none;color:inherit;
  border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line);
  background:var(--indigo-deep);
  transition:transform 0.4s cubic-bezier(.34,1.56,.64,1),box-shadow 0.4s,border-color 0.3s;
}
.video-card:hover{transform:translateY(-8px) scale(1.03);box-shadow:0 22px 44px rgba(0,0,0,0.4);border-color:var(--accent-orange);}
.vc-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;}
.vc-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s;}
.video-card:hover .vc-thumb img{transform:scale(1.1);}
.vc-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:50%;
  background:rgba(242,121,58,0.92);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;
  transition:transform 0.35s cubic-bezier(.34,1.56,.64,1),background 0.3s;
  box-shadow:0 10px 24px rgba(0,0,0,0.35);
}
.video-card:hover .vc-play{transform:translate(-50%,-50%) scale(1.15);background:var(--accent-blue);}
.vc-body{padding:14px 16px 18px;}
.vc-body h4{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;margin-bottom:3px;}
.vc-body span{font-size:11.5px;color:var(--muted);}
@media (max-width:960px){.video-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.video-grid{grid-template-columns:1fr;}}

/* -------------------- BRAND IDENTITY SHOWCASE -------------------- */
.brand-identity{padding:120px 0;background:var(--paper);color:var(--ink);}
.brand-identity .eyebrow{color:var(--accent-orange);}
.brand-identity .eyebrow::before{background:var(--accent-orange);}
.brand-identity .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.bi-image{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-on-paper);box-shadow:0 30px 60px rgba(11,30,61,0.15);transition:transform 0.5s cubic-bezier(.22,1,.36,1);}
.bi-image:hover{transform:translateY(-8px) scale(1.015);}
.bi-image img{width:100%;display:block;}
.bi-copy h3{font-family:'Montserrat',sans-serif;font-size:clamp(24px,3vw,32px);font-weight:600;margin-bottom:6px;}
.bi-copy .bi-client{font-size:13px;font-weight:600;color:var(--accent-blue);margin-bottom:18px;}
.bi-copy p{font-size:15px;color:var(--muted-on-paper);line-height:1.75;margin-bottom:20px;}
.bi-list{list-style:none;margin-bottom:24px;}
.bi-list li{
  font-size:14px;color:var(--muted-on-paper);padding-left:22px;position:relative;margin-bottom:10px;line-height:1.6;
}
.bi-list li::before{content:'✦';position:absolute;left:0;color:var(--accent-orange);font-size:12px;top:2px;}
@media (max-width:860px){.brand-identity .wrap{grid-template-columns:1fr;}}

.awards-teaser{padding:110px 0;background:var(--indigo);}
.awards-teaser .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:52px;}
.awards-strip{
  display:flex;gap:18px;overflow-x:auto;padding:4px 56px 20px;
  scroll-snap-type:x proximity;
}
.awards-strip::-webkit-scrollbar{height:6px;}
.awards-strip::-webkit-scrollbar-thumb{background:var(--accent-blue);border-radius:99px;}
.award-card{
  flex:0 0 240px;scroll-snap-align:start;
  border-radius:var(--radius-md);overflow:hidden;
  border:1px solid var(--line);background:var(--indigo-deep);
  transition:transform 0.4s cubic-bezier(.34,1.56,.64,1),box-shadow 0.4s,border-color 0.3s;
}
.award-card:hover{transform:translateY(-10px) scale(1.03) rotate(-1deg);box-shadow:0 24px 46px rgba(0,0,0,0.4);border-color:var(--accent-blue);}
.award-card .at-img,.award-card img{width:100%;height:170px;object-fit:cover;transition:transform 0.5s;}
.award-card:hover img{transform:scale(1.12) rotate(1deg);}
.award-card .ac-body{padding:16px 18px;}
.award-card .ac-body h4{font-family:'Montserrat',sans-serif;font-size:14.5px;font-weight:600;margin-bottom:4px;}
.award-card .ac-body span{font-size:11.5px;color:var(--muted);}

/* -------------------- TESTIMONIALS -------------------- */
.testimonials{padding:120px 0;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.testi{
  border:1px solid var(--line);border-radius:var(--radius-md);padding:32px 28px;
  background:var(--indigo-deep);
  transition:transform 0.4s cubic-bezier(.34,1.56,.64,1),box-shadow 0.4s,border-color 0.3s;
}
.testi:hover{
  transform:translateY(-8px) rotate(0.8deg);
  box-shadow:0 26px 50px rgba(0,0,0,0.35);border-color:var(--accent-blue);
}
.testi .stars{color:var(--accent-orange);font-size:13px;letter-spacing:2px;margin-bottom:18px;transition:transform 0.3s;}
.testi:hover .stars{transform:scale(1.1);}
.testi p{font-size:14.5px;font-style:italic;color:var(--paper);line-height:1.75;margin-bottom:24px;}
.testi .who{display:flex;align-items:center;gap:12px;}
.testi .avatar{
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;flex-shrink:0;
  background:rgba(59,130,246,0.15);color:var(--accent-blue);
}
.testi .name{font-weight:600;font-size:13.5px;}
.testi .role{font-size:11.5px;color:var(--muted);}
@media (max-width:860px){.testi-grid{grid-template-columns:1fr;}}

/* -------------------- CTA -------------------- */
.cta{margin:0 56px 100px;background:linear-gradient(135deg,var(--indigo-soft),var(--accent-blue));border-radius:var(--radius-lg);padding:76px 60px;color:var(--paper);position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;}
.cta::after{content:'';position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:rgba(242,121,58,0.22);}
.cta::before{content:'';position:absolute;left:-40px;bottom:-70px;width:220px;height:220px;border-radius:50%;background:rgba(11,30,61,0.25);}
.cta h2{font-family:'Montserrat',sans-serif;font-size:clamp(32px,4.6vw,52px);font-weight:600;line-height:1.05;margin-bottom:14px;position:relative;z-index:1;}
.cta p{max-width:380px;color:rgba(243,238,225,0.82);position:relative;z-index:1;}
.cta-links{display:flex;flex-direction:column;gap:14px;position:relative;z-index:1;}
.cta-links a{font-weight:600;text-decoration:none;color:var(--paper);display:flex;align-items:center;gap:10px;font-size:14.5px;}
.cta-links a:not(.primary):hover{color:var(--accent-orange);}
.cta-links a.primary{background:var(--accent-orange);color:#1A1000;padding:15px 30px;border-radius:999px;transition:transform 0.25s cubic-bezier(.34,1.56,.64,1),box-shadow 0.25s;box-shadow:0 14px 30px rgba(242,121,58,0.35);}
.cta-links a.primary:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 38px rgba(242,121,58,0.45);}
@media (max-width:860px){.cta{margin:0 20px 60px;padding:52px 32px;}}

/* -------------------- FOOTER -------------------- */
footer{padding:44px 56px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);}
.footer-mark img{height:26px;filter:invert(1) brightness(1.8);}
.footer-links{display:flex;gap:24px;list-style:none;}
.footer-links a{font-size:13px;color:var(--muted);text-decoration:none;transition:color 0.2s;}
.footer-links a:hover{color:var(--accent-blue);}
.footer-copy{font-size:12px;color:var(--muted);}

/* -------------------- reveal on scroll -------------------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* -------------------- AWARDS PAGE -------------------- */
.awards-hero{padding:150px 56px 70px;text-align:left;max-width:820px;}
.awards-hero h1{font-family:'Montserrat',sans-serif;font-size:clamp(38px,6vw,68px);font-weight:600;line-height:1.05;margin-bottom:20px;}
.awards-hero h1 em{font-style:italic;color:var(--accent-blue);}
.awards-hero p{color:var(--muted);font-size:17px;max-width:520px;}

.awards-gallery{padding:20px 0 120px;}
.awards-gallery .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.award-tile{
  border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line);
  background:var(--indigo);cursor:pointer;
  transition:transform 0.4s cubic-bezier(.34,1.56,.64,1),box-shadow 0.4s,border-color 0.3s;
}
.award-tile:hover{
  transform:translateY(-10px) rotate(-0.8deg) scale(1.02);
  box-shadow:0 26px 52px rgba(0,0,0,0.4);border-color:var(--accent-blue);
}
.award-tile .at-img{height:220px;overflow:hidden;}
.award-tile img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s;}
.award-tile:hover img{transform:scale(1.06);}
.award-tile .at-body{padding:20px 22px 24px;}
.award-tile .at-year{font-size:11.5px;color:var(--accent-blue);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:8px;}
.award-tile h3{font-family:'Montserrat',sans-serif;font-size:19px;font-weight:600;margin-bottom:8px;line-height:1.3;}
.award-tile p{font-size:13.5px;color:var(--muted);line-height:1.6;}
@media (max-width:960px){.awards-gallery .wrap{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.awards-gallery .wrap{grid-template-columns:1fr;}.awards-hero{padding:120px 24px 50px;}}

/* -------------------- lightbox -------------------- */
.lightbox{
  position:fixed;inset:0;background:rgba(9,10,26,0.92);z-index:500;
  display:flex;align-items:center;justify-content:center;padding:40px;
  opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox img{max-width:min(880px,90vw);max-height:84vh;border-radius:12px;box-shadow:0 40px 90px rgba(0,0,0,0.5);}
.lightbox-close{
  position:absolute;top:28px;right:36px;background:none;border:none;color:var(--paper);
  font-size:32px;cursor:pointer;line-height:1;
}
.lightbox-cap{position:absolute;bottom:36px;left:0;right:0;text-align:center;color:var(--paper);font-size:14px;}

/* -------------------- responsive wrap padding -------------------- */
@media (max-width:860px){
  .wrap{padding-left:24px;padding-right:24px;}
  .about,.services,.work,.tools,.awards-teaser,.testimonials{padding:70px 0;}
  .awards-strip{padding:4px 24px 20px;}
}
