
  .nib-scope{--ink:#111111;--gray:#686866;--bg:#fbfbfa;--card:#ffffff;--line:rgba(17,17,17,.10);
    --green:#22c55e;--r:18px;--r-lg:22px;
    position:relative;font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);
    line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
  .nib-scope *{margin:0;padding:0;box-sizing:border-box}
  .nib-scope img{display:block;width:100%;height:100%;object-fit:cover}
  .nib-scope a{color:inherit;text-decoration:none}
  .nib-scope .wrap{max-width:1080px;margin:0 auto;padding:0 22px}
  .nib-scope section{padding:84px 0}
  .nib-scope::before{content:'';position:absolute;z-index:0;top:0;bottom:0;left:50%;width:min(1080px,calc(100% - 44px));
    transform:translateX(-50%);border-left:1px solid rgba(17,17,17,.07);border-right:1px solid rgba(17,17,17,.07);pointer-events:none}
  .nib-scope>*,.nib-scope section,.nib-scope footer{position:relative;z-index:1}
  .nib-scope .eyebrow{font-size:11.5px!important;font-weight:650!important;letter-spacing:.16em!important}
  .nib-scope .muted-line{color:#9b9b98}
  .nib-scope .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--ink);color:#fff;
    border-radius:999px;padding:11px 20px;font-size:12.5px;font-weight:650;border:0;cursor:pointer;white-space:nowrap;
    box-shadow:0 8px 22px rgba(0,0,0,.10);transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
  .nib-scope .btn:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(0,0,0,.16)}
  .nib-scope .btn.lt{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 22px rgba(0,0,0,.06)}
  .nib-scope .btn .av{width:26px;height:26px;border-radius:50%;overflow:hidden;flex:none}

  /* reveal on scroll */
  .nib-scope .rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
  .nib-scope .rv.in{opacity:1;transform:none}

  /* nav — glass pill that compacts after the hero */
  .nib-scope .nav{position:fixed;top:18px;left:50%;z-index:90;padding:0;transform:translateX(-50%);width:min(500px,calc(100vw - 32px));
    transition:width .5s cubic-bezier(.2,.75,.2,1)}
  .nib-scope .nav-inner{position:relative;isolation:isolate;width:100%;height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px;
    background:
      radial-gradient(circle at 24% -35%,rgba(255,255,255,.88),rgba(255,255,255,0) 45%),
      linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,255,255,.12) 52%,rgba(255,255,255,.30));
    -webkit-backdrop-filter:blur(34px) saturate(220%);backdrop-filter:blur(34px) saturate(220%);
    border:1px solid rgba(255,255,255,.82);border-radius:999px;padding:5px 6px 5px 9px;
    box-shadow:
      0 18px 52px rgba(24,24,28,.12),
      0 2px 8px rgba(24,24,28,.05),
      inset 0 1px 0 rgba(255,255,255,.96),
      inset 0 -1px 0 rgba(255,255,255,.18),
      inset 12px 0 28px rgba(255,255,255,.12);
    overflow:hidden;transition:padding .5s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease,background .35s ease}
  .nib-scope .nav-inner::before{content:'';position:absolute;z-index:-1;inset:1px 9% auto 9%;height:44%;border-radius:999px;
    background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,0));filter:blur(.2px);pointer-events:none}
  .nib-scope .nav-inner::after{content:'';position:absolute;z-index:-1;width:110px;height:80px;right:12%;top:-48px;border-radius:50%;
    background:rgba(255,255,255,.52);filter:blur(22px);pointer-events:none}
  .nib-scope .nav-inner>*{position:relative;z-index:1}
  .nib-scope .nav-id{display:flex;align-items:center;gap:9px;font-weight:650;font-size:13px;white-space:nowrap;min-width:max-content}
  .nib-scope .nav-id .av{width:32px;height:32px;border-radius:50%;overflow:hidden;flex:none;border:1px solid rgba(17,17,17,.08)}
  .nib-scope .nav-menu{display:flex;align-items:center;justify-content:center;gap:20px;font-size:12.5px;font-weight:600;white-space:nowrap;
    transition:opacity .25s ease,transform .4s ease,max-width .45s ease;max-width:310px;opacity:1}
  .nib-scope .nav-menu a{position:relative;padding:4px 0}
  .nib-scope .nav-menu a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#111;transform:scaleX(0);transition:transform .25s ease}
  .nib-scope .nav-menu a:hover::after{transform:scaleX(1)}
  .nib-scope .nav-contact{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 17px;
    background:
      radial-gradient(circle at 30% 0,rgba(255,255,255,.88),rgba(255,255,255,0) 58%),
      linear-gradient(145deg,rgba(255,255,255,.42),rgba(255,255,255,.12));
    -webkit-backdrop-filter:blur(22px) saturate(210%);backdrop-filter:blur(22px) saturate(210%);
    border:1px solid rgba(255,255,255,.82);border-radius:999px;font-size:12.5px;font-weight:650;white-space:nowrap;
    box-shadow:0 5px 15px rgba(24,24,28,.07),inset 0 1px 0 rgba(255,255,255,.85);
    transition:opacity .24s ease,transform .35s ease,max-width .42s ease,padding .42s ease,background .25s ease;max-width:100px}
  .nib-scope .nav-dots{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#111;
    font:700 18px/1 Inter,sans-serif;letter-spacing:2px;opacity:0;transform:scale(.8);pointer-events:none;position:absolute;right:7px;
    transition:opacity .25s ease,transform .35s ease,background .25s ease}
  .nib-scope .nav-dots:hover{background:rgba(17,17,17,.06)}
  .nib-scope .nav.compact{width:218px}
  .nib-scope .nav.compact .nav-inner{padding-right:46px}
  .nib-scope .nav.compact .nav-menu{opacity:0;transform:translateX(12px);max-width:0;pointer-events:none;overflow:hidden}
  .nib-scope .nav.compact .nav-contact{opacity:0;transform:scale(.86);max-width:0;padding:0;border:0;pointer-events:none;overflow:hidden}
  .nib-scope .nav.compact .nav-dots{opacity:1;transform:scale(1);pointer-events:auto}
  .nib-scope .nav-popover{position:absolute;top:58px;right:0;width:226px;padding:8px;
    background:
      radial-gradient(circle at 24% -10%,rgba(255,255,255,.82),rgba(255,255,255,0) 52%),
      linear-gradient(145deg,rgba(255,255,255,.44),rgba(255,255,255,.13));
    -webkit-backdrop-filter:blur(34px) saturate(225%);backdrop-filter:blur(34px) saturate(225%);
    border:1px solid rgba(255,255,255,.84);border-radius:20px;
    box-shadow:0 22px 56px rgba(24,24,28,.15),inset 0 1px 0 rgba(255,255,255,.88),inset 0 -1px 0 rgba(255,255,255,.28);
    opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);pointer-events:none;
    transition:opacity .25s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility .25s ease}
  .nib-scope .nav.open .nav-popover{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .nib-scope .nav.open .nav-dots{background:rgba(255,255,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
  .nib-scope .nav-popover a{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:12px;font-size:13px;font-weight:600}
  .nib-scope .nav-popover a:hover{background:rgba(255,255,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}

  /* ============================================================
     SCROLL MORPH HERO → 4 PROJECT CARDS
     همان چهار کارت از Hero جداگانه کپی نمی‌شوند؛ خودشان با اسکرول
     از حالت دسته‌ای به Grid دو در دو تبدیل می‌شوند.
  ============================================================ */
  .nib-scope .morph-scroll{height:300vh;position:relative;padding:0!important}
  .nib-scope .morph-sticky{position:sticky;top:0;height:100svh;min-height:680px;overflow:hidden}
  .nib-scope .morph-stage{position:relative;height:100%;max-width:1080px;margin:0 auto;padding:90px 22px 34px}
  .nib-scope .morph-copy{position:absolute;left:22px;top:47%;width:min(500px,47%);z-index:8;
    transform:translateY(-50%);will-change:transform,opacity}
  .nib-scope .badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);
    border-radius:999px;padding:7px 13px;font-size:11.5px;font-weight:650;box-shadow:0 6px 18px rgba(0,0,0,.07)}
  .nib-scope .badge .dot{width:8px;height:8px;border-radius:50%;background:var(--green);
    box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:pulse 2s infinite}
  @keyframes pulse{70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}}
  .nib-scope h1{font-size:clamp(46px,5.35vw,68px);font-weight:650;letter-spacing:-.045em;line-height:1.01;margin:22px 0 19px}
  .nib-scope .morph-copy p{font-size:15.5px;color:var(--gray);max-width:470px;line-height:1.45}
  .nib-scope .morph-copy p b{color:var(--ink)}
  .nib-scope .hero-cta{display:flex;align-items:center;gap:22px;margin-top:34px;flex-wrap:wrap}
  .nib-scope .clients{display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600}
  .nib-scope .stack{display:flex}
  .nib-scope .stack .av{width:34px;height:34px;border-radius:50%;overflow:hidden;border:2px solid var(--bg);margin-left:-10px}
  .nib-scope .stack .av:first-child{margin-left:0}
  .nib-scope .ld{opacity:0;transform:translateY(34px)}
  .nib-scope .ld.go{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}

  .nib-scope .morph-heading{position:absolute;left:22px;right:22px;top:74px;z-index:6;display:flex;
    align-items:end;justify-content:space-between;gap:24px;opacity:0;transform:translateY(34px);
    will-change:opacity,transform;pointer-events:none}
  .nib-scope .morph-heading h2{font-size:clamp(36px,4.6vw,58px);font-weight:650}
  .nib-scope .morph-heading .btn{pointer-events:auto}

  .nib-scope .morph-cards{position:absolute;inset:0;z-index:4;pointer-events:none}
  .nib-scope .morph-card{--info-h:0px;position:absolute;display:block;overflow:hidden;background:#fff;border-radius:16px;
    box-shadow:0 24px 58px rgba(0,0,0,.16);transform-origin:50% 50%;will-change:transform,width,height,border-radius;
    backface-visibility:hidden;contain:layout paint style;border:1px solid rgba(17,17,17,.07)}
  .nib-scope .morph-card .card-media{position:absolute;left:0;right:0;top:0;height:calc(100% - var(--info-h));overflow:hidden;
    border-radius:inherit;transition:height .1s linear}
  .nib-scope .morph-card img{transform:scale(1.055);will-change:transform;transition:transform .72s cubic-bezier(.2,.7,.2,1)}
  .nib-scope .morph-card:hover img{transform:scale(1.085)!important}
  .nib-scope .morph-card .card-info{position:absolute;left:0;right:0;bottom:0;height:var(--info-h);display:flex;align-items:center;
    justify-content:space-between;gap:16px;padding:0 2px;color:#111;opacity:0;transform:translateY(10px);will-change:opacity,transform}
  .nib-scope .morph-card .card-copy{min-width:0}
  .nib-scope .morph-card .card-title{display:block;font-size:13.5px;font-weight:650;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nib-scope .morph-card .card-cat{display:block;font-size:10.5px;color:#777773;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nib-scope .morph-card .card-link{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;color:#555552;white-space:nowrap}
  .nib-scope .morph-card.is-grid{overflow:visible;background:transparent;border-color:transparent;box-shadow:none}
  .nib-scope .morph-card.is-grid .card-media{border-radius:16px;border:1px solid rgba(17,17,17,.07);box-shadow:0 9px 25px rgba(0,0,0,.065)}

  .nib-scope .morph-trust{position:absolute;left:22px;bottom:28px;z-index:7;display:flex;align-items:center;
    justify-content:space-between;width:calc(100% - 44px);padding-top:18px;border-top:1px solid var(--line);
    color:#9a9995;will-change:opacity,transform}
  .nib-scope .morph-logos{display:flex;gap:30px;align-items:center;font-size:12px;font-weight:650;letter-spacing:.04em;flex-wrap:wrap}

  /* ordinary reveal below the morph scene */
  .nib-scope .rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
  .nib-scope .rv.in{opacity:1;transform:none}

  /* ticker */
  .nib-scope .ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:20px 0;overflow:hidden;white-space:nowrap;background:var(--bg)}
  .nib-scope .ticker-track{display:inline-block;animation:tick 24s linear infinite}
  .nib-scope .ticker span{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:#a3a29e;margin:0 34px}
  @keyframes tick{to{transform:translateX(-50%)}}

  /* section head */
  .nib-scope .shead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}
  .nib-scope h2{font-size:clamp(30px,4vw,48px);font-weight:700;letter-spacing:-.03em;line-height:1.08}
  .nib-scope .eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);margin-bottom:14px}

  /* Mobile keeps the same scroll story: stacked cards morph into a compact vertical product list. */
  @media(max-width:900px){
    .nib-scope .morph-scroll{height:330vh;padding:0!important}
    .nib-scope .morph-sticky{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden}
    .nib-scope .morph-stage{height:100%;padding:72px 20px 18px}
    .nib-scope .morph-copy{position:absolute;left:20px;right:20px;top:36%;width:auto;transform:translateY(-50%);margin:0}
    .nib-scope h1{font-size:clamp(38px,10.4vw,52px);line-height:1.01;margin:20px 0 16px}
    .nib-scope .morph-copy p{font-size:14.5px;line-height:1.46;max-width:100%}
    .nib-scope .hero-cta{margin-top:26px;gap:16px}
    .nib-scope .clients{font-size:12px;gap:10px}
    .nib-scope .stack .av{width:30px;height:30px}
    .nib-scope .morph-heading{position:absolute;left:20px;right:20px;top:78px;margin:0;align-items:center;gap:12px}
    .nib-scope .morph-heading h2{font-size:clamp(30px,8.5vw,38px)}
    .nib-scope .morph-heading .btn{padding:10px 16px;font-size:11.5px}
    .nib-scope .morph-cards{position:absolute;inset:0;display:block;pointer-events:none}
    .nib-scope .morph-card{position:absolute!important;margin:0!important;aspect-ratio:auto!important;border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.16)}
    .nib-scope .morph-card .card-title{font-size:12px}
    .nib-scope .morph-card .card-cat,.nib-scope .morph-card .card-link{font-size:9.5px}
    .nib-scope .morph-card .card-info{gap:10px}
    .nib-scope .morph-trust{left:20px;bottom:16px;width:calc(100% - 40px);padding-top:12px;gap:10px}
    .nib-scope .morph-logos{gap:14px;font-size:10px}
  }
  /* big quote */
  .nib-scope .quote{max-width:860px;margin:0 auto;text-align:center}
  .nib-scope .quote .q{font-size:clamp(22px,3vw,32px);font-weight:600;letter-spacing:-.02em;line-height:1.4}
  .nib-scope .quote .q em{background:linear-gradient(transparent 62%,#ffe28a 62%);font-style:normal}
  .nib-scope .quote .who{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;font-size:14px}
  .nib-scope .quote .who .av{width:42px;height:42px;border-radius:50%;overflow:hidden}
  .nib-scope .quote .who b{display:block}

  /* services */
  .nib-scope .svc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
  .nib-scope .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
  .nib-scope .chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:11.5px;font-weight:650;box-shadow:0 6px 18px rgba(0,0,0,.07)}
  .nib-scope .svc-row{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 4px;border-bottom:0;
    transition:transform .28s ease}
  .nib-scope .svc-row:hover{transform:translateX(6px)}
  .nib-scope .svc-main{display:flex;align-items:center;gap:13px;min-width:0}
  .nib-scope .svc-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#111;color:#fff;
    font-size:14px;box-shadow:0 8px 19px rgba(0,0,0,.16)}
  .nib-scope .svc-title{font-size:17px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
  .nib-scope .svc-desc{font-size:11.5px;font-weight:450;color:var(--gray);text-align:right;max-width:43%;line-height:1.35}

  /* about */
  .nib-scope .about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
  .nib-scope .id-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;
    box-shadow:0 24px 50px rgba(0,0,0,.06)}
  .nib-scope .id-card .photo{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1.15;margin-bottom:16px}
  .nib-scope .id-card .nm{font-weight:700;font-size:17px}
  .nib-scope .id-card .rl{font-size:13.5px;color:var(--gray);margin-bottom:14px}
  .nib-scope .hist{border-top:1px solid var(--line);padding-top:14px;font-size:14px}
  .nib-scope .hist .row{display:flex;justify-content:space-between;padding:8px 0;color:var(--gray)}
  .nib-scope .hist .row b{color:var(--ink);font-weight:600}
  .nib-scope .about-txt p{font-size:17px;color:var(--gray);margin-bottom:20px}
  .nib-scope .about-txt p b{color:var(--ink)}

  /* pricing */
  .nib-scope .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:44px 0}
  .nib-scope .step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
  .nib-scope .step .n{font-size:12px;font-weight:700;letter-spacing:.15em;color:var(--gray)}
  .nib-scope .step .t{font-weight:700;font-size:17px;margin:8px 0 6px}
  .nib-scope .step p{font-size:14px;color:var(--gray)}
  .nib-scope .price-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px}
  .nib-scope .pcard{border-radius:var(--r-lg);padding:38px;border:1px solid var(--line);background:#fff}
  .nib-scope .pcard.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
  .nib-scope .pcard .slots{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;
    background:rgba(255,255,255,.1);border-radius:999px;padding:7px 14px;margin-bottom:18px}
  .nib-scope .pcard.dark .slots .dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
  .nib-scope .pcard h3{font-size:24px;font-weight:700;letter-spacing:-.01em}
  .nib-scope .pcard .sub{font-size:14.5px;opacity:.75;margin:8px 0 20px}
  .nib-scope .pcard .amt{font-size:42px;font-weight:800;letter-spacing:-.03em}
  .nib-scope .pcard .amt small{font-size:15px;font-weight:500;opacity:.7}
  .nib-scope .pcard ul{list-style:none;margin:24px 0 28px;font-size:14.5px}
  .nib-scope .pcard li{padding:9px 0;border-bottom:1px solid rgba(127,127,127,.18);display:flex;gap:10px;align-items:center}
  .nib-scope .pcard li::before{content:'✓';color:var(--green);font-weight:700}
  .nib-scope .pcard .btn{width:100%;justify-content:center}
  .nib-scope .pcard.dark .btn{background:#fff;color:var(--ink)}

  /* testimonials grid */
  .nib-scope .tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .nib-scope .tcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;font-size:15px}
  .nib-scope .tcard b{color:var(--ink)}
  .nib-scope .tcard .who{display:flex;align-items:center;gap:11px;margin-top:18px;font-size:13px;color:var(--gray)}
  .nib-scope .tcard .who .av{width:36px;height:36px;border-radius:50%;overflow:hidden;flex:none}
  .nib-scope .tcard .who b{display:block;font-size:13.5px}


  /* in-page insights — kept inside the original one-page experience */
  .nib-scope .blog-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}
  .nib-scope .blog-head p{max-width:430px;color:var(--gray);font-size:14px;line-height:1.5}
  .nib-scope .blog-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
  .nib-scope .blog-side{display:grid;gap:18px}
  .nib-scope .blog-card{display:grid;grid-template-columns:1fr 1fr;min-height:210px;overflow:hidden;background:rgba(255,255,255,.70);
    border:1px solid rgba(17,17,17,.08);border-radius:22px;box-shadow:0 12px 34px rgba(0,0,0,.055);transition:transform .35s ease,box-shadow .35s ease}
  .nib-scope .blog-card.small{grid-template-columns:150px 1fr;min-height:146px}
  .nib-scope .blog-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(0,0,0,.09)}
  .nib-scope .blog-media{overflow:hidden;background:#ececea}
  .nib-scope .blog-media img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .nib-scope .blog-card:hover img{transform:scale(1.045)}
  .nib-scope .blog-body{display:flex;flex-direction:column;justify-content:center;padding:26px}
  .nib-scope .blog-meta{font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:#8d8d89;margin-bottom:12px}
  .nib-scope .blog-title{font-size:clamp(19px,2vw,29px);font-weight:650;line-height:1.08;letter-spacing:-.035em}
  .nib-scope .blog-card.small .blog-title{font-size:17px}
  .nib-scope .blog-excerpt{font-size:12.5px;color:var(--gray);line-height:1.5;margin-top:13px}
  .nib-scope .blog-read{font-size:11px;font-weight:650;margin-top:18px}

  /* faq */
  .nib-scope .faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
  .nib-scope .faq-item{border-bottom:1px solid var(--line)}
  .nib-scope .faq-q{width:100%;display:flex;align-items:center;gap:18px;padding:22px 4px;cursor:pointer;
    background:none;border:0;font:inherit;text-align:left;font-size:17px;font-weight:600;color:var(--ink)}
  .nib-scope .faq-q .n{font-size:12.5px;font-weight:700;color:var(--gray);letter-spacing:.1em}
  .nib-scope .faq-q .pm{margin-left:auto;font-size:22px;font-weight:400;color:var(--gray);transition:transform .35s}
  .nib-scope .faq-item.open .pm{transform:rotate(45deg)}
  .nib-scope .faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1)}
  .nib-scope .faq-a p{padding:0 4px 22px 44px;font-size:15px;color:var(--gray)}

  /* cta card */
  .nib-scope .cta-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
    padding:56px 40px;text-align:center;box-shadow:0 30px 60px rgba(0,0,0,.07)}
  .nib-scope .cta-card .av{width:56px;height:56px;border-radius:50%;overflow:hidden;margin:0 auto 20px}
  .nib-scope .cta-card p{color:var(--gray);max-width:440px;margin:14px auto 28px;font-size:16px}

  /* floating glass contact dock */
  .nib-scope .contact-dock{position:fixed;isolation:isolate;overflow:hidden;z-index:82;left:50%;bottom:18px;display:flex;align-items:center;gap:13px;
    min-width:205px;padding:7px 8px 7px 14px;transform:translate(-50%,18px) scale(.96);opacity:0;pointer-events:none;
    background:
      radial-gradient(circle at 28% -15%,rgba(255,255,255,.90),rgba(255,255,255,0) 55%),
      linear-gradient(145deg,rgba(255,255,255,.40),rgba(255,255,255,.10));
    -webkit-backdrop-filter:blur(34px) saturate(225%);backdrop-filter:blur(34px) saturate(225%);
    border:1px solid rgba(255,255,255,.84);border-radius:999px;
    box-shadow:0 18px 48px rgba(24,24,28,.14),0 2px 8px rgba(24,24,28,.05),inset 0 1px 0 rgba(255,255,255,.90),inset 0 -1px 0 rgba(255,255,255,.26);
    transition:opacity .35s ease,transform .42s cubic-bezier(.2,.8,.2,1)}
  .nib-scope .contact-dock::before{content:'';position:absolute;z-index:-1;left:9%;right:9%;top:1px;height:45%;border-radius:999px;
    background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,0));pointer-events:none}
  .nib-scope .contact-dock.show{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:auto}
  .nib-scope .contact-dock .dock-copy{line-height:1.1;min-width:108px}
  .nib-scope .contact-dock .dock-copy b{display:block;font-size:11.5px;font-weight:700}
  .nib-scope .contact-dock .dock-copy span{display:block;font-size:9.5px;color:#777773;margin-top:4px}
  .nib-scope .contact-dock .dock-actions{display:flex;gap:5px}
  .nib-scope .contact-dock .dock-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
    background:
      radial-gradient(circle at 30% 5%,rgba(255,255,255,.92),rgba(255,255,255,0) 58%),
      linear-gradient(145deg,rgba(255,255,255,.42),rgba(255,255,255,.12));color:#111;
    -webkit-backdrop-filter:blur(20px) saturate(220%);backdrop-filter:blur(20px) saturate(220%);
    border:1px solid rgba(255,255,255,.84);box-shadow:0 6px 16px rgba(24,24,28,.10),inset 0 1px 0 rgba(255,255,255,.84);
    transition:transform .25s ease,background .25s ease}
  .nib-scope .contact-dock .dock-btn:hover{transform:translateY(-2px)}
  .nib-scope .contact-dock svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

  /* footer */
  .nib-scope footer{padding:86px 0 26px;overflow:hidden;background:#0d0d0d;color:#fff;border-radius:26px 26px 0 0;margin-top:34px}
  .nib-scope footer .wrap{max-width:1080px}
  .nib-scope .foot-head{font-size:clamp(38px,5vw,60px);font-weight:600;letter-spacing:-.045em;line-height:1.02;margin-bottom:46px;color:#fff}
  .nib-scope .rot{display:inline-block;position:relative;color:#fff;min-width:3.2em}
  .nib-scope .rot span{position:absolute;left:0;top:0;opacity:0;transform:translateY(14px);transition:.5s cubic-bezier(.2,.7,.2,1);color:#a3a3a0}
  .nib-scope .rot span.on{opacity:1;transform:none}
  .nib-scope .foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;font-size:12.5px;padding-bottom:36px;
    border-bottom:1px solid rgba(255,255,255,.14)}
  .nib-scope .foot-cols .h{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#777;font-weight:650;margin-bottom:11px}
  .nib-scope .foot-cols a{display:block;padding:3px 0;color:#bdbdb9}
  .nib-scope .foot-cols a:hover{color:#fff}
  .nib-scope .giant{font-size:clamp(48px,7vw,92px);font-weight:800;letter-spacing:-.055em;text-align:center;line-height:.86;margin-top:28px;
    color:rgba(255,255,255,.10);user-select:none;transform:none}

  /* cursor — always remains a tiny dot so it never covers text */
  @media (hover:hover) and (pointer:fine){
    .nib-scope,.nib-scope a,.nib-scope button{cursor:none}
    .nib-cur{position:fixed;top:0;left:0;width:10px;height:10px;background:#111;border:1px solid rgba(17,17,17,.14);
      border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);
      box-shadow:0 2px 7px rgba(0,0,0,.13);transition:background .22s ease,border-color .22s ease,
      box-shadow .22s ease,backdrop-filter .22s ease}
    .nib-cur span{display:none!important}
    .nib-cur.link,.nib-cur.project{width:10px;height:10px;
      background:rgba(255,255,255,.44);border:1px solid rgba(255,255,255,.90);
      -webkit-backdrop-filter:blur(12px) saturate(240%);backdrop-filter:blur(12px) saturate(240%);
      box-shadow:0 3px 11px rgba(24,24,28,.18),inset 0 1px 1px rgba(255,255,255,.98),
      inset 0 -1px 1px rgba(255,255,255,.24)}
  }

  @media(max-width:900px){
    /* Mobile now starts with the complete desktop-style menu.
       It only collapses to the identity + three dots after scrolling. */
    .nib-scope .nav{top:10px;width:calc(100vw - 14px)}
    .nib-scope .nav-inner{height:46px;gap:7px;padding:4px 5px 4px 7px}
    .nib-scope .nav-id{gap:5px;font-size:10.5px}
    .nib-scope .nav-id .av{width:28px;height:28px}
    .nib-scope .nav-menu{display:flex;flex:1;justify-content:center;gap:clamp(7px,2vw,12px);
      max-width:none;font-size:clamp(9.5px,2.35vw,11px);opacity:1;overflow:visible}
    .nib-scope .nav-menu a{padding:4px 0}
    .nib-scope .nav-contact{display:inline-flex;height:32px;padding:0 clamp(9px,2.2vw,13px);
      font-size:clamp(9.5px,2.25vw,10.5px);max-width:76px}
    .nib-scope .nav-dots{opacity:0;transform:scale(.8);pointer-events:none;right:6px;touch-action:manipulation}

    .nib-scope .nav.compact{width:190px}
    .nib-scope .nav.compact .nav-inner{padding-right:43px}
    .nib-scope .nav.compact .nav-dots{opacity:1;transform:scale(1);pointer-events:auto}

    /* Keep the mobile dropdown compact like desktop instead of expanding full-width. */
    .nib-scope .nav.open{width:190px}
    .nib-scope .nav.open .nav-inner{padding-right:43px}
    .nib-scope .nav-popover{
      left:50%;right:auto;top:54px;width:220px;max-width:calc(100vw - 24px);
      padding:8px;border-radius:20px;transform:translate(-50%,-8px) scale(.97);
      transform-origin:top center
    }
    .nib-scope .nav.open .nav-popover{transform:translateX(-50%)}
    .nib-scope .nav-popover a{padding:12px 13px;font-size:13px}

    .nib-scope .blog-head{align-items:start;flex-direction:column;margin-bottom:24px}
    .nib-scope .blog-head p{max-width:none}
    .nib-scope .blog-grid{grid-template-columns:1fr}
    .nib-scope .blog-card,.nib-scope .blog-card.small{grid-template-columns:1fr;min-height:0}
    .nib-scope .blog-media{aspect-ratio:16/9}
    .nib-scope .blog-body{padding:20px}
    .nib-scope .contact-dock{bottom:12px;min-width:196px}
    .nib-scope .svc-grid,.nib-scope .about-grid,.nib-scope .price-grid,.nib-scope .faq-grid{grid-template-columns:1fr}
    .nib-scope .steps,.nib-scope .tgrid{grid-template-columns:1fr}
    .nib-scope section{padding:60px 0}
    .nib-scope .foot-cols{grid-template-columns:1fr 1fr}
    .nib-scope .cta-card{padding:38px 20px}
    .nib-scope .cta-card .av{width:42px;height:42px;margin-bottom:16px}
    .nib-scope .giant{font-size:clamp(38px,11vw,54px);margin-top:22px;letter-spacing:-.045em}
  }

  @media(max-width:380px){
    .nib-scope .nav{width:calc(100vw - 10px)}
    .nib-scope .nav-inner{gap:5px;padding-left:5px}
    .nib-scope .nav-id{font-size:9.5px}
    .nib-scope .nav-id .av{width:26px;height:26px}
    .nib-scope .nav-menu{gap:6px;font-size:9px}
    .nib-scope .nav-contact{height:30px;padding:0 8px;font-size:9px}
    .nib-scope .nav.compact,.nib-scope .nav.open{width:182px}
    .nib-scope .nav-popover{width:214px;max-width:calc(100vw - 16px)}
  }
  @media(prefers-reduced-motion:reduce){
    .nib-scope .rv{opacity:1;transform:none;transition:none}
    .nib-scope .ticker-track,.nib-scope .badge .dot{animation:none}
    .nib-scope .morph-scroll{height:auto}
    .nib-scope .morph-sticky{position:relative;height:auto;min-height:0;overflow:visible}
  }

.elementor-element.nib-scope{width:100%;max-width:none!important;} .nib-scope>.e-con-inner{max-width:none!important;width:100%!important;} .nib-scope .elementor-widget{width:100%;} .nib-scope .elementor-widget-container{width:100%;}
