/* Sean Ahern Digital: refined design layer (loads after the page's base styles) */
:root{
  --white:#F6F6F3; --paper:#FFFFFF; --ink:#111317; --muted:#5A6069; --line:#E4E4DE; --line-2:#D6D6CE;
  --blue:#1B4FA0; --blue-ink:#163F80; --red:#C8323C; --amber:#D9A21B; --teal:#0F8F92;
  --shadow:0 1px 2px rgba(17,19,23,.04),0 24px 48px -28px rgba(17,19,23,.28);
  --shadow-sm:0 1px 2px rgba(17,19,23,.04),0 10px 24px -18px rgba(17,19,23,.30);
  --ease:cubic-bezier(.16,1,.3,1);
}
body{background:var(--white);color:var(--ink);text-rendering:optimizeLegibility}
::selection{background:var(--ink);color:#fff}
h1,h2,h3,.disp{letter-spacing:-.025em}

/* Scroll progress */
.sx-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--ink);transform-origin:0 50%;transform:scaleX(0);z-index:300;pointer-events:none}

/* Navigation */
.nav{background:rgba(246,246,243,.78);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);padding:14px 32px}
.nav.scrolled{border-bottom:1px solid var(--line);box-shadow:none}
.nav-links a{position:relative;color:var(--muted);border-radius:0;padding:8px 12px}
.nav-links a:hover{background:none;color:var(--ink)}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-links a:not(.nav-cta):hover::after,.nav-links a.is-active::after{transform:scaleX(1);transform-origin:left}
.nav-links a.is-active{color:var(--ink)}
.nav-cta{border-radius:999px !important;padding:9px 18px !important;margin-left:8px}
.nav-cta:hover{background:var(--blue) !important}

/* Hero: no colored blobs, a quiet grid instead */
.hero-bg{display:none !important}
.hero{padding:180px 0 40px;background:var(--white)}
#work{padding-top:90px}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;opacity:.55;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000 10%,transparent 70%);pointer-events:none}
.eyebrow{color:var(--muted);letter-spacing:.18em}
.eyebrow .pulse{background:var(--blue);animation:sxPulse 2.4s infinite}
@keyframes sxPulse{0%{box-shadow:0 0 0 0 rgba(27,79,160,.45)}70%{box-shadow:0 0 0 12px rgba(27,79,160,0)}100%{box-shadow:0 0 0 0 rgba(27,79,160,0)}}
h1.title{font-size:clamp(44px,7.4vw,96px);letter-spacing:-.04em;line-height:.98}
h1.title .g1{color:var(--blue)}
.roles{color:var(--muted);font-weight:400;max-width:52ch}
.btn{border-radius:999px;padding:14px 26px;letter-spacing:-.005em;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease)}
.btn-p{background:var(--ink)}
.btn-p:hover{background:var(--blue);transform:translateY(-2px);box-shadow:0 16px 32px -18px rgba(27,79,160,.7)}
.btn-p svg{transition:transform .45s var(--ease)}
.btn-p:hover svg{transform:translateX(4px)}
.btn-o{border:1px solid var(--line-2);background:var(--paper)}
.btn-o:hover{border-color:var(--ink)}

/* Stats as one clean strip */
.stats{gap:0;margin-top:72px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.stat{background:none;border:0;border-radius:0;box-shadow:none;padding:28px 28px 26px 0}
.stat+.stat{padding-left:28px;border-left:1px solid var(--line)}
.stat::before{display:none}
.stat .n{font-size:clamp(34px,4vw,48px);letter-spacing:-.03em}
.stat .l{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:700px){.stat{flex:1 1 50%;padding:22px 16px 20px 0}.stat+.stat{padding-left:16px}.stat:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.stat:nth-child(4){border-top:1px solid var(--line)}}

/* Sections */
section{padding:120px 0}
@media(max-width:700px){section{padding:84px 0}}
#cases,#web,#reviews{background:var(--paper)}
#about{background:var(--white)}
#versus{background:#0E1116}
section+section{border-top:1px solid var(--line)}
#versus,#edu{border-top:0}
.sec-head{margin-bottom:56px;gap:24px}
.sec-label{color:var(--muted);letter-spacing:.2em;font-size:12px}
.sec-label::before{width:28px;height:1px;border-radius:0;background:currentColor;transform-origin:left;transition:transform 1s var(--ease) .1s}
.sx .sec-label::before{transform:scaleX(0)}
.sec-head h2{font-size:clamp(32px,4.6vw,60px);letter-spacing:-.035em}
.sec-head p{font-size:16px}
#versus .sec-label,#edu .sec-label{color:rgba(255,255,255,.62)}

/* Section entrance: label rule draws, heading lifts out of a mask */
.sx .sec-head h2,.sx .lp-hero h1{clip-path:inset(0 0 100% 0);transform:translateY(28px);transition:clip-path 1.1s var(--ease),transform 1.1s var(--ease)}
.sx.sx-in .sec-head h2,.sx.sx-in .lp-hero h1{clip-path:inset(0 0 -10% 0);transform:none}
.sx.sx-in .sec-label::before{transform:scaleX(1)}

/* Reveal with a soft blur */
.reveal{transform:translateY(28px);filter:blur(6px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease)}
.reveal.in{filter:none}

/* Staggered grid children */
.sx-st{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.sx-st.sx-on{opacity:1;transform:none}

/* Filters */
.chip{border:1px solid var(--line-2);background:var(--paper);font-weight:500;transition:.3s var(--ease)}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink)}

