/* V2.1 / BOLD ORIGINAL. Poppins + black/lime from v1.
   Light reference: oversized type, technical labels, fine-line motion.
   No third-party artwork, copy, logo or layout is reproduced. */
:root {
  --ink: #0b0b0b;
  --paper: #fff;
  --lime: #c6f22e;
  --rule: #303030;
  --surface: #141414;
  --muted: #a4a4a4;
  --font-display: 'Poppins', Arial, sans-serif;
  --font-tech: 'IBM Plex Mono', monospace;
}
body { background: #0b0b0b; font-family: var(--font-display); }
h1, h2, h3, .wordmark, .outro-link {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.045em;
}
h1 em, h2 em, .outro-link em {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  color: var(--lime);
}
h2 { font-size: clamp(33px, 4.2vw, 60px); line-height: 1.06; }
p { color: #aaa; }
button, input, select, textarea, .btn, .form button[type=submit], .kit-form button,
.kit-form input[type=email], .form input[type=text], .form input[type=url],
.form input[type=email], .form input[type=tel], .form select, .form textarea {
  font-family: var(--font-display);
}
.eyebrow, .hero-kicker, .lab-top, .control-label, .hero-footnote, .hero-bottom,
.service-number, .service-tags, .process-line li>span, .project-meta>span,
.brief-progress, .preview-notice, .lab-caption {
  font-family: var(--font-tech);
}
.eyebrow { font-size: 11px; letter-spacing: .09em; }
.header-inner { height: 78px; }
.wordmark { letter-spacing: .025em; font-size: 16px; }
.site-nav a:not(.btn) { color: #b5b5b5; }
.site-nav a:hover { color: var(--lime); }
.site-nav .btn, .btn { text-transform: uppercase; font-weight: 800; letter-spacing: .035em; }
.site-nav .btn { font-size: 10px; }
.motion-toggle, .nav-toggle, .demo-switches button, .project-open { border-radius: 2px; }
.motion-toggle { color: #ccc; }
.btn-lime { box-shadow: 4px 4px 0 #c6f22e25; }
.btn-lime:hover { box-shadow: 6px 6px 0 #c6f22e35; }
.studio-hero {
  padding-top: 27px;
  background-color: #0b0b0b;
  background-image: linear-gradient(#ffffff04 1px, transparent 1px), linear-gradient(90deg,#ffffff04 1px, transparent 1px);
  background-size: 62px 62px;
}
.hero-kicker { color: #b0b0b0; font-size: 10px; text-transform: uppercase; }
.edition { color: #aaa; font-size: 9px; }
.studio-hero-grid { grid-template-columns: 1.2fr 1fr; gap: 55px; padding: 48px 0 58px; }
.hero-copy { min-width: 0; }
.hero-copy h1 {
  font-size: clamp(44px, 5.15vw, 74px);
  line-height: 1.02;
  letter-spacing: -.06em;
  white-space: normal;
  margin-bottom: 27px;
}
.hero-outline { color: transparent; -webkit-text-stroke: 1px #999; }
.hero-description { color: #fff; font-weight: 600; font-size: 17px; letter-spacing: -.025em; }
.hero-detail { color: #b4b4b4; font-size: 13px; line-height: 1.9; max-width: 450px; }
.hero-actions { gap: 23px; margin-top: 25px; }
.hero-actions .btn { font-size: 11px; padding: 18px 22px; }
.hero-actions .text-link { font-size: 11px; }
.hero-footnote { color: #a2a2a2; font-size: 8px; margin-top: 31px; }
.hero-bottom { font-size: 9px; color: #a8a8a8; }
.hero-coordinate { color: #a8a8a8; }
.demo-lab { padding: 19px; border: 1px solid #343434; background: #111; }
.demo-lab::before, .demo-lab::after { content: '+'; color: var(--lime); position: absolute; font-family: var(--font-tech); font-size: 20px; line-height: 1; background: #0b0b0b; }
.demo-lab::before { left: -7px; top: -12px; }
.demo-lab::after { right: -7px; bottom: -8px; }
.lab-top { color: #b7b7b7; font-size: 8px; padding-bottom: 14px; }
.demo-browser {
  --demo-bg: #161a10;
  --demo-ink: #e8f2d4;
  --demo-accent: #c6f22e;
  border-color: #596737;
  border-radius: 2px;
  transform: none;
  box-shadow: none;
}
.demo-browser:hover { transform: none; }
.demo-browser[data-industry=removals] { --demo-bg:#20150f; --demo-ink:#ffe5cf; --demo-accent:#ff9c59; }
.demo-browser[data-industry=consultancy] { --demo-bg:#151820; --demo-ink:#e8ecff; --demo-accent:#adc1ff; }
.browser-toolbar { background:#191919; color:#b0b0b0; border-color:#393939; font-family:var(--font-tech); }
.browser-dots i { background:#787878; }
.demo-navigation { border-color:#ffffff26; }
.demo-navigation strong { font-family:var(--font-display); font-weight:900; }
.demo-copy h2 { font-size:clamp(22px,2.05vw,30px); letter-spacing:-.045em; font-weight:800; line-height:1.12; }
.demo-copy p { color:var(--demo-ink); }
.demo-cta { font-weight:700; }
.demo-bottom { border-color:#ffffff26; }
.kinetic-art::before {
  content:'';
  position:absolute;
  inset:-12%;
  border:1px solid var(--demo-accent);
  border-radius:50%;
  opacity:.28;
  background:repeating-conic-gradient(from 0deg, transparent 0deg 9.4deg, var(--demo-accent) 9.4deg 10deg);
  mask-image:radial-gradient(circle, transparent 47%, #000 48%, #000 61%, transparent 62%);
  animation:orbit-spin 70s linear infinite;
}
.art-orbit { border-color:var(--demo-accent); opacity:.6; }
.art-core { background:var(--demo-accent); color:#0b0b0b; border-radius:3px; inset:23%; transform:rotate(12deg); }
.art-core span { font-family:Arial,sans-serif; font-size:74px; }
.art-cross { color:var(--demo-accent); }
.lab-caption { color:#aaa; font-size:8px; line-height:1.9; }
.control-label { color:#bbb; font-size:8px; }
.demo-switches button { color:#ccc; border-color:#555; font-family:var(--font-tech); font-size:9px; }
.studio-ticker { padding:17px 0; }
.ticker-track span { font-family:var(--font-display); font-size:22px; text-transform:uppercase; font-weight:900; letter-spacing:-.03em; }
.ticker-track b { font-size:27px; }
.statement { font-size:clamp(36px,4.1vw,59px); }
.large-copy { color:#ccc; font-size:19px; }
.outline-asterisk { -webkit-text-stroke-color:#626262; }
.approach-notes h3 { font-size:18px; font-weight:800; }
.approach-notes p { color:#aaa; }
.paper-section { background:#141414; color:#fff; border-top:1px solid #292929; border-bottom:1px solid #292929; }
.paper-section p { color:#aaa; }
.paper-section .eyebrow, .paper-section h2 em { color:var(--lime); }
.paper-section .text-link:hover { color:var(--lime); }
.project-orange { background:#1b1b1b; }
.project-sage { background:#202020; }
.project-image { border:1px solid #333; }
.project-card:nth-child(2) { padding-top:45px; }
.project-meta { border-color:#383838; }
.project-meta h3 { font-size:19px; letter-spacing:-.04em; }
.project-meta>span { color:#aaa; }
.project-open { color:#0b0b0b; background:var(--lime); font-weight:700; }
.work-note { color:#aaa; }
.service-list h3 { font-size:23px; font-weight:800; }
.service-number, .service-tags { color:#aaa; }
.service-intro>p:not(.eyebrow) { color:#aaa; }
.process-section { background:#141414; }
.process-line li { border-color:#444; }
.process-line li>span { color:var(--lime); }
.process-line h3 { font-size:19px; font-weight:800; }
.process-line p { color:#aaa; }
.brief-section { color:#0b0b0b; }
.brief-section h2 em { color:#0b0b0b; }
.brief-section p, .brief-section .eyebrow { color:#35400f; }
.brief-builder { border-radius:2px; }
.brief-builder h3 { font-size:28px; letter-spacing:-.04em; }
.brief-builder p { color:#bbb; }
.brief-builder .result-price { color:#fff; font-family:var(--font-display); font-weight:900; }
.brief-progress { color:#aaa; }
.brief-option { border-color:#555; }
.brief-result small { color:#aaa; }
.brief-back { color:#ccc; }
.faq-editorial h2 { font-size:clamp(32px,3.4vw,48px); }
.faq summary { font-size:14px; font-weight:600; }
.outro-link { font-size:clamp(42px,7.2vw,100px); letter-spacing:-.055em; line-height:1.04; }
.outro-bottom, .footer-copy, .footer-copy a { color:#aaa; }
.footer-logo { font-family:var(--font-display); font-weight:900; }
.designer-note p, .designer-note .eyebrow { color:#0b0b0b; }
.designer-monogram { font-family:var(--font-display); font-style:normal; font-weight:900; letter-spacing:-.12em; }
.designer-note h2 { font-size:30px; }
.page-head h1 { font-size:clamp(36px,5vw,70px); }
.page-head .lede { color:#bbb; }
.band-mist, .feature-card, .kit-row, .package, .form-card, .lm-visual, .promises li, .course-list li { background:#141414; }
.package.featured { background:#1a1a1a; }
.package .price { font-family:var(--font-display); font-weight:900; }
.package h3 { font-family:var(--font-display); }
.feature-card h3, .kit-row h3 { text-transform:uppercase; font-size:20px; font-weight:800; }
.package .for, .checks li, .kit-row .includes { color:#bbb; }
.preview-notice { color:#aaa; }
/* Keep short screens usable; the demo remains a secondary interaction. */
@media (min-width:1550px) {
  .studio-hero-grid { gap:65px; padding-top:65px; padding-bottom:70px; }
}
@media (max-width:1200px) {
  .studio-hero-grid { gap:35px; grid-template-columns:1.2fr 1fr; }
  .hero-copy h1 { font-size:5.25vw; }
  .hero-actions { gap:18px; }
  .hero-actions .btn { font-size:10px; padding:16px; }
  .hero-description { font-size:15px; }
  .demo-lab { padding:15px; }
  .lab-controls { flex-direction:column; align-items:flex-start; }
  .demo-switches { width:100%; }
  .demo-switches button { flex:1; }
  .service-split { gap:55px; }
  .service-intro h2 { font-size:44px; }
}
@media (max-width:900px) {
  .studio-hero-grid { grid-template-columns:1fr; padding-top:43px; gap:40px; }
  .hero-copy h1 { font-size:clamp(46px,8.2vw,75px); }
  .demo-lab { max-width:650px; }
  .demo-copy h2 { font-size:35px; }
  .demo-copy p { font-size:11px; }
  .art-core span { font-size:92px; }
  .lab-controls { flex-direction:row; align-items:center; }
  .demo-switches { width:auto; }
  .lab-top, .lab-caption, .control-label { font-size:9px; }
  .service-split { gap:35px; }
  .service-intro h2 br:last-child { display:initial; }
  .service-intro { position:static; }
  .service-intro h2 { font-size:49px; }
  .service-split { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .header-inner { height:72px; }
  .wordmark { font-size:14px; }
  .statement { font-size:42px; }
  .hero-kicker { font-size:8px; }
  .hero-description { font-size:17px; }
  .project-card:nth-child(2) { padding-top:30px; }
  .brief-grid h2 { font-size:43px; }
  .page-head h1 { font-size:43px; }
  .outro-link { font-size:8vw; padding-right:50px; }
}
@media (max-width:520px) {
  .hero-copy h1 { font-size:9.3vw; letter-spacing:-.055em; line-height:1.06; }
  .hero-description { font-size:15px; margin-top:20px; line-height:1.6; }
  .hero-detail { font-size:12px; }
  .hero-actions .btn { font-size:11px; padding:17px 19px; }
  .hero-actions .text-link { font-size:11px; }
  .hero-footnote { font-size:7px; letter-spacing:-.04em; }
  .hero-bottom { font-size:7px; }
  .hero-kicker { font-size:7px; gap:7px; }
  .demo-lab { padding:14px; }
  .demo-copy h2 { font-size:23px; line-height:1.1; }
  .demo-copy p { font-size:8px; }
  .demo-scene { grid-template-columns:1.3fr 1fr; min-height:235px; }
  .demo-canvas { padding:16px 12px; }
  .demo-cta { font-size:6px; padding:9px 7px; }
  .demo-navigation strong { font-size:11px; }
  .art-core span { font-size:46px; }
  .art-label { font-size:5px; }
  .lab-controls { flex-direction:column; align-items:flex-start; gap:12px; }
  .demo-switches { width:100%; }
  .demo-switches button { font-size:10px; padding:8px; }
  .lab-top { font-size:6px; letter-spacing:.05em; }
  .lab-caption { font-size:8px; }
  .control-label { font-size:9px; }
  .ticker-track span { font-size:19px; }
  .statement, .editorial-heading h2 { font-size:35px; }
  .large-copy { font-size:17px; }
  .project-card:nth-child(2) { padding-top:0; }
  .project-meta { flex-direction:column; gap:5px; }
  .project-meta>span { text-align:left; max-width:none; font-size:8px; }
  .project-meta h3 { font-size:18px; }
  .project-meta p { max-width:none; }
  .service-intro h2 { font-size:38px; }
  .service-list h3 { font-size:20px; }
  .brief-grid h2 { font-size:37px; }
  .brief-grid h2 br:nth-child(2) { display:initial; }
  .brief-builder h3 { font-size:25px; }
  .brief-progress { font-size:8px; letter-spacing:0; }
  .faq-editorial h2 { font-size:33px; }
  .outro-link { font-size:8.3vw; padding-right:18px; }
  .outro-link>span { font-size:31px; top:8px; }
  .outro-bottom { font-size:9px; }
  .page-head h1 { font-size:34px; }
  .case-copy h2 { font-size:28px; }
}
/* V2.2 / finish pass: navigation, footer, image crops and phone ergonomics. */
html { scroll-padding-top:110px; }
.site-header { padding:12px 24px 0; border:0; background:transparent; top:0; }
.header-inner { max-width:1328px; height:76px; padding:0 22px; border:1px solid #333; border-radius:12px; background:linear-gradient(120deg,#1c1e16 0%,#111 36%,#101010 100%); box-shadow:0 10px 35px #0004; position:relative; }
.wordmark { display:flex; align-items:center; gap:12px; min-height:44px; flex-shrink:0; }
.wordmark .brand-symbol { width:34px; height:34px; display:grid; place-items:center; background:var(--lime); color:#0b0b0b; border-radius:7px; font-size:24px; font-weight:600; }
.brand-lockup { display:grid; gap:5px; }
.wordmark .brand-name { font-size:14px; color:#fff; letter-spacing:.015em; line-height:1.1; }
.wordmark .brand-caption { font-family:var(--font-tech); font-size:7px; font-weight:400; letter-spacing:.08em; color:#aaa; text-transform:uppercase; }
.site-nav { gap:8px; }
.site-nav a:not(.btn) { display:flex; align-items:center; min-height:44px; padding:0 10px; border-radius:5px; font-size:11px; transition:background .2s,color .2s; }
.site-nav a:not(.btn):hover,.site-nav a[aria-current=page]:not(.btn) { background:#ffffff09; color:var(--lime); }
.site-nav .btn { min-height:44px; display:flex; align-items:center; justify-content:center; padding:12px 19px; margin-left:8px; border-radius:6px; box-shadow:none; white-space:nowrap; }
.site-nav .btn span { margin-left:13px; font-size:19px; }
.motion-toggle { width:44px; height:44px; flex-shrink:0; justify-content:center; padding:0; border-radius:6px; background:#ffffff04; }
.motion-label { display:none; }
.nav-toggle { min-width:60px; border-radius:6px; }
.studio-hero { background-image:radial-gradient(ellipse at 85% 26%,#c6f22e13 0,transparent 52%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px); background-size:auto,62px 62px,62px 62px; background-repeat:no-repeat,repeat,repeat; }
.studio-section { scroll-margin-top:108px; }
.demo-lab { border-color:#3e442f; border-radius:10px; padding:20px; background:radial-gradient(ellipse at 100% 0,#c6f22e16,transparent 60%),#111; }
.demo-lab::before,.demo-lab::after { display:none; }
.demo-browser { border-radius:6px; }
.demo-switches button { border-radius:5px; }
.lab-top { font-size:9px; }
.lab-caption { font-size:10px; line-height:1.7; }
.control-label { font-size:10px; }
.hero-footnote,.hero-bottom { font-size:10px; }
.hero-detail { font-size:14px; }
.hero-actions .text-link { font-size:12px; }
.hero-actions .btn { font-size:12px; }
.project-card:nth-child(2) { padding-top:0; }
.project-grid { gap:28px; }
.project-image { aspect-ratio:1.48; padding:0; border:1px solid #3b3b3b; border-radius:10px; background:#1b1b1b; }
.project-image img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:center top; border-radius:0; box-shadow:none; transition:transform .65s var(--ease); }
.project-card:hover .project-image img { transform:scale(1.035); }
.project-image::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 50%,#00000012 70%,#0009 100%); }
.project-image.project-orange { background:linear-gradient(135deg,#ff540022,#0b0b0b); }
.project-image.project-sage { background:linear-gradient(135deg,#c6f22e22,#0b0b0b); }
.project-open { z-index:1; min-height:44px; display:flex; align-items:center; padding:10px 16px; border-radius:6px; right:16px; bottom:16px; font-size:11px; }
.project-meta { padding-top:20px; padding-bottom:20px; gap:16px; }
.project-meta h3 { font-size:20px; }
.project-meta p { font-size:12px; line-height:1.8; }
.project-meta>span { font-size:9px; line-height:1.7; }
.project-case .project-image { aspect-ratio:1.58; }
.project-case .case-copy { gap:35px; }
.work-note { font-size:12px; }
.approach-notes p,.service-list p,.process-line p,.faq details>div p { font-size:14px; line-height:1.85; }
.service-tags,.service-number,.process-line li>span { font-size:10px; }
.service-intro>p:not(.eyebrow),.brief-grid>div>p:not(.eyebrow) { font-size:14px; }
.brief-option { min-height:56px; }
.brief-back { min-height:44px; font-size:12px; }
.brief-builder { border-radius:8px; }
.brief-result small { font-size:11px; }
.brief-result p { font-size:14px; }
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=url],.form select,.form textarea,.kit-form input[type=email] { font-size:16px; min-height:48px; }
.form-card { border-radius:8px; }
.form .field label { font-size:13px; }
.chip span { min-height:44px; display:inline-flex; align-items:center; }
.consent { line-height:1.7; }
.site-footer { padding:0 0 24px; background:radial-gradient(ellipse at 0 10%,#c6f22e10,transparent 45%),#0b0b0b; }
.footer-topline { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:30px 0; border-bottom:1px solid #303030; }
.footer-topline .eyebrow { margin:0; color:#a9a9a9; font-size:10px; }
.footer-project-link { display:flex; align-items:center; gap:24px; min-height:44px; font-size:14px; font-weight:700; color:var(--lime); }
.footer-project-link span { font-size:25px; }
.footer-links { display:grid; grid-template-columns:1.25fr 1fr .9fr 1.1fr; gap:36px; padding:45px 0; margin:0; }
.footer-links .footer-wordmark { display:inline-block; font-size:clamp(17px,1.6vw,22px); font-weight:900; letter-spacing:-.045em; color:#fff; min-height:44px; }
.footer-wordmark span { color:var(--lime); }
.footer-brand p { margin:10px 0 20px; font-size:13px; color:#aaa; line-height:1.9; }
.footer-signature { font-family:var(--font-tech); font-size:9px; line-height:1.8; color:#929292; }
.footer-h { font-family:var(--font-tech); font-size:10px; font-weight:500; letter-spacing:.1em; color:#aaa; margin-bottom:14px; }
.footer-links ul { gap:0; }
.footer-links a:not(.footer-wordmark) { display:flex; align-items:center; min-height:40px; font-size:12px; line-height:1.6; overflow-wrap:anywhere; transition:color .2s; }
.footer-links li { color:#aaa; font-size:12px; }
.footer-inner { padding-top:22px; gap:25px; }
.footer-top { color:#aaa; font-size:11px; min-height:44px; display:flex; align-items:center; }
.footer-top:hover { color:var(--lime); }
.footer-social { gap:8px; }
.footer-social a { width:44px; height:44px; border-radius:7px; }
.footer-copy { font-size:10px; line-height:1.8; margin-left:auto; }
.footer-copy a { display:inline-flex; align-items:center; min-height:44px; padding:0 6px; }
.preview-notice { font-size:10px; line-height:1.8; padding-bottom:18px; }
.split > *, .split-wide > * { min-width:0; }
.designer-monogram { font-size:clamp(110px,14vw,180px); }
@media (max-width:520px) { .designer-note { padding:28px; } .designer-note h2 { font-size:27px; overflow-wrap:anywhere; } }
body.menu-open { overflow:hidden; }
@media (max-width:1200px) {
  .header-inner { gap:16px; padding:0 18px; }
  .site-nav { gap:2px; }
  .site-nav a:not(.btn) { padding:0 8px; font-size:10px; }
  .site-nav .btn { margin-left:5px; padding:12px 14px; }
  .wordmark .brand-name { font-size:13px; }
  .footer-links { grid-template-columns:1.1fr 1fr 1fr; gap:35px; }
  .footer-brand { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; align-items:center; }
  .footer-brand p { margin:0; }
  .footer-signature { display:none; }
}
@media (max-width:960px) {
  .site-header { padding:8px 16px 0; }
  .header-inner { height:68px; gap:12px; }
  .wordmark .brand-name { font-size:14px; }
  .nav-toggle { display:block; order:4; min-height:44px; }
  .motion-toggle { order:3; margin-left:auto; }
  .site-nav { display:none; position:absolute; top:calc(100% + 8px); left:0; right:0; padding:20px; border:1px solid #3a3a3a; border-radius:10px; background:radial-gradient(ellipse at 100% 0,#c6f22e10,transparent 60%),#111; flex-direction:column; align-items:stretch; gap:0; max-height:calc(100dvh - 100px); overflow-y:auto; box-shadow:0 25px 60px #000a; }
  .site-nav.open { display:flex; }
  .site-nav a:not(.btn) { min-height:54px; padding:12px; font-size:17px; font-weight:600; border-bottom:1px solid #292929; border-radius:0; }
  .site-nav .btn { margin:20px 0 0; min-height:52px; font-size:12px; }
  .site-nav .btn span { font-size:22px; }
  .hero-description { max-width:550px; }
  .demo-lab { margin-left:0; margin-right:0; max-width:100%; }
  .hero-bottom { font-size:9px; }
  .footer-copy { margin-left:0; }
}
@media (max-width:760px) {
  .wrap,.container { padding-left:22px; padding-right:22px; }
  .header-inner { padding:0 14px; }
  .brand-caption { display:none!important; }
  .brand-lockup { display:block; }
  .wordmark .brand-symbol { width:30px; height:30px; font-size:21px; }
  .site-nav { padding:14px; }
  .studio-section { padding:70px 0; }
  .hero-footnote { font-size:9px; }
  .hero-kicker { font-size:9px; line-height:1.8; }
  .project-grid { gap:32px; }
  .project-image { aspect-ratio:1.4; }
  .project-meta { flex-direction:column; gap:6px; }
  .project-meta>span { max-width:none; text-align:left; }
  .project-case .project-image { aspect-ratio:1.35; }
  .footer-links { grid-template-columns:1fr 1fr; gap:30px; padding:35px 0; }
  .footer-brand { display:block; grid-column:1/-1; }
  .footer-brand p { margin-top:8px; }
  .footer-links>div:last-child { grid-column:1/-1; padding-top:22px; border-top:1px solid #303030; }
  .footer-links a:not(.footer-wordmark) { min-height:44px; font-size:12px; }
  .footer-inner { display:grid; grid-template-columns:1fr auto; gap:15px; align-items:center; }
  .footer-copy { grid-column:1/-1; border-top:1px solid #252525; padding-top:12px; }
  .footer-topline .eyebrow { max-width:180px; font-size:9px; line-height:1.8; }
  .footer-project-link { font-size:12px; gap:12px; white-space:nowrap; }
  .preview-notice { font-size:9px; }
}
@media (max-width:520px) {
  .site-header { padding:8px 12px 0; }
  .header-inner { height:64px; gap:9px; border-radius:9px; padding:0 12px; }
  .wordmark { gap:8px; }
  .wordmark .brand-name { font-size:11px; letter-spacing:0; }
  .wordmark .brand-symbol { width:26px; height:26px; font-size:19px; border-radius:5px; }
  .nav-toggle { min-width:52px; font-size:10px; padding:8px 9px; }
  .motion-toggle { width:44px; border:0; background:transparent; }
  .studio-hero { padding-top:22px; }
  .studio-hero-grid { padding-top:34px; padding-bottom:35px; gap:32px; }
  .hero-description { font-size:16px; line-height:1.7; }
  .hero-detail { font-size:14px; line-height:1.85; }
  .hero-actions { margin-top:24px; gap:14px; }
  .hero-actions .btn { width:100%; min-height:54px; display:flex; justify-content:space-between; align-items:center; padding:16px 20px; }
  .hero-footnote { font-size:8px; gap:10px; line-height:1.8; flex-wrap:wrap; }
  .hero-bottom { font-size:8px; line-height:1.8; gap:22px; align-items:center; }
  .demo-lab { padding:14px; border-radius:8px; }
  .lab-top { font-size:8px; letter-spacing:0; }
  .lab-caption { font-size:10px; }
  .control-label { font-size:10px; }
  .demo-switches button { font-size:11px; }
  .demo-copy p { font-size:9px; line-height:1.7; }
  .demo-navigation strong { font-size:12px; }
  .demo-copy h2 { font-size:23px; }
  .demo-scene { min-height:235px; }
  .demo-bottom { font-size:7px; }
  .studio-section { padding:60px 0; }
  .eyebrow { font-size:10px; line-height:1.8; }
  .editorial-heading>p { font-size:13px; }
  .project-image { aspect-ratio:1.22; }
  .project-image img { object-position:16% top; }
  .project-open { font-size:11px; right:12px; bottom:12px; padding:9px 13px; }
  .project-meta { padding-top:17px; }
  .project-meta h3 { font-size:20px; }
  .project-meta p { font-size:13px; }
  .project-meta>span { font-size:10px; }
  .work-note { font-size:12px; line-height:1.8; }
  .project-case .project-image { aspect-ratio:1.15; }
  .project-case .case-copy { gap:16px; }
  .service-tags { line-height:1.9; }
  .service-list h3 { line-height:1.3; }
  .brief-builder { padding:25px 20px; }
  .brief-progress { gap:14px; font-size:9px; line-height:1.8; }
  .brief-options { gap:12px; }
  .brief-option { font-size:14px; padding:17px 15px; }
  .brief-builder h3 { font-size:25px; line-height:1.2; }
  .faq summary { min-height:56px; line-height:1.7; padding-right:28px; }
  .outro-bottom { font-size:11px; line-height:1.9; }
  .form-card { padding:25px 20px; }
  .form { gap:30px; }
  .form legend { font-size:12px; letter-spacing:.07em; }
  .consent { font-size:13px; }
  .table-wrap { max-width:100%; }
  th,td { padding:12px; }
  .footer-topline { align-items:flex-start; padding:25px 0; gap:20px; }
  .footer-topline .eyebrow { max-width:160px; font-size:9px; }
  .footer-project-link { gap:8px; font-size:11px; }
  .footer-wordmark { font-size:20px; }
  .footer-brand p { font-size:14px; }
  .footer-links { gap:24px; }
  .footer-h { font-size:10px; margin-bottom:10px; }
  .footer-inner { grid-template-columns:1fr; gap:14px; }
  .footer-social { flex-wrap:wrap; gap:10px; }
  .footer-top { order:2; }
  .footer-copy { order:3; font-size:10px; }
  .footer-top:hover { color:var(--lime); }
}
@media (max-width:360px) {
  .wordmark .brand-symbol { display:none; }
  .wordmark .brand-name { font-size:12px; }
  .header-inner { gap:8px; }
  .demo-copy h2 { font-size:21px; }
  .hero-kicker { font-size:8px; }
  .footer-wordmark { font-size:18px; }
}
.menu-heading,.menu-signoff { display:none; }
.email-contact-card { background:radial-gradient(ellipse at 100% 0,#c6f22e12,transparent 65%),#101010; border:1px solid #3b3b3b; border-radius:10px; padding:38px; min-width:0; }
.email-contact-card h2 { font-size:clamp(30px,3vw,44px); }
.email-contact-card>p:not(.eyebrow) { font-size:14px; line-height:1.9; }
.email-contact-card .btn { margin-top:28px; }
.email-contact-card .email-note { font-size:12px; margin-top:18px; color:#aaa; }
.email-address { margin-top:25px!important; overflow-wrap:anywhere; }
.project-summary { margin-top:25px; padding-top:22px; border-top:1px solid #333; }
.project-summary h3 { font-size:15px; color:var(--lime); }
.project-summary p { font-size:13px; line-height:1.8; }
.footer-social a { width:48px; height:48px; border-radius:10px; background:#111; border-color:#363636; color:#bcbcbc; transition:transform .2s,background .2s,color .2s,border-color .2s; }
.footer-social a:hover { transform:translateY(-3px); color:var(--lime); border-color:#788f28; background:linear-gradient(145deg,#c6f22e18,#111); }
.footer-social svg { width:19px; height:19px; fill:currentColor; }
.footer-social .community-link { width:auto; padding:0 14px; display:flex; align-items:center; gap:12px; }
.community-link>span:first-child { font-size:16px; font-weight:700; letter-spacing:-.055em; color:inherit; }
.community-link>span:last-child { color:var(--lime); font-size:17px; }
@media (max-width:960px) {
  .nav-toggle[aria-expanded=true] { background:var(--lime); color:#0b0b0b; border-color:var(--lime); }
  .site-nav { height:calc(100dvh - 96px); max-height:calc(100dvh - 96px); padding:14px; border-color:#718227; border-radius:8px; background:#0b0b0b; counter-reset:menu-item; gap:0; box-shadow:0 30px 80px #000c; }
  .menu-heading { display:block; padding:23px 21px; margin:-14px -14px 10px; background:linear-gradient(125deg,#d7ff58,#c6f22e 65%,#a9d316); color:#0b0b0b; }
  .menu-heading>span { font-family:var(--font-tech); font-size:8px; letter-spacing:.08em; display:block; margin-bottom:11px; }
  .menu-heading p { color:#0b0b0b; font-family:var(--font-display); font-size:clamp(24px,5vw,30px); font-weight:900; line-height:1.05; letter-spacing:-.055em; text-transform:uppercase; }
  .menu-heading strong { font-weight:900; }
  .site-nav>a:not(.btn) { counter-increment:menu-item; font-family:var(--font-display); font-size:24px; font-weight:800; letter-spacing:-.045em; text-transform:uppercase; min-height:58px; padding:11px 9px; color:#f7f7f7; gap:20px; background:transparent; flex-shrink:0; }
  .site-nav>a:not(.btn)::before { content:'0' counter(menu-item); font-family:var(--font-tech); font-size:10px; color:var(--lime); font-weight:400; letter-spacing:0; }
  .site-nav>a:not(.btn)::after { content:'↗'; margin-left:auto; font-weight:400; color:var(--lime); font-size:24px; }
  .site-nav>a:not(.btn):hover,.site-nav>a[aria-current=page]:not(.btn) { background:#c6f22e0b; color:var(--lime); }
  .site-nav .btn { min-height:54px; margin-top:18px; flex-shrink:0; }
  .menu-signoff { display:block; margin-top:auto; padding:20px 9px 8px; font-family:var(--font-tech); color:#aaa; font-size:9px; line-height:1.9; flex-shrink:0; }
}
@media (max-width:520px) {
  .email-contact-card { padding:27px 22px; }
  .email-contact-card h2 { font-size:29px; }
  .email-contact-card .btn { width:100%; font-size:11px; padding:16px 12px; }
  .email-contact-card .btn span { margin-left:8px; }
  .footer-social { gap:9px; }
  .footer-social a { width:44px; height:44px; }
  .footer-social .community-link { width:auto; padding:0 12px; }
  .site-nav>a:not(.btn) { font-size:23px; min-height:55px; }
  .site-nav { top:calc(100% + 8px); }
}
.studio-mark{width:1em;height:1em;vertical-align:-.12em;display:inline-block;flex-shrink:0}
.art-core>span{width:66%;height:66%;display:grid;place-items:center}
.art-core .studio-mark{width:100%;height:100%;vertical-align:0}
.outline-asterisk{aspect-ratio:1;color:#626262;-webkit-text-stroke:0;font-size:0}
.outline-asterisk .studio-mark{width:100%;height:100%}
.demo-menu{display:flex;align-items:center}
@media(max-width:520px){
 .hero-copy h1{font-size:10.5vw;line-height:1.04;letter-spacing:-.055em}
 .hero-footnote{font-size:10px;line-height:1.8}
 .hero-bottom{font-size:9px}
 .studio-section{padding:50px 0}
 .studio-hero-grid{padding-top:28px;padding-bottom:32px}
 .hero-detail{font-size:15px;line-height:1.8}
 .hero-actions .btn,.email-contact-card .btn{min-height:54px;font-size:12px}
 .email-contact-card{padding:26px 20px}
 .brief-grid,.faq-editorial .split{gap:28px}
 .process-line{gap:24px}
 .site-nav>a:not(.btn){min-height:56px}
}
@media (prefers-reduced-motion:reduce) {
  .kinetic-art::before { animation:none; }
}
/* Consistent breathing room between copy and the next action. */
:root{--copy-action-space:32px}
main :is(p,h1,h2,h3)+:is(.btn,.text-link){margin-block-start:var(--copy-action-space)}
main p+.btn-row{margin-block-start:var(--copy-action-space)}
main .btn+:is(p,small){margin-block-start:18px}
main .btn+small{display:block}
/* A proper closing signature, not another row of small links. */
.site-footer{overflow:clip;background:radial-gradient(ellipse at 80% 0,#c6f22e0d,transparent 58%),#0b0b0b}
.footer-topline{position:relative;isolation:isolate;display:grid;grid-template-columns:1.45fr 1fr;gap:64px;align-items:end;padding:64px 0 48px}
.footer-invitation,.footer-contact-note{min-width:0}
.footer-invitation>.eyebrow{margin:0 0 24px;font-size:10px;letter-spacing:.08em;color:#a7ae96}
.footer-invitation h2{margin:0;font-size:clamp(36px,4.8vw,72px);line-height:1.03;letter-spacing:-.055em}
.footer-project-link{display:block;position:relative;max-width:700px;min-height:44px;font:inherit;color:#f5f5f0;text-transform:uppercase;text-decoration:none}
.footer-project-link .footer-project-copy{display:block;font:inherit}
.footer-project-link em{font:inherit;font-style:normal;color:var(--lime)}
.footer-project-link>svg{position:absolute;right:0;top:3px;width:clamp(48px,5.3vw,78px);height:clamp(48px,5.3vw,78px);color:var(--lime);transition:transform .3s var(--ease)}
.footer-project-link:hover>svg,.footer-project-link:focus-visible>svg{transform:translate(4px,-4px)}
.footer-contact-note{justify-self:end;display:grid;gap:14px;padding-bottom:4px}
.footer-contact-note>.eyebrow{font-size:9px;color:#9ea78b}
.footer-contact-note>a{display:inline-block;min-height:44px;padding:8px 0;font-size:clamp(14px,1.3vw,18px);font-weight:600;letter-spacing:-.03em;line-height:1.7;color:#f5f5f0;overflow-wrap:anywhere;transition:color .2s;text-underline-offset:7px;text-decoration:underline;text-decoration-color:#5a643e}
.footer-contact-note>a:hover{color:var(--lime)}
.footer-contact-note>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#9fa48f;margin:0}
.footer-signal{position:absolute;right:23%;top:12px;width:230px;height:230px;color:var(--lime);opacity:.12;z-index:-1;pointer-events:none;animation:footer-signal-turn 48s linear infinite;transform-origin:center}
@keyframes footer-signal-turn{to{transform:rotate(360deg)}}
.footer-links a:not(.footer-wordmark){transition:color .2s,transform .2s}
.footer-links a:not(.footer-wordmark):hover,.footer-links a:not(.footer-wordmark):focus-visible{transform:translateX(3px);color:var(--lime)}
.footer-h{color:#a9b48d;letter-spacing:.1em}
.footer-social a{border-radius:2px}
.footer-social a:hover{background:#c6f22e;color:#0b0b0b;border-color:#c6f22e;transform:translateY(-3px)}
.footer-top{gap:10px}
.site-footer a:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
@media(max-width:960px){.footer-topline{grid-template-columns:1fr;gap:30px;padding:48px 0 36px}.footer-invitation h2{font-size:clamp(36px,6.8vw,60px)}.footer-project-link{max-width:640px}.footer-contact-note{justify-self:start;gap:10px}.footer-contact-note>p:not(.eyebrow){display:none}.footer-signal{right:0;top:6px;width:260px;height:260px;opacity:.1}}
@media(max-width:520px){:root{--copy-action-space:24px}.footer-topline{padding:38px 0 30px;gap:28px}.footer-invitation>.eyebrow{font-size:9px;max-width:none;margin-bottom:22px}.footer-invitation h2{font-size:8.8vw}.footer-project-link{font-size:inherit;white-space:normal}.footer-project-link>svg{width:44px;height:44px;top:0}.footer-contact-note>a{font-size:16px}.footer-contact-note>.eyebrow{font-size:8px}.footer-links{padding-top:30px}.footer-social a{border-radius:2px}}
@media(prefers-reduced-motion:reduce){.footer-signal{animation:none}.footer-project-link>svg,.footer-links a,.footer-social a{transition:none}}
