/* =========================================================
   Sarim Naeem — Portfolio (static rebuild of the Framer site)
   Desktop layout is measured against a 1680px-wide viewport.
   ========================================================= */

@font-face{font-family:"Outfit";src:url(assets/fonts/Outfit.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url(assets/fonts/Inter.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(assets/fonts/InterTight.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist";src:url(assets/fonts/Geist.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Noto Serif";src:url(assets/fonts/NotoSerif.ttf) format("truetype");font-weight:100 900;font-stretch:62.5% 100%;font-display:swap}
@font-face{font-family:"Hand";src:url(assets/fonts/ShadowsIntoLightTwo.ttf) format("truetype");font-display:swap}

:root{
  --bg:#fafafa;
  --ink:#0d0d0d;
  --muted:#6b6b6b;
  --ease:cubic-bezier(.22,1,.36,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-width:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:none}

/* position helper: X = distance of element's left edge from viewport centre (840 at 1680) */
.abs{position:absolute}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;filter:blur(10px);transform:translateY(24px);transition:opacity .9s var(--ease),filter .9s var(--ease),transform .9s var(--ease);transition-delay:var(--rd,0s)}
.reveal.in{opacity:1;filter:none;transform:none}
.no-anim .reveal{opacity:1;filter:none;transform:none;transition:none}

/* =================== NAV =================== */
.nav{position:fixed;z-index:100;top:22px;left:50%;height:49px;width:502px;margin-left:-252px;display:flex;align-items:center;padding:0 10px 0 10px;
  background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.055);border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.035);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  transition:width .6s var(--ease),margin .6s var(--ease),box-shadow .4s}
.nav-brand{display:flex;align-items:center;gap:7px;flex:none}
.nav-avatar{width:36.5px;height:39px;margin:-2px -3px 0 -5px}
.nav-name{font:600 13.4px/1 "Inter";font-variation-settings:"opsz" 32;letter-spacing:-.03em;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:0;margin-left:auto;transition:opacity .35s,transform .45s var(--ease)}
.nav-links a{font:600 13.3px/1 "Inter";font-variation-settings:"opsz" 32;letter-spacing:-.02em;padding:0 7.8px;white-space:nowrap}
.nav-links a:hover{opacity:.6}
.nav-links .nav-cta{margin-left:9px;height:28px;display:flex;align-items:center;padding:0 16px;background:#fff;border-radius:999px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 2px 6px rgba(0,0,0,.06)}
.nav-links .nav-cta:hover{opacity:1;background:#111;color:#fff}
.nav-dots{position:absolute;right:16px;top:50%;display:flex;gap:4px;align-items:center;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.6);transition:opacity .3s,transform .4s var(--ease)}
.nav-dots i{width:7px;height:7px;border-radius:50%;background:#444;animation:dot 1.2s infinite ease-in-out}
.nav-dots i:nth-child(2){animation-delay:.15s;background:#777}
.nav-dots i:nth-child(3){animation-delay:.3s;background:#999}
@keyframes dot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}
.nav.mini{width:182px;margin-left:-91px;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.nav.mini .nav-links{opacity:0;pointer-events:none;transform:translateX(20px)}
.nav.mini .nav-dots{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}

/* =================== HERO =================== */
.hero{position:relative;height:940px;overflow:hidden}
.hero-grid{position:absolute;top:588px;left:50%;margin-left:-756px;width:1508px;height:143px;
  background-image:radial-gradient(circle,#e9e9e9 1.1px,transparent 1.4px);background-size:4px 4px;
  -webkit-mask:radial-gradient(ellipse 50% 60% at 50% 50%,#000 30%,transparent 100%);mask:radial-gradient(ellipse 50% 60% at 50% 50%,#000 30%,transparent 100%);opacity:.9}
.streaks{position:absolute;inset:0;left:50%;margin-left:-840px;width:1680px;pointer-events:none}
.streaks span{position:absolute;left:var(--x);top:var(--y);width:90px;height:1px;background:linear-gradient(90deg,transparent,#cfcfcf 40%,#bdbdbd);transform:rotate(22deg);transform-origin:left;animation:streak 7s linear infinite;animation-delay:var(--d);opacity:0}
@keyframes streak{0%{opacity:0;translate:-60px -24px}15%{opacity:1}75%{opacity:1}100%{opacity:0;translate:160px 64px}}

.hero-inner{position:absolute;left:50%;margin-left:-473px;top:0;width:946px;height:100%}
.chip-online{position:absolute;left:0;top:263px;height:23px;display:flex;align-items:center;gap:4px;padding:0 9px 0 8px;background:#fff;border-radius:999px;box-shadow:0 0 0 1px #efefef;font:500 11.4px/1 "Outfit";color:#222}
.chip-online i{width:7px;height:7px;border-radius:50%;background:#83dc4c;box-shadow:0 0 0 0 rgba(131,220,76,.6);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(131,220,76,.55)}80%,100%{box-shadow:0 0 0 7px rgba(131,220,76,0)}}
.hero-title{position:absolute;left:0;top:292px;font:600 54px/70.5px "Outfit";letter-spacing:-.035em;color:#141414}
.hero-title .row{display:flex;align-items:center;height:70.5px;white-space:nowrap}
.hero-title .w{margin-right:9px}
.pill{display:inline-flex;align-items:center;border-radius:999px;font:500 33px/1 "Outfit";letter-spacing:-.02em}
.pill-name{height:53px;padding:0 24px 2px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.02)}
.grad{background:linear-gradient(90deg,#6c7ff0 0%,#a97bd6 50%,#ee7449 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pill-dark{height:58px;padding:0 28px 2px;background:#2b2b2b;color:#fff;margin-left:-2px}
.pill-line{height:54px;padding:0 26px 2px 26px;font-size:30.8px;background:#fff;box-shadow:inset 0 0 0 1px #e4e8ee;margin-left:1px}
.flag{font-size:25px;margin-left:7px;line-height:1}
.hero-sub{position:absolute;left:0;top:524px;width:425px;font:400 18.3px/26px "Outfit";color:#5e5e5e;letter-spacing:-.005em}
.cta{position:absolute;left:0;top:591px;height:50px;width:163px;display:flex;align-items:center;justify-content:space-between;padding:0 9px 0 21px;border-radius:999px;
  background-color:#b5f149;background-image:radial-gradient(circle,rgba(160,230,40,.9) 1.2px,transparent 1.6px);background-size:5px 5px;
  box-shadow:0 12px 30px -6px rgba(170,240,60,.55),0 0 0 1px rgba(150,220,40,.25);font:600 13px/1 "Outfit";white-space:nowrap;color:#1b1b1b;letter-spacing:-.02em;transition:transform .4s var(--spring),box-shadow .4s}
.cta b{width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:transform .4s var(--spring)}
.cta:hover{transform:translateY(-2px)}
.cta:hover b{transform:rotate(45deg)}

/* polaroid stack */
.stack{position:absolute;left:0;top:0;width:0;height:0;cursor:pointer}
.polaroid{position:absolute;left:0;top:0;width:258px;height:338px;background:#fff;padding:20px 20px 0;border-radius:2px;
  box-shadow:0 1px 2px rgba(0,0,0,.06),0 18px 40px rgba(0,0,0,.14);transition:transform .9s var(--ease),opacity .6s,z-index 0s .45s}
.polaroid .ph{width:218px;height:264px;overflow:hidden;background:#ddd}
.polaroid img{width:100%;height:100%;object-fit:cover}
.p-front{z-index:3;transform:translate(635px,283px) rotate(4deg)}
.p-back{z-index:2;transform:translate(631px,287px) rotate(1.5deg)}
.stack.swap .p-front{transform:translate(760px,250px) rotate(14deg);opacity:0}
.note{position:absolute;left:0;top:0;padding:28px 0 0 24px;transition:transform .9s var(--ease)}
.note p{font:400 23px/41px "Hand";color:#1b1b1b;white-space:nowrap}
.note-a{width:236px;height:262px;background:#dff5ee;transform:translate(607px,300px) rotate(-5deg);z-index:1;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.note-b{width:246px;height:262px;background:#d8f59b;transform:translate(676px,322px) rotate(-12deg);z-index:1;box-shadow:0 2px 10px rgba(0,0,0,.06);padding:46px 0 0 30px}
.note-b p{transform:rotate(0deg)}
.stack:hover .note-a{transform:translate(600px,270px) rotate(-5deg)}
.stack:hover .note-b{transform:translate(668px,360px) rotate(-12deg)}
.stack:hover .p-front{transform:translate(918px,336px) rotate(3.5deg)}
.stack:hover .p-back{transform:translate(912px,340px) rotate(1.5deg)}
.stack.swap:hover .p-front{transform:translate(1040px,300px) rotate(14deg)}

/* speak pill */
.speak{position:absolute;left:50%;margin-left:-109px;top:819px;width:218px;height:56px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 8px 26px rgba(0,0,0,.08);display:flex;align-items:center;padding:0 7px 0 18px}
.speak-txt{display:flex;flex-direction:column;gap:3px;margin-right:auto}
.speak-txt b{font:600 14.2px/1 "Inter";letter-spacing:-.02em}
.speak-txt span{font:500 11.2px/1 "Inter";color:#9a9a9a;letter-spacing:-.01em}
.speak-mail{width:44px;height:44px;border-radius:50%;background:#111;display:grid;place-items:center;box-shadow:0 4px 10px rgba(0,0,0,.25);transition:transform .3s var(--spring)}
.speak-cal{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;margin-left:4px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 4px 10px rgba(0,0,0,.08);transition:transform .3s var(--spring)}
.speak a:hover{transform:scale(1.08)}

/* =================== QUOTE =================== */
.quote{position:relative;height:620px}
.quote-text{position:absolute;left:0;right:0;top:153.5px;text-align:center;font:700 40.4px/43px "Inter";letter-spacing:-.02em;color:#c4c4c4}
.quote-text .wd{transition:color .25s linear}

/* =================== SECTION HEADS =================== */
.sec-head{position:absolute;left:0;right:0;text-align:center}
.sec-head p{margin:0 auto;font:400 16.2px/23.5px "Inter";letter-spacing:-.022em;color:#6b6b6b}
.h-outfit{font:500 48px/56px "Outfit";letter-spacing:-.06em;color:#0b0b0b}
.h-outfit.big{font-size:49.8px;line-height:59px}

/* =================== WORK =================== */
.work{position:relative;height:1540px}
.work .sec-head{top:55px}
.work .sec-head p{width:610px;margin-top:16px}
.projects{position:absolute;left:50%;margin-left:-504px;top:259px;width:1008px}
.project{display:flex;gap:29px;height:306px;margin-bottom:135px}
.project-img{width:576px;height:306px;flex:none;overflow:hidden;display:block}
.project-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.project:hover .project-img img{transform:scale(1.04)}
.project-info{display:flex;flex-direction:column;justify-content:space-between;padding:6px 0 7px}
.project-meta{font:300 16.4px/18px "Inter";letter-spacing:-.025em;color:#666;text-transform:uppercase;width:400px}
.project h3{margin-top:6px;font:600 33px/42.5px "Inter";font-variation-settings:"opsz" 32;letter-spacing:-.018em;color:#161616}
.project p{font:400 15.2px/17px "Inter";letter-spacing:-.005em;color:#111}
.see{display:inline-flex;gap:6px;margin-top:17px;font:400 19.4px/24px "Inter";letter-spacing:-.015em;color:#1e1e1e}
.see span{transition:transform .35s var(--spring)}
.see:hover span{transform:translateX(5px)}

/* =================== ABOUT =================== */
.about{position:relative;height:1320px}
.about-title{position:absolute;left:50%;margin-left:-445px;top:114.5px;font:500 60.5px/66px "Inter Tight";letter-spacing:-.055em;color:#0b0b0b}
.about-grid{position:absolute;left:50%;margin-left:-840px;top:0;width:1680px}
.about-photo{position:absolute;left:399px;top:226.5px;width:290px;height:347px;border-radius:16px;overflow:hidden;transform:rotate(-4.6deg);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.about-photo.in{transform:rotate(-4.6deg)}
.about-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.about-photo:hover img{transform:scale(1.05)}
.socials{display:flex;gap:5.5px;align-items:center}
.socials a{height:27px;min-width:27px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:3px;transition:transform .3s var(--spring)}
.socials a:hover{transform:translateY(-2px)}
.socials svg{width:13px;height:13px;fill:currentColor}
.socials .s-x{padding:0 8px 0 9px;font:600 11px/1 "Inter"}
.socials-grey{position:absolute;left:393.5px;top:606.5px}
.socials-grey a{background:#d4d4d4;color:#fff}
.about-name{position:absolute;left:393.5px;top:663px;display:flex;flex-direction:column}
.about-name b{font:500 22px/26px "Inter Tight";letter-spacing:-.035em}
.about-name span{margin-top:3px;font:500 13.2px/16px "Inter Tight";color:#444;letter-spacing:-.01em}
.about-text{position:absolute;left:785px;top:231px;width:470px}
.about-text p{font:500 21px/27.7px "Inter Tight";letter-spacing:-.045em;color:#111;margin-bottom:28.3px}
.about-text p.strong{font-weight:600}
.cat{position:absolute;left:1028.5px;top:639px;width:134.5px;height:96.5px;animation:catbob 3.6s ease-in-out infinite}
@keyframes catbob{0%,100%{rotate:0deg}50%{rotate:-3deg}}
.cards-row{position:absolute;left:50%;margin-left:-449px;top:794px;width:895px;display:flex;gap:19px;align-items:flex-start}
.card{background:#fff;border-radius:20px;box-shadow:0 0 0 1px rgba(0,0,0,.015)}
.card h4{font:500 14.1px/18px "Geist";letter-spacing:-.01em;color:#111}
.tools{width:287px;height:323px;padding:22px 21px}
.tools-window{position:relative;height:250px;margin-top:17px;overflow:hidden;
  -webkit-mask:linear-gradient(180deg,transparent 0,transparent 14%,rgba(0,0,0,.45) 30%,#000 48%,#000 62%,rgba(0,0,0,.5) 80%,transparent 100%);
  mask:linear-gradient(180deg,transparent 0,transparent 14%,rgba(0,0,0,.45) 30%,#000 48%,#000 62%,rgba(0,0,0,.5) 80%,transparent 100%)}
.tools-track{position:absolute;left:0;right:0;top:0;transition:transform .8s var(--ease)}
.tool{height:59px;margin-bottom:11px;display:flex;align-items:center;gap:13px;padding:0 6px;border-radius:10px;background:linear-gradient(180deg,#fafafa,#f3f3f3)}
.ti{width:48px;height:48px;border-radius:9px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:none}
.ti img{width:50px;height:50px}
.ti i{width:31px;height:31px;border-radius:7px;display:grid;place-items:center;font:700 15px/1 "Inter";font-style:normal;letter-spacing:-.02em}
.ti .ai{background:#330000;color:#ff9a00}
.ti .ps{background:#001e36;color:#31a8ff}
.tool b{display:block;font:500 16.2px/20px "Geist";letter-spacing:-.005em;color:#111}
.tool span{display:block;font:400 12.8px/17px "Geist";letter-spacing:.01em;color:#6c6c6c}
.exp{width:589px;height:418px;padding:22px 20px}
.exp ul{list-style:none;margin-top:3px}
.exp li{height:64px;margin-bottom:11px;border-radius:10px;background:#f4f4f4;display:flex;align-items:center;justify-content:space-between;padding:0 16px;transition:background .3s}
.exp li:hover{background:#ededed}
.exp li b{display:block;font:500 16.4px/21px "Geist";letter-spacing:-.005em;color:#0d0d0d}
.exp li span{display:block;margin-top:3px;font:400 14.6px/18px "Geist";color:#666}
.exp li em{font:400 10.8px/1 "Geist";font-style:normal;color:#444;background:#fff;border-radius:6px;padding:7px 8px 6.5px}

/* =================== BUILD =================== */
.build{position:relative;height:760px}
.build .sec-head{top:88px}
.build .sec-head p{margin-top:16px;font-size:16.1px;line-height:24.3px;color:#6a6a6a}
.apps{position:absolute;left:50%;margin-left:-345px;top:303px;width:690px;display:flex;gap:21px}
.app{width:216px;display:block}
.app-tile{height:180px;border-radius:20px;transition:transform .5s var(--spring),box-shadow .5s}
.app:hover .app-tile{transform:translateY(-6px) rotate(-1deg);box-shadow:0 18px 30px -12px rgba(0,0,0,.25)}
.t-yellow{background:linear-gradient(135deg,#fbc93a 0%,#f0a82c 100%)}
.t-pink{background:linear-gradient(135deg,#e8117b 0%,#cb0f25 100%)}
.t-purple{background:linear-gradient(135deg,#9d50fb 0%,#5f0dd6 100%)}
.app b{display:block;margin-top:11px;font:400 16.8px/22px "Geist";letter-spacing:.005em;color:#2a2a2a}
.app span{display:block;margin-top:7px;font:400 12.2px/19.3px "Geist";letter-spacing:.008em;color:#6e6874}
.companies{position:absolute;left:50%;margin-left:-447px;top:661px;width:895px;height:30px;display:flex;align-items:center}
.companies h5{font:600 20.4px/1 "Inter Tight";letter-spacing:-.04em;color:#111;white-space:nowrap;margin-right:auto}
.logo-window{width:590px;height:30px;overflow:hidden;position:relative;-webkit-mask:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
.logo-track{display:flex;position:absolute;top:1.5px;left:35px;animation:logos 22s linear infinite}
.logo-track img{height:27px;width:564px;margin-right:58px}
@keyframes logos{from{transform:translateX(0)}to{transform:translateX(-622px)}}

/* =================== BRING / BENTO =================== */
.bring{position:relative;height:1200px}
.bring .sec-head{top:48px}
.bring .sec-head p{font-size:16.1px!important;margin-top:12px;font-size:17.6px;line-height:24.5px;color:#6a6a6a}
.bento{position:absolute;left:50%;margin-left:-482px;top:252px;width:963px;height:868px;display:grid;grid-template-columns:306px 306px 306px;grid-template-rows:468px 177px 178px;gap:22px 22px}
.tile{position:relative;background:#f2f3f7;border-radius:18px;overflow:hidden;display:block}
.tile h6{position:absolute;font:500 38.4px/43px "Inter Tight";letter-spacing:-.045em;color:#0b0b0b}
.tile img{position:absolute;transition:transform .8s var(--ease)}
.tile:hover img{transform:scale(1.04)}
.b1{grid-column:1;grid-row:1}
.b1 img{left:0;top:0;width:307px}
.b1 h6{left:29px;top:352px}
.b2{grid-column:2;grid-row:1}
.b2 h6{left:29px;top:32px;font-size:47px;line-height:51px;letter-spacing:-.04em}
.b2 img{left:0;top:141px;width:307px}
.b3{grid-column:3;grid-row:1}
.b3 img{left:0;top:14px;width:307.5px}
.b3 h6{left:0;right:0;text-align:center;top:401px;font-size:33.8px}
.b4{grid-column:1;grid-row:2/4}
.b4 img{left:0;top:0;width:305.5px}
.b4 h6{left:29px;top:333px;font-size:34px;white-space:nowrap}
.b5{grid-column:2/4;grid-row:2;background:#f2f3f7}
.b5 img{right:0;top:0;height:176.5px}
.b5 h6{left:29px;top:54px;font-size:30.5px;line-height:34.5px;z-index:2}
.b6{grid-column:2;grid-row:3}
.b6 h6{left:19px;top:59px;font-size:28px;line-height:31px}
.b6 img{left:198px;top:42px;width:76px}
.b6:hover img{transform:rotate(-6deg) scale(1.06)}
.b7{grid-column:3;grid-row:3}
.b7 h6{left:0;right:0;top:25px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:27.6px;line-height:34px;margin-top:3px}
.b7 h6 svg{flex:none;margin-top:1px}
.clock{position:absolute;left:63px;top:83px;width:178px;height:178px;border-radius:50%;background:radial-gradient(circle at 50% 45%,#e4e4e4 0%,#cfcfcf 70%,#bdbdbd 100%);box-shadow:inset 0 0 0 5px #fff,0 8px 20px rgba(0,0,0,.12)}
.clock .ticks{position:absolute;inset:0;border-radius:50%;background:
  repeating-conic-gradient(from -1.2deg,#6d6d6d 0 2.4deg,transparent 2.4deg 30deg);
  -webkit-mask:radial-gradient(circle,transparent 0 60px,#000 61px 72px,transparent 73px);mask:radial-gradient(circle,transparent 0 60px,#000 61px 72px,transparent 73px)}
.clock i{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:3px}
.clock .hh{width:4px;height:44px;margin-left:-2px;background:#111}
.clock .mh{width:3px;height:66px;margin-left:-1.5px;background:#111}
.clock .sh{width:1.6px;height:74px;margin-left:-.8px;background:#e11d1d}
.clock b{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:#111}

/* =================== JOURNEY =================== */
.journey{position:relative;height:820px}
.journey .sec-head{top:81.5px}
.journey .sec-head p{font-size:16.1px!important;margin-top:13px;font-size:17.6px;line-height:24px;color:#6a6a6a}
.gallery{position:absolute;left:50%;margin-left:-628px;top:342px;width:1255px;height:380px;overflow:hidden}
.g-card{position:absolute;left:0;top:50%;width:228px;height:347px;margin:-173.5px 0 0 -114px;border-radius:22px;overflow:hidden;will-change:transform;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.g-card img{width:100%;height:100%;object-fit:cover}

/* =================== FAQ =================== */
.faq{position:relative;height:780px}
.faq-center{position:absolute;left:0;right:0;top:368px;text-align:center}
.faq-tag{position:absolute;left:50%;margin-left:-155.5px;top:0;width:168px;animation:tag 4s ease-in-out infinite}
@keyframes tag{0%,100%{transform:rotate(0)}50%{transform:rotate(-4deg) translateY(-3px)}}
.faq-center h2{position:absolute;left:0;right:0;top:76.5px;font:800 48.5px/43px "Inter Tight";letter-spacing:-.045em;color:#1c1c1c}
.fnote{position:absolute;left:50%;margin-left:var(--fx);top:var(--fy);width:var(--w);height:var(--h,98px);text-align:left;border-radius:10px;padding:0 0 0 21px;display:flex;align-items:center;
  box-shadow:6px 6px 0 #dcdcdc;transform:rotate(var(--r));transition:transform .5s var(--spring),box-shadow .4s;animation:float 6s ease-in-out infinite;animation-delay:calc(var(--fy) / 100px * -1s)}
.fnote span{font:400 17.5px/27px "Inter Tight";letter-spacing:-.025em;color:#131313}
.fnote i{position:absolute;right:30px;top:50%;margin-top:-14px;font:300 28px/28px "Inter";font-style:normal;color:#111;transition:transform .4s var(--spring)}
.fnote em{position:absolute;left:0;top:calc(100% + 12px);width:100%;padding:14px 18px;border-radius:10px;background:inherit;font:400 14px/20px "Inter Tight";font-style:normal;color:#222;box-shadow:6px 6px 0 #dcdcdc;opacity:0;transform:translateY(-8px) scale(.96);pointer-events:none;transition:opacity .3s,transform .4s var(--spring);z-index:5}
.fnote:hover{transform:rotate(0deg) translateY(-3px);box-shadow:9px 9px 0 #d4d4d4}
.fnote.open{z-index:10}
.fnote.open i{transform:rotate(45deg)}
.fnote.open em{opacity:1;transform:none}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -6px}}
.n-pink{background:#fedbdf}.n-lime{background:#ddfc6d}.n-blue{background:#bddcfb}.n-yellow{background:#f3ea99}.n-mint{background:#c9f6d9}

/* =================== TESTIMONIALS =================== */
.testi{position:relative;height:660px}
.testi .sec-head{top:77.5px}
.testi .sec-head p{font-size:16.1px!important;margin-top:-5px;font-size:17.6px;line-height:24.5px;color:#6a6a6a}
.t-window{position:absolute;left:50%;margin-left:-344px;top:322px;width:800px;height:180px;overflow:hidden;
  -webkit-mask:linear-gradient(90deg,#000 0,#000 86%,transparent 97%);mask:linear-gradient(90deg,#000 0,#000 86%,transparent 97%)}
.t-track{position:absolute;left:5px;top:0;display:flex}
.t-card{width:363.5px;flex:none;padding-right:70px}
.stars{height:14px;width:108px;position:relative;
  background:linear-gradient(90deg,#c9452f calc(var(--rate) / 5 * 100%),#f1c9c1 0);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21.6' height='14' viewBox='0 0 21.6 14'%3E%3Cpath d='M7 .3l1.9 4.2 4.6.4-3.5 3 1.1 4.5L7 10l-4.1 2.4L4 7.9.5 4.9l4.6-.4z'/%3E%3C/svg%3E") repeat-x left center/21.6px 14px;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21.6' height='14' viewBox='0 0 21.6 14'%3E%3Cpath d='M7 .3l1.9 4.2 4.6.4-3.5 3 1.1 4.5L7 10l-4.1 2.4L4 7.9.5 4.9l4.6-.4z'/%3E%3C/svg%3E") repeat-x left center/21.6px 14px}
.t-card blockquote{margin-top:21px;font:400 18.75px/27px "Noto Serif";letter-spacing:-.005em;color:#151515}
.t-card blockquote .wd{transition:color .4s}
.t-card figcaption{display:flex;align-items:center;gap:11px;margin-top:21px}
.t-card figcaption i{width:35px;height:35px;border-radius:50%;background:#efefef;display:grid;place-items:center;font:600 13px/1 "Inter";font-style:normal;color:#8a8a8a}
.t-card figcaption b{display:block;font:600 13.4px/16px "Inter";color:#151515;letter-spacing:-.005em}
.t-card figcaption span{display:block;font:400 12px/15px "Inter";color:#8a8a8a;letter-spacing:.01em}

/* =================== COOKIE =================== */
.cookie{position:relative;height:488px}
.cookie-band{position:absolute;left:50%;margin-left:-739px;top:42px;width:1477px;height:406px;background:#f7f9f6;text-align:center}
.cookie-band h2{position:absolute;left:0;right:0;top:117.5px;font:400 47px/46px "Inter";letter-spacing:-.005em;color:#133232}
.cookie-band .ck{display:inline-block;font-size:36px;line-height:36px;animation:cookie 3s ease-in-out infinite}
@keyframes cookie{0%,100%{transform:rotate(0)}50%{transform:rotate(18deg)}}
.chat-btn{position:absolute;left:50%;margin-left:-121px;top:238px;width:242px;height:52px;border:2px solid #3b3b3b;border-radius:999px;display:grid;place-items:center;font:400 16px/1 "Inter";color:#2f2f2f;letter-spacing:-.01em;transition:background .3s,color .3s}
.chat-btn.in:hover{background:#111;color:#fff}

/* =================== FOOTER =================== */
.footer{position:relative;background:#000;color:#fff;height:574px;overflow:hidden}
.f-inner{position:absolute;left:50%;margin-left:-447px;top:0;width:893px;height:100%}
.f-title{position:absolute;left:-4px;top:59px;font:500 68.9px/62px "Inter";letter-spacing:-.055em;white-space:nowrap}
.f-title em{font-style:normal;color:#8c8c8c}
.rot{position:relative;display:inline-block;vertical-align:top;height:62px;min-width:10px}
.rot span{position:absolute;left:0;top:0;opacity:0;filter:blur(8px);transform:translateY(28px);transition:opacity .7s var(--ease),filter .7s var(--ease),transform .7s var(--ease);white-space:nowrap}
.rot span.on{position:relative;opacity:1;filter:none;transform:none}
.rot span.out{opacity:0;filter:blur(8px);transform:translateY(-28px)}
.f-cols{position:absolute;left:0;top:224px;width:100%;display:flex}
.f-cols>div{width:307px;display:flex;flex-direction:column}
.f-cols small{font:400 11.6px/14px "Inter";color:#7a7a7a;margin-bottom:12px}
.f-cols a{font:400 14.4px/18px "Inter";color:#fff;letter-spacing:-.01em;transition:opacity .3s}
.f-cols a:hover{opacity:.6}
.socials-white{margin-top:-6px}
.socials-white a{background:#fff;color:#111}
.footer hr{position:absolute;left:0;top:300px;width:100%;border:0;height:1px;background:#262626}
.f-small{top:326px}
.f-small small{margin-bottom:12px}
.f-small a{font-size:11.6px;line-height:21px;font-weight:500}
.f-menu{display:grid;grid-template-columns:auto auto;justify-content:start;column-gap:26px}
.f-copy{justify-content:flex-end;font:400 11.6px/21px "Inter";color:#8a8a8a;padding-bottom:0;height:59px}
.f-giant{position:absolute;left:-6px;top:417px;font:500 251px/1 "Inter";letter-spacing:-.045em;color:#fff;white-space:nowrap;
  -webkit-mask:linear-gradient(180deg,#000 55%,rgba(0,0,0,.35) 85%,transparent 100%);mask:linear-gradient(180deg,#000 55%,rgba(0,0,0,.35) 85%,transparent 100%)}

/* =================== SMALLER SCREENS =================== */
@media (max-width:1060px){
  .nav{width:auto;left:16px;right:16px;margin-left:0}
  .nav-links a:not(.nav-cta){display:none}
  .nav.mini{width:182px;left:50%;right:auto;margin-left:-91px}
  .hero{height:auto;padding:120px 20px 120px}
  .hero-inner{position:relative;left:0;margin:0;width:auto;display:flex;flex-direction:column;align-items:flex-start;gap:40px}
  .hero-copy{position:relative;width:100%}
  .chip-online,.hero-title,.hero-sub,.cta{position:relative;top:auto}
  .hero-title{font-size:38px;line-height:54px;margin-top:14px}
  .hero-title .row{height:auto;flex-wrap:wrap}
  .pill{font-size:26px}.pill-name,.pill-dark,.pill-line{height:44px;padding:0 18px}
  .hero-sub{width:auto;max-width:420px;margin:18px 0 24px}
  .stack{position:relative;left:auto;top:auto;height:360px;width:100%;max-width:340px;margin:0 auto}
  .p-front,.p-back{transform:translate(40px,10px) rotate(4deg)}
  .note-a{transform:translate(20px,40px) rotate(-5deg)}.note-b{transform:translate(80px,90px) rotate(-12deg)}
  .stack:hover .note-a,.stack:hover .note-b,.stack:hover .p-front,.stack:hover .p-back{transform:none}
  .speak{position:relative;left:auto;top:auto;margin:40px auto 0}
  .hero-grid,.streaks{display:none}
  .quote{height:auto;padding:60px 20px}.quote-text{position:static;font-size:28px;line-height:34px}.quote-text br{display:none}
  .work,.about,.build,.bring,.journey,.faq,.testi,.cookie{height:auto;padding:60px 20px}
  .sec-head,.projects,.about-title,.about-grid,.about-photo,.about-text,.about-name,.socials-grey,.cat,.cards-row,.apps,.companies,.bento,.gallery,.faq-center,.fnote,.t-window,.cookie-band,.chat-btn,.cookie-band h2{position:relative;left:auto;right:auto;top:auto;margin-left:0;width:auto}
  section .sec-head{top:auto!important}
  .sec-head p{width:auto!important;margin-top:12px!important}
  .faq-center h2{position:relative;top:auto;margin-top:84px;font-size:34px;line-height:32px}
  .faq-tag{left:50%;margin-left:-84px}.sec-head br,.h-outfit br{display:none}
  .h-outfit,.h-outfit.big{font-size:36px;line-height:40px}
  .projects{margin-top:40px}.project{flex-direction:column;height:auto;gap:16px;margin-bottom:56px}.project-img{width:100%;height:auto;aspect-ratio:576/306}.project-meta{width:auto}.project p br,.project h3 br{display:none}
  .about-title{font-size:44px;margin-bottom:30px}
  .about-grid{display:flex;flex-direction:column;gap:24px}
  .about-photo{width:260px;height:282px;margin:10px 0 10px 10px}
  .about-text{width:auto}
  .cat{width:120px;height:auto}
  .cards-row{flex-direction:column;margin-top:30px}.tools,.exp{width:100%;height:auto}.exp li{height:auto;padding:12px 14px;gap:10px}
  .apps{flex-direction:column;margin-top:30px}.app{width:100%}
  .companies{flex-direction:column;align-items:flex-start;gap:14px;height:auto;margin-top:40px}.logo-window{width:100%}
  .bento{margin-top:30px;display:flex;flex-direction:column;height:auto}.tile{height:300px}.b1{height:468px}.b2{height:468px}.b3{height:468px}.b4{height:380px}.b5,.b6,.b7{height:178px}
  .gallery{width:100%;margin-top:30px}
  .faq{display:flex;flex-direction:column;gap:18px;align-items:center}.faq-center{height:auto;width:100%;margin-bottom:10px}.fnote{margin:0;width:100%;max-width:340px;height:auto;min-height:80px;padding:14px 60px 14px 20px}.fnote em{position:static;display:none}.fnote.open em{display:block;box-shadow:none;padding:10px 0 0}
  .fnote{flex-direction:column;align-items:flex-start}
  .t-window{width:100%;margin-top:30px;height:200px}
  .cookie-band{height:auto;padding:60px 20px}.cookie-band h2{font-size:30px;line-height:36px}.chat-btn{margin:24px auto 0}
  .footer{height:auto;padding:60px 20px 0}.f-inner{position:relative;left:0;margin:0;width:auto}
  .f-title,.f-cols,.footer hr,.f-giant{position:relative;top:auto}.f-title{font-size:38px;line-height:40px;white-space:normal}
  .rot{height:40px}
  .f-cols{flex-direction:column;gap:24px;margin-top:40px}.f-cols>div{width:auto}.footer hr{margin:30px 0}
  .f-giant{font-size:34vw;margin-top:30px;height:24vw}
}