/* Work tiles */
.tile img{border-radius:6px;box-shadow:var(--shadow-sm);transition:transform .8s var(--ease),box-shadow .6s var(--ease)}
.tile{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.tile:hover img{box-shadow:var(--shadow)}
.tile .ov{border-radius:6px}
.tile .badge{background:rgba(17,19,23,.78) !important;color:#fff !important;font-weight:600;letter-spacing:.1em}

/* Case studies: monochrome, numbers do the talking */
.case{background:var(--white);border:1px solid var(--line);border-radius:4px;transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .6s var(--ease)}
.case::after{display:none}
.case:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--line-2)}
.case .big,.case:nth-child(n) .big{color:var(--ink) !important;font-size:48px;letter-spacing:-.04em}
.case .client{letter-spacing:.14em}

/* Human vs AI */
.vs-table{border-radius:6px;border-color:rgba(255,255,255,.1)}
.vs-badge{background:#fff;color:#0E1116}
.vs-big{color:#fff}
.vs-win{background:rgba(255,255,255,.05)}
.vs-copy .em{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

/* Web cards */
.webcard .shot{aspect-ratio:16/10;overflow:hidden;border-radius:6px;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.webcard .shot img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.1s var(--ease)}
.webcard:hover{transform:none}
.webcard:hover .shot img{transform:scale(1.035)}
.webcard .meta{padding:18px 2px}
.webcard .meta .u{color:var(--ink);border-bottom:1px solid var(--line-2);padding-bottom:2px}

/* About */
.pcard{border-radius:6px;box-shadow:none;border:1px solid var(--line)}
.pcard h4{color:var(--ink)}
.pcard li::before{background:var(--ink);width:5px;height:5px;border-radius:50%;margin-top:9px}

/* Education */
.edu-wrap{border-radius:8px}

/* Reviews */
.rv{border-radius:6px;background:var(--white)}
.rv-av{background:var(--ink)}
.rv-stars{color:var(--amber)}
.rv-search,.rv-sort{border:1px solid var(--line-2);border-radius:999px}

/* Footer */
footer{background:#0E1116}
.foot-col a{position:relative;width:max-content}
.foot-col a:hover{color:#fff}

/* Lightbox */
.lb-inner{border-radius:8px}

/* Landing pages page */
.lp-hero{position:relative}
.lp-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;opacity:.5;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 80% 20%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 60% 70% at 80% 20%,#000 10%,transparent 70%);pointer-events:none}
.lp-hero .wrap{position:relative}
.lp-hero h1{font-size:clamp(42px,6.6vw,84px) !important;letter-spacing:-.04em;line-height:.98;max-width:14ch !important}
.lp-shot{border-radius:8px !important;border:1px solid var(--line);box-shadow:var(--shadow) !important}
.lp-shot img{transition:transform 1.2s var(--ease)}
.lp-shot:hover{transform:none !important}
.lp-shot:hover img{transform:scale(1.03)}
.lp-shot .bar{background:#F1F1ED !important}
.lp-tag{color:var(--muted) !important;letter-spacing:.18em !important}
.lp-copy h2{font-size:clamp(28px,3.4vw,42px) !important;letter-spacing:-.03em}
.lp-copy .u{color:var(--ink) !important}
.lp-num{font-family:var(--f-disp);font-size:13px;color:var(--muted);letter-spacing:.08em;margin-bottom:18px;display:block}
.lp-retired{display:inline-block;font-size:12.5px;font-weight:600;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:8px 14px}
.lp-item{padding-top:70px;border-top:1px solid var(--line)}
.lp-item:first-child{border-top:0;padding-top:0}
.lp-shot .bar i{background:#D4D4CC !important}

/* Hero word rise */
.sx-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.sx-w>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.sx-ready .sx-w>span{transform:none}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .reveal,.sx-st,.tile{opacity:1 !important;transform:none !important;filter:none !important}
  .sx .sec-head h2,.sx .lp-hero h1{clip-path:none !important;transform:none !important}
  .sx-w>span{transform:none !important}
}
