/* Refinement layer over styles.css: same black / iris / saffron palette, with refined type, depth, texture, and motion hooks. */
:root{
  --font:var(--font-geist),"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --void:#050506;
  --ease-premium:cubic-bezier(.32,.72,0,1);
  --signal-green:#2fbf8f;
}
html,body{background:var(--void)}
body{font-family:var(--font)}
body::after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* type */
h1,h2,h3{font-weight:400}
.display-heading{letter-spacing:-.045em;line-height:.98}
.hero-copy h1{letter-spacing:-.055em;line-height:.86}
.hero-copy h1 .line{display:block;overflow:hidden;padding:.08em 0 .16em;margin:-.08em 0 -.16em}
.hero-copy h1 .line > span{display:block}
.lead-copy,.manifesto-copy p,.hero-intro > p{font-weight:300}
.section{padding-block:clamp(110px,12vw,180px)}
.section-kicker{display:flex;align-items:center;gap:0}
.section-kicker p{display:flex;align-items:center;gap:16px}
.section-kicker p::before{content:"";width:28px;height:1px;background:var(--saffron)}

/* floating glass header */
.site-header,.inner-page .site-header{position:fixed;top:14px;left:0;right:0;margin-inline:auto;width:min(1240px,100% - 32px);min-height:66px;padding:0 9px 0 22px;isolation:isolate}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:999px;background:rgba(10,10,13,.6);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.06),0 22px 44px -26px rgba(0,0,0,.9)}

/* buttons: the arrow lives in its own circle */
.button{gap:22px;min-height:58px;padding:8px 8px 8px 26px;border-radius:999px;box-shadow:0 14px 34px -14px rgba(128,82,255,.6),inset 0 1px 0 rgba(255,255,255,.2);transition:background-color .4s var(--ease-premium),box-shadow .5s var(--ease-premium),transform .5s var(--ease-premium)}
.button > span[aria-hidden="true"]{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.16);letter-spacing:0;transition:transform .6s var(--ease-premium),background-color .4s var(--ease-premium)}
.button:hover{box-shadow:0 20px 44px -14px rgba(128,82,255,.75),inset 0 1px 0 rgba(255,255,255,.24)}
.button:hover > span[aria-hidden="true"]{transform:translate(2px,-2px) scale(1.06);background:rgba(255,255,255,.24)}
.button:active{transform:scale(.97)}
.button--small{min-height:50px;gap:16px;padding:6px 6px 6px 20px}
.button--small > span[aria-hidden="true"]{width:38px;height:38px}
.form-submit{padding-left:26px}
.text-link{transition:color .4s var(--ease-premium),text-decoration-color .4s var(--ease-premium)}

/* hero */
.hero-glow{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(38% 48% at 72% 42%,rgba(128,82,255,.16),transparent 70%),radial-gradient(26% 30% at 88% 78%,rgba(255,184,41,.08),transparent 70%)}
.signal-stack{position:absolute;right:0;bottom:168px;z-index:3;display:grid;gap:10px;width:min(340px,30vw);margin:0;padding:0;list-style:none}
.signal-stack li{--tone:var(--iris);display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:3px 12px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(13,13,17,.88);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),inset 0 1px 0 rgba(255,255,255,.06),0 26px 50px -30px rgba(0,0,0,.95)}
.signal-stack li[data-tone="saffron"]{--tone:var(--saffron)}
.signal-stack li[data-tone="green"]{--tone:var(--signal-green)}
.signal-stack li::before{content:"";grid-row:1 / 3;width:8px;height:8px;border-radius:50%;background:var(--tone);box-shadow:0 0 14px var(--tone)}
.signal-stack b{font-size:13.5px;font-weight:500;color:var(--white)}
.signal-stack span{grid-column:2;font-size:12px;color:var(--ash);line-height:1.4}
.signal-stack time{grid-column:3;grid-row:1 / 3;font-size:11px;font-weight:500;color:var(--ash);font-variant-numeric:tabular-nums}
.hero-metrics dd{font-variant-numeric:tabular-nums}

/* large-type marquee */
.signal-band{padding-block:clamp(26px,3vw,40px)}
.signal-band-track{gap:clamp(28px,3vw,48px);animation-duration:46s}
.signal-band-track span{font-size:clamp(28px,3.6vw,52px);font-weight:300;letter-spacing:-.035em;text-transform:none;color:var(--white)}
.signal-band-track span:nth-of-type(2n){color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.45)}
.signal-band-track i{width:10px;height:10px}

