:root {
  --ink: #06111c;
  --ink-2: #0a1c2c;
  --paper: #f4f7f8;
  --muted: #9daab4;
  --cyan: #4fd6ff;
  --blue: #4d55ff;
  --line: rgba(255,255,255,.14);
  --max: 1320px;
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; color: var(--paper); background: var(--ink); font-family: Arial, Helvetica, sans-serif; overflow-x: hidden; }
body.modal-open { overflow: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.noise { position: fixed; inset: 0; pointer-events: none; z-index: 50; 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='.95' numOctaves='4' 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(79,214,255,.12), transparent 66%); transform: translate(-50%,-50%); pointer-events: none; z-index: 0; opacity: 0; transition: opacity .3s; }
.scroll-progress { position: fixed; top: 0; left: 0; width: 100%; height: 3px; z-index: 100; background: rgba(255,255,255,.04); }
.scroll-progress span { display:block; height:100%; width:0; background: linear-gradient(90deg,var(--blue),var(--cyan)); }

.site-header { position: fixed; z-index: 40; top: 0; left: 0; width: 100%; height: 90px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 max(24px, calc((100vw - var(--max))/2)); transition: background .35s, height .35s, border .35s; }
.site-header.scrolled { height: 72px; background: rgba(6,17,28,.84); backdrop-filter: blur(20px); border-bottom: 1px solid var(--line); }
.brand { justify-self: start; display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 900; letter-spacing: -.02em; }
.brand img { width: 45px; height: 31px; object-fit: contain; object-position: center; filter: saturate(1.2); }
.desktop-nav { display: flex; align-items: center; gap: 34px; padding: 11px 18px; border: 1px solid transparent; border-radius: 999px; transition: background .3s,border .3s; }
.scrolled .desktop-nav { background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.08); }
.desktop-nav a { position: relative; font-size: 14px; color: #b8c2ca; transition: color .2s; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:var(--cyan); transition:right .25s; }
.desktop-nav a:hover,.desktop-nav a.active { color:#fff; }
.desktop-nav a.active::after { right:0; }
.header-cta { justify-self: end; border: 0; padding: 11px 0; background: transparent; color: #fff; cursor: pointer; font-size: 14px; border-bottom: 1px solid var(--cyan); }
.header-cta span { color:var(--cyan); margin-left:8px; }
.menu-toggle,.mobile-menu { display:none; }

.hero { min-height: 100svh; position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(440px,1fr); align-items: center; gap: clamp(22px,3vw,48px); padding: 140px max(24px, calc((100vw - var(--max))/2)) 80px; overflow: hidden; isolation: isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:-3; background: radial-gradient(circle at 78% 48%, rgba(28,83,124,.52), transparent 30%), radial-gradient(circle at 10% 10%, rgba(77,85,255,.16), transparent 28%), linear-gradient(135deg,#06111c 0%,#071725 60%,#03101c 100%); }
.hero::after { content:""; position:absolute; inset:0; z-index:-2; background: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(to bottom,black,transparent 85%); }
.hero-orbit { position:absolute; border:1px solid rgba(79,214,255,.16); border-radius:50%; z-index:-1; }
.orbit-a { width:620px; height:620px; right:-80px; top:80px; animation: drift 9s ease-in-out infinite; }
.orbit-b { width:760px; height:760px; right:-150px; top:10px; border-style:dashed; animation: spin 70s linear infinite; }
.eyebrow,.index { font-size:12px; letter-spacing:.16em; font-weight:700; color:#c5d0d7; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 28px; }
.eyebrow i { width:34px; height:1px; background:var(--cyan); }
.hero-title { margin:0; font-size:clamp(56px,6.7vw,105px); line-height:.91; letter-spacing:-.075em; font-weight:800; max-width:850px; }
.hero-title .line { display:block; overflow:hidden; padding-bottom:.08em; }
.hero-title .line > span { display:block; transform:translateY(112%); animation:title-in .85s cubic-bezier(.16,1,.3,1) forwards; }
.hero-title .line:nth-child(2)>span { animation-delay:.1s; }
.hero-title .line:nth-child(3)>span { animation-delay:.2s; }
.hero-title em { color:transparent; -webkit-text-stroke:1.4px var(--cyan); font-style:normal; }
.hero-title strong { color:var(--cyan); font-weight:800; }
.hero-lead { max-width:590px; font-size:clamp(17px,1.5vw,21px); line-height:1.55; color:#b9c4cc; margin:30px 0; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:0 25px; border-radius:999px; border:1px solid rgba(255,255,255,.18); color:#fff; cursor:pointer; transition:transform .25s,background .25s,color .25s,border .25s; }
.button:hover { transform:translateY(-3px); }
.button.primary { border-color:var(--cyan); background:var(--cyan); color:var(--ink); font-weight:800; }
.button.primary:hover { background:#fff; border-color:#fff; }
.button.ghost { background:rgba(255,255,255,.03); backdrop-filter:blur(8px); }
.button.ghost:hover { border-color:var(--cyan); }
.hero-visual { position:relative; width:min(100%,360px); justify-self:end; margin-right:-18px; padding:25px 0; }
.reel-card { position:relative; width:min(320px,calc(100vw - 16px)); height:690px; margin-inline:auto; overflow:hidden; border-radius:38px; border:1px solid rgba(255,255,255,.22); box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 70px rgba(79,214,255,.11); transform-style:preserve-3d; transition:transform .15s ease-out; background:#0b1f30; }
.reel-card::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 7px rgba(0,0,0,.45); border-radius:38px; pointer-events:none; }
.reel-card img,.reel-card video { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(1.12) contrast(1.05) brightness(.72); }
.reel-card video { transform:scale(1.1); transform-origin:center; }
.reel-top { position:absolute; top:23px; left:23px; right:23px; display:flex; justify-content:space-between; font-size:12px; font-weight:700; }
.reel-top::before { content:""; width:20px; height:20px; border-radius:50%; border:1px solid var(--cyan); margin-right:8px; }
.reel-top span:first-child { margin-right:auto; align-self:center; }
.reel-overlay { position:absolute; left:24px; right:24px; bottom:25px; }
.reel-overlay p { font-size:clamp(26px,3vw,42px); line-height:.95; letter-spacing:-.045em; font-weight:800; margin:0 0 18px; max-width:270px; }
.reel-overlay span { font-size:12px; color:var(--cyan); }
.reel-actions { position:absolute; right:18px; bottom:36px; display:grid; gap:14px; font-size:23px; }
.floating-note { position:absolute; z-index:3; background:rgba(7,24,38,.85); border:1px solid rgba(255,255,255,.17); backdrop-filter:blur(12px); border-radius:15px; font-size:11px; letter-spacing:.1em; font-weight:700; box-shadow:0 15px 40px rgba(0,0,0,.25); }
.note-one { left:-24px; top:35%; padding:17px 25px; color:var(--cyan); transform:rotate(-6deg); }
.note-two { right:-5px; bottom:18%; padding:14px 17px; }
.pulse { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 0 rgba(79,214,255,.6); animation:pulse 1.8s infinite; }
.scroll-cue { position:absolute; bottom:30px; left:max(24px,calc((100vw - var(--max))/2)); display:flex; align-items:center; gap:12px; font-size:10px; letter-spacing:.18em; color:#8e9aa4; }
.scroll-cue span { width:34px; height:1px; background:#8e9aa4; position:relative; overflow:hidden; }
.scroll-cue span::after { content:""; position:absolute; inset:0; background:var(--cyan); transform:translateX(-100%); animation:scan 2.4s infinite; }

.trust-strip { overflow:hidden; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#081723; }
.marquee-track { display:flex; gap:40px; align-items:center; width:max-content; animation:marquee 26s linear infinite; }
.marquee-track span { font-size:13px; letter-spacing:.15em; color:#9aa8b1; }
.marquee-track b { color:var(--cyan); font-size:13px; }

.section { padding:clamp(95px,11vw,170px) max(24px,calc((100vw - var(--max))/2)); }
.section-head { display:grid; grid-template-columns:1fr 2fr 1fr; gap:40px; align-items:start; margin-bottom:70px; }
.section-head h2,.about-copy h2,.cta-section h2 { font-size:clamp(43px,5.2vw,78px); line-height:.98; letter-spacing:-.06em; margin:0; }
.section-head h2 em,.about-copy h2 em { font-style:normal; color:var(--cyan); }
.section-head>p:last-child { margin:0; color:#aab5bd; line-height:1.65; font-size:17px; }
.service-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:24px; align-items:start; }
.service-card { min-height:650px; position:relative; overflow:hidden; border-radius:var(--radius); border:1px solid var(--line); background:var(--ink-2); transform-style:preserve-3d; transition:transform .15s ease-out,border-color .3s,box-shadow .3s; cursor:pointer; }
.service-card:hover { border-color:rgba(79,214,255,.48); }
.service-card:focus-visible { outline:2px solid var(--cyan); outline-offset:5px; }
.service-card.active { border-color:rgba(79,214,255,.78); box-shadow:0 0 0 1px rgba(79,214,255,.18),0 30px 90px rgba(0,0,0,.35); }
.service-food { margin-top:95px; }
.service-image { position:absolute; inset:0; }
.service-image::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(4,14,23,.98) 6%,rgba(4,14,23,.38) 62%,rgba(4,14,23,.05)); }
.service-image img,.service-image video { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.16,1,.3,1); filter:saturate(.88); }
.service-card:hover .service-image img,.service-card:hover .service-image video { transform:scale(1.055); }
.service-meta { position:absolute; top:24px; left:24px; right:24px; display:flex; justify-content:space-between; font-size:11px; letter-spacing:.12em; }
.service-meta span:last-child { color:var(--cyan); }
.service-copy { position:absolute; left:32px; right:32px; bottom:34px; max-width:560px; }
.service-copy h3 { font-size:clamp(38px,4vw,62px); letter-spacing:-.05em; margin:0 0 14px; }
.service-copy p { color:#bdc6cc; font-size:16px; line-height:1.55; margin:0; }
.card-arrow { position:absolute; top:62px; right:25px; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; border:1px solid var(--line); font-size:20px; transition:background .3s,color .3s,transform .3s; }
.service-card:hover .card-arrow { background:var(--cyan); color:var(--ink); transform:translateX(4px); }
.service-card.active .card-arrow { background:var(--cyan); color:var(--ink); transform:rotate(90deg); }
.services-showreel { margin-top:115px; padding-top:30px; border-top:1px solid var(--line); }
.service-panel { scroll-margin-top:110px; animation:panel-in .65s cubic-bezier(.16,1,.3,1) both; }
.service-panel[hidden] { display:none; }
@keyframes panel-in { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:none; } }
.showreel-head { display:grid; grid-template-columns:1fr 1.45fr auto; gap:40px; align-items:start; margin-bottom:24px; }
.showreel-head>div,.drag-hint { font-size:11px; letter-spacing:.14em; white-space:nowrap; }
.showreel-head p { max-width:680px; margin:0; color:#aab5bd; font-size:17px; line-height:1.6; }
.drag-hint { color:var(--cyan); font-weight:800; }
.drag-hint b { display:inline-block; margin-left:9px; font-size:17px; transition:transform .3s; }
.services-showreel:hover .drag-hint b { transform:translateX(6px); }
.reel-viewport { overflow-x:auto; overflow-y:hidden; cursor:grab; scroll-snap-type:x proximity; scrollbar-width:none; user-select:none; touch-action:pan-x; mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%); }
.reel-viewport::-webkit-scrollbar { display:none; }
.reel-viewport.dragging { cursor:grabbing; scroll-snap-type:none; }
.reel-track { display:flex; align-items:flex-start; gap:18px; width:max-content; padding:24px 58px 70px 28px; }
.work-reel { position:relative; width:clamp(195px,18vw,260px); aspect-ratio:9/16; margin:0; flex:0 0 auto; overflow:hidden; border-radius:24px; border:1px solid var(--line); background:#0b1f30; scroll-snap-align:center; box-shadow:0 24px 60px rgba(0,0,0,.28); transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .3s; }
.work-reel:nth-child(even) { margin-top:34px; }
.work-reel::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(4,14,23,.92),transparent 38%); pointer-events:none; }
.work-reel video { width:100%; height:100%; object-fit:cover; filter:saturate(.88) contrast(1.04); transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s; }
.work-reel:hover { transform:translateY(-9px); border-color:rgba(79,214,255,.55); }
.work-reel:hover video { transform:scale(1.055); filter:saturate(1.06) contrast(1.04); }
.work-reel figcaption { position:absolute; z-index:2; left:17px; right:17px; bottom:16px; display:flex; justify-content:space-between; align-items:end; gap:12px; }
.work-reel figcaption span { color:var(--cyan); font-size:10px; letter-spacing:.13em; }
.work-reel figcaption strong { font-size:15px; letter-spacing:-.02em; }
.results-banner { margin-top:130px; display:grid; grid-template-columns:1fr 2fr 1fr; align-items:end; padding:55px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.results-banner>div { font-size:11px; letter-spacing:.15em; }
.results-banner h3 { font-size:clamp(45px,7vw,100px); line-height:.83; letter-spacing:-.07em; margin:0; }
.results-banner h3 em { color:transparent; -webkit-text-stroke:1px var(--cyan); font-style:normal; }
.circle-cta { justify-self:end; width:145px; height:145px; border-radius:50%; border:0; background:var(--cyan); color:var(--ink); font-weight:800; cursor:pointer; transition:transform .35s,background .3s; }
.circle-cta span { display:block; margin-top:8px; }
.circle-cta:hover { background:#fff; transform:rotate(-8deg) scale(1.06); }

.about { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,9vw,140px); align-items:center; background:#091927; }
.image-stack { position:relative; min-height:740px; }
.image-main { position:absolute; inset:0 12% 7% 0; width:88%; height:93%; object-fit:cover; border-radius:220px 220px 30px 30px; filter:saturate(.72) contrast(1.06); }
.image-accent { position:absolute; width:38%; aspect-ratio:4/5; right:0; bottom:0; object-fit:cover; border-radius:18px; border:8px solid #091927; }
.spin-badge { position:absolute; width:130px; height:130px; right:-8px; top:45px; border-radius:50%; display:grid; place-items:center; background:var(--cyan); color:var(--ink); }
.spin-badge span { position:absolute; font-size:10px; font-weight:800; letter-spacing:.16em; animation:spin 14s linear infinite; }
.spin-badge b { font-size:28px; }
.about-copy h2 { margin:25px 0 34px; }
.about-copy>p:not(.index) { color:#aeb9c1; font-size:17px; line-height:1.72; }
.founder { margin-top:44px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
.founder strong { display:block; font-size:21px; }
.founder span { display:block; margin-top:7px; font-size:10px; color:var(--cyan); letter-spacing:.13em; }
.founder-more { color:#fff; background:none; border:0; cursor:pointer; }
.founder-more span { display:inline-grid; place-items:center; width:32px; height:32px; margin-left:10px; border:1px solid var(--line); border-radius:50%; transition:transform .3s; }
.founder-more[aria-expanded="true"] span { transform:rotate(45deg); }
.founder-detail { max-height:0; overflow:hidden; opacity:0; transition:max-height .55s ease,opacity .35s,padding .35s; }
.founder-detail.open { max-height:300px; opacity:1; padding-top:20px; }
.founder-detail p { color:#aeb9c1; line-height:1.65; }

.pricing { background:#f0f4f5; color:var(--ink); }
.pricing .index,.pricing-head>p:last-child { color:#53616b; }
.pricing-head h2 em { color:#126c91; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch; }
.price-card { position:relative; padding:28px; min-height:590px; border:1px solid rgba(6,17,28,.18); border-radius:22px; display:flex; flex-direction:column; background:rgba(255,255,255,.48); transition:transform .35s,background .35s,box-shadow .35s; }
.price-card:hover { transform:translateY(-8px); background:#fff; box-shadow:0 30px 60px rgba(6,17,28,.09); }
.price-card.featured { color:#fff; background:var(--ink-2); border-color:var(--ink-2); transform:translateY(-18px); }
.price-card.featured:hover { transform:translateY(-26px); }
.recommended { position:absolute; top:0; right:26px; transform:translateY(-50%); background:var(--cyan); color:var(--ink); padding:9px 13px; border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.08em; }
.price-top { display:flex; justify-content:space-between; font-size:11px; letter-spacing:.13em; font-weight:800; }
.price-top span:first-child { color:#78848b; }
.price { display:flex; align-items:end; gap:8px; margin:58px 0 38px; }
.price strong { font-size:clamp(52px,5vw,76px); letter-spacing:-.07em; line-height:.8; }
.price span { color:#79858d; font-size:13px; }
.price-card ul { list-style:none; margin:0 0 38px; padding:0; }
.price-card li { position:relative; padding:10px 0 10px 20px; border-bottom:1px solid rgba(6,17,28,.09); line-height:1.35; font-size:14px; }
.featured li { border-color:rgba(255,255,255,.1); color:#c8d1d6; }
.price-card li::before { content:"+"; position:absolute; left:0; color:#1581aa; font-weight:800; }
.choose-plan { margin-top:auto; min-height:52px; border-radius:999px; border:1px solid rgba(6,17,28,.2); background:transparent; color:inherit; cursor:pointer; font-weight:800; display:flex; justify-content:space-between; align-items:center; padding:0 20px; transition:background .25s,color .25s,border .25s; }
.choose-plan:hover,.featured .choose-plan { background:var(--cyan); color:var(--ink); border-color:var(--cyan); }

.cta-section { position:relative; min-height:720px; padding:130px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; overflow:hidden; isolation:isolate; }
.cta-section::before { content:""; position:absolute; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle,rgba(77,85,255,.28),rgba(79,214,255,.08) 43%,transparent 67%); filter:blur(10px); z-index:-2; }
.cta-grid { position:absolute; inset:0; z-index:-3; background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:70px 70px; mask-image:radial-gradient(circle,black,transparent 73%); }
.cta-section>p { font-size:13px; letter-spacing:.12em; color:#aab5bc; }
.cta-section h2 { font-size:clamp(70px,10vw,150px); margin:20px 0 45px; }
.cta-section h2 span { color:transparent; -webkit-text-stroke:1.5px var(--cyan); }
.cta-actions { display:flex; flex-direction:column; gap:20px; align-items:center; }
.cta-actions>a { font-size:14px; border-bottom:1px solid #fff; padding-bottom:4px; }

footer { display:grid; grid-template-columns:1fr auto auto; gap:80px; align-items:start; padding:70px max(24px,calc((100vw - var(--max))/2)) 28px; border-top:1px solid var(--line); background:#040d15; }
.footer-brand { display:flex; align-items:center; gap:14px; font-size:22px; font-weight:900; }
.footer-brand img { width:48px; height:48px; object-fit:contain; }
.footer-links,.footer-social { display:grid; gap:13px; font-size:14px; color:#aab5bd; }
.footer-links a:hover,.footer-social a:hover { color:var(--cyan); }
.copyright { grid-column:1/-1; margin:55px 0 0; padding-top:22px; border-top:1px solid var(--line); font-size:11px; letter-spacing:.12em; color:#6f7c86; }

.audit-modal { width:min(680px,calc(100vw - 28px)); max-height:92vh; overflow:auto; padding:45px; border:1px solid rgba(255,255,255,.16); border-radius:28px; color:#fff; background:rgba(7,22,35,.97); box-shadow:0 40px 120px rgba(0,0,0,.65); }
.audit-modal::backdrop { background:rgba(2,8,13,.78); backdrop-filter:blur(12px); }
.modal-close { position:absolute; top:18px; right:20px; width:42px; height:42px; border-radius:50%; border:1px solid var(--line); background:transparent; color:#fff; font-size:26px; cursor:pointer; }
.modal-count { font-size:10px; color:var(--cyan); letter-spacing:.15em; }
.audit-modal h2 { font-size:clamp(42px,7vw,72px); line-height:.9; letter-spacing:-.06em; margin:24px 0; }
.audit-modal h2 em { color:var(--cyan); font-style:normal; }
.audit-modal>p { color:#aab5bd; line-height:1.5; }
.audit-modal form { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:32px; }
.audit-modal label { display:grid; gap:8px; font-size:12px; color:#c1cbd1; }
.audit-modal input,.audit-modal select { width:100%; min-height:52px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.04); color:#fff; padding:0 15px; outline:none; }
.audit-modal select option { color:#111; }
.audit-modal input:focus,.audit-modal select:focus { border-color:var(--cyan); }
.modal-actions { grid-column:1/-1; display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
.modal-actions .button { flex:1; }
.modal-status { min-height:22px; color:var(--cyan); font-size:13px; margin-top:18px; }

.reveal { opacity:0; transform:translateY(35px); transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1); }
.reveal.in-view { opacity:1; transform:translateY(0); }

@keyframes title-in { to { transform:translateY(0); } }
@keyframes marquee { to { transform:translateX(-50%); } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes drift { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(25px) scale(1.04)} }
@keyframes pulse { 70%{box-shadow:0 0 0 9px rgba(79,214,255,0)} 100%{box-shadow:0 0 0 0 rgba(79,214,255,0)} }
@keyframes scan { 50%,100%{transform:translateX(100%)} }

@media (max-width: 980px) {
  .site-header { grid-template-columns:1fr auto; padding:0 22px; }
  .desktop-nav,.header-cta { display:none; }
  .menu-toggle { display:grid; gap:7px; width:45px; height:45px; border:1px solid var(--line); background:transparent; border-radius:50%; padding:14px 11px; cursor:pointer; z-index:2; }
  .menu-toggle span { height:1px; background:#fff; transition:transform .3s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .mobile-menu { display:flex; position:fixed; inset:0; padding:120px 24px 45px; background:rgba(4,13,21,.98); flex-direction:column; justify-content:space-between; opacity:0; visibility:hidden; transform:translateY(-20px); transition:.35s; }
  .mobile-menu.open { opacity:1; visibility:visible; transform:translateY(0); }
  .mobile-menu nav { display:grid; gap:18px; }
  .mobile-menu nav a { font-size:clamp(44px,12vw,72px); font-weight:800; letter-spacing:-.06em; }
  .hero { grid-template-columns:1fr; padding-top:130px; min-height:auto; }
  .hero-copy { padding-top:40px; }
  .hero-visual { justify-self:center; width:min(100vw,360px); margin:30px auto 0; }
  .scroll-cue { display:none; }
  .section-head { grid-template-columns:1fr; gap:22px; }
  .section-head h2 { grid-row:2; }
  .section-head>p:last-child { max-width:620px; }
  .service-card { min-height:560px; }
  .showreel-head { grid-template-columns:1fr 1.7fr; }
  .drag-hint { grid-column:2; }
  .results-banner { grid-template-columns:1fr 2fr; gap:30px; }
  .results-banner .circle-cta { grid-column:2; margin-top:30px; }
  .about { grid-template-columns:1fr; }
  .image-stack { min-height:690px; max-width:650px; }
  .pricing-grid { grid-template-columns:1fr; max-width:680px; margin:auto; }
  .price-card,.price-card.featured,.price-card.featured:hover { transform:none; min-height:auto; }
  footer { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 680px) {
  .brand span { display:none; }
  .brand img { width:55px; }
  .hero { padding-left:18px; padding-right:18px; }
  .hero-title { font-size:clamp(48px,15.5vw,74px); }
  .hero-lead { font-size:17px; }
  .hero-actions .button { width:100%; }
  .hero-visual { display:block; width:100vw; max-width:360px; margin:30px 50% 0; translate:-50% 0; padding:10px 0; }
  .note-one { left:-3px; }
  .note-two { right:0; }
  .section { padding-left:18px; padding-right:18px; }
  .service-grid { grid-template-columns:1fr; }
  .service-food { margin-top:0; }
  .service-card { min-height:530px; }
  .service-copy { left:22px; right:22px; bottom:25px; }
  .services-showreel { margin-top:80px; }
  .showreel-head { grid-template-columns:1fr; gap:18px; }
  .showreel-head p,.drag-hint { grid-column:1; }
  .reel-viewport { width:calc(100% + 18px); mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),transparent 100%); }
  .reel-track { gap:13px; padding:18px 44px 54px 0; }
  .work-reel { width:min(70vw,255px); }
  .work-reel:nth-child(even) { margin-top:22px; }
  .results-banner { grid-template-columns:1fr; margin-top:80px; }
  .results-banner h3 { margin-top:30px; }
  .results-banner .circle-cta { grid-column:1; justify-self:start; width:125px; height:125px; }
  .about { padding-top:85px; }
  .image-stack { min-height:500px; }
  .image-main { inset:0 8% 6% 0; width:92%; border-radius:160px 160px 24px 24px; }
  .image-accent { width:42%; }
  .spin-badge { width:100px; height:100px; }
  .founder { align-items:flex-start; gap:20px; }
  .founder-more { font-size:0; }
  .founder-more span { font-size:14px; }
  .price-card { padding:23px; }
  .price { margin:45px 0 28px; }
  .cta-section { min-height:620px; }
  footer { grid-template-columns:1fr; gap:38px; }
  .footer-brand { grid-column:1; }
  .audit-modal { padding:36px 20px 24px; }
  .audit-modal form { grid-template-columns:1fr; }
  .modal-actions { grid-column:1; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
  .hero-title .line>span { transform:none; }
}
