/* ==========================================================================
   StarTrail — shared stylesheet for static content pages
   (extracted / adapted from the home page's liquid-glass design system)
   Loaded by /what-we-do/, /work/, /technology/, /about/.
   ========================================================================== */

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#000;color:#fff;font-family:'Barlow','Noto Sans SC',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip;line-height:1.6}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:rgba(255,255,255,.2)}
:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:3px;border-radius:4px}

.font-heading{font-family:'Instrument Serif',Georgia,serif}
.font-body{font-family:'Barlow','Noto Sans SC',sans-serif}
.italic{font-style:italic}

/* ---- layout ---- */
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 24px}
section{position:relative}
.rule{border-top:1px solid rgba(255,255,255,.07)}

/* ---- eyebrow / kicker ---- */
.eyebrow{font-family:'Barlow',sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* ---- headings ---- */
h1,h2,h3{font-weight:400;margin:0}
.h-display{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;letter-spacing:-.01em}
.h-section{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.06}
.h-card{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.12}
.lede{font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.55;color:rgba(255,255,255,.82);font-weight:300}
p{color:rgba(255,255,255,.72);font-weight:300}
.muted{color:rgba(255,255,255,.5)}
.accent-em{font-style:italic;color:#fff}

/* ---- liquid glass ---- */
.liquid-glass{background:rgba(255,255,255,.05);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:inset 0 1px 1px rgba(255,255,255,.1);position:relative;overflow:hidden}
.liquid-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,rgba(255,255,255,.15) 20%,rgba(255,255,255,0) 40%,rgba(255,255,255,0) 60%,rgba(255,255,255,.15) 80%,rgba(255,255,255,.45) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.liquid-glass-strong{background:rgba(255,255,255,.06);backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(50px);box-shadow:4px 4px 4px rgba(0,0,0,.05),inset 0 1px 1px rgba(255,255,255,.15);position:relative;overflow:hidden}
.liquid-glass-strong::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,0) 40%,rgba(255,255,255,0) 60%,rgba(255,255,255,.2) 80%,rgba(255,255,255,.5) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

.lift{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.lift:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(0,0,0,.55)}

/* ---- buttons / pills ---- */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:'Barlow',sans-serif;font-size:.9rem;font-weight:500;letter-spacing:.02em;padding:.72rem 1.4rem;border-radius:9999px;transition:transform .3s,background .3s,box-shadow .3s;cursor:pointer}
.btn-solid{background:#fff;color:#000}
.btn-solid:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,255,255,.18)}
.btn-ghost{background:rgba(255,255,255,.05);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.tag{display:inline-block;font-family:'Barlow',sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.16);border-radius:9999px;padding:.28rem .7rem}

/* ---- nav ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,4vw,44px)}
.nav::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.28) 55%,rgba(0,0,0,0) 100%);pointer-events:none}
.nav-brand{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.5rem;color:#fff}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{font-family:'Barlow',sans-serif;font-size:.85rem;font-weight:400;color:rgba(255,255,255,.82);padding:.5rem .85rem;border-radius:9999px;transition:color .25s,background .25s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.08)}
.nav-cta{margin-left:6px}
.nav-burger{display:none;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;padding:.3rem}
@media(max-width:860px){
  .nav-links{display:none}
  .nav-burger{display:block}
  .nav-links.open{display:flex;position:absolute;top:64px;right:16px;left:16px;flex-direction:column;align-items:stretch;gap:2px;padding:14px;border-radius:20px}
  .nav-links.open a{font-size:1rem;padding:.7rem 1rem}
}

/* ---- hero ---- */
.hero{position:relative;min-height:62vh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px 0 64px;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;opacity:.4}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.85) 100%)}
.hero-inner{position:relative;z-index:1}

/* ---- generic grid ---- */
.grid{display:grid;gap:20px}
@media(min-width:760px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}
.card{border-radius:22px;padding:28px}
.card-pad{padding:clamp(22px,3vw,34px)}

/* ---- work poster tiles ---- */
.poster{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:2/3;box-shadow:0 8px 18px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.08);transition:transform .3s ease,box-shadow .3s ease}
.poster img{width:100%;height:100%;object-fit:cover}
.poster:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.62),0 0 26px rgba(255,255,255,.14)}
.ribbon{position:absolute;top:12px;left:12px;z-index:2;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);border-radius:9999px;padding:.3rem .6rem}

/* ---- footer ---- */
.footer{padding:70px 0 44px;border-top:1px solid rgba(255,255,255,.07)}
.footer-grid{display:flex;flex-wrap:wrap;gap:36px;justify-content:space-between}
.footer a{color:rgba(255,255,255,.62);font-size:.9rem;transition:color .25s}
.footer a:hover{color:#fff}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-col-title{font-family:'Barlow',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:14px}

/* ---- film grain ---- */
.st-grain{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:240px 240px;animation:stGrain .9s steps(1,end) infinite}
@keyframes stGrain{0%{background-position:0 0}16%{background-position:-70px 45px}33%{background-position:45px -90px}50%{background-position:-110px -40px}66%{background-position:80px 85px}83%{background-position:-45px 120px}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce),(max-width:768px){.st-grain{animation:none}}

/* ---- reveal on scroll (progressive; content is visible without JS) ---- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* spacing helpers */
.pt-nav{padding-top:96px}
.py-sec{padding-top:clamp(56px,9vw,120px);padding-bottom:clamp(56px,9vw,120px)}
.mt-2{margin-top:8px}.mt-3{margin-top:14px}.mt-4{margin-top:22px}.mt-6{margin-top:34px}.mt-8{margin-top:52px}
.stack>*+*{margin-top:16px}
