:root {
  --ink: #0a0a09;
  --panel: #111110;
  --soft: #191917;
  --line: rgba(255,255,255,.12);
  --paper: #eeeae0;
  --muted: #9a9890;
  --orange: #ff6a00;
  --amber: #ffb000;
  --yellow: #ffd84a;
  --mono: "DM Mono", monospace;
  --sans: "Manrope", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--sans); overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: var(--orange); color: #fff; }

.noise { position: fixed; inset: 0; z-index: 20; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.cursor-glow { position: fixed; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(255,106,0,.11), transparent 65%); pointer-events: none; z-index: 0; transform: translate(-50%,-50%); transition: opacity .3s; }

.site-header { position: fixed; top: 0; left: 0; right: 0; height: 86px; padding: 0 4vw; display: flex; align-items: center; justify-content: space-between; z-index: 30; border-bottom: 1px solid transparent; transition: .3s; }
.site-header.scrolled { height: 70px; background: rgba(10,10,9,.82); backdrop-filter: blur(18px); border-color: var(--line); }
.brand { display: flex; align-items: center; gap: 12px; font-family: var(--mono); font-size: 12px; letter-spacing: .04em; font-weight: 500; }
.brand-mark { width: 25px; height: 25px; border: 1px solid var(--orange); border-radius: 50%; display: grid; place-items: center; }
.brand-mark span { width: 8px; height: 8px; background: var(--orange); border-radius: 50%; box-shadow: 0 0 12px var(--orange); }
.desktop-nav { display: flex; gap: 38px; font-size: 13px; }
.desktop-nav a, .nav-cta { transition: color .25s; }
.desktop-nav a:hover { color: var(--amber); }
.nav-cta { font-family: var(--mono); font-size: 11px; border-bottom: 1px solid var(--orange); padding-bottom: 6px; }
.nav-cta:hover { color: var(--amber); }
.menu-toggle,.mobile-menu { display: none; }