/* stacking capability cards */
.stack-cards{display:grid;gap:28px;margin-top:clamp(40px,6vw,80px)}
.stack-card{position:sticky;top:calc(116px + var(--i) * 26px);padding:6px;border-radius:40px;background:rgba(255,255,255,.025);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.stack-card-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,80px);align-items:center;min-height:clamp(380px,44vw,500px);padding:clamp(28px,4.4vw,64px);border-radius:34px;background:radial-gradient(120% 140% at 100% 0%,rgba(128,82,255,.18),transparent 55%),linear-gradient(180deg,#111116,#09090c);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.07),0 -24px 60px -34px rgba(0,0,0,.95);transform-origin:50% 0;will-change:transform}
.stack-card:nth-child(2) .stack-card-in{background:radial-gradient(120% 140% at 100% 0%,rgba(255,184,41,.12),transparent 55%),linear-gradient(180deg,#121214,#09090c)}
.stack-card:nth-child(3) .stack-card-in{background:radial-gradient(120% 140% at 100% 0%,rgba(47,191,143,.14),transparent 55%),linear-gradient(180deg,#101213,#09090c)}
.stack-copy h3{margin-block:18px 22px;font-size:clamp(32px,3.4vw,54px);line-height:1;letter-spacing:-.045em}
.stack-copy > p:not(.eyebrow){max-width:46ch;color:var(--silver);font-size:17px;font-weight:300;line-height:1.6}
.stack-visual{position:relative;min-height:250px}
.stack-visual.capture-visual{display:flex;flex-direction:column;justify-content:center}
.stack-visual.sequence-visual{display:flex;align-items:center}
.sequence-visual b{white-space:nowrap}
.pipe-visual{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:center}
.pipe-col{display:grid;gap:8px;align-content:start;min-height:210px;padding:12px;border-radius:18px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.pipe-col p{display:flex;justify-content:space-between;margin-bottom:4px;color:var(--ash);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.pipe-col em{font-style:normal;color:var(--white)}
.pipe-chip{display:block;padding:10px;border-radius:11px;background:#17171d;color:var(--silver);font-size:12px;line-height:1.3;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.pipe-col:last-child .pipe-chip{background:rgba(47,191,143,.14);color:#c4f1df;box-shadow:inset 0 0 0 1px rgba(47,191,143,.35)}

/* selected work */
.work-heading .pill-img{display:inline-block;width:clamp(64px,8vw,132px);height:clamp(34px,4.2vw,66px);margin:0 .14em;border-radius:999px;background-size:cover;background-position:center top;vertical-align:middle;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);transform-origin:center}
.work-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:18px;aspect-ratio:16 / 8.8}
.work-item{display:block;position:relative;padding:6px;border-radius:30px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);color:inherit;text-decoration:none}
.work-item--0{grid-row:1 / 3}
.work-item figure{position:relative;height:100%;margin:0;overflow:hidden;border-radius:24px;background:#0b0b0e}
.work-item img{object-fit:cover;object-position:top center;transition:transform 1.4s var(--ease-premium)}
.work-item--0 img{object-position:left top}
.work-item:hover img{transform:scale(1.045)}
.work-item figcaption{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(8,8,10,.86);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.work-item figcaption b{font-size:14px;font-weight:500;color:var(--white)}
.work-item figcaption span{color:var(--ash);font-size:12px}
.work-item figcaption i{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--iris);color:var(--white);font-style:normal;font-size:13px;transition:transform .6s var(--ease-premium)}
.work-item:hover figcaption i{transform:translate(2px,-2px) scale(1.06)}
.work-item:focus-visible{outline:2px solid var(--saffron);outline-offset:4px}

/* industries, process, contact */
.industry-list li{transition:padding .6s var(--ease-premium),background-color .6s var(--ease-premium)}
.industry-list li:hover{padding-left:16px;background:linear-gradient(90deg,rgba(128,82,255,.09),transparent 65%)}
.process-progress{height:2px;overflow:hidden;background:var(--line)}
.process-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--iris),var(--saffron));transform-origin:0 50%}
.process-list{border-top:0}
.form-shell{position:relative;z-index:3;padding:8px;border-radius:36px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.form-shell .inquiry-form{padding:clamp(24px,3.4vw,44px);border-radius:29px;background:linear-gradient(180deg,#101014,#09090c);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 44px 90px -44px rgba(128,82,255,.4)}

@media (max-width:1024px){
  .signal-stack{width:min(320px,40vw)}
}
@media (max-width:900px){
  .stack-card{position:relative;top:auto}
  .stack-card-in{grid-template-columns:1fr;min-height:0}
  .work-grid{grid-template-columns:1fr;grid-template-rows:none;aspect-ratio:auto}
  .work-item{aspect-ratio:16 / 11}
  .work-item--0{grid-row:auto}
}
@media (max-width:720px){
  .site-header,.inner-page .site-header{top:10px;width:calc(100% - 20px);min-height:62px;padding:0 7px 0 16px}
  .signal-canvas{display:none}
  .hero-glow{background:radial-gradient(70% 40% at 80% 18%,rgba(128,82,255,.22),transparent 70%),radial-gradient(50% 30% at 10% 70%,rgba(255,184,41,.08),transparent 70%)}
  .signal-stack{position:relative;right:auto;bottom:auto;width:100%;margin:30px 0 8px}
  .hero-copy h1{line-height:.9}
  .pipe-visual{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .pipe-col{min-height:0;padding:8px}
  .pipe-chip{padding:8px;font-size:11px}
  .work-item figcaption span{display:none}
  .button{min-height:54px}
}
@media (prefers-reduced-motion:reduce){
  .stack-card-in{will-change:auto}
  .work-item img,.button,.button > span[aria-hidden="true"]{transition:none}
}

/* case study without an approved screenshot yet */
.work-type{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:clamp(24px,4vw,48px);background:radial-gradient(80% 90% at 85% 10%,rgba(128,82,255,.3),transparent 60%),radial-gradient(60% 60% at 10% 90%,rgba(255,184,41,.12),transparent 60%),#0b0b0e}
.work-type span{color:var(--saffron);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.work-type strong{max-width:14ch;color:var(--white);font-size:clamp(28px,3vw,46px);font-weight:400;line-height:1;letter-spacing:-.045em}

/* main's responsive.css reserves room for the particle B; on phones the B is replaced by the signal stack */
@media (max-width:1024px){
  .signal-stack{position:relative;right:auto;bottom:auto;width:min(420px,100%);margin:32px 0 8px}
}
@media (max-width:720px){
  .hero,.hero-content{min-height:100svh}
  .hero-intro{margin-top:26px}
}

/* Tara's phone line */
.contact-copy .contact-email{display:flex;width:fit-content}
.contact-copy .contact-phone{margin-top:14px;color:var(--white);text-decoration-color:rgba(255,255,255,.4)}
.hero-voice-note a{color:var(--white);text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:4px}
