

/* Narrow or shallow desktop windows need the same collision-proof process layout
   without changing the rest of the desktop navigation. */
@media (min-width:721px) and (max-width:1100px), (min-width:721px) and (max-height:720px) {
  html .process .process-scroll { height:auto; padding:6px 0 28px; }
  html .process .process-sticky {
    position:relative; inset:auto; height:auto; min-height:0; overflow:visible;
    margin:0 clamp(10px,2vw,24px); padding:44px clamp(24px,4vw,48px) 32px;
    border:1px solid var(--accent); border-radius:0; background:#f1f0ec;
    color:#090909; transform:none; will-change:auto;
  }
  html .process .process-sticky::before,html .process .process-sticky::after {
    content:""; position:absolute; width:26px; height:26px; border-color:var(--accent); pointer-events:none;
  }
  html .process .process-sticky::before { top:-2px; left:-2px; border-top:4px solid var(--accent); border-left:4px solid var(--accent); }
  html .process .process-sticky::after { right:-2px; bottom:-2px; border-right:4px solid var(--accent); border-bottom:4px solid var(--accent); }
  html .process .process-canvas {
    display:flex; flex-direction:column; align-items:stretch; gap:38px; position:relative;
    inset:auto; width:100%; height:auto; margin:0; padding:0 0 18px; overflow:visible;
    transform:none; opacity:1; transition:none; will-change:auto;
  }
  .mobile-process-map { display:block; position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:0; }
  .constellation-guide { fill:none; stroke:#b8b5ae; stroke-width:1; }
  .constellation-connection { fill:none; stroke:var(--accent); stroke-width:1.5; stroke-dasharray:1; stroke-dashoffset:1; }
  .constellation-connection[data-connected] { stroke-dashoffset:0; }
  html .process .process-node,html .process .process-node:last-child {
    position:relative; inset:auto; display:block; flex:none; width:min(76%,680px); max-width:none;
    min-width:0; min-height:0; height:auto; margin:0 auto 0 0; padding:0; border:0;
    border-radius:0; color:#090909; background:transparent; box-shadow:none; text-align:left;
    transform:none; opacity:1; transition:none; will-change:auto; z-index:1;
  }
  html .process .process-node:nth-of-type(even) { margin:0 0 0 auto; text-align:right; }
  html .process .process-node::before { display:none; }
  html .process .process-node .process-dot {
    display:block; position:relative; inset:auto; width:44px; height:44px; margin:0 0 12px;
    border:1px solid #090909; border-radius:50%; background:#f1f0ec; box-shadow:none; transform:none; z-index:1;
  }
  html .process .process-node:nth-of-type(even) .process-dot { margin-left:auto; }
  html .process .process-node small {
    position:absolute; top:16px; left:0; width:44px; display:block; margin:0; z-index:2;
    color:#090909; font:700 11px/1 "Space Mono",monospace; text-align:center;
  }
  html .process .process-node:nth-of-type(even) small { left:auto; right:0; }
  html .process .process-node h3 { position:relative; margin:0; padding:4px 0 5px; color:inherit; background:#f1f0ec; font-size:clamp(1.45rem,3.5vw,2rem); line-height:1.06; letter-spacing:-.05em; }
  html .process .process-node p { position:relative; margin:0; padding:4px 0 8px; color:#41413e; background:#f1f0ec; font-size:1rem; line-height:1.45; }
  html .process .process-node[data-constellation-seen] .process-dot { background:var(--accent); border-color:var(--accent); }
  html .process .process-full-picture { display:grid; position:static; inset:auto; gap:14px; width:auto; height:auto; margin:22px -2px 0; padding:24px 22px; border:0; background:#090909; opacity:1; transform:none; transition:none; }
  html .process .process-full-picture > span { display:block; position:static; width:max-content; max-width:100%; margin:0; padding:0; color:var(--accent); background:none; font:700 9px/1.4 "Space Mono",monospace; }
  html .process .process-full-picture > strong { position:static; width:auto; max-width:none; margin:0; padding:0; color:#f3f3f0; background:none; font-size:clamp(1.45rem,3.6vw,2.2rem); line-height:1.12; text-align:left; }
  html .process .process-full-picture > small { position:static; width:auto; max-width:none; margin:0; padding:0; color:#aaa; background:none; font-size:.78rem; line-height:1.5; }
  html .process .process-links,html .process .process-meter { display:none; }
}
@media (max-width:720px) and (prefers-reduced-motion:no-preference), (hover:none) and (pointer:coarse) and (prefers-reduced-motion:no-preference) {
  .constellation-connection { transition:stroke-dashoffset .65s cubic-bezier(.22,.61,.36,1); }
  .process-node .process-dot { transition:background .3s,border-color .3s; }
  .editorial-motion .motion-ready:is([data-motion-kind="title"],[data-motion-kind="piece"],[data-motion-kind="row"]) { transition:opacity .35s ease,transform .52s cubic-bezier(.22,.61,.36,1); }
  .editorial-motion .motion-ready:not([data-motion-seen]):is([data-motion-kind="title"],[data-motion-kind="piece"]) { transform:translate3d(0,26px,0); }
  .editorial-motion .motion-ready:not([data-motion-seen])[data-motion-kind="row"] { transform:translate3d(-24px,0,0); }
  .editorial-motion #stories-title.motion-ready > span > i { transition:opacity .35s ease,transform .65s cubic-bezier(.22,.61,.36,1); }
  .editorial-motion #stories-title.motion-ready > span:nth-child(2) > i { transition-delay:70ms; }
  .editorial-motion #stories-title.motion-ready > span:nth-child(3) > i { transition-delay:140ms; }
  .editorial-motion #stories-title.motion-ready:not([data-motion-seen]) > span > i { transform:translate3d(0,.55em,0); }
  .editorial-motion #stories-title em::after { transition-duration:.65s; transition-delay:.15s; }
  .editorial-motion #stories-title > span:nth-child(3) em::after { transition-delay:.29s; }
}
@media (prefers-reduced-motion:reduce) {
  .constellation-connection { transition:none; }
}

/* Editorial service pages and the homepage's secondary service link. */
.service-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:28px}
.service-detail .service-actions .audit-cta{margin-top:0}
.service-detail .service-explore{display:inline-flex;align-items:center;gap:24px;padding:12px 18px;border:1px solid rgba(255,255,255,.65);color:#fff;background:transparent;font:500 12px/1.3 "Space Mono",monospace;letter-spacing:.03em;text-decoration:none;width:auto;min-height:44px;transition:background .2s,color .2s}
.service-detail .service-explore .arrow-icon{width:14px;height:14px}
.service-detail .service-explore:hover{background:#fff;color:#111}
.service-detail .service-explore:focus-visible{outline:2px solid #fff;outline-offset:4px}
.service-page{--paper:var(--white);--ink:var(--black);--signal:var(--accent);--muted:#626262;--rule:var(--line);margin:0;background:var(--paper);color:var(--ink);min-height:100vh;overflow:clip}
.service-page a{color:inherit;text-decoration:none}
.service-page a:focus-visible,.service-page summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.service-page p{line-height:1.65}
.service-page h1,.service-page h2,.service-page h3,.service-page p{margin-top:0}
.service-page h1,.service-page h2,.service-poster>strong,.service-process-number{font-family:"Archivo Black","Archivo",Arial,sans-serif;font-weight:400}
.service-page h2{font-size:clamp(32px,3.65vw,58px);line-height:1.03;letter-spacing:-.05em;text-wrap:balance;font-weight:400;margin-bottom:30px}
.service-page h3{font-size:23px;line-height:1.2;letter-spacing:-.03em;margin-bottom:18px}
.service-page section{padding:90px clamp(28px,4.5vw,80px);scroll-margin-top:75px}
.service-breadcrumb{display:flex;align-items:center;gap:15px;padding:25px 4.5vw;font:11px/1.5 "Space Mono",monospace;border-bottom:1px solid var(--rule)}
.service-breadcrumb a:hover{text-decoration:underline}
.service-breadcrumb-city{margin-left:auto;color:var(--muted);font-size:10px}
.service-page-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.75fr);gap:4vw;padding:64px 4.5vw 74px;background:var(--ink);color:var(--paper);align-items:center}
.service-page-kicker,.service-eyebrow{font:11px/1.5 "Space Mono",monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:30px}
.service-page-kicker{color:var(--signal)}
.service-page h1{font-size:clamp(42px,5.05vw,82px);line-height:.99;letter-spacing:-.055em;text-wrap:balance;font-weight:400;margin-bottom:30px}
.service-page-lead{font-size:clamp(21px,2vw,28px);line-height:1.3!important;letter-spacing:-.02em;margin-bottom:16px}
.service-hero-summary{max-width:600px;font-size:15px;color:var(--grey);margin-bottom:32px}
.service-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.service-page .service-audit-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:var(--signal);color:var(--ink);font-family:"Archivo Black","Archivo",Arial,sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.01em;min-height:54px;border:1px solid var(--signal);line-height:1.25;transition:background .2s,color .2s}
.service-page .service-audit-button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.service-page .service-audit-button svg{width:22px;height:22px;flex-shrink:0}
.service-page .service-page-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid currentColor;padding:10px 0;font-size:12px;font-weight:650;line-height:1.4}
.service-page-link svg{height:16px;width:16px}
.service-poster{position:relative;aspect-ratio:3/4;max-height:520px;background:var(--signal);color:var(--ink);overflow:hidden;align-self:center;min-width:0;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:20px}
.service-poster-top{display:flex;justify-content:space-between;font:10px/1.4 "Space Mono",monospace;position:relative;z-index:1}
.service-poster>svg{position:absolute;inset:9% -10% auto;width:120%;height:80%;opacity:.5}
.service-poster>strong{position:absolute;left:12px;bottom:70px;font-size:clamp(110px,17vw,240px);letter-spacing:-.09em;line-height:.8;font-weight:400;color:var(--ink)}
.service-poster-bottom{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--ink);padding-top:15px;position:relative;z-index:1;font:9px/1.4 "Space Mono",monospace}
.service-poster-bottom span{border:1px solid var(--ink);padding:5px 6px}
.service-page-index{display:flex;align-items:center;gap:30px;padding:20px 4.5vw;border-bottom:1px solid var(--rule);background:var(--paper);font:10px/1.4 "Space Mono",monospace;text-transform:uppercase;overflow-x:auto;scrollbar-width:thin}
.service-page-index a{white-space:nowrap;padding:5px 0}
.service-page-index a:last-child{margin-left:auto}
.service-page-index a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:5px}
.service-section-heading{max-width:780px}
.service-eyebrow{color:var(--muted);margin-bottom:24px}
.service-page-editorial,.service-page-budget,.service-page-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:7vw;border-bottom:1px solid var(--rule)}
.service-reading{max-width:760px;font-size:17px}
.service-reading p{margin-bottom:25px}
.service-reading .service-body-lead{font-size:21px;letter-spacing:-.025em;line-height:1.5;margin-bottom:30px}
.service-reading h3{padding-top:14px}
.service-page .service-page-includes{background:#e9e9e6}
.service-includes-list{margin-top:44px;border-top:1px solid var(--ink)}
.service-includes-list article{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr) 24px;align-items:start;gap:28px;padding:30px 0;border-bottom:1px solid var(--rule)}
.service-row-number{font:11px/1.4 "Space Mono",monospace;padding-top:5px;color:var(--muted)}
.service-includes-list h3{font-size:clamp(23px,2.4vw,34px);margin:0}
.service-includes-list p{font-size:16px;margin:0}
.service-row-plus{font-size:24px;font-weight:300;line-height:1}
.service-deliverables{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding-top:60px}
.service-deliverables>div>p{max-width:430px;font-size:14px;color:#505050}
.service-deliverables ul{list-style:none;margin:0;padding:0;font-size:15px}
.service-deliverables li{display:flex;gap:20px;padding:13px 0;border-bottom:1px solid var(--rule);line-height:1.4}
.service-deliverables li span{font:10px/1.7 "Space Mono",monospace;color:var(--muted)}
.service-page .service-page-process{background:var(--ink);color:var(--paper)}
.service-page-process .service-eyebrow{color:var(--grey)}
.service-process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw;margin-top:50px}
.service-process-steps article{border-top:1px solid #565656;padding-top:25px}
.service-process-number{display:block;color:var(--signal);font-size:76px;line-height:1;font-weight:400;letter-spacing:-.06em;margin-bottom:35px}
.service-process-steps p{font-size:15px;color:#c3c3c0;margin-bottom:0}
.service-process-steps h3{font-size:25px}
.service-page-projects{border-bottom:1px solid var(--rule)}
.service-page-projects .service-section-heading>p:last-child{max-width:630px;font-size:14px;color:var(--muted)}
.service-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:42px}
.service-project-image{position:relative;overflow:hidden;background:#d7d7d4;aspect-ratio:16/10}
.service-project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.service-project-grid a:hover img{transform:scale(1.025)}
.service-project-image>span{position:absolute;bottom:14px;right:14px;background:var(--paper);color:var(--ink);padding:12px;display:flex;gap:20px;align-items:center;font-size:11px}
.service-project-image svg{width:16px;height:16px}
.service-project-grid h3{margin-top:20px;font-size:23px}
.service-page-budget .service-reading{padding-top:40px}
.service-faq-list{border-top:1px solid var(--ink)}
.service-page-faq details{border-bottom:1px solid var(--rule)}
.service-page-faq summary{list-style:none;display:grid;grid-template-columns:24px 1fr 24px;gap:15px;cursor:pointer;padding:25px 0;font-size:18px;font-weight:650;line-height:1.35}
.service-page-faq summary::-webkit-details-marker{display:none}
.service-faq-number{font:10px/1.6 "Space Mono",monospace;color:var(--muted);padding-top:3px}
.service-page-faq summary b{font-size:24px;font-weight:400;text-align:center;transition:transform .2s}
.service-page-faq details[open] summary b{transform:rotate(45deg)}
.service-page-faq details p{padding:0 38px 22px;margin:0;font-size:16px;color:#4b4b4b}
.service-page .service-page-contact{background:var(--signal);color:var(--ink);padding-block:85px}
.service-page-contact .service-eyebrow{color:var(--ink)}
.service-page-contact h2{max-width:950px;font-size:clamp(42px,6.8vw,108px);line-height:.96;letter-spacing:-.06em;margin-bottom:45px}
.service-contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid var(--ink);padding-top:30px}
.service-contact-bottom p{max-width:490px;font-size:18px;margin:0}
.service-page-contact .service-audit-button{background:var(--ink);color:var(--paper);border-color:var(--ink);flex-shrink:0}
.service-contact-email{display:inline-block;font-size:14px;margin-top:32px;border-bottom:1px solid;padding-bottom:5px;overflow-wrap:anywhere}
.service-page-other{display:grid;grid-template-columns:1fr 1.4fr;gap:7vw}
.service-page-other nav{display:flex;flex-direction:column}
.service-page-other nav a{display:grid;grid-template-columns:25px 1fr 18px;gap:14px;padding:17px 0;border-top:1px solid var(--rule);font-size:16px;line-height:1.35;transition:color .2s}
.service-page-other nav a>span{font:10px/1.8 "Space Mono",monospace;color:var(--muted)}
.service-page-other nav svg{width:16px;height:16px}
.service-page-other nav a[aria-current],.service-page-other nav a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:5px}
.service-page-footer{border-top:1px solid var(--rule);padding:30px 4.5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font:10px/1.4 "Space Mono",monospace}
.service-page-footer>a{font:bold 18px/1.2 Arial,sans-serif;letter-spacing:-.06em}
.service-page-footer>div{display:flex;gap:20px}
@media(min-width:1500px){.service-page-hero{gap:6vw}.service-poster{max-width:420px;justify-self:end;width:100%}}
@media(max-width:1100px){.service-page-hero{grid-template-columns:minmax(0,1.5fr) minmax(200px,.7fr);gap:28px}.service-page h1{font-size:clamp(42px,5.5vw,65px)}.service-hero-actions{gap:18px}.service-page-editorial,.service-page-budget,.service-page-faq,.service-page-other{gap:4vw}.service-includes-list article{gap:20px;grid-template-columns:24px 1fr 1fr}.service-row-plus{display:none}.service-contact-bottom{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:800px){.service-page{padding-top:74px}.service-breadcrumb{padding:20px 6vw;gap:12px}.service-breadcrumb-city{display:none}.service-page-hero{grid-template-columns:1fr;padding:42px 6vw 45px;gap:36px}.service-page h1{font-size:clamp(42px,9.8vw,74px);max-width:700px}.service-page-lead{font-size:23px}.service-hero-summary{font-size:15px}.service-poster{aspect-ratio:auto;height:130px;min-height:130px;max-width:none;padding:17px;width:100%}.service-poster>svg{width:200px;height:200px;inset:-28px 30% auto auto}.service-poster>strong{font-size:110px;left:auto;right:18px;bottom:8px}.service-poster-top{justify-content:flex-start;gap:22px}.service-poster-bottom{max-width:65%;border-top:0;padding-top:0}.service-poster-bottom span{font-size:8px}.service-page-index{gap:25px;padding:17px 6vw}.service-page-index a:last-child{margin-left:0}.service-page section{padding:54px 6vw;scroll-margin-top:85px}.service-page h1,.service-page h2,.service-poster>strong,.service-process-number{font-family:"Archivo Black","Archivo",Arial,sans-serif;font-weight:400}
.service-page h2{font-size:clamp(34px,7.5vw,50px);max-width:600px}.service-page-editorial,.service-page-budget,.service-page-faq,.service-page-other{grid-template-columns:1fr;gap:20px}.service-reading{font-size:16px}.service-reading .service-body-lead{font-size:20px}.service-includes-list{margin-top:22px}.service-includes-list article{grid-template-columns:24px 1fr;padding:25px 0;gap:12px 20px}.service-includes-list h3{font-size:25px}.service-includes-list article p{grid-column:2;font-size:15px}.service-deliverables{grid-template-columns:1fr;gap:16px;padding-top:38px}.service-process-steps{gap:22px;margin-top:32px}.service-process-number{font-size:54px;margin-bottom:24px}.service-process-steps h3{font-size:21px}.service-process-steps p{font-size:14px}.service-project-grid{gap:24px;margin-top:25px}.service-page-budget .service-reading{padding-top:0}.service-page-faq summary{font-size:17px;gap:12px}.service-page-faq details p{padding-left:36px;padding-right:20px;font-size:15px}.service-page .service-page-contact{padding-block:54px}.service-page-contact h2{font-size:clamp(44px,10.5vw,78px);margin-bottom:30px}.service-contact-bottom p{font-size:17px}.service-page-footer{padding:27px 6vw;flex-wrap:wrap;gap:25px}.service-page-footer>span{width:100%;color:var(--muted)}}
@media(max-width:520px){.service-page .service-audit-button{font-size:11px;gap:18px;padding:17px 16px}.service-hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.service-process-steps{grid-template-columns:1fr;gap:32px}.service-process-steps article{display:grid;grid-template-columns:65px 1fr;column-gap:18px;padding-top:22px}.service-process-number{grid-row:1/3;margin-bottom:0;font-size:53px}.service-process-steps h3{margin:0 0 14px;font-size:23px}.service-process-steps p{grid-column:2;font-size:15px}.service-project-grid{grid-template-columns:1fr}.service-page-footer>div{gap:14px}.service-page-other nav a{font-size:15px}.service-page-kicker{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.service-page *,.service-detail .service-explore{transition:none!important;scroll-behavior:auto!important}}

/* Visible topical links and platform-specific social media content. */
.home-service-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 0 42px;font:11px/1.6 "Space Mono",monospace}
.home-service-links a{color:var(--white);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--accent)}
.home-service-links a:hover{color:var(--accent)}
.service-social-channels,.service-social-related{border-bottom:1px solid var(--rule)}
.service-social-channels .service-section-heading>p:last-child{font-size:17px;max-width:720px}
.service-channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 6vw;margin-top:45px}
.service-channel-grid article{border-top:1px solid var(--rule);padding-top:24px}
.service-channel-grid .service-row-number{display:block;color:var(--ink);margin-bottom:16px}
.service-channel-grid h3{font-size:clamp(23px,2.3vw,32px)}
.service-channel-grid p{font-size:16px;max-width:640px;margin-bottom:0}
.service-social-related .service-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-social-related h3 a{text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:5px}
.case-service-links{padding:45px clamp(24px,4.5vw,80px);background:var(--white);color:var(--black);display:flex;flex-wrap:wrap;gap:18px 35px;border-top:1px solid var(--line)}
.case-service-links p{width:100%;margin:0 0 8px;font:12px/1.5 "Space Mono",monospace;text-transform:uppercase}
.case-service-links a{color:inherit;font:500 16px/1.5 "Archivo",sans-serif;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
.case-service-links a:focus-visible,.home-service-links a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:800px){.service-channel-grid,.service-social-related .service-channel-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.home-service-links{flex-direction:column;align-items:flex-start;margin-bottom:30px}.case-service-links{flex-direction:column;gap:18px}}

/* Keep link arrows as vector icons on iOS and Android. */
.home-service-links svg,.service-page-index svg,.service-contact-email svg,.service-page-footer svg,.service-social-related svg,.case-service-links svg{width:1em;height:1em;vertical-align:-.15em;flex:none}
