/*
Theme Name: Roshawn Allen Portfolio
Theme URI: https://roshawnallen.com
Author: Roshawn Allen / Turestrl Inc.
Author URI: https://turestrl.com
Description: A premium black-and-white editorial portfolio theme for Roshawn Allen, built for Creative Director, Associate Creative Director, Brand Design Lead, Senior Graphic Designer, and Senior Brand Designer opportunities.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: roshawn-portfolio
*/

html{scroll-behavior:smooth;background:#050505}
body{margin:0;background:#050505;color:#fff}
700&family=Montserrat:wght@500;700;800;900&family=Poppins:wght@400;500;600;700;800;900&display=swap");
    .ra-portfolio{
      --bg:#050505;
      --panel:#0d0d0d;
      --panel-2:#141414;
      --ink:#ffffff;
      --muted:#a9a9a9;
      --soft:#e8e8e8;
      --accent:#ffffff;
      --line:rgba(255,255,255,.12);
      --line-bright:rgba(255,255,255,.5);
      --max:1180px;
      background:var(--bg);
      color:var(--ink);
      font-family:"Poppins","Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      padding:0 22px 52px;
      position:relative;
      overflow-x:clip;
      overflow-y:visible;
      scroll-behavior:smooth;
    }
    .ra-portfolio *{box-sizing:border-box}
    .ra-portfolio a{color:inherit}
    .ra-portfolio img,.ra-portfolio video{display:block;width:100%;height:auto;background:#090909}
    .ra-wrap{max-width:var(--max);margin:0 auto;position:relative;z-index:2}
    .ra-portfolio:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(to bottom, #000 0%, transparent 72%);
      pointer-events:none;
    }
    .ra-portfolio:after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGNgYAAAAAMAASsJTYQAAAAASUVORK5CYII=");
      opacity:.04;
      mix-blend-mode:overlay;
    }

    .ra-nav{
      position:sticky;
      top:0;
      z-index:30;
      display:flex;
      gap:0;
      flex-wrap:wrap;
      align-items:center;
      justify-content:center;
      padding:12px 0;
      margin:0 auto 30px;
      border-bottom:1px solid var(--line);
      background:rgba(5,5,5,.94);
      backdrop-filter:blur(16px) saturate(1.1);
      -webkit-backdrop-filter:blur(16px) saturate(1.1);
    }
    .ra-chip{
      border:1px solid transparent;
      border-right-color:var(--line);
      background:transparent;
      color:var(--soft) !important;
      text-decoration:none;
      text-transform:uppercase;
      letter-spacing:.12em;
      font-size:11px;
      font-weight:700;
      font-family:"Courier Prime","Courier New",Courier,monospace;
      line-height:1;
      padding:11px 13px 10px;
      border-radius:0;
      outline:0 !important;
      box-shadow:none !important;
      -webkit-tap-highlight-color:rgba(255,255,255,.18);
      transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
    }
    .ra-chip:first-child{border-left-color:var(--line)}
    .ra-chip:hover,.ra-chip:focus,.ra-chip.active{
      color:#101010 !important;
      background:var(--accent);
      border-color:var(--accent);
      transform:translateY(-1px);
      outline:0 !important;
      box-shadow:none !important;
    }
    .ra-chip:focus-visible{
      outline:1px solid var(--accent) !important;
      outline-offset:2px;
      box-shadow:0 0 0 3px rgba(255,255,255,.18) !important;
    }
    .ra-chip:active{outline:0 !important;box-shadow:none !important}

    .ra-kicker{
      color:var(--accent);
      text-transform:uppercase;
      letter-spacing:.14em;
      font-size:12px;
      font-weight:900;
      margin:0 0 12px;
      font-family:"Courier Prime","Courier New",Courier,monospace;
    }
    .ra-hero{
      min-height:calc(84vh - 72px);
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
      gap:32px;
      align-items:end;
      padding:56px 0 28px;
      border-bottom:1px solid var(--line);
    }
    .ra-hero h1{
      margin:0;
      max-width:850px;
      color:var(--ink);
      font-size:clamp(42px,8vw,98px);
      line-height:.98;
      letter-spacing:0;
      text-transform:uppercase;
      font-family:"Courier Prime","Courier New",Courier,monospace;
      font-weight:700;
    }
    .ra-hero h1 span{color:var(--accent)}
    .ra-typewriter{
      white-space:normal;
    }
    .ra-typewriter.is-typing:after,
    .ra-typewriter.is-typed:after{
      content:"";
      display:inline-block;
      width:.08em;
      height:.82em;
      margin-left:.08em;
      background:currentColor;
      transform:translateY(.1em);
      animation:ra-caret .85s steps(1,end) infinite;
    }
    .ra-typewriter.is-typed:after{
      opacity:.75;
    }
    @keyframes ra-caret{
      0%,48%{opacity:1}
      49%,100%{opacity:0}
    }
    .ra-hero-copy{
      max-width:760px;
      margin:22px 0 0;
      color:var(--soft);
      font-size:clamp(17px,2vw,22px);
      line-height:1.45;
    }
    .ra-availability{
      max-width:760px;
      margin:14px 0 0;
      color:var(--muted);
      font-size:13px;
      line-height:1.5;
      border-left:2px solid var(--line-bright);
      padding-left:12px;
    }
    .ra-role-strip{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin:24px 0 0;
    }
    .ra-role-strip span{
      border:1px solid var(--line-bright);
      color:var(--ink);
      background:rgba(255,255,255,.055);
      text-transform:uppercase;
      letter-spacing:.08em;
      font-size:11px;
      font-weight:900;
      padding:8px 10px;
      border-radius:4px;
    }
    .ra-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
    .ra-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      border:1px solid var(--accent);
      border-radius:4px;
      padding:11px 14px;
      color:#101010 !important;
      background:var(--accent);
      text-decoration:none;
      font-size:12px;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.08em;
      transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
    }
    .ra-btn:hover,.ra-btn:focus{transform:translateY(-2px);box-shadow:0 0 18px rgba(255,255,255,.22)}
    .ra-btn.secondary{background:transparent;color:var(--ink) !important;border-color:var(--line)}
    .ra-btn.secondary:hover,.ra-btn.secondary:focus{border-color:var(--accent);color:var(--accent) !important;box-shadow:none}

    .ra-hero-media{
      align-self:stretch;
      min-height:520px;
      position:relative;
      border:1px solid var(--line);
      background:var(--panel);
      overflow:hidden;
    }
    .ra-hero-media img{
      width:100%;
      height:100%;
      min-height:520px;
      object-fit:cover;
      filter:contrast(1.05) saturate(.95);
    }
    .ra-hero-meta{
      position:absolute;
      left:14px;
      right:14px;
      bottom:14px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:8px;
    }
    .ra-stat{
      background:rgba(5,5,5,.78);
      border:1px solid var(--line);
      padding:10px;
      min-height:72px;
    }
    .ra-stat strong{display:block;color:var(--accent);font-size:20px;line-height:1}
    .ra-stat span{display:block;margin-top:6px;color:var(--soft);font-size:11px;line-height:1.25;text-transform:uppercase;letter-spacing:.06em}

    .ra-section{padding:38px 0;border-bottom:1px solid var(--line)}
    .ra-head{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(240px,360px);
      gap:24px;
      align-items:end;
      margin-bottom:16px;
    }
    .ra-head h2{
      margin:0;
      color:var(--ink);
      font-size:clamp(28px,4vw,54px);
      line-height:1.06;
      text-transform:uppercase;
      letter-spacing:0;
      font-family:"Courier Prime","Courier New",Courier,monospace;
      font-weight:700;
    }
    .ra-head p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.55;
    }
    .ra-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
    .ra-card{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:4px;
      padding:12px;
      min-width:0;
      transition:transform .22s ease,border-color .22s ease,background .22s ease;
    }
    .ra-card:hover{transform:translateY(-2px);border-color:var(--line-bright);background:#101010}
    .ra-card h3{
      margin:10px 0 6px;
      color:var(--ink);
      font-size:16px;
      line-height:1.2;
      letter-spacing:0;
    }
    .ra-card p,.ra-card li{
      color:var(--muted);
      font-size:13px;
      line-height:1.48;
    }
    .ra-card p{margin:0}
    .ra-card ul{margin:10px 0 0;padding-left:18px}
    .span-3{grid-column:span 3}
    .span-4{grid-column:span 4}
    .span-5{grid-column:span 5}
    .span-6{grid-column:span 6}
    .span-7{grid-column:span 7}
    .span-8{grid-column:span 8}
    .span-12{grid-column:span 12}
    .ra-number{
      display:block;
      color:var(--accent);
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
      margin-bottom:10px;
    }
    .ra-proof{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      border:1px solid var(--line);
      background:var(--panel);
    }
    .ra-proof div{padding:16px;border-right:1px solid var(--line)}
    .ra-proof div:last-child{border-right:0}
    .ra-proof strong{display:block;color:var(--accent);font-size:28px;line-height:1}
    .ra-proof span{display:block;color:var(--soft);font-size:12px;line-height:1.35;margin-top:8px;text-transform:uppercase;letter-spacing:.06em}
    .ra-client-list{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px 28px;
      margin-top:18px;
      padding:0;
      list-style:none;
    }
    .ra-client-list li{
      display:block;
      color:var(--ink);
      font-family:"Courier Prime","Courier New",Courier,monospace;
      font-size:clamp(16px,1.8vw,24px);
      line-height:1.05;
      text-transform:uppercase;
      letter-spacing:0;
      border-top:1px solid var(--line);
      padding-top:12px;
    }
    .ra-client-list li small{
      display:block;
      margin-top:6px;
      color:var(--muted);
      font-family:"Poppins","Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      font-size:11px;
      text-transform:none;
      letter-spacing:.01em;
      line-height:1.4;
    }
    .ra-feature-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:14px;
      margin-top:14px;
    }
    .ra-feature{
      min-height:190px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      border:1px solid var(--line);
      background:#070707;
      padding:16px;
    }
    .ra-feature.major{
      min-height:240px;
      border-color:var(--line-bright);
      background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    }
    .ra-feature h3{
      margin:0 0 10px;
      color:var(--ink);
      font-family:"Courier Prime","Courier New",Courier,monospace;
      font-size:clamp(24px,3.6vw,48px);
      line-height:1;
      text-transform:uppercase;
    }
    .ra-feature p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.5;
    }
    .ra-feature .ra-label{margin-top:14px}
    .ra-showcase{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:14px;
    }
    .ra-support-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }
    .ra-compact-copy{max-width:760px;color:var(--muted);font-size:14px;line-height:1.58}
    .ra-philosophy{
      display:grid;
      grid-template-columns:1.15fr repeat(2,.925fr);
      gap:14px;
    }
    .ra-think-card{
      border:1px solid var(--line);
      background:var(--panel);
      padding:16px;
      min-height:166px;
    }
    .ra-think-card.major{
      border-color:var(--line-bright);
      background:rgba(255,255,255,.06);
    }
    .ra-think-card h3{
      margin:0 0 10px;
      color:var(--ink);
      font-family:"Courier Prime","Courier New",Courier,monospace;
      font-size:clamp(20px,2.4vw,34px);
      line-height:1.05;
      text-transform:uppercase;
    }
    .ra-think-card p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
    }

    .ra-work img,.ra-work video,.ra-case-media img{
      aspect-ratio:4/3;
      object-fit:cover;
      border:1px solid rgba(255,255,255,.08);
    }
    .ra-work.wide img,.ra-work.wide video{aspect-ratio:16/9}
    .ra-label{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
      margin-top:10px;
      color:var(--muted);
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.08em;
    }
    .ra-label b{color:var(--accent)}
    .video-embed{position:relative;aspect-ratio:16/9;background:#080808;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
    .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

    .ra-case{
      display:grid;
      grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr);
      gap:18px;
      align-items:start;
    }
    .ra-case-text{padding:22px}
    .ra-case-text h3{font-size:26px;margin:0 0 12px;text-transform:uppercase;line-height:1}
    .ra-case-text h3,
    .ra-contact h2{
      font-family:"Courier Prime","Courier New",Courier,monospace;
      font-weight:700;
    }
    .ra-case-text p{font-size:14px;line-height:1.6}
    .ra-case-media{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:10px;
    }
    .ra-case-media a,.ra-case-media figure{margin:0}
    .ra-outcomes{display:grid;gap:8px;margin-top:16px}
    .ra-outcomes div{
      border-left:3px solid var(--accent);
      background:rgba(255,255,255,.045);
      padding:10px 12px;
      color:var(--soft);
      font-size:13px;
      line-height:1.35;
    }
    .ra-quote{
      border:1px solid var(--line-bright);
      background:rgba(255,255,255,.055);
      color:var(--ink);
      padding:12px;
      margin-top:16px;
      font-size:14px;
      line-height:1.45;
    }
    .ra-quote cite{
      display:block;
      margin-top:8px;
      color:var(--muted);
      font-size:11px;
      font-style:normal;
      text-transform:uppercase;
      letter-spacing:.06em;
    }
    .ra-evidence{
      margin-top:20px;
      display:grid;
      gap:12px;
    }
    .ra-board{
      background:#070707;
      border:1px solid var(--line);
      border-radius:4px;
      padding:14px;
      overflow:hidden;
    }
    .ra-board-head{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(220px,340px);
      gap:18px;
      align-items:end;
      margin-bottom:12px;
      padding-bottom:12px;
      border-bottom:1px solid var(--line);
    }
    .ra-board-title{
      margin:0;
      color:var(--ink);
      font-family:"Courier Prime","Courier New",Courier,monospace;
      font-size:clamp(22px,3vw,38px);
      line-height:1.08;
      text-transform:uppercase;
    }
    .ra-board-head p,
    .ra-board-note{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
    }
    .ra-story-card img,
    .ra-arch-shot img{
      width:100%;
      aspect-ratio:4/3;
      object-fit:cover;
      border:1px solid rgba(255,255,255,.1);
      filter:saturate(.85) contrast(1.05);
    }
    .ra-arch-node h4,
    .ra-story-card h4{
      margin:0 0 6px;
      color:var(--ink);
      font-size:13px;
      line-height:1.2;
      text-transform:uppercase;
      letter-spacing:.06em;
    }
    .ra-arch-node p,
    .ra-story-card p{
      margin:0;
      color:var(--muted);
      font-size:12.5px;
      line-height:1.45;
    }
    .ra-architecture{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    .ra-arch-map{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:10px;
    }
    .ra-arch-node{
      min-height:126px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.035);
      padding:12px;
    }
    .ra-arch-node.primary{
      grid-column:span 2;
      min-height:112px;
      border-color:var(--line-bright);
      background:rgba(255,255,255,.07);
    }
    .ra-storyboard{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:10px;
    }
    .ra-story-card{
      border:1px solid var(--line);
      background:rgba(255,255,255,.035);
      padding:10px;
      min-height:205px;
    }
    .ra-story-card img{
      aspect-ratio:16/9;
      margin-bottom:10px;
    }
    .ra-story-card .ra-number{font-size:10px;margin-bottom:8px}
    .ra-testis{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
    .ra-testi{display:flex;gap:12px;align-items:flex-start}
    .ra-testi img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 auto}
    .ra-testi h3{margin:0 0 2px;font-size:15px}
    .ra-testi span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
    .ra-testi small{display:block;margin-top:6px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}

    .ra-contact{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(260px,380px);
      gap:20px;
      align-items:end;
      padding:48px 0 0;
    }
    .ra-contact h2{
      margin:0;
      max-width:780px;
      font-size:clamp(34px,6vw,74px);
      line-height:1.02;
      text-transform:uppercase;
    }
    .ra-contact p{color:var(--muted);font-size:15px;line-height:1.55}
    .ra-top{
      position:fixed;
      right:16px;
      bottom:18px;
      z-index:40;
      border:1px solid var(--line);
      background:rgba(5,5,5,.78);
      color:var(--soft) !important;
      text-decoration:none;
      border-radius:4px;
      padding:9px 10px;
      font-size:11px;
      font-weight:900;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .ra-top:hover,.ra-top:focus{background:var(--accent);border-color:var(--accent);color:#101010 !important}
    .ra-portfolio a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}\n    .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}

    @media (max-width:980px){
      .ra-hero,.ra-head,.ra-case,.ra-contact{grid-template-columns:1fr}
      .ra-hero{min-height:auto;padding-top:44px}
      .ra-hero-media{min-height:auto}
      .ra-hero-media img{min-height:420px}
      .span-3,.span-4{grid-column:span 6}
      .span-5,.span-6,.span-7,.span-8{grid-column:span 12}
      .ra-proof{grid-template-columns:repeat(2,1fr)}
      .ra-proof div:nth-child(2){border-right:0}
      .ra-proof div:nth-child(1),.ra-proof div:nth-child(2){border-bottom:1px solid var(--line)}
      .ra-feature-grid,
      .ra-client-list,
      .ra-showcase,
      .ra-philosophy{grid-template-columns:1fr}
      .ra-board-head,
      .ra-architecture{grid-template-columns:1fr}
      .ra-storyboard{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width:640px){
      .ra-portfolio{padding:0 16px 42px}
      .ra-nav{
        top:0;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        justify-content:stretch;
        overflow:visible;
        margin:0 -16px 14px;
        padding:10px 16px 11px;
      }
      .ra-chip{
        min-width:0;
        width:100%;
        letter-spacing:.07em;
        padding:9px 3px 8px;
        border-color:var(--line);
        white-space:nowrap;
        outline:0 !important;
        box-shadow:none !important;
        -webkit-tap-highlight-color:rgba(255,255,255,.14);
      }
      .ra-hero h1{font-size:42px}
      .ra-hero-copy{font-size:16px}
      .ra-hero-meta{grid-template-columns:1fr;position:static;margin-top:8px}
      .ra-stat{min-height:auto}
      .span-3,.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}
      .ra-proof,.ra-testis,.ra-case-media{grid-template-columns:1fr}
      .ra-support-grid{grid-template-columns:1fr}
      .ra-proof div{border-right:0;border-bottom:1px solid var(--line)}
      .ra-proof div:last-child{border-bottom:0}
      .ra-section{padding:34px 0}
      .ra-card{padding:12px}
      .ra-board{padding:12px}
      .ra-arch-map,
      .ra-storyboard{grid-template-columns:1fr}
      .ra-arch-node.primary{grid-column:span 1}
      .ra-story-card{min-height:auto}
    }
    @media (prefers-reduced-motion:reduce){
      .ra-card,.ra-btn,.ra-chip{transition:none !important}
      .ra-card:hover,.ra-btn:hover,.ra-chip:hover{transform:none !important}
      .ra-typewriter:after{display:none !important}
    }