.hero { min-height: 100svh; position: relative; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; padding: 130px 7vw 80px; overflow: hidden; }
.hero-grid { position: absolute; inset: 0; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size: 90px 90px; opacity: .16; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.orb { position: absolute; border-radius: 50%; filter: blur(20px); pointer-events: none; }
.orb-one { width: 45vw; height: 45vw; right: -15vw; top: -18vw; background: radial-gradient(circle,rgba(255,176,0,.14),transparent 65%); }
.orb-two { width: 30vw; height: 30vw; left: -20vw; bottom: -10vw; background: radial-gradient(circle,rgba(255,106,0,.1),transparent 65%); }
.hero-copy { position: relative; z-index: 2; }
.eyebrow,.kicker { font: 500 10px var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.eyebrow { color: #bbb8ae; display: flex; align-items: center; gap: 10px; margin-bottom: 32px; }
.pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 0 rgba(255,106,0,.7); animation: pulse 2s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 8px rgba(255,106,0,0); } 100% { box-shadow: 0 0 0 0 rgba(255,106,0,0); } }
h1 { font-size: clamp(58px,7.4vw,126px); letter-spacing: -.065em; line-height: .82; margin: 0; font-weight: 700; }
h1 em,h2 em { color: var(--orange); font-style: italic; font-weight: 500; }
h1 span { color: #73716a; }
.hero-sub { color: #aaa79e; font-size: 15px; line-height: 1.7; max-width: 550px; margin: 36px 0; }
.hero-actions { display: flex; gap: 30px; align-items: center; }
.button { min-height: 52px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: space-between; gap: 40px; font-size: 12px; font-weight: 700; transition: transform .25s,background .25s; }
.button:hover { transform: translateY(-3px); }
.button-primary { background: linear-gradient(120deg,var(--orange),var(--amber)); color: #100b05; box-shadow: 0 12px 45px rgba(255,106,0,.2); }
.text-link { font: 500 11px var(--mono); color: #c7c3ba; display: flex; gap: 16px; }
.text-link span { color: var(--orange); }
.hero-visual { position: relative; aspect-ratio: 1; max-width: 630px; width: 100%; margin-left: auto; display: grid; place-items: center; z-index: 2; }
.signal-ring { position: absolute; border: 1px solid rgba(255,176,0,.3); border-radius: 50%; }
.ring-one { inset: 7%; animation: spin 30s linear infinite; border-style: dashed; }
.ring-two { inset: 20%; border-color: rgba(255,106,0,.5); box-shadow: inset 0 0 70px rgba(255,106,0,.04); }
.ring-three { inset: 32%; border-color: rgba(255,255,255,.18); }
.ring-one::before,.ring-two::after { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--amber); box-shadow:0 0 20px var(--orange); }
.ring-one::before { left: 10%; top: 17%; }.ring-two::after { right: 3%; top: 37%; }
@keyframes spin { to { transform: rotate(360deg); } }
.visual-core { position: relative; width: 29%; aspect-ratio: 1; border-radius: 50%; display: flex; flex-direction: column; align-items:center; justify-content:center; background: radial-gradient(circle at 35% 25%,#3a2915,#111 70%); box-shadow: 0 0 80px rgba(255,106,0,.3); border: 1px solid rgba(255,176,0,.45); }
.core-label { font: 400 8px/1.3 var(--mono); color: #a9a293; letter-spacing: .12em; }
.visual-core strong { font-size: clamp(22px,3vw,44px); letter-spacing: -.06em; }
.float-card { position:absolute; background:rgba(18,18,17,.75); border:1px solid var(--line); backdrop-filter:blur(12px); padding:10px 15px; font:500 10px var(--mono); letter-spacing:.08em; color:#bbb8af; }
.float-card span { color:var(--orange); margin-right:12px; }.card-a{top:13%;left:5%}.card-b{right:1%;top:45%}.card-c{left:8%;bottom:14%}
.hero-footer { position: absolute; bottom: 28px; left: 7vw; right: 7vw; display: flex; align-items:center; gap: 18px; font: 400 8px var(--mono); letter-spacing:.14em; color:#66645e; text-transform:uppercase; }
.scroll-line { height:1px; flex:1; background:#292825; overflow:hidden; }.scroll-line i { display:block; width:20%; height:100%; background:var(--orange); animation:scrollLine 3s ease-in-out infinite; }
@keyframes scrollLine { from{transform:translateX(-100%)} to{transform:translateX(500%)} }

.marquee { overflow: hidden; border-block: 1px solid var(--line); background: var(--orange); color:#100b06; padding: 17px 0; transform: rotate(-1.2deg) scale(1.02); }
.marquee-track { width:max-content; display:flex; gap:35px; align-items:center; animation:marquee 22s linear infinite; font-size:13px; font-weight:800; letter-spacing:.12em; }
.marquee-track b { font-size:20px; }.marquee-track span { white-space:nowrap; }
@keyframes marquee { to { transform:translateX(-50%); } }

.section { padding: 150px 6vw; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:75px; }
.kicker { color:var(--orange); padding-top:12px; }
h2 { font-size:clamp(44px,5.7vw,88px); letter-spacing:-.055em; line-height:.98; margin:0; }
.service-list { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.service-card { min-height:510px; padding:28px; background:var(--panel); border:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; transition:transform .35s,border-color .35s,background .35s; position:relative; overflow:hidden; }
.service-card:hover { transform:translateY(-10px); border-color:rgba(255,176,0,.45); background:#151513; }
.service-card.featured { background:linear-gradient(145deg,#22170d,#121110 70%); border-color:rgba(255,106,0,.5); }
.featured-label { position:absolute; right:-43px; top:31px; background:var(--orange); color:#15100b; padding:6px 40px; transform:rotate(45deg); font:700 8px var(--mono); letter-spacing:.1em; }
.service-top { display:flex; justify-content:space-between; align-items:start; }
.service-no { font:400 10px var(--mono); color:#77746c; }
.service-icon { width:46px;height:46px;border:1px solid #403d37;border-radius:50%;display:grid;place-items:center;color:var(--amber);font-size:18px; }
.service-card h3 { font-size:32px; letter-spacing:-.04em; margin:0 0 14px; }
.service-card p { color:var(--muted); font-size:13px; line-height:1.7; max-width:330px; }
.service-card ul { list-style:none; padding:20px 0; margin:0; border-top:1px solid var(--line); }
.service-card li { font:400 10px var(--mono); color:#a3a097; padding:6px 0; }
.service-card li::before { content:"+"; color:var(--orange); margin-right:12px; }
.service-card > a { display:flex; justify-content:space-between; font:500 11px var(--mono); text-transform:uppercase; letter-spacing:.08em; padding-top:18px; border-top:1px solid var(--line); }
.service-card > a span { color:var(--orange); }

.manifesto { background:var(--paper);color:#111;display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding:140px 7vw; }
.manifesto-sticky { display:flex;flex-direction:column;justify-content:space-between;min-height:600px; }
.big-asterisk { font-size:80px;color:var(--orange);line-height:1; }
.manifesto-copy > p { font-size:clamp(32px,4.4vw,68px);line-height:1.08;letter-spacing:-.05em;margin:0 0 65px;color:#aaa69c; }
.manifesto-copy p:nth-child(2) { color:#171714; }
.manifesto-copy em { color:var(--orange);font-style:italic; }
.stats { border-top:1px solid #c9c5ba;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:35px; }
.stats div { display:flex;flex-direction:column;gap:10px; }
.stats strong { font-size:38px;letter-spacing:-.05em; }.stats span { font:400 9px/1.6 var(--mono);text-transform:uppercase;color:#6e6b64; }

.process { background:#0d0d0c; }
.process-grid { display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line); }
.process-step { padding:35px 28px 50px;border-right:1px solid var(--line);min-height:310px;position:relative; }
.process-step:last-child { border:0; }.process-step span { font:400 9px var(--mono);color:var(--orange); }
.process-step h3 { margin:100px 0 12px;font-size:24px; }.process-step p { color:var(--muted);font-size:12px;line-height:1.7;max-width:220px; }
.process-step::after { content:"";position:absolute;top:-4px;left:25px;width:7px;height:7px;background:var(--orange);border-radius:50%;box-shadow:0 0 12px var(--orange); }

.contact { min-height:86vh;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 6vw 35px;overflow:hidden;background:#0b0b0a; }
.contact::before { content:"";position:absolute;width:70vw;height:70vw;border:1px solid rgba(255,106,0,.12);border-radius:50%; }
.contact::after { content:"";position:absolute;width:46vw;height:46vw;border:1px solid rgba(255,176,0,.15);border-radius:50%; }
.contact-glow { position:absolute;width:40vw;height:40vw;background:radial-gradient(circle,rgba(255,106,0,.19),transparent 65%); }
.contact-inner { position:relative;z-index:2; }
.contact h2 { font-size:clamp(60px,9vw,140px);line-height:.85;margin:28px 0; }
.contact-inner > p:not(.kicker) { color:var(--muted);font-size:13px;margin:0 auto 32px;max-width:500px; }
.button-light { background:var(--paper);color:#15130f;min-width:min(380px,90vw); }
.contact-meta { position:absolute;bottom:30px;left:6vw;right:6vw;display:flex;justify-content:space-between;font:400 8px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#66645e;z-index:2; }
footer { min-height:100px;border-top:1px solid var(--line);padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#77746d; }
footer p,footer a:not(.brand) { font:400 9px var(--mono);text-transform:uppercase;letter-spacing:.08em; }

.reveal { opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms); }
.reveal.visible { opacity:1;transform:none; }

@media (max-width: 900px) {
  .desktop-nav,.nav-cta { display:none; }.menu-toggle { display:flex;width:38px;height:38px;background:none;border:0;flex-direction:column;justify-content:center;gap:6px;padding:8px;z-index:2; }
  .menu-toggle span { height:1px;background:var(--paper);width:100%;transition:.25s; }.menu-toggle.active span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-menu { position:fixed;inset:0;background:#0d0d0c;display:flex;flex-direction:column;justify-content:center;gap:25px;padding:10vw;opacity:0;visibility:hidden;transition:.3s; }
  .mobile-menu.open { opacity:1;visibility:visible; }.mobile-menu a{font-size:clamp(34px,10vw,60px);font-weight:700;letter-spacing:-.05em}.mobile-menu a:last-child{color:var(--orange)}
  .hero { grid-template-columns:1fr;padding:120px 6vw 70px; }.hero-copy{padding-top:3vh}.hero-visual{position:absolute;width:70vw;right:-28vw;top:18%;opacity:.45}.hero-sub{max-width:440px}.hero-footer{left:6vw;right:6vw}
  .section-heading { display:block; }.kicker{margin-bottom:25px}.service-list{grid-template-columns:1fr}.service-card{min-height:420px}.manifesto{grid-template-columns:1fr}.manifesto-sticky{min-height:auto;flex-direction:row}.big-asterisk{font-size:45px}.process-grid{grid-template-columns:1fr 1fr}.process-step:nth-child(2){border-right:0}.process-step{border-bottom:1px solid var(--line)}
}
@media (max-width: 600px) {
  .site-header { height:70px;padding:0 20px}.hero{padding:110px 20px 65px;min-height:900px;align-items:start}.hero-copy{padding-top:45px}h1{font-size:clamp(54px,17vw,78px)}.hero-sub{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-visual{width:96vw;right:-38vw;top:43%}.float-card{display:none}.hero-footer span:last-child{display:none}
  .section{padding:100px 20px}.section-heading{margin-bottom:45px}h2{font-size:45px}.service-card{padding:22px}.manifesto{padding:100px 20px}.manifesto-copy>p{font-size:34px;margin-bottom:45px}.stats{grid-template-columns:1fr}.stats div{padding:12px 0;border-bottom:1px solid #d0cbc0;flex-direction:row;justify-content:space-between;align-items:center}.stats span{text-align:right}.process-grid{grid-template-columns:1fr}.process-step{border-right:0;min-height:230px}.process-step h3{margin-top:70px}.contact{min-height:780px;padding-inline:20px}.contact h2{font-size:64px}.contact::before{width:140vw;height:140vw}.contact::after{width:100vw;height:100vw}.contact-meta{left:20px;right:20px}.contact-meta span:first-child{display:none}footer{padding:30px 20px;gap:30px;align-items:flex-start;flex-direction:column}footer p{margin:0}
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}
