/* colors:start: generated from website/colors.json by build_site.py --write. Change colours there, not here.
   The light values are the default and also apply to print. The dark values apply on screen when the visitor's
   system prefers dark (unless they chose light with the header toggle), or when they chose dark. */
:root{
  --color-bg-page:#fff; /* Page background */
  --color-bg-card:#fff; /* Card background */
  --color-bg-overlay:#fff; /* Services menu and skip-link background */
  --color-bg-hover:#eaf3ff; /* Menu item background on hover */
  --color-section-hero:#ffffff; /* Homepage band: top banner and working principles */
  --color-section-services:#f2f7fd; /* Homepage band: services */
  --color-section-channels:#f4f6f9; /* Homepage band: advertising channels */
  --color-section-measurement:#f8f6f1; /* Homepage band: measurement */
  --color-section-about:#eff6f6; /* Homepage band: about */
  --color-journey-active:#075bce; /* Hero journey animation: highlighted stage label */
  --color-journey-active-bg:#e4eeff; /* Hero journey animation: highlighted stage label background */
  --color-journey-glow:rgba(57,150,255,.21); /* Hero journey animation: glow around the active example */
  --color-journey-screen:#fafdff; /* Hero journey animation: example screens */
  --color-journey-screen-tint:#eaf3ff; /* Hero journey animation: pale panels on example screens */
  --color-journey-screen-line:#dbe6f4; /* Hero journey animation: lines and placeholder text on example screens */
  --color-journey-screen-dot:#b4c7dc; /* Hero journey animation: window dots on example screens */
  --color-journey-screen-text:#102746; /* Hero journey animation: text on example screens */
  --color-journey-screen-muted:#4e6582; /* Hero journey animation: quieter text and icons on example screens */
  --color-journey-accent:#0768f9; /* Hero journey animation: blue buttons, links and highlights */
  --color-journey-accent-deep:#0345bb; /* Hero journey animation: dark end of blue gradients */
  --color-journey-accent-bright:#3996ff; /* Hero journey animation: bright blue (active outline, progress bar) */
  --color-journey-accent-soft:#9bdaff; /* Hero journey animation: soft blue artwork and outlines */
  --color-journey-shadow:#041931; /* Hero journey animation: shadow under example screens */
  --color-text-primary:#07132e; /* Main text */
  --color-text-secondary:#42546e; /* Secondary (muted) text */
  --color-text-accent:#174f99; /* Accent text (accent labels) */
  --color-text-highlight:#0866f5; /* Highlighted words in the main headline */
  --color-border-default:#d6e3f4; /* Thin dividing lines and card borders */
  --color-border-accent:#0866f5; /* Accent border (left edge of notices) */
  --color-link:#0756cb; /* Links */
  --color-link-underline:#9ebff3; /* Link underline */
  --color-focus-ring:#0756cb; /* Keyboard focus outline */
  --color-button-bg:#0866f5; /* Button background */
  --color-button-bg-hover:#064bcb; /* Button background on hover */
  --color-button-text:#fff; /* Button text */
  --color-brand-mark-bg:#0866f5; /* Round logo mark background */
  --color-brand-mark-text:#fff; /* Round logo mark arrow */
  --color-callout-bg:#eaf3ff; /* Highlighted box background (contact, summaries) */
  --color-callout-bg-subtle:#f5f9ff; /* Scope notice background */
  --color-callout-border:#cadcf7; /* Highlighted box border */
  --color-callout-divider:#cadcf7; /* Lines inside highlighted boxes */
  --color-callout-text:#344c6d; /* Text inside highlighted boxes */
  --color-callout-tag-border:#6e92c7; /* Small tag border inside highlighted boxes */
  --color-inverse-bg:#07132e; /* Dark band background (How we work, draft banner) */
  --color-inverse-text:#fff; /* Dark band headings */
  --color-inverse-text-secondary:#d4e5ff; /* Dark band secondary text */
  --color-inverse-text-body:#e1ecff; /* Dark band body text */
  --color-inverse-text-accent:#bed8ff; /* Dark band accent text */
  --color-inverse-border:#5277ac; /* Dark band dividing lines */
  --color-illustration-bg:#eaf3ff; /* Homepage illustration background */
  --color-illustration-border:#cadcf7; /* Homepage illustration border */
  --color-illustration-line:#7898c6; /* Homepage illustration connecting line */
  --color-illustration-accent:#174f99; /* Homepage illustration accent */
  --color-illustration-symbol-border:#94b1db; /* Homepage illustration circle borders */
  --color-illustration-text:#344c6d; /* Homepage illustration text */
  --color-illustration-caption:#42546e; /* Homepage illustration caption */
  --color-illustration-accent-inverse:#bed8ff; /* Illustration accent on its dark step */
  --color-illustration-symbol-border-inverse:#5277ac; /* Illustration circle border on its dark step */
  --color-illustration-text-inverse:#d4e5ff; /* Illustration text on its dark step */
  --color-shadow-overlay:rgba(7,19,46,.13); /* Shadow under the Services menu */
  --color-visual-band-end:#0b3f87; /* Process band gradient endpoint */
  --color-brand-panel-bg:#07132e; /* Brand lockup panel background */
  --color-brand-panel-text:#cad7f2; /* Brand lockup panel tagline text */
  color-scheme:light
}
@media screen and (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --color-bg-page:#0e1f25; /* Page background */
  --color-bg-card:#142a31; /* Card background */
  --color-bg-overlay:#183139; /* Services menu and skip-link background */
  --color-bg-hover:#1d3a43; /* Menu item background on hover */
  --color-section-hero:#0e1f25; /* Homepage band: top banner and working principles */
  --color-section-services:#11262c; /* Homepage band: services */
  --color-section-channels:#0f212b; /* Homepage band: advertising channels */
  --color-section-measurement:#15262a; /* Homepage band: measurement */
  --color-section-about:#102429; /* Homepage band: about */
  --color-journey-active:#7ab8ff; /* Hero journey animation: highlighted stage label */
  --color-journey-active-bg:#162c4d; /* Hero journey animation: highlighted stage label background */
  --color-journey-glow:rgba(57,150,255,.21); /* Hero journey animation: glow around the active example */
  --color-journey-screen:#fafdff; /* Hero journey animation: example screens */
  --color-journey-screen-tint:#eaf3ff; /* Hero journey animation: pale panels on example screens */
  --color-journey-screen-line:#dbe6f4; /* Hero journey animation: lines and placeholder text on example screens */
  --color-journey-screen-dot:#b4c7dc; /* Hero journey animation: window dots on example screens */
  --color-journey-screen-text:#102746; /* Hero journey animation: text on example screens */
  --color-journey-screen-muted:#4e6582; /* Hero journey animation: quieter text and icons on example screens */
  --color-journey-accent:#0768f9; /* Hero journey animation: blue buttons, links and highlights */
  --color-journey-accent-deep:#0345bb; /* Hero journey animation: dark end of blue gradients */
  --color-journey-accent-bright:#3996ff; /* Hero journey animation: bright blue (active outline, progress bar) */
  --color-journey-accent-soft:#9bdaff; /* Hero journey animation: soft blue artwork and outlines */
  --color-journey-shadow:#041931; /* Hero journey animation: shadow under example screens */
  --color-text-primary:#e9efec; /* Main text */
  --color-text-secondary:#a7b9b8; /* Secondary (muted) text */
  --color-text-accent:#74c8b2; /* Accent text (accent labels) */
  --color-text-highlight:#94abff; /* Highlighted words in the main headline */
  --color-border-default:#2b464d; /* Thin dividing lines and card borders */
  --color-border-accent:#74c8b2; /* Accent border (left edge of notices) */
  --color-link:#9fb3ff; /* Links */
  --color-link-underline:#4c5f9f; /* Link underline */
  --color-focus-ring:#9fb3ff; /* Keyboard focus outline */
  --color-button-bg:#2448e6; /* Button background */
  --color-button-bg-hover:#3a5cf0; /* Button background on hover */
  --color-button-text:#fff; /* Button text */
  --color-brand-mark-bg:#2448e6; /* Round logo mark background */
  --color-brand-mark-text:#fff; /* Round logo mark arrow */
  --color-callout-bg:#16312f; /* Highlighted box background (contact, summaries) */
  --color-callout-bg-subtle:#132b2a; /* Scope notice background */
  --color-callout-border:#2a4a44; /* Highlighted box border */
  --color-callout-divider:#30524b; /* Lines inside highlighted boxes */
  --color-callout-text:#bcd4ca; /* Text inside highlighted boxes */
  --color-callout-tag-border:#5f8b79; /* Small tag border inside highlighted boxes */
  --color-inverse-bg:#08161a; /* Dark band background (How we work, draft banner) */
  --color-inverse-text:#fff; /* Dark band headings */
  --color-inverse-text-secondary:#b8c9c7; /* Dark band secondary text */
  --color-inverse-text-body:#d0dddb; /* Dark band body text */
  --color-inverse-text-accent:#acd9c6; /* Dark band accent text */
  --color-inverse-border:#35535b; /* Dark band dividing lines */
  --color-illustration-bg:#142a2e; /* Homepage illustration background */
  --color-illustration-border:#264240; /* Homepage illustration border */
  --color-illustration-line:#5c8177; /* Homepage illustration connecting line */
  --color-illustration-accent:#74c8b2; /* Homepage illustration accent */
  --color-illustration-symbol-border:#4d7267; /* Homepage illustration circle borders */
  --color-illustration-text:#b2c7bf; /* Homepage illustration text */
  --color-illustration-caption:#a2b7af; /* Homepage illustration caption */
  --color-illustration-accent-inverse:#c7f1de; /* Illustration accent on its dark step */
  --color-illustration-symbol-border-inverse:#759e93; /* Illustration circle border on its dark step */
  --color-illustration-text-inverse:#d2dfdc; /* Illustration text on its dark step */
  --color-shadow-overlay:rgba(0,0,0,.45); /* Shadow under the Services menu */
  --color-visual-band-end:#08161a; /* Process band gradient endpoint */
  --color-brand-panel-bg:#07132e; /* Brand lockup panel background */
  --color-brand-panel-text:#cad7f2; /* Brand lockup panel tagline text */
  color-scheme:dark
}}
@media screen{:root[data-theme="dark"]{
  --color-bg-page:#0e1f25; /* Page background */
  --color-bg-card:#142a31; /* Card background */
  --color-bg-overlay:#183139; /* Services menu and skip-link background */
  --color-bg-hover:#1d3a43; /* Menu item background on hover */
  --color-section-hero:#0e1f25; /* Homepage band: top banner and working principles */
  --color-section-services:#11262c; /* Homepage band: services */
  --color-section-channels:#0f212b; /* Homepage band: advertising channels */
  --color-section-measurement:#15262a; /* Homepage band: measurement */
  --color-section-about:#102429; /* Homepage band: about */
  --color-journey-active:#7ab8ff; /* Hero journey animation: highlighted stage label */
  --color-journey-active-bg:#162c4d; /* Hero journey animation: highlighted stage label background */
  --color-journey-glow:rgba(57,150,255,.21); /* Hero journey animation: glow around the active example */
  --color-journey-screen:#fafdff; /* Hero journey animation: example screens */
  --color-journey-screen-tint:#eaf3ff; /* Hero journey animation: pale panels on example screens */
  --color-journey-screen-line:#dbe6f4; /* Hero journey animation: lines and placeholder text on example screens */
  --color-journey-screen-dot:#b4c7dc; /* Hero journey animation: window dots on example screens */
  --color-journey-screen-text:#102746; /* Hero journey animation: text on example screens */
  --color-journey-screen-muted:#4e6582; /* Hero journey animation: quieter text and icons on example screens */
  --color-journey-accent:#0768f9; /* Hero journey animation: blue buttons, links and highlights */
  --color-journey-accent-deep:#0345bb; /* Hero journey animation: dark end of blue gradients */
  --color-journey-accent-bright:#3996ff; /* Hero journey animation: bright blue (active outline, progress bar) */
  --color-journey-accent-soft:#9bdaff; /* Hero journey animation: soft blue artwork and outlines */
  --color-journey-shadow:#041931; /* Hero journey animation: shadow under example screens */
  --color-text-primary:#e9efec; /* Main text */
  --color-text-secondary:#a7b9b8; /* Secondary (muted) text */
  --color-text-accent:#74c8b2; /* Accent text (accent labels) */
  --color-text-highlight:#94abff; /* Highlighted words in the main headline */
  --color-border-default:#2b464d; /* Thin dividing lines and card borders */
  --color-border-accent:#74c8b2; /* Accent border (left edge of notices) */
  --color-link:#9fb3ff; /* Links */
  --color-link-underline:#4c5f9f; /* Link underline */
  --color-focus-ring:#9fb3ff; /* Keyboard focus outline */
  --color-button-bg:#2448e6; /* Button background */
  --color-button-bg-hover:#3a5cf0; /* Button background on hover */
  --color-button-text:#fff; /* Button text */
  --color-brand-mark-bg:#2448e6; /* Round logo mark background */
  --color-brand-mark-text:#fff; /* Round logo mark arrow */
  --color-callout-bg:#16312f; /* Highlighted box background (contact, summaries) */
  --color-callout-bg-subtle:#132b2a; /* Scope notice background */
  --color-callout-border:#2a4a44; /* Highlighted box border */
  --color-callout-divider:#30524b; /* Lines inside highlighted boxes */
  --color-callout-text:#bcd4ca; /* Text inside highlighted boxes */
  --color-callout-tag-border:#5f8b79; /* Small tag border inside highlighted boxes */
  --color-inverse-bg:#08161a; /* Dark band background (How we work, draft banner) */
  --color-inverse-text:#fff; /* Dark band headings */
  --color-inverse-text-secondary:#b8c9c7; /* Dark band secondary text */
  --color-inverse-text-body:#d0dddb; /* Dark band body text */
  --color-inverse-text-accent:#acd9c6; /* Dark band accent text */
  --color-inverse-border:#35535b; /* Dark band dividing lines */
  --color-illustration-bg:#142a2e; /* Homepage illustration background */
  --color-illustration-border:#264240; /* Homepage illustration border */
  --color-illustration-line:#5c8177; /* Homepage illustration connecting line */
  --color-illustration-accent:#74c8b2; /* Homepage illustration accent */
  --color-illustration-symbol-border:#4d7267; /* Homepage illustration circle borders */
  --color-illustration-text:#b2c7bf; /* Homepage illustration text */
  --color-illustration-caption:#a2b7af; /* Homepage illustration caption */
  --color-illustration-accent-inverse:#c7f1de; /* Illustration accent on its dark step */
  --color-illustration-symbol-border-inverse:#759e93; /* Illustration circle border on its dark step */
  --color-illustration-text-inverse:#d2dfdc; /* Illustration text on its dark step */
  --color-shadow-overlay:rgba(0,0,0,.45); /* Shadow under the Services menu */
  --color-visual-band-end:#08161a; /* Process band gradient endpoint */
  --color-brand-panel-bg:#07132e; /* Brand lockup panel background */
  --color-brand-panel-text:#cad7f2; /* Brand lockup panel tagline text */
  color-scheme:dark
}}
/* colors:end */
:root{--radius:4px;--max:1200px}
    *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--color-bg-page);color:var(--color-text-primary);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:5px}a:hover{color:var(--color-link)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(44px,5.6vw,76px);max-width:780px}h2{font-size:clamp(34px,4vw,52px);max-width:700px}h3{font-size:25px;letter-spacing:-.025em}.wrap{width:min(var(--max),calc(100% - 80px));margin:auto}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;line-height:1.5}.muted{color:var(--color-text-secondary)}.draft{background:var(--color-inverse-bg);color:var(--color-inverse-text);text-align:center;padding:8px 20px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--color-bg-overlay);padding:12px}.skip:focus{top:10px}.skip:focus-visible{outline-offset:-6px}.header{display:flex;align-items:center;justify-content:space-between;padding:27px 0;gap:30px;border-bottom:1px solid var(--color-border-default)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:-.025em;font-size:21px;white-space:nowrap}.brand-icon{display:grid;place-items:center;width:32px;height:32px;background:var(--color-brand-mark-bg);color:var(--color-brand-mark-text);border-radius:50%;font-size:22px;font-weight:400}.nav{display:flex;align-items:center;gap:26px;font-size:13px}.nav a{text-decoration:none}.nav .nav-contact{border-bottom:1px solid var(--color-text-primary);padding-bottom:4px}.hero{padding:85px 0 62px;display:grid;grid-template-columns:1.45fr 1fr;gap:60px;align-items:center}.hero .eyebrow{color:var(--color-text-accent);margin-bottom:23px}.hero h1 span{color:var(--color-text-highlight)}.hero-intro{font-size:19px;line-height:1.6;max-width:540px;color:var(--color-text-secondary);margin-top:25px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:33px}.button{display:inline-flex;gap:28px;align-items:center;background:var(--color-button-bg);color:var(--color-button-text);text-decoration:none;font-size:14px;padding:16px 22px;border:1px solid var(--color-button-bg);border-radius:var(--radius);font-weight:600}.button:hover{background:var(--color-button-bg-hover);color:var(--color-button-text)}.text-link{font-size:14px}.hero-visual{position:relative;background:var(--color-illustration-bg);border:1px solid var(--color-illustration-border);border-radius:120px 120px 5px 5px;min-height:480px;padding:38px 35px 30px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.visual-top{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--color-illustration-accent);margin-bottom:32px;font-size:11px;letter-spacing:.12em;font-weight:700;text-transform:uppercase}.dot{display:inline-block;width:7px;height:7px;background:var(--color-illustration-accent);border-radius:50%}.journey{margin:0;padding:0;list-style:none;position:relative}.journey:before{content:"";position:absolute;left:22px;top:40px;bottom:40px;width:1px;background:var(--color-illustration-line)}.journey li{position:relative;display:grid;grid-template-columns:45px 1fr;gap:15px;align-items:center;margin:24px 0}.step-symbol{position:relative;z-index:1;width:45px;height:45px;display:grid;place-items:center;border:1px solid var(--color-illustration-symbol-border);border-radius:50%;background:var(--color-illustration-bg);color:var(--color-illustration-accent);font-size:19px}.journey .journey-title{font-size:23px;line-height:1.08;font-weight:500;letter-spacing:-.025em;margin-top:0;color:inherit}.journey p{font-size:13px;margin-top:6px;color:var(--color-illustration-text)}.journey li:last-child{background:var(--color-inverse-bg);padding:22px 18px;margin-left:-18px;margin-right:-18px;border-radius:var(--radius);color:var(--color-inverse-text)}.journey li:last-child .step-symbol{background:var(--color-inverse-bg);border-color:var(--color-illustration-symbol-border-inverse);color:var(--color-illustration-accent-inverse)}.journey li:last-child p{color:var(--color-illustration-text-inverse)}.journey li:last-child .journey-title{color:inherit}.visual-caption{font-size:11px;color:var(--color-illustration-caption);text-align:center;margin-top:12px}.foundation{border-top:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);padding:24px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;font-size:13px;color:var(--color-text-secondary)}.foundation span{display:flex;gap:12px;align-items:center}.foundation b{font-size:16px;font-weight:400;color:var(--color-text-accent)}.section{padding:95px 0}.section-head{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:end;margin-bottom:42px}.section-head .eyebrow{margin-bottom:17px;color:var(--color-text-accent)}.section-head>p{max-width:450px;color:var(--color-text-secondary);font-size:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default)}.service{padding:34px 28px 36px 0}.service+.service{border-left:1px solid var(--color-border-default);padding-left:28px}.service-index{font-size:12px;color:var(--color-text-accent);margin-bottom:30px;display:block}.service h3{margin-bottom:16px}.service p{font-size:15px;color:var(--color-text-secondary)}.service ul{padding:0;margin:24px 0 0;list-style:none;font-size:13px}.service li{border-top:1px solid var(--color-border-default);padding:10px 0}.additional{display:flex;justify-content:space-between;align-items:start;gap:35px;padding-top:25px}.additional strong{font-size:14px;white-space:nowrap;font-weight:500}.additional p{font-size:13px;color:var(--color-text-secondary);max-width:760px}.process-band{background:var(--color-inverse-bg);color:var(--color-inverse-text)}.process-band .eyebrow{color:var(--color-inverse-text-accent)}.process-band .section-head>p{color:var(--color-inverse-text-secondary)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process-step{border-top:1px solid var(--color-inverse-border);padding-top:22px}.process-number{color:var(--color-inverse-text-accent);font-size:12px;display:block;margin-bottom:24px}.process-step h3{font-size:22px;margin-bottom:15px}.process-step p{color:var(--color-inverse-text-secondary);font-size:14px}.measurement{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.measurement .eyebrow{margin-bottom:20px;color:var(--color-text-accent)}.measurement h2{margin-bottom:25px}.measurement-intro{color:var(--color-text-secondary);font-size:17px;max-width:450px}.measure-list{margin:0}.measure-item{padding:23px 0;border-bottom:1px solid var(--color-border-default)}.measure-item:first-child{padding-top:0}.measure-item dt{font-size:19px;letter-spacing:-.025em;margin-bottom:8px}.measure-item dd{font-size:14px;margin:0;color:var(--color-text-secondary)}.note{font-size:12px;color:var(--color-text-secondary);margin-top:22px;max-width:460px}.about{border-top:1px solid var(--color-border-default);display:grid;grid-template-columns:1fr 1.15fr;gap:90px;padding:66px 0 85px}.about .eyebrow{color:var(--color-text-accent);margin-bottom:18px}.about h2{font-size:38px}.about p{font-size:17px;color:var(--color-text-secondary);margin-bottom:19px}.about p:last-child{margin:0;font-size:14px}.contact{background:var(--color-callout-bg);padding:63px 60px;display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:start;border:1px solid var(--color-callout-border);border-radius:var(--radius);margin-bottom:68px}.contact .eyebrow{color:var(--color-text-accent);margin-bottom:18px}.contact h2{font-size:46px}.contact p{font-size:15px;color:var(--color-callout-text);margin-top:20px;max-width:500px}.contact-label{display:inline-block;padding:6px 10px;border:1px solid var(--color-callout-tag-border);border-radius:3px;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.contact .contact-review{margin-top:17px;font-size:14px}.contact ul{padding-left:18px;font-size:14px;color:var(--color-callout-text);margin:18px 0 0}.contact li{padding:4px 0}.footer{border-top:1px solid var(--color-border-default);padding:24px 0 32px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:var(--color-text-secondary)}

    /* Native disclosure: click, touch, Enter or Space. No hover-only menu. */
    .nav{gap:22px}.nav>a,.nav-services>summary{min-height:44px;display:flex;align-items:center;white-space:nowrap}.nav-services{position:relative}.nav-services>summary{cursor:pointer;list-style:none;gap:9px;border-radius:var(--radius)}.nav-services>summary::-webkit-details-marker{display:none}.nav-services>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}.nav-services[open]>summary::after{transform:rotate(225deg);margin-top:4px}.nav-services>summary:hover,.nav-services[open]>summary{color:var(--color-link)}.service-menu{position:absolute;z-index:10;top:calc(100% + 8px);left:0;width:320px;max-width:calc(100vw - 40px);margin:0;padding:10px;list-style:none;background:var(--color-bg-overlay);border:1px solid var(--color-border-default);border-radius:var(--radius);box-shadow:0 12px 30px var(--color-shadow-overlay)}.service-menu a{display:flex;align-items:center;min-height:48px;padding:12px 14px;line-height:1.4;border-radius:3px}.service-menu a:hover,.service-menu a:focus-visible{background:var(--color-bg-hover);color:var(--color-link)}.nav .nav-contact{padding:11px 16px;border:1px solid var(--color-button-bg);border-radius:var(--radius);background:var(--color-button-bg);color:var(--color-button-text);white-space:nowrap;gap:12px;font-weight:600}.nav .nav-contact:hover{background:var(--color-button-bg-hover);border-color:var(--color-button-bg-hover);color:var(--color-button-text)}.search-services{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:28px}.search-service{padding:26px 0 0;border-top:1px solid var(--color-border-default)}.search-service .eyebrow{color:var(--color-text-accent);margin-bottom:14px}.search-service h3{margin-bottom:14px}.search-service p{font-size:15px;color:var(--color-text-secondary);margin-top:12px}.search-service .service-scope{font-size:12px;line-height:1.6}.service-follow{margin-top:18px;font-size:13px}
    @media(max-width:1000px){.nav{gap:16px}.nav .nav-contact{padding:11px 13px}}
    @media(max-width:760px){.nav{gap:8px 20px}.service-menu{top:calc(100% + 5px)}.search-services{grid-template-columns:1fr;gap:26px;padding-top:22px}.search-service{padding-top:24px}}
    @media(max-width:480px){.nav .nav-contact{flex-basis:100%;justify-content:center;margin-top:4px}}
    @media(min-width:1500px){.hero{padding-top:105px;padding-bottom:85px}}
    @media(max-width:1000px){.wrap{width:calc(100% - 48px)}.nav{gap:15px}.hero{gap:32px;padding-top:60px}.hero-visual{padding:30px 24px;min-height:450px}.hero-intro{font-size:17px}.section-head{gap:40px}.measurement,.about{gap:45px}.contact{padding:45px;gap:40px}.contact h2{font-size:40px}.process-grid{gap:20px}}
    @media(max-width:760px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.draft{font-size:9px;padding:8px 12px}.header{display:block;padding:20px 0 18px}.brand{font-size:20px}.nav{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:20px;font-size:12px}.hero{grid-template-columns:1fr;gap:42px;padding:45px 0 35px}.hero h1{max-width:600px;font-size:clamp(43px,9vw,64px)}.hero .eyebrow{font-size:11px;margin-bottom:18px}.hero-intro{margin-top:20px}.actions{gap:22px;margin-top:26px}.button{padding:14px 18px}.hero-visual{min-height:0;padding:32px 32px 25px;border-radius:70px 70px 4px 4px;max-width:470px;width:100%;margin:auto}.visual-top{margin-bottom:12px}.journey li{margin:20px 0}.journey .journey-title{font-size:21px}.journey li:last-child{padding:18px;margin-bottom:8px}.foundation{grid-template-columns:1fr;padding:20px 0;gap:10px}.section{padding:61px 0}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-head>p{font-size:16px}.section-head .eyebrow{margin-bottom:15px}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:28px 0;border-left:0}.service+.service{border-top:1px solid var(--color-border-default)}.service-index{margin-bottom:15px}.service h3{font-size:27px}.service ul{margin-top:18px}.additional{display:block;padding-top:22px}.additional p{margin-top:8px}.process-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.process-number{margin-bottom:17px}.process-step h3{font-size:22px}.measurement{grid-template-columns:1fr;gap:32px}.measure-item:first-child{border-top:1px solid var(--color-border-default);padding-top:23px}.about{grid-template-columns:1fr;gap:23px;padding:45px 0 55px}.about h2{font-size:34px}.about p{font-size:16px}.contact{grid-template-columns:1fr;gap:30px;padding:30px 23px;margin-bottom:45px}.contact h2{font-size:37px}.contact p{font-size:14px}.footer{display:block}.footer p+p{margin-top:9px}}
    @media(max-width:380px){.nav{gap:12px 17px}.hero h1{font-size:40px}.process-grid{grid-template-columns:1fr}.journey .journey-title{font-size:19px}.hero-visual{padding-left:22px;padding-right:22px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
    @media print{.nav,.actions,.skip{display:none}.section{padding:35px 0}.hero{padding:35px 0}.hero-visual,.contact,.process-band{break-inside:avoid}.process-band{background:var(--color-bg-card);color:var(--color-text-primary)}.process-band .eyebrow,.process-band p{color:var(--color-text-secondary)}}

.legal-hero{padding:64px 0 32px;max-width:850px}.legal-hero .eyebrow{color:var(--color-text-accent);margin-bottom:18px}.legal-hero h1{font-size:clamp(42px,6vw,68px)}.legal-meta{color:var(--color-text-secondary);font-size:14px;margin-top:20px}.review-notice{background:var(--color-callout-bg);border-left:4px solid var(--color-border-accent);padding:22px 26px;margin:0 0 36px;max-width:850px;font-size:15px}.legal-body{max-width:800px;padding-bottom:70px}.legal-body section{padding:23px 0;border-top:1px solid var(--color-border-default)}.legal-body h2{font-size:25px;margin-bottom:14px;letter-spacing:-.025em}.legal-body p{margin-bottom:14px}.legal-body p:last-child{margin-bottom:0}.legal-body ul{padding-left:22px;margin:12px 0}.legal-body li{margin:8px 0}.placeholder{font-weight:600;color:var(--color-text-accent)}.footer-nav{display:flex;flex-wrap:wrap;gap:10px 20px}.footer{align-items:baseline;flex-wrap:wrap}.legal-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;font-size:14px}
@media(max-width:760px){.legal-hero{padding-top:40px}.legal-body{padding-bottom:40px}.review-notice{padding:18px}.footer-nav{margin-top:14px}.legal-body h2{font-size:23px}}

/* Shared multichannel preview. Native details stays usable without JavaScript. */
main:focus{outline:none}
.service-menu{left:auto;right:0;width:680px;max-width:calc(100vw - 40px);max-height:70vh;overflow-y:auto;padding:16px}
.service-menu .menu-overview{font-weight:600;border-bottom:1px solid var(--color-border-default);margin-bottom:12px;border-radius:0}
.menu-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin:0;padding:0;list-style:none}
.menu-group>p{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-accent);padding:3px 10px}
.menu-group ul{list-style:none;padding:0;margin:4px 0 0}
.service-menu a{min-height:44px;padding:9px 10px;font-size:13px;overflow-wrap:anywhere}
a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}
.channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}
.channel-card{position:relative;border:1px solid var(--color-border-default);border-radius:var(--radius);background:var(--color-bg-card);padding:27px 25px 45px;min-width:0}
.channel-card .eyebrow{font-size:10px;color:var(--color-text-accent);margin-bottom:17px;letter-spacing:.07em}
.channel-card h3{font-size:25px;line-height:1.18;margin-bottom:16px;letter-spacing:-.035em;overflow-wrap:anywhere}
.channel-card h3 a{text-decoration:underline;text-decoration-color:var(--color-link-underline);text-underline-offset:5px}
.channel-card h3 a:hover{color:var(--color-link)}
.channel-card>p:not(.eyebrow){font-size:14px;color:var(--color-text-secondary);line-height:1.65}
.card-arrow{position:absolute;bottom:17px;right:23px;font-size:23px;color:var(--color-link)}
.catalog-link{text-align:right;font-size:15px;color:var(--color-link)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--color-text-secondary);padding-top:35px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.service-hero{display:grid;grid-template-columns:1.55fr 1fr;gap:70px;align-items:center;padding:58px 0 48px}
.service-hero .eyebrow,.catalog-hero .eyebrow{color:var(--color-text-accent);margin-bottom:22px}
.service-hero h1{font-size:clamp(43px,5.4vw,72px);letter-spacing:-.055em;line-height:1.04;max-width:800px;overflow-wrap:break-word}
.service-lead{font-size:19px;line-height:1.65;color:var(--color-text-secondary);max-width:780px;margin-top:27px}
.channel-summary{background:var(--color-callout-bg);border:1px solid var(--color-callout-border);border-radius:60px 60px 4px 4px;padding:32px;min-width:0}
.summary-symbol{font-size:42px;color:var(--color-text-accent)}
.channel-summary .eyebrow{font-size:11px;margin:12px 0 16px}
.channel-summary dl{margin:0}
.channel-summary dl>div{padding:14px 0;border-top:1px solid var(--color-callout-divider)}
.channel-summary dt{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-accent);margin-bottom:5px}
.channel-summary dd{font-size:15px;margin:0}
.scope-notice{font-size:13px;line-height:1.7;color:var(--color-callout-text);background:var(--color-callout-bg-subtle);border-left:3px solid var(--color-border-accent);padding:16px 21px;margin-bottom:32px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 70px}
.detail-section{padding:32px 0;border-top:1px solid var(--color-border-default);min-width:0}
.detail-section h2,.limitations h2{font-size:30px;line-height:1.16;letter-spacing:-.035em;margin-bottom:18px}
.detail-section p,.detail-section li,.limitations>p:not(.eyebrow){font-size:16px;color:var(--color-text-secondary);line-height:1.7}
.detail-section ul,.detail-section ol{margin:0;padding-left:22px}
.detail-section li{padding:6px 0 6px 5px}
.limitations{background:var(--color-inverse-bg);color:var(--color-inverse-text);padding:35px 40px;margin:20px 0 35px;border-radius:var(--radius)}
.limitations .eyebrow{color:var(--color-inverse-text-accent);margin-bottom:18px;font-size:11px}
.limitations>p:not(.eyebrow){color:var(--color-inverse-text-body)}
.source-note{padding:0 0 35px;font-size:12px;line-height:1.7;color:var(--color-text-secondary);max-width:850px}
.source-note h2{font-size:18px;margin-bottom:10px}
.source-note ul{display:flex;flex-wrap:wrap;gap:8px 25px;list-style:none;padding:0;margin-top:13px}
.source-note a{text-decoration:underline;text-underline-offset:3px}
.service-cta{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;background:var(--color-callout-bg);border:1px solid var(--color-callout-border);padding:42px;margin:30px 0;border-radius:var(--radius);align-items:center}
.service-cta .eyebrow{color:var(--color-text-accent);margin-bottom:17px}
.service-cta h2{font-size:36px;margin-bottom:17px}
.service-cta p:not(.eyebrow):not(.note){color:var(--color-callout-text);font-size:15px}
.service-cta .button{white-space:normal}
.service-cta .note{font-size:12px;line-height:1.65}
.related-services{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;padding:15px 0 55px;font-size:13px}
.related-services strong{font-weight:500;color:var(--color-text-secondary)}
.related-services a{text-decoration:underline;text-underline-offset:4px}
.catalog-hero{padding:60px 0 38px}
.catalog-hero h1{font-size:clamp(43px,6.2vw,80px);line-height:1.03;letter-spacing:-.055em}
.catalog-title{font-size:32px;margin-top:40px}
/* Target sizes, service-status tags, the inquiry action and screen-reader-only text. */
.breadcrumbs a{display:inline-block;min-height:24px;line-height:24px}.actions .text-link{display:inline-block;min-height:24px;line-height:24px}.offer-tag{display:table;margin:0 0 14px;padding:3px 9px;border:1px solid var(--color-callout-tag-border);border-radius:3px;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-accent)}.offer-tag.offer-future{border-color:var(--color-border-default);color:var(--color-text-secondary)}.service-hero .offer-tag{margin:-8px 0 20px}.menu-tag{margin-left:8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.offer-notice{border-left-color:var(--color-callout-tag-border)}.contact-action{margin-top:20px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* Above mobile widths the menu anchors to the full header, not its narrow summary. */
@media(min-width:761px){.header{position:relative}.nav-services{position:static}.service-menu{left:auto;right:0;top:calc(100% + 5px)}}
@media(max-width:1000px){.service-hero{gap:35px}.detail-grid{gap:0 35px}.channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-cta{gap:35px;padding:32px}}
@media(max-width:760px){.service-menu{left:0;right:auto;width:calc(100vw - 40px);max-height:65vh}.menu-groups{grid-template-columns:1fr;gap:14px}.service-hero{grid-template-columns:1fr;padding:36px 0 30px;gap:30px}.channel-summary{border-radius:35px 35px 4px 4px;padding:23px}.channel-summary dl{display:grid;grid-template-columns:1fr;gap:0}.summary-symbol{font-size:30px}.service-lead{font-size:17px;margin-top:20px}.detail-grid{grid-template-columns:1fr;gap:0}.detail-section{padding:28px 0}.detail-section h2,.limitations h2{font-size:27px}.limitations{padding:27px 24px}.service-cta{grid-template-columns:1fr;gap:25px;padding:28px 24px}.service-cta h2{font-size:31px}.breadcrumbs{padding-top:24px}.catalog-hero{padding:40px 0 28px}}
@media(max-width:480px){.channel-grid{grid-template-columns:1fr;gap:14px}.channel-card{padding:24px 23px 42px}.service-hero h1{font-size:43px}.catalog-link{text-align:left}.scope-notice{padding:15px 17px}.service-cta .button{font-size:14px}}
@media print{.breadcrumbs,.related-services{display:none}.service-hero{padding:25px 0;gap:25px}.channel-grid{grid-template-columns:1fr 1fr}.channel-card,.detail-section,.channel-summary,.scope-notice{break-inside:avoid}.limitations{background:var(--color-bg-card);border:1px solid var(--color-border-default);color:var(--color-text-primary)}.limitations>p:not(.eyebrow),.limitations .eyebrow{color:var(--color-text-secondary)}.service-cta{break-inside:avoid}.service-menu{display:none}}
/* Header light/dark toggle: hidden until theme.js runs, so it never shows without JavaScript. */
.theme-toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:1px solid var(--color-border-default);border-radius:var(--radius);color:inherit;font:inherit;cursor:pointer}.theme-toggle:hover{border-color:var(--color-border-accent);color:var(--color-link)}.theme-toggle[hidden]{display:none}.theme-icon{width:16px;height:16px;border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}.theme-toggle[aria-pressed="true"] .theme-icon{background:linear-gradient(270deg,currentColor 50%,transparent 50%)}
@media print{.theme-toggle{display:none}}
/* Forced colours would drop the half-filled icon's gradient; keep it, drawn in the forced button text colour. */
@media (forced-colors:active){.theme-icon{forced-color-adjust:none;color:ButtonText}}
/* Between the phone layout and 800px the one-line header needs tighter spacing to fit with the theme toggle. */
@media(min-width:761px) and (max-width:800px){.nav{gap:10px}.nav .nav-contact{padding:11px 10px;gap:8px}}
/* Homepage section bands: each section gets its own full-width tint (colors.json section-*) so the sections read apart. */
.hero,.foundation,#services,.multichannel,.measurement,.about{background:var(--band);box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax)}
.hero,.foundation{--band:var(--color-section-hero)}#services{--band:var(--color-section-services)}.multichannel{--band:var(--color-section-channels)}.measurement{--band:var(--color-section-measurement)}.about{--band:var(--color-section-about)}
@media print{.hero,.foundation,#services,.multichannel,.measurement,.about{background:none;box-shadow:none;clip-path:none}}
/* Hero reassurance and next-step note under the buttons: quieter than the intro, same width. Only useful beside the buttons, so not printed. */
.hero-note{max-width:540px;margin:22px 0 0;font-size:14px;line-height:1.6;color:var(--color-text-secondary)}.hero-note+.hero-note{margin-top:6px}
@media print{.hero-note{display:none}}
/* Hero journey animation (.hj): an example search ad click, landing page and inquiry, adapted from design/hero-journey-motion.
   Without JavaScript, with reduced motion and in print the three examples stack as a static sequence; nav.js turns the
   12-second loop on (data-motion="on") and wires the pause button (data-paused). Example screens keep their light colours. */
.hj-steps{margin:0;padding:0;list-style:none;display:grid;gap:22px}.hj-step{min-width:0}
.hj-scene{aspect-ratio:1.45;padding:6px;background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:18px}
.hj-scene svg{display:block;width:100%;height:100%;overflow:visible;font-family:Arial,Helvetica,sans-serif}
.hj .hj-title{margin:14px 0 4px;font-size:19px;line-height:1.25;font-weight:500;letter-spacing:-.02em;text-align:center;color:inherit}
.hj .hj-text{margin:0;font-size:13px;line-height:1.5;text-align:center;color:var(--color-illustration-text)}
.hj .visual-caption{margin-top:18px}.hj-note{margin:4px 0 0;font-size:11px;line-height:1.5;text-align:center;color:var(--color-illustration-caption)}
.hj-pause{align-self:center;min-height:44px;margin-top:12px;padding:0 16px;border:1px solid var(--color-border-default);border-radius:22px;background:var(--color-bg-card);color:var(--color-text-primary);font:inherit;font-size:13px;cursor:pointer}.hj-pause:hover{border-color:var(--color-border-accent)}.hj-pause[hidden]{display:none}
.hj-stages,.hj-track,.hj-cursor,.hj-click-ring,.hj-mail-rays,.hj-submit-sheen{display:none}
/* The static sequence is tall; top-align the hero so it does not push the headline and buttons down. */
.hero:has(.hj:not([data-motion="on"])){align-items:start}
.hj .f-screen{fill:var(--color-journey-screen)}.hj .f-tint{fill:var(--color-journey-screen-tint)}.hj .f-line{fill:var(--color-journey-screen-line)}.hj .f-dot{fill:var(--color-journey-screen-dot)}.hj .f-text{fill:var(--color-journey-screen-text)}.hj .f-muted{fill:var(--color-journey-screen-muted)}.hj .f-accent{fill:var(--color-journey-accent)}.hj .f-soft{fill:var(--color-journey-accent-soft)}
.hj .s-screen{stroke:var(--color-journey-screen)}.hj .s-line{stroke:var(--color-journey-screen-line)}.hj .s-muted{stroke:var(--color-journey-screen-muted)}.hj .s-accent{stroke:var(--color-journey-accent)}.hj .s-bright{stroke:var(--color-journey-accent-bright)}.hj .s-soft{stroke:var(--color-journey-accent-soft)}
.hj .sc-screen{stop-color:var(--color-journey-screen)}.hj .sc-tint{stop-color:var(--color-journey-screen-tint)}.hj .sc-accent{stop-color:var(--color-journey-accent)}.hj .sc-bright{stop-color:var(--color-journey-accent-bright)}.hj .sc-deep{stop-color:var(--color-journey-accent-deep)}.hj .fc-shadow{flood-color:var(--color-journey-shadow)}
@media screen and (prefers-reduced-motion:no-preference){
.hj[data-motion="on"] .hj-steps{display:block;position:relative}.hj[data-motion="on"] .hj-step{position:absolute;inset:0;animation:hj-compact-one 12s ease-in-out infinite}.hj[data-motion="on"] .hj-step:first-child{position:relative}.hj[data-motion="on"] .hj-two{animation-name:hj-compact-two}.hj[data-motion="on"] .hj-three{animation-name:hj-compact-three}.hj[data-motion="on"] .hj-text{min-height:40px}
.hj[data-motion="on"] .hj-scene{animation:hj-scene-one 12s linear infinite}.hj[data-motion="on"] .hj-two .hj-scene{animation-name:hj-scene-two}.hj[data-motion="on"] .hj-three .hj-scene{animation-name:hj-scene-three}
.hj[data-motion="on"] .hj-cursor,.hj[data-motion="on"] .hj-click-ring,.hj[data-motion="on"] .hj-mail-rays,.hj[data-motion="on"] .hj-submit-sheen{display:inline}
.hj[data-motion="on"] .hj-cursor{transform-box:fill-box;transform-origin:center;animation:hj-cursor 12s ease-in-out infinite}.hj[data-motion="on"] .hj-click-ring{transform-box:fill-box;transform-origin:center;animation:hj-click-ring 12s ease-out infinite}.hj[data-motion="on"] .hj-ad-outline{animation:hj-ad-outline 12s linear infinite}.hj[data-motion="on"] .hj-landing-screen{transform-origin:160px 140px;animation:hj-page-load 12s ease-in-out infinite}.hj[data-motion="on"] .hj-form-panel{animation:hj-form-panel 12s ease-in-out infinite}.hj[data-motion="on"] .hj-submit-sheen{animation:hj-submit-sheen 12s ease-in-out infinite}.hj[data-motion="on"] .hj-new-mail{transform-origin:160px 155px;animation:hj-new-mail 12s cubic-bezier(.2,.7,.2,1) infinite}.hj[data-motion="on"] .hj-mail-check{animation:hj-mail-check 12s ease-in-out infinite}.hj[data-motion="on"] .hj-mail-rays{transform-origin:248px 70px;animation:hj-mail-rays 12s ease-in-out infinite}
.hj[data-motion="on"] .hj-stages{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px}.hj-divider{width:12px;height:1px;background:var(--color-border-default)}.hj-stage{padding:7px 11px;border:1px solid var(--color-border-default);border-radius:9px;font-size:11px;font-weight:700;color:var(--color-text-secondary);animation:hj-label-one 12s linear infinite}.hj-stage:nth-child(3){animation-name:hj-label-two}.hj-stage:nth-child(5){animation-name:hj-label-three}
.hj[data-motion="on"] .hj-track{display:block;height:2px;margin-top:18px;overflow:hidden;border-radius:2px;background:var(--color-border-default)}.hj-track span{display:block;height:100%;background:linear-gradient(90deg,var(--color-journey-accent),var(--color-journey-accent-soft));transform-origin:left;animation:hj-progress 12s linear infinite}
.hj[data-paused="true"] *{animation-play-state:paused!important}
}
@keyframes hj-compact-one{0%,26%,100%{opacity:1;transform:translateY(0)}32%,94%{opacity:0;transform:translateY(-8px)}}
@keyframes hj-compact-two{0%,27%{opacity:0;transform:translateY(8px)}34%,60%{opacity:1;transform:translateY(0)}66%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes hj-compact-three{0%,63%{opacity:0;transform:translateY(8px)}70%,92%{opacity:1;transform:translateY(0)}99%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes hj-scene-one{0%,27%,100%{border-color:var(--color-journey-accent-bright);box-shadow:0 0 0 1px var(--color-journey-glow),0 14px 38px var(--color-journey-glow)}33%,96%{border-color:var(--color-border-default);box-shadow:none}}
@keyframes hj-scene-two{0%,28%,66%,100%{border-color:var(--color-border-default);box-shadow:none}34%,60%{border-color:var(--color-journey-accent-bright);box-shadow:0 0 0 1px var(--color-journey-glow),0 14px 38px var(--color-journey-glow)}}
@keyframes hj-scene-three{0%,62%,100%{border-color:var(--color-border-default);box-shadow:none}70%,92%{border-color:var(--color-journey-accent-bright);box-shadow:0 0 0 1px var(--color-journey-glow),0 14px 38px var(--color-journey-glow)}}
@keyframes hj-cursor{0%{opacity:0;transform:translate(32px,-45px)}7%{opacity:1;transform:translate(32px,-45px)}17%{opacity:1;transform:translate(0,0) scale(1)}19%{opacity:1;transform:translate(0,0) scale(.86)}22%{opacity:1;transform:translate(0,0) scale(1)}27%,100%{opacity:0;transform:translate(0,10px)}}
@keyframes hj-click-ring{0%,17%{opacity:0;transform:scale(.4)}18%{opacity:.8;transform:scale(.4)}24%,100%{opacity:0;transform:scale(1.5)}}
@keyframes hj-ad-outline{0%,15%,31%,100%{stroke:var(--color-journey-screen-line)}19%,26%{stroke:var(--color-journey-accent)}}
@keyframes hj-page-load{0%,27%,100%{opacity:.65;transform:translateY(5px)}36%,95%{opacity:1;transform:translateY(0)}}
@keyframes hj-form-panel{0%,39%{opacity:0;transform:translateY(18px)}47%,89%{opacity:1;transform:translateY(0)}98%,100%{opacity:0;transform:translateY(8px)}}
@keyframes hj-submit-sheen{0%,48%,61%,100%{opacity:0}53%,56%{opacity:.25}}
@keyframes hj-new-mail{0%,63%{opacity:0;transform:translateY(22px) scale(.95)}72%,92%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-7px) scale(1)}}
@keyframes hj-mail-check{0%,70%{opacity:0;transform:translateY(5px)}77%,91%{opacity:1;transform:translateY(0)}99%,100%{opacity:0;transform:translateY(0)}}
@keyframes hj-mail-rays{0%,69%,90%,100%{opacity:0;transform:scale(.8)}77%{opacity:.8;transform:scale(1.05)}}
@keyframes hj-label-one{0%,26%,100%{color:var(--color-journey-active);border-color:var(--color-journey-active);background:var(--color-journey-active-bg)}33%,94%{color:var(--color-text-secondary);border-color:var(--color-border-default);background:none}}
@keyframes hj-label-two{0%,27%,66%,100%{color:var(--color-text-secondary);border-color:var(--color-border-default);background:none}34%,60%{color:var(--color-journey-active);border-color:var(--color-journey-active);background:var(--color-journey-active-bg)}}
@keyframes hj-label-three{0%,63%,100%{color:var(--color-text-secondary);border-color:var(--color-border-default);background:none}70%,92%{color:var(--color-journey-active);border-color:var(--color-journey-active);background:var(--color-journey-active-bg)}}
@keyframes hj-progress{0%{transform:scaleX(0)}94%,100%{transform:scaleX(1)}}
@media print{.hj-pause,.hj-note{display:none}.hj-scene{break-inside:avoid}}
