:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--text-primary:#f5f5f5;--text-secondary:#a0a0a0;--accent:#ff4d00;--accent-hover:#ff6b2c;--serif:"Instrument Serif", Georgia, serif;--sans:"Syne", sans-serif;--hero-bg-opacity:.3;--hero-bg-rotation:0deg;--hero-bg-position-x:50%;--hero-bg-position-y:50%;--hero-bg-scale:1}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}.skip-to-main{background:var(--accent);color:var(--bg-primary);z-index:1001;padding:.5rem 1rem;text-decoration:none;position:absolute;top:-40px;left:0}.skip-to-main:focus{top:0}body:before{content:"";opacity:.03;pointer-events:none;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}nav{z-index:100;-webkit-backdrop-filter:blur(12px);background:#0a0a0ab3;justify-content:space-between;align-items:center;padding:1.5rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.logo{font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;font-weight:800}.nav-cta{letter-spacing:.2em;text-transform:uppercase;color:var(--text-primary);border:1px solid var(--text-primary);border-radius:6px;padding:.75rem 1.5rem;font-size:.75rem;text-decoration:none;transition:all .3s}.nav-cta:hover,.nav-cta:focus{background:var(--text-primary);color:var(--bg-primary);outline:none}.nav-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{flex-direction:column;justify-content:center;min-height:100vh;padding:8rem 3rem 4rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background-image:url(/images/sgnl-viz.jpg);background-size:cover;background-position:var(--hero-bg-position-x) var(--hero-bg-position-y);width:100%;height:100%;opacity:var(--hero-bg-opacity);transform:rotate(var(--hero-bg-rotation)) scale(var(--hero-bg-scale));transform-origin:50%;z-index:0;pointer-events:none;background-repeat:no-repeat;position:absolute;top:0;left:0}.hero-content{z-index:1;width:100%;max-width:1400px;margin:0 auto;position:relative}.hero-tagline{letter-spacing:.3em;text-transform:uppercase;color:var(--accent);opacity:0;margin-bottom:2rem;font-size:.75rem;animation:.8s forwards fadeInUp}.hero h1{font-family:var(--serif);margin-bottom:3rem;font-size:clamp(3rem,10vw,9rem);font-weight:400;line-height:.95}.hero h1 span{opacity:0;animation:.8s forwards fadeInUp;display:block}.hero h1 span:first-child{animation-delay:.1s}.hero h1 span:nth-child(2){animation-delay:.2s}.hero h1 span:nth-child(3){animation-delay:.3s}.hero h1 em{color:var(--accent);font-style:italic}.hero-description{max-width:550px;color:var(--text-secondary);opacity:0;font-size:1.1rem;line-height:1.8;animation:.8s .4s forwards fadeInUp}.scroll-indicator{letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);opacity:0;z-index:1;align-items:center;gap:1rem;font-size:.7rem;animation:.8s .6s forwards fadeInUp;display:flex;position:absolute;bottom:3rem;left:3rem}.scroll-line{background:var(--text-secondary);width:60px;height:1px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--accent);width:100%;height:100%;animation:2s infinite scrollPulse;position:absolute;top:0;left:0}@keyframes scrollPulse{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}section{max-width:1400px;margin:0 auto;padding:8rem 3rem}.section-label{letter-spacing:.3em;text-transform:uppercase;color:var(--accent);align-items:center;gap:1rem;margin-bottom:3rem;font-size:.7rem;display:flex}.section-label:before{content:"";background:var(--accent);width:40px;height:1px}.what-we-do{background:var(--bg-secondary);max-width:none;padding:8rem 3rem}.what-we-do .inner{max-width:1400px;margin:0 auto}.what-we-do h2{font-family:var(--serif);max-width:900px;margin-bottom:4rem;font-size:clamp(2rem,5vw,4rem);font-weight:400;line-height:1.2}.what-we-do h2 em{color:var(--accent);font-style:italic}.services-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;display:grid}.service-card{border:1px solid #222;border-radius:12px;padding:2.5rem;transition:all .4s;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(135deg, var(--accent) 0%, transparent 60%);opacity:0;width:100%;height:100%;transition:opacity .4s;position:absolute;top:0;left:0}.service-card:hover,.service-card:focus-within{border-color:var(--accent);transform:translateY(-4px)}.service-card:hover:before,.service-card:focus-within:before{opacity:.05}.service-number{font-family:var(--serif);color:var(--accent);opacity:.3;z-index:1;margin-bottom:1.5rem;font-size:3rem;line-height:1;position:relative}.service-card h3{z-index:1;margin-bottom:1rem;font-size:1.25rem;font-weight:600;position:relative}.service-card p{color:var(--text-secondary);z-index:1;font-size:.95rem;line-height:1.7;position:relative}.approach{grid-template-columns:1.4fr 1fr;align-items:center;gap:6rem;display:grid}.approach h2{font-family:var(--serif);margin-bottom:2rem;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1.1}.approach h2 em{color:var(--accent);font-style:italic}.approach-text{color:var(--text-secondary);font-size:1.1rem;line-height:1.9}.approach-visual{height:420px;position:relative}.venn{letter-spacing:.15em;text-transform:uppercase;text-align:center;border-radius:50%;justify-content:center;align-items:center;width:240px;height:240px;font-size:.75rem;font-weight:600;transition:all .4s;display:flex;position:absolute}.venn-strategy{background:#ff4d0008;border:1px solid #333;top:0;left:50%;transform:translate(-50%)}.venn-experience{background:#ff4d0008;border:1px solid #333;bottom:40px;left:5%}.venn-technology{background:#ff4d0008;border:1px solid #333;bottom:40px;right:5%}.venn:hover,.venn:focus{border-color:var(--accent);background:#ff4d0014;outline:none}.venn-center{background:var(--accent);letter-spacing:.1em;text-transform:uppercase;z-index:10;text-align:center;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:.6rem;font-weight:700;animation:3s infinite pulse;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.05)}}.values{background:linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);max-width:none;padding:8rem 3rem}.values .inner{max-width:1400px;margin:0 auto}.values h2{font-family:var(--serif);margin-bottom:4rem;font-size:clamp(2rem,4vw,3rem);font-weight:400}.values h2 em{color:var(--accent);font-style:italic}.values-grid{grid-template-columns:repeat(3,1fr);gap:3rem;display:grid}.value-item{border-top:1px solid #222;padding:2rem 0}.value-item h3{font-family:var(--serif);margin-bottom:1rem;font-size:1.75rem;font-weight:400}.value-item p{color:var(--text-secondary);line-height:1.8}.team{padding-bottom:4rem}.team h2{font-family:var(--serif);margin-bottom:4rem;font-size:clamp(2rem,4vw,3rem);font-weight:400}.team h2 em{color:var(--accent);font-style:italic}.team-intro{color:var(--text-secondary);max-width:700px;margin-bottom:4rem;font-size:1.2rem;line-height:1.8}.founders{grid-template-columns:repeat(2,1fr);gap:3rem;display:grid}.founder{background:var(--bg-secondary);border:1px solid #1a1a1a;border-radius:12px;padding:2.5rem}.founder-name{font-family:var(--serif);margin-bottom:.5rem;font-size:2rem}.founder-name a{color:inherit;align-items:center;gap:.5rem;text-decoration:none;transition:color .3s;display:inline-flex;position:relative}.founder-name a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}.founder-name a:hover{color:var(--accent)}.founder-name a:hover:after{width:calc(100% - 1.5rem)}.founder-name a svg{opacity:.5;flex-shrink:0;width:1rem;height:1rem;transition:all .3s}.founder-name a:hover svg{opacity:1;transform:translate(2px)translateY(-2px)}.founder-title{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;font-size:.75rem}.founder p{color:var(--text-secondary);line-height:1.8}.clients{background:var(--bg-secondary);max-width:none;padding:8rem 3rem 6rem;overflow:hidden}.clients .inner{max-width:1400px;margin:0 auto}.clients h2{font-family:var(--serif);margin-bottom:4rem;font-size:clamp(2rem,4vw,3rem);font-weight:400}.clients h2 em{color:var(--accent);font-style:italic}.clients-carousel{width:100%;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}.clients-track{gap:4rem;width:max-content;animation:40s linear infinite scroll;display:flex}.clients-track:hover{animation-play-state:paused}.client-logo{opacity:.6;filter:grayscale();flex-shrink:0;justify-content:center;align-items:center;min-width:200px;padding:2rem;transition:all .3s;display:flex}.client-logo:hover{opacity:1;filter:grayscale(0%);transform:scale(1.05)}.client-logo img{object-fit:contain;width:auto;max-width:200px;height:auto;max-height:100px}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.cta-section{background:var(--accent);text-align:center;max-width:none;padding:6rem 3rem}.cta-section h2{font-family:var(--serif);color:var(--bg-primary);margin-bottom:1.5rem;font-size:clamp(2rem,5vw,4rem);font-weight:400}.cta-section p{color:var(--bg-primary);opacity:.8;margin-bottom:2.5rem;font-size:1.1rem}.cta-button{background:var(--bg-primary);color:var(--text-primary);letter-spacing:.2em;text-transform:uppercase;border-radius:6px;padding:1rem 3rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.cta-button:hover,.cta-button:focus{background:var(--text-primary);color:var(--bg-primary);outline:none}.cta-button:focus-visible{outline:2px solid var(--bg-primary);outline-offset:4px}footer{border-top:1px solid #1a1a1a;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:4rem 3rem 2rem;display:flex}.footer-logo-container{align-items:center;gap:1rem;display:flex}.footer-logo{font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;font-size:.8rem;font-weight:800}.footer-copy{color:var(--text-secondary);font-size:.75rem}.footer-linkedin{color:var(--text-secondary);align-items:center;transition:all .3s;display:inline-flex}.footer-linkedin svg{width:1.25rem;height:1.25rem}.footer-linkedin:hover{color:var(--accent);transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.services-grid{grid-template-columns:1fr}.approach{grid-template-columns:1fr;gap:4rem}.approach-visual{display:none}.values-grid,.founders{grid-template-columns:1fr}.clients{padding:5rem 2rem}.clients-track{gap:3rem}.client-logo{min-width:180px}}@media (width<=768px){nav{padding:1rem 1.5rem}.logo{font-size:.75rem}.nav-cta{padding:.5rem 1rem;font-size:.65rem}.hero{padding:6rem 1.5rem 3rem}section,.what-we-do,.values,.cta-section,.clients{padding:5rem 1.5rem}.clients h2{margin-bottom:3rem}.clients-track{gap:2rem}.client-logo{min-width:150px;padding:1rem}.client-logo img{max-width:150px;max-height:75px}.scroll-indicator{bottom:2rem;left:1.5rem}footer{text-align:center;flex-direction:column;gap:1.5rem;padding:3rem 1.5rem 2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.nav-link{letter-spacing:.2em;text-transform:uppercase;color:var(--text-primary);font-size:.75rem;text-decoration:none;transition:color .3s}.nav-link:hover{color:var(--accent)}a.logo{color:inherit;text-decoration:none}.cs-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin:3rem 0;display:grid}.cs-stat{border-top:1px solid #222;flex-direction:column;gap:.5rem;padding-top:1.5rem;display:flex}.cs-stat-value{font-family:var(--serif);color:var(--text-primary);font-size:3rem;line-height:1}.cs-stat-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);font-size:.75rem}.cs-quote{border-left:2px solid var(--accent);background:var(--bg-secondary);border-radius:0 12px 12px 0;margin:3rem 0;padding:2rem 2.5rem}.cs-quote p{font-family:var(--serif);font-size:1.5rem;font-style:italic;line-height:1.5}.cs-quote-author{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:1rem;font-size:.75rem;font-style:normal;display:block}.cs-quote--lead{text-align:center;background:0 0;border-left:0;border-radius:0;margin:4.5rem 0;padding:1rem 0;position:relative}.cs-quote--lead:before{content:"“";font-family:var(--serif);color:var(--accent);opacity:.5;margin-bottom:1.25rem;font-size:5rem;line-height:.5;display:block}.cs-quote--lead p{font-size:clamp(1.75rem,4vw,2.75rem);font-style:italic;line-height:1.25}.cs-quote--lead .cs-quote-author{margin-top:1.5rem}.cs-figure{margin:3.5rem 0}.cs-figure--narrow{max-width:360px;margin-left:auto;margin-right:auto}.cs-figure-img{object-fit:cover;border:1px solid #1a1a1a;border-radius:12px;width:100%;display:block}.cs-figure-ph{text-align:center;background:radial-gradient(110% 130% at 100% 0%, #ff4d001a, transparent 55%), linear-gradient(180deg, var(--bg-secondary) 0%, #0c0c0c 100%);border:1px dashed #ff4d0066;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;width:100%;padding:2rem 1.75rem;display:flex;position:relative;overflow:hidden}.cs-figure-ph:before,.cs-figure-ph:after{content:"";border:1px solid #ff4d008c;width:18px;height:18px;position:absolute}.cs-figure-ph:before{border-bottom:0;border-right:0;top:14px;left:14px}.cs-figure-ph:after{border-top:0;border-left:0;bottom:14px;right:14px}.cs-figure-kicker{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-size:.62rem}.cs-figure-desc{font-family:var(--serif);color:var(--text-primary);max-width:46ch;font-size:clamp(1.05rem,2.4vw,1.4rem);line-height:1.4}.cs-figure-cap{letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:.75rem;margin-top:1rem;font-size:.7rem;display:flex}.cs-figure-cap:before{content:"";background:var(--accent);flex:none;width:24px;height:1px}.cs-checklist{gap:.9rem;margin:2rem 0;padding:0;list-style:none;display:grid}.cs-checklist li{color:var(--text-primary);padding-left:2rem;line-height:1.5;position:relative}.cs-checklist li:before{content:"";border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);width:11px;height:6px;position:absolute;top:.45em;left:0;transform:rotate(-45deg)}.case-study.cs-wide{max-width:1240px;padding-left:2rem;padding-right:2rem}.cs-wide .section-label,.cs-wide .cs-title,.cs-wide .cs-summary{max-width:760px}.cs-wide .cs-body{grid-template-columns:[wide-start]minmax(0,1fr)[text-start]min(760px,100%)[text-end]minmax(0,1fr)[wide-end];display:grid}.cs-wide .cs-body>*{grid-column:text}.cs-wide .cs-body>.cs-figure,.cs-wide .cs-body>.cs-stats,.cs-wide .cs-body>.cs-quote--lead{grid-column:wide}@media (width<=768px){.case-study.cs-wide{padding-left:1.25rem;padding-right:1.25rem}}.case-study{max-width:760px;margin:0 auto;padding:10rem 1.5rem 4rem}.cs-header{margin-bottom:3rem}.cs-title{font-family:var(--serif);margin:1rem 0 1.5rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.05}.cs-summary{color:var(--text-secondary);font-size:1.25rem;line-height:1.7}.cs-hero{aspect-ratio:16/9;object-fit:cover;border:1px solid #1a1a1a;border-radius:12px;width:100%;margin-top:2.5rem}.cs-body{color:var(--text-primary);font-size:1.1rem;line-height:1.9}.cs-body h2{font-family:var(--serif);margin:3rem 0 1rem;font-size:2rem;font-weight:400}.cs-body h3{margin:2rem 0 .75rem;font-size:1.3rem}.cs-body p{color:var(--text-secondary);margin-bottom:1.5rem}.cs-body ul,.cs-body ol{color:var(--text-secondary);margin:0 0 1.5rem 1.5rem}.cs-body li{margin-bottom:1.25rem}.cs-body li>strong:first-child{color:var(--text-primary);margin-bottom:.35rem;font-weight:600;display:block}.cs-body a{color:var(--accent)}.cs-body img{border-radius:8px;max-width:100%;height:auto;margin:2rem 0}.cs-back{max-width:760px;margin:4rem auto 0;padding:0 1.5rem}.cs-back a{color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;text-decoration:none}.cs-listing{max-width:1400px;margin:0 auto;padding:10rem 3rem 6rem}.cs-listing-title{font-family:var(--serif);margin-bottom:4rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400}.cs-listing-title em{color:var(--accent);font-style:italic}.cs-grid{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.cs-card{color:inherit;border:1px solid #222;border-radius:12px;text-decoration:none;transition:all .4s;display:block;overflow:hidden}.cs-card:hover{border-color:var(--accent);transform:translateY(-4px)}.cs-card-img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.cs-card-body{padding:2rem}.cs-card-meta{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.7rem}.cs-card-title{font-family:var(--serif);margin-bottom:1rem;font-size:1.75rem;font-weight:400}.cs-card-summary{color:var(--text-secondary);line-height:1.7}.cs-card-tags{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;padding:0;list-style:none;display:flex}.cs-card-tags li{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);border:1px solid #222;border-radius:999px;padding:.35rem .75rem;font-size:.65rem}@media (width<=1024px){.cs-grid{grid-template-columns:1fr}.cs-listing{padding:8rem 1.5rem 4rem}}.case-studies-home{background:var(--bg-secondary);max-width:none;padding:8rem 3rem}.case-studies-home .inner{max-width:1400px;margin:0 auto}.case-studies-home h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:400}.case-studies-home h2 em{color:var(--accent);font-style:italic}.cs-home-head{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:4rem;display:flex}.cs-home-viewall{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;font-size:.8rem;text-decoration:none}.cs-home-viewall:hover{text-decoration:underline}@media (width<=768px){.case-studies-home{padding:5rem 1.5rem}.cs-home-head{flex-direction:column;align-items:flex-start;gap:1rem}}.cs-back a:hover{color:var(--accent)}
