:root{
  --gf-bg:#0a0a0a;--gf-surface:#171717;--gf-text:#fafafa;
  --gf-primary:#792a43;--gf-accent:#ae6847;
  --gf-display:"Arial Narrow", "Segoe UI", sans-serif;--gf-body:"Segoe UI", system-ui, sans-serif;
  --gf-space-1:.5rem;--gf-space-2:1rem;--gf-space-3:1.75rem;--gf-space-4:3rem;
  --gf-fs-display:clamp(2.15rem,4.2vw,3.5rem);--gf-fs-h2:clamp(1.35rem,2.5vw,1.9rem);--gf-fs-body:1.0625rem;
}
*{box-sizing:border-box}
body.gf-PORTFOLIO_RAIL{margin:0;font-family:var(--gf-body);background:var(--gf-bg);color:var(--gf-text);line-height:1.55;font-size:var(--gf-fs-body)}
body.gf-PORTFOLIO_RAIL h1,body.gf-PORTFOLIO_RAIL h2,body.gf-PORTFOLIO_RAIL h3{font-family:var(--gf-display);line-height:1.15;margin:0 0 .5rem;letter-spacing:-.02em}
body.gf-PORTFOLIO_RAIL h1{font-size:var(--gf-fs-display)}
body.gf-PORTFOLIO_RAIL h2{font-size:var(--gf-fs-h2)}
body.gf-PORTFOLIO_RAIL p{max-width:38rem}
body.gf-PORTFOLIO_RAIL a{text-decoration-thickness:1px}
body.gf-PORTFOLIO_RAIL .gf-btn,.gf-cta{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.85rem 1.35rem;background:var(--gf-primary);color:#fff;text-decoration:none;border:0;cursor:pointer;border-radius:999px;font-weight:650}
body.gf-PORTFOLIO_RAIL .gf-btn-ghost{background:transparent;color:var(--gf-text);border:1px solid currentColor}
body.gf-PORTFOLIO_RAIL .preview-banner{font-size:.75rem;padding:.4rem 1rem;background:rgba(15,23,42,.06);border-bottom:1px solid rgba(15,23,42,.08)}
body.gf-PORTFOLIO_RAIL .gf-logo{max-height:2.75rem;width:auto}
body.gf-PORTFOLIO_RAIL .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;opacity:.72}

.gf-nav{padding:1rem 4vw;display:flex;justify-content:space-between;border-bottom:1px solid #262626}
.gf-rail-wrap{overflow-x:auto;scroll-snap-type:x mandatory;padding:2rem 0}
.gf-rail{display:flex;gap:1rem;padding:0 4vw;width:max-content}
.gf-frame{scroll-snap-align:start;width:min(72vw,420px);min-height:280px;border:1px solid #404040;display:flex;flex-direction:column;justify-content:flex-end;gap:.35rem;padding:1.25rem;color:#fafafa}
.gf-frame.f1{background:linear-gradient(145deg,#171717,color-mix(in srgb,var(--gf-accent) 35%,#262626))}
.gf-frame.f2{background:linear-gradient(160deg,#1f1f1f,#404040)}
.gf-frame.f3{background:linear-gradient(145deg,color-mix(in srgb,var(--gf-accent) 25%,#111),#262626)}
.gf-frame.f4{background:linear-gradient(160deg,#262626,#525252)}
.gf-frame-kicker{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.gf-frame strong{font-size:1.35rem}
.gf-frame p{margin:0;opacity:.85;font-size:.9rem;max-width:20rem}
.gf-intro{padding:2rem 4vw;max-width:40rem}
.gf-intro h1{font-size:clamp(2.2rem,5vw,3.5rem)}
.gf-chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 4vw 2rem}
.gf-chip{border:1px solid #404040;padding:.4rem .8rem;border-radius:999px;font-size:.9rem}
.gf-book{margin:1rem 4vw 3rem;padding:2rem;background:#171717;border:1px solid #404040;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.gf-book .gf-btn{background:var(--gf-accent);color:#0a0a0a}
@media(max-width:700px){.gf-book{flex-direction:column;align-items:flex-start}}
