
  :root{
    --ground:#0f0f0e;
    --raised:#171716;
    --line:#2b2b28;
    --text:#f1eee6;
    --muted:#a19d92;
    --accent:#e8b464;
    --display:"Hanken Grotesk", -apple-system, "Segoe UI", Roboto, sans-serif;
    --sans:"Hanken Grotesk", -apple-system, "Segoe UI", Roboto, sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
  body{
    margin:0;
    background:var(--ground);
    color:var(--text);
    font-family:var(--sans);
    font-size:16px;
    line-height:1.6;
    padding-inline:20px;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;}
  a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1080px;margin:0 auto;}

  /* header */
  header{
    display:flex;justify-content:space-between;align-items:center;
    padding-block:22px;
  }
  .mark{font-family:var(--display);font-size:1.15rem;font-weight:300;text-decoration:none;letter-spacing:-.01em;}
  .mark b{font-weight:800;}
  .mark{display:inline-flex;align-items:center;gap:12px;}
  .mark .logo{height:54px;width:auto;opacity:.82;}
  @media (max-width:560px){.mark .logo{height:38px;}}
  .studio-line a{color:var(--muted);}
  .studio-line a:hover{color:var(--text);}
  .lt{font-weight:300;}
  header nav{display:flex;gap:22px;font-size:.9rem;}
  header nav a{text-decoration:none;color:var(--muted);}
  header nav a:hover{color:var(--text);}
  @media (max-width:560px){header nav{display:none;}}

  /* hero */
  .hero{
    display:grid;
    grid-template-columns:minmax(0,380px) minmax(0,1fr);
    gap:56px;
    align-items:end;
    padding-block:40px 72px;
  }
  @media (max-width:820px){
    .hero{grid-template-columns:1fr;gap:32px;padding-block:16px 56px;}
    .portrait{max-width:340px;}
  }
  .portrait{
    position:relative;
    aspect-ratio:1/1;
    width:100%;
    overflow:hidden;
    border-radius:2px;
  }
  .portrait img{width:100%;height:100%;object-fit:cover;}
  .portrait figcaption{
    position:absolute;left:12px;bottom:10px;
    font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
    color:#fff;mix-blend-mode:difference;
  }
  .eyebrow{
    font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
    margin:0 0 18px;
  }
  h1{
    font-family:var(--display);
    font-weight:800;
    font-size:clamp(3rem,8vw,6rem);
    line-height:.95;
    letter-spacing:-.045em;
    margin:0 0 26px;
    text-wrap:balance;
  }
  h1 b{font-weight:800;color:var(--accent);}
  .bio{font-size:1.08rem;color:var(--muted);max-width:56ch;margin:0 0 14px;}
  .bio strong{color:var(--text);font-weight:500;}
  .credline{
    display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px;
    font-size:.85rem;color:var(--text);
  }
  .credline span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:middle;}

  .cta-row{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:30px;}
  .cta{
    display:inline-block;background:var(--accent);color:#141210;text-decoration:none;
    font-weight:700;letter-spacing:-.01em;padding:14px 22px;border-radius:999px;
    transition:transform .15s ease;
  }
  .cta:hover{transform:translateY(-2px);}
  .cta-ghost{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;}
  .cta-ghost:hover{border-color:var(--accent);}
  @media (prefers-reduced-motion:reduce){.cta{transition:none;}}

  .faq-list{border-top:1px solid var(--line);}
  .faq{border-bottom:1px solid var(--line);}
  .faq summary{
    cursor:pointer;list-style:none;padding-block:18px;font-weight:600;font-size:1.05rem;
    display:flex;justify-content:space-between;gap:16px;
  }
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";color:var(--accent);font-weight:400;font-size:1.4rem;line-height:1;}
  .faq[open] summary::after{content:"\2212";}
  .faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  .faq p{margin:0 0 20px;color:var(--muted);max-width:70ch;}

  .reviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
  @media (max-width:700px){.reviews{grid-template-columns:1fr;}}
  .review{border:1px solid var(--line);padding:24px;margin:0;}
  .review blockquote{margin:0 0 16px;font-size:1.05rem;line-height:1.55;}
  .review figcaption{color:var(--muted);font-size:.88rem;}
  .review figcaption b{color:var(--text);font-weight:700;display:block;}
  .reviews-empty{border:1px dashed var(--line);padding:32px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
  .reviews-empty p{margin:0;color:var(--muted);max-width:48ch;}
  .as-link{background:none;border:0;border-bottom:1px solid var(--line);font:inherit;font-size:.9rem;cursor:pointer;padding:0 0 2px;}

  .form-card{margin-top:48px;border:1px solid var(--line);background:var(--raised);padding:28px;}
  @media (max-width:560px){.form-card{padding:20px;}}
  .tabs{display:flex;gap:6px;margin-bottom:24px;flex-wrap:wrap;}
  .tabs button{
    font:inherit;font-weight:600;color:var(--muted);background:transparent;cursor:pointer;
    border:1px solid var(--line);border-radius:999px;padding:9px 18px;
  }
  .tabs button[aria-selected="true"]{background:var(--text);color:var(--ground);border-color:var(--text);}
  .tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;}
  @media (max-width:640px){.grid2{grid-template-columns:1fr;}}
  .field{display:block;margin-bottom:20px;}
  .field span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:6px;}
  .field input,.field textarea{
    width:100%;font:inherit;color:var(--text);background:transparent;
    border:0;border-bottom:1px solid var(--line);padding:8px 0;border-radius:0;
  }
  .field textarea{resize:vertical;min-height:110px;}
  .field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent);}
  .check{display:flex;gap:10px;align-items:center;font-size:.9rem;color:var(--muted);margin-bottom:20px;}
  .form-note{font-size:.85rem;color:var(--muted);margin:0 0 14px;}
  button.cta{border:0;cursor:pointer;font:inherit;font-weight:700;}
  .sent-note{margin:16px 0 0;color:var(--accent);}


  .clients{padding-block:48px;}
  .client-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px 40px;align-items:center;}
  .client-list li{font-family:var(--display);font-weight:700;font-size:clamp(1.05rem,2.2vw,1.35rem);letter-spacing:-.01em;color:var(--muted);}
  .wlead{font-size:1.05rem;color:var(--muted);max-width:62ch;margin:0 0 22px;}
  .wlead strong{color:var(--text);font-weight:600;}
  .wmore{color:var(--muted);margin:22px 0 0;}
  .wmore a{color:var(--text);}
  .tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
  .tags li{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.95rem;}
  .credits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:1px solid var(--line);}
  @media (max-width:760px){.credits{grid-template-columns:1fr;}}
  .credits a{display:flex;gap:16px;align-items:baseline;padding-block:14px;border-bottom:1px solid var(--line);text-decoration:none;}
  .credits .yr{color:var(--accent);font-size:.85rem;font-variant-numeric:tabular-nums;min-width:3ch;}
  .credits .ttl{flex:1;font-weight:600;min-width:0;}
  .credits .ttl small{display:block;font-weight:400;color:var(--muted);font-size:.85rem;}
  .credits .arrow{color:var(--muted);}
  .credits a:hover .arrow,.credits a:hover .ttl{color:var(--accent);}

  .logo-shine{position:relative;display:inline-block;line-height:0;
    -webkit-mask:url("/img/faryab-shah-logo.png") center/contain no-repeat;mask:url("/img/faryab-shah-logo.png") center/contain no-repeat;}
  .logo-shine::after{content:"";position:absolute;inset:-10% -60%;pointer-events:none;
    background:linear-gradient(105deg,transparent 38%,rgba(232,180,100,.9) 45%,#fff 50%,rgba(232,180,100,.9) 55%,transparent 62%);
    transform:translateX(-100%);animation:logo-shine 4.5s ease-in-out 1s infinite;}
  @keyframes logo-shine{0%{transform:translateX(-100%)}35%,100%{transform:translateX(100%)}}
  .mark:hover .logo-shine::after{animation-duration:1.6s;}
  @media (prefers-reduced-motion:reduce){.logo-shine::after{animation:none;opacity:0;}}

  .wa-float{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:50;
    display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#0b2e17;text-decoration:none;font-weight:700;
    padding:12px 18px 12px 14px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.35);transition:transform .15s ease;}
  .wa-float:hover{transform:translateY(-2px);}
  .wa-float:focus-visible{outline:2px solid var(--text);outline-offset:3px;}
  @media (max-width:560px){.wa-float span{display:none;}.wa-float{padding:14px;}}
  @media (prefers-reduced-motion:reduce){.wa-float{transition:none;}}

  .gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  @media (max-width:700px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}}
  .gallery li{overflow:hidden;border-radius:2px;background:var(--raised);aspect-ratio:4/5;}
  .gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
  .gallery li:hover img{transform:scale(1.03);}
  @media (prefers-reduced-motion:reduce){.gallery img{transition:none;}}

  .gallery li{position:relative;}
  .gallery li.wide{grid-column:span 2;aspect-ratio:auto;}
  .gallery .cap{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;font-size:.82rem;font-weight:600;color:#fff;
    background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none;}
  /* sections */
  .block{padding-block:64px;border-top:1px solid var(--line);}
  .block-head{
    display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;
    margin-bottom:28px;
  }
  h2{
    font-family:var(--display);font-weight:800;letter-spacing:-.035em;
    font-size:clamp(2rem,4.6vw,3.2rem);line-height:1;margin:0;
  }
  .handle{
    font-size:.9rem;color:var(--muted);text-decoration:none;
    border-bottom:1px solid var(--line);padding-bottom:2px;
  }
  .handle:hover{color:var(--text);border-color:var(--accent);}

  .video{
    position:relative;width:100%;aspect-ratio:16/9;max-width:100%;
    background:#000;overflow:hidden;border-radius:2px;
  }
  .video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

  .feed-fallback{
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
    padding:36px;border:1px solid var(--line);background:var(--raised);text-decoration:none;
  }
  .feed-fallback p{margin:0;color:var(--muted);}
  .feed-fallback .go{font-family:var(--display);font-size:1.6rem;font-weight:700;letter-spacing:-.02em;}

  .li-wrap{display:block;}
  @media (max-width:820px){.li-wrap{grid-template-columns:1fr;}}
  .li-roles{list-style:none;margin:0;padding:0;}
  .li-roles li > span:first-child{font-weight:600;}
  .li-roles li{
    display:flex;justify-content:space-between;gap:16px;
    padding-block:14px;border-bottom:1px solid var(--line);
  }
  .li-roles li:first-child{border-top:1px solid var(--line);}
  .li-roles .yr{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap;}
  .li-roles .org{display:block;font-weight:400;color:var(--muted);font-size:.88rem;}
  .badge-slot{overflow-x:auto;max-width:100%;}

  /* socials */
  .socials{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid var(--line);border-left:1px solid var(--line);
  }
  @media (max-width:820px){.socials{grid-template-columns:repeat(2,minmax(0,1fr));}}
  .social{
    display:flex;flex-direction:column;justify-content:space-between;gap:36px;
    min-height:150px;padding:20px;
    border-right:1px solid var(--line);border-bottom:1px solid var(--line);
    text-decoration:none;transition:background .15s ease;
  }
  .social:hover{background:var(--raised);}
  .social .name{font-family:var(--display);font-size:1.5rem;font-weight:700;letter-spacing:-.025em;line-height:1;}
  .social .meta{display:flex;justify-content:space-between;align-items:end;gap:8px;color:var(--muted);font-size:.82rem;}
  .social:hover .arrow{color:var(--accent);}

  /* recognition */
  .recog{list-style:none;margin:0;padding:0;columns:2;column-gap:48px;}
  @media (max-width:700px){.recog{columns:1;}}
  .recog li{break-inside:avoid;padding-block:12px;border-bottom:1px solid var(--line);}
  .recog b{font-weight:700;}
  .recog span{display:block;color:var(--muted);font-size:.88rem;}

  /* contact */
  .contact{padding-block:80px 40px;border-top:1px solid var(--line);}
  .contact h2{font-size:clamp(2.6rem,7vw,5rem);margin-bottom:28px;}
  .contact-links{display:flex;flex-wrap:wrap;gap:14px 40px;}
  .contact-links a{
    font-size:clamp(1.1rem,2.6vw,1.5rem);text-decoration:none;
    border-bottom:1px solid var(--accent);padding-bottom:2px;
  }
  .seo-line{flex-basis:100%;margin:0 0 6px;max-width:80ch;line-height:1.6;}
  footer{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    padding-block:28px;color:var(--muted);font-size:.8rem;border-top:1px solid var(--line);
  }

  [hidden]{display:none!important;}
  /* keyword pages */
  h1 .h1-sub{display:block;font-size:clamp(1.15rem,2.6vw,1.6rem);font-weight:500;letter-spacing:-.015em;line-height:1.25;color:var(--text);margin-top:16px;}
  .quiet-links{font-size:.9rem;color:var(--muted);margin:16px 0 0;line-height:1.9;}
  .quiet-links a{color:var(--muted);}
  .quiet-links a:hover{color:var(--text);}
  .crumbs{font-size:.82rem;color:var(--muted);padding-top:12px;}
  .crumbs a{color:var(--muted);}
  .page-hero{padding-block:32px 56px;max-width:820px;}
  .page-hero h1{font-size:clamp(2.5rem,7vw,4.6rem);line-height:1;}
  .page-hero .bio{font-size:1.15rem;max-width:66ch;color:var(--text);}
  .facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;}
  @media (max-width:760px){.facts{grid-template-columns:repeat(2,minmax(0,1fr));}}
  .facts dt{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
  .facts dd{margin:0;font-size:.95rem;}
  .svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
  .svc-list li{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:8px 32px;padding-block:18px;border-bottom:1px solid var(--line);}
  @media (max-width:700px){.svc-list li{grid-template-columns:1fr;}}
  .svc-list b{font-weight:700;}
  .svc-list span{color:var(--muted);}
  .prose{font-size:1.05rem;color:var(--muted);max-width:70ch;margin:0;}
  .qa{padding-block:18px;border-bottom:1px solid var(--line);}
  .qa h3{margin:0 0 8px;font-size:1.1rem;font-weight:700;}
  .qa p{margin:0;color:var(--muted);max-width:72ch;}
  .faq-list h3{margin:0;font:inherit;}
  .rating-line{color:var(--muted);margin:0 0 22px;}
  .rating-line b{color:var(--accent);}
  .updated{color:var(--muted);font-size:.82rem;margin:0;}
  .foot-nav{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 10px;}
  .foot-nav a{color:var(--muted);}
  .foot-nav a:hover{color:var(--text);}
