/* Generated by ../scripts/build-homepage-assets.mjs; edit the manifest sources. */
/* Source: public_html/styles.css */
:root{ --bg: #0b1020; --fg: #eaf0ff; --muted: #adbad6; --brand: #2e3094; --brand-2: #6063ac; --brand-soft: rgba(46,48,148,.10); --border: rgba(234, 240, 255, 0.14); --fs-base: 16px; --ink: #333333; --ink-2: #858585; --blue-haze: #cccce3; --header-h: 54px; --mx: 50%; --my: 50%; --bg-soft-1: #f7f8ff; --bg-soft-2: #eef1ff; --bg-soft-3: #fafbff; } *{ box-sizing:border-box } html, body{ height:100% } body{ background:#ffffff; color: var(--ink); font: 400 var(--fs-base)/1.6 "Inter", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; margin:0; padding-top: var(--header-h); } .container{ width:min(1180px, 92%); margin-inline:auto; } .visually-hidden{ position:absolute !important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; } .bar{ display:flex; gap:.75rem; justify-content:center; align-items:center; padding:.5rem .75rem; background: #f3f4fb; color:#333; border-bottom:1px solid #eceef7; } .site-header{ position: fixed; top: 0; left: 0; right: 0; z-index: 10000; background: rgba(255,255,255,.86); border-bottom: 1px solid #eceef7; box-shadow: 0 2px 12px rgba(0,0,0,.06); width: 100%; backdrop-filter: saturate(1.2) blur(10px); -webkit-backdrop-filter: blur(10px); transition: background .2s ease, box-shadow .2s ease; } .site-header.compact{ box-shadow: 0 8px 28px rgba(0,0,0,.10); background: rgba(255,255,255,.82); } .site-header.compact .nav-rail{ padding: .2rem 0; } .site-header{ background:#fff !important; } .nav-rail{ display:flex; align-items:center; justify-content:space-between; padding:.35rem 0; gap:1rem; } .brand{ display:flex; align-items:center; gap:.6rem; text-decoration:none; } .site-header .logo-img{ height: 40px; width:auto; display:block; } .footer .logo-img{ width: 200px; height: auto; max-width: 100%; object-fit: contain; display: block; margin: 0 auto 1rem auto; } .footer .logo-img[height]{ height: auto !important; } .primary-nav{ display:block; } .nav-list{ position:relative; list-style:none; margin:0; padding:.25rem .4rem; display:flex; flex-wrap:nowrap; gap:.4rem; align-items:center; border-radius:12px; background:#f7f8ff; white-space:nowrap; } .nav-list > li{ margin:0; padding:0; } .nav-list a{ position:relative; z-index:2; display:block; padding:.45rem .7rem; border-radius:10px; text-decoration:none; color:#333; font-weight:600; font-size:.95rem; } .nav-list a.active{ color:#fff; } .nav-list a:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; border-radius:10px; } .nav-pill{ position:absolute; z-index:0; top:50%; transform: translate(-999px, -50%); height:34px; border-radius:10px; background: var(--brand-soft); transition: transform 260ms ease, width 260ms ease, background 160ms ease; } .nav-list a:hover{ color:#2e3094; } .nav-actions .btn{ white-space:nowrap; } .nav-toggle-btn{ display:none; background:transparent; border:0; padding:.25rem; gap:4px; flex-direction:column; } .nav-toggle-btn span{ width:22px; height:2px; background:#333; display:block; border-radius:2px; } .mobile-drawer{ display:none; position: fixed; top: var(--header-h); left: 0; right: 0; background:#fff; border-top:1px solid #eceef7; max-height: calc(100dvh - var(--header-h)); overflow:auto; z-index: 9999; } .mobile-drawer.open{ display:block; } .mobile-menu{ display:flex; flex-direction:column; padding:.5rem; } .mobile-menu a{ padding:.75rem; color:#333; text-decoration:none; border-radius:8px; } .mobile-menu a:hover{ background:#f3f4fb; color:#2e3094; } .btn{ display:inline-block; text-decoration:none; font-weight:700; border-radius:12px; padding:.7rem 1rem; border:1px solid transparent; transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease; box-shadow: 0 0 0 rgba(0,0,0,0); } .btn--primary{ background:var(--brand); color:#fff; } .btn--primary:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(46,48,148,.18); } .btn:hover{ box-shadow:0 10px 28px rgba(0,0,0,.08); } .btn--ghost:hover{ background:#f7f8ff; border-color:#dfe3fb; color:#111; } .btn--ghost{ background:transparent; color:#333; border-color:#e7e9f6; } .btn--outline{ background:transparent; color:var(--brand); border-color:var(--brand); } .btn.full{ display:block; text-align:center; } .hero{ position:relative; overflow:hidden; } .hero::before{ content:""; position:absolute; inset:0; background: radial-gradient(1200px 600px at 20% 10%, rgba(156,158,204,.18), transparent 55%), radial-gradient(900px 520px at 82% 28%, rgba(96,99,172,.15), transparent 60%), linear-gradient(180deg, #fff 0%, #f9faff 100%); z-index:0; } .hero::after{ content:""; position:absolute; inset:0; background: radial-gradient(280px 220px at var(--mx) var(--my), rgba(46,48,148,.12), transparent 65%); filter: blur(2px); opacity:.9; pointer-events:none; z-index:0; transition: background 180ms ease; } .hero > *{ position:relative; z-index:1; } .hero-surface{ position:absolute; inset:0; pointer-events:none; } .grid-overlay{ position:absolute; inset:0; background: radial-gradient(600px 360px at 18% 12%, rgba(156,158,204,.14), transparent 60%), radial-gradient(520px 320px at 78% 30%, rgba(96,99,172,.12), transparent 62%); opacity:.9; } .dot{ position:absolute; width:8px; height:8px; border-radius:50%; background:rgba(46,48,148,.35); } .dot{ transform: translate(calc((var(--mx, 50%) - 50%) * .02), calc((var(--my, 50%) - 50%) * .02)); } .dot.d1{ top:18%; left:15%; } .dot.d2{ bottom:22%; right:22%; } .glow{ position:absolute; filter:blur(42px); background:rgba(156,158,204,.35); width:220px; height:220px; border-radius:50%; } .glow.g1{ top:10%; right:5%; } .glow.g2{ bottom:8%; left:10%; } .hero-wrap{ display:grid; grid-template-columns: 1.05fr .95fr; align-items:center; gap:2.2rem; min-height: 76vh; padding: 3.2rem 0 1.6rem; } .hero h1{ font-size: clamp(28px, 5vw, 46px); line-height:1.15; margin:.25rem 0 .5rem; color:#111; } .hero .lead{ color:#444; max-width: 60ch; } .cta{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.75rem; } .hero-figure .photo-frame{ position:relative; border-radius:16px; overflow:hidden; box-shadow: 0 14px 44px rgba(0,0,0,.12); } .hero-figure img{ display:block; width:100%; height:auto; } .ring{ position:absolute; border:2px solid rgba(46,48,148,.25); border-radius:16px; inset:-12px; } .r2{ inset:-22px; border-color: rgba(156,158,204,.25); } .scroll-cue{ position:absolute; left:50%; bottom:10px; transform:translateX(-50%); text-decoration:none; color:#2e3094; font-weight:800; } .section{ padding: clamp(48px, 7vw, 88px) 0; scroll-margin-top: 84px; } .section.alt{ background: radial-gradient(1200px 600px at 10% 0%, rgba(46,48,148,.06), transparent 60%), linear-gradient(180deg, var(--bg-soft-3), #ffffff); } .section-head{ text-align:center; margin-bottom: 1.4rem; } .section-head h2{ font-size: clamp(22px, 4.4vw, 36px); margin:0 0 .25rem; color:#111; } .section-head .lead{ color:#555; } .about{ display:grid; grid-template-columns: 1.1fr .9fr; gap:2rem; align-items:center; } .band-ctas{ display:flex; gap:.6rem; margin-top:.6rem; } .cta-band{ background: #eef0ff; padding: 36px 0; } .band{ display:flex; align-items:center; justify-content:space-between; gap:1rem; } .band-ctas{ display:flex; gap:.6rem; flex-wrap:wrap; } .footer{ background:#eef1ff; color:#333; padding-top: 0; } .badge{ background:#fff; border:1px solid #e7e9f6; border-radius:999px; padding:.25rem .6rem; font-weight:600; } .social{ display:flex; gap:.5rem; align-items:center; } .social{ list-style: none; padding-left: 0; margin: 0; } .social a{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:8px; background:#fff; border:1px solid #e7e9f6; transition:transform .16s ease, box-shadow .16s ease; } .social a:hover{ transform: translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.08); } .social a svg, .social a img{ width:18px; height:18px; } @media (max-width: 640px){ :root { --header-h: 56px; } .site-header{ background:#fff; } .logo-img{ height:26px; margin-top: 4px; width:auto; display:block; } .nav-rail{ padding:.4rem 0; } .kpi-stack .num{ font-size: clamp(24px, 7vw, 34px); } .band{ flex-direction:column; align-items:flex-start; } .pricing{ grid-template-columns: 1fr; } .footer-grid{ grid-template-columns: 1fr; } .tl-item .tl-year{ font-size: clamp(32px, 10vw, 60px); opacity:.18; position:absolute; inset:auto auto auto 0; transform:none; z-index:0; } .tl-item{ padding-top:1.1rem; } } .reveal{ opacity:1; transform:none; transition: opacity 420ms ease, transform 420ms ease; will-change: opacity, transform; } .js .reveal{ opacity:0; transform: translateY(16px); } .js .reveal.in{ opacity:1; transform:none; } @media (max-width: 1024px){ .hero-wrap{ grid-template-columns: 1fr; } .hero-figure{ order: -1; } .hero-copy{ order: 2; } .hero-wrap{ gap: 1.25rem; } .about{ grid-template-columns: 1fr; } .slide{ grid-template-columns: 1fr; } .footer-grid{ grid-template-columns: 1fr 1fr; } } @media (max-width: 860px){ .primary-nav{ display:none; } .nav-toggle-btn{ display:flex; } } .site-header{ z-index: 9999; } @media (max-width: 900px){ } @media (max-width: 640px){ .section .section-head .lead { font-size: 1rem; } } .hero, .section, .footer, .mobile-drawer { will-change: transform; } .footer{ background: var(--blue-haze, #cccce3); color: var(--mine-shaft, #333333); padding: 28px 0 18px; } .footer .btn{ box-shadow: 0 2px 6px rgba(0,0,0,.08); min-height: 40px; padding:.55rem .9rem; } .social li a{ padding:.25rem; } .nav-pill{ position:absolute; top:50%; left:0; height:36px; border-radius:999px; transform:translateY(-50%); background: var(--bay-of-many, #2e3094); box-shadow: 0 6px 14px rgba(46,48,148,0.28), 0 1px 0 rgba(255,255,255,0.25) inset; transition: transform 260ms cubic-bezier(.22,.61,.36,1), width 260ms cubic-bezier(.22,.61,.36,1); z-index:0; opacity:1; } .primary-nav .nav-list a{ position:relative; z-index:1; } .primary-nav .nav-list a:hover{ color:#2e3094; } .primary-nav .nav-list a.active{ color:#ffffff; } #story .container{ max-width: 1240px; padding-left: clamp(12px, 2.5vw, 20px); padding-right: clamp(12px, 2.5vw, 20px); } #story.section{ padding-top: 48px; padding-bottom: 48px; } @media (max-width: 860px){ #story .container{ max-width: 100%; padding-left: 10px; padding-right: 10px; } } @media (min-width: 700px){ } @media (max-width: 640px){ } .footer img{ max-width: 100%; height: auto; } .scroll-progress{ position: fixed; top: 0; left: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--bay-of-many), var(--scampi)); box-shadow: 0 0 12px rgba(46,48,148,.35); z-index: 9999; transition: width .15s linear; } @media (prefers-reduced-motion: reduce){ .scroll-progress{ transition: none; } } .mobile-drawer{ transform: translateY(-12px); opacity: 0; transition: transform .28s ease, opacity .28s ease; } .mobile-drawer.open{ transform: translateY(0); opacity: 1; } :root{ --e-fast: 140ms; --e-med: 240ms; --e-slow: 400ms; --ease: cubic-bezier(.22,.61,.36,1); } .hero, .section, .footer, .mobile-drawer { will-change: auto; } .btn:hover{ will-change: transform; } .hero, .section, .footer{ content-visibility: auto; contain-intrinsic-size: 720px; } img[loading="lazy"]{ content-visibility: auto; contain-intrinsic-size: 320px 200px; } @media (prefers-reduced-motion: reduce){ *{ animation: none !important; transition: none !important; scroll-behavior: auto !important; } } .btn{ transition: transform var(--e-fast) var(--ease), box-shadow var(--e-fast) var(--ease), background var(--e-fast) var(--ease), color var(--e-fast) var(--ease); box-shadow: 0 4px 14px rgba(0,0,0,.06); } .btn:active{ transform: translateY(1px) scale(.99); } @keyframes sheen{ from{ background-position: -120% 0; } to{ background-position: 220% 0; } } .nav-pill{ background: #2e3094; box-shadow: 0 8px 18px rgba(46,48,148,.28); transform: translate3d(0,-50%,0); } .section{ position: relative; } .section::before, .section::after{ content:""; position:absolute; left:0; right:0; height:14px; pointer-events:none; background: radial-gradient(100% 60% at 50% 0%, rgba(46,48,148,.04), transparent 70%); } .section::before{ top:-14px; } .section::after{ bottom:-14px; transform: scaleY(-1); } @keyframes drift{ 0%{ transform: translateY(0) translateX(0); } 50%{ transform: translateY(6px) translateX(4px); } 100%{ transform: translateY(0) translateX(0); } } .dot{ animation: drift 6s ease-in-out infinite; } .dot.d2{ animation-duration: 8s; } .scroll-progress{ height: 2px; opacity: 0; transition: width .15s linear, opacity .25s var(--ease); } body.scrolling .scroll-progress{ opacity: 1; } @media (max-width: 640px){ .site-header .nav-rail{ padding: .35rem 0; } .site-header .logo-img{ margin-top: 2px; } } @media (max-width: 380px){ .footer .btn{ min-height: 36px; padding:.45rem .75rem; } .social a{ width:32px; height:32px; } } @media (prefers-reduced-motion: reduce){ .hero::after{ display:none; } } :root{ --bp-xs: 380px; --bp-sm: 640px; --bp-md: 860px; --bp-lg: 1024px; --tap: 44px; } body{ padding-top: calc(var(--header-h) + env(safe-area-inset-top, 0px)); } .site-header{ padding-top: env(safe-area-inset-top, 0px); } .site-header .logo-img{ height: auto; width: auto; max-height: 42px; aspect-ratio: auto; object-fit: contain; } @media (min-width: 1200px){ .site-header .logo-img{ max-height: 52px; } } @media (max-width: 640px){ .site-header .logo-img{ max-height: 28px; margin-top: 4px; } } .nav-list{ overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; } .nav-list > li{ scroll-snap-align: start; } .nav-list{ scrollbar-width: thin; } .nav-list::-webkit-scrollbar{ height: 6px; } .nav-list::-webkit-scrollbar-thumb{ background: rgba(46,48,148,.25); border-radius: 999px; } @media (hover: none) and (pointer: coarse){ .nav-list a{ padding: .6rem .8rem; min-height: var(--tap); } } @media (max-width: 640px){ :root{ --header-h: 54px; } .site-header .nav-rail{ padding: .32rem 0; } .nav-toggle-btn{ padding: .35rem; } .mobile-drawer{ border-top: 1px solid #e5e8fb; box-shadow: 0 10px 24px rgba(0,0,0,.08); } .mobile-menu a{ min-height: var(--tap); } } @media (max-width: 420px){ } @media (prefers-reduced-motion: reduce){ .dot{ animation: none !important; } .kpi-stack .kpi-row{ animation: none !important; } } @media (max-width: 380px){ } @keyframes _noop{ from{opacity:1} to{opacity:1} }
/* Source: working-files/homepage-inline-styles/01-quick-fixes.css */
.skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; } .skip-link:focus{ left:16px; top:16px; width:auto; height:auto; background:#2e3094; color:#fff; padding:.45rem .7rem; border-radius:8px; z-index:1000; outline:none; box-shadow:0 8px 22px rgba(0,0,0,.2); } .btn{ position:relative; } .btn:focus-visible{ outline:2px solid transparent; box-shadow:0 0 0 3px rgba(122,167,255,.55), 0 6px 18px rgba(0,0,0,.16); } .btn--icon{ display:inline-flex; align-items:center; gap:.5rem; } .btn--icon svg{ width:18px; height:18px; flex:0 0 18px; } .primary-nav a:focus-visible{ outline:none; position:relative; } .primary-nav a:focus-visible::after{ content:""; position:absolute; left:6px; right:6px; bottom:-6px; height:3px; background:#2e3094; border-radius:3px; } .primary-nav .nav-list{ position:relative; display:flex; align-items:center; padding:0 10px; overflow:visible; } .primary-nav .nav-list li{ position:relative; z-index:2; } .primary-nav .nav-list a{ position:relative; z-index:2; display:inline-flex; align-items:center; justify-content:center; gap:.35rem; transition:color .2s ease; } .primary-nav .nav-list a.active{ color:#ffffff; } .primary-nav .nav-list .nav-pill{ position:absolute; left:0; top:50%; width:0; height:34px; margin:0; padding:0; border-radius:999px; background:#2e3094; border:1px solid rgba(31,35,82,.28); box-shadow:0 10px 24px rgba(46,48,148,.24); transform:translateY(-50%); opacity:0; pointer-events:none; z-index:1; display:block; transition:left .24s ease, width .24s ease, opacity .18s ease; } @media (max-width: 900px){ .primary-nav .nav-list .nav-pill{ display:none; } } @media (prefers-reduced-motion: reduce){ *, *::before, *::after{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } } :root{ --bg-paper: #ffffff; --bg-fade-top: linear-gradient(180deg, rgba(156,158,204,.12), rgba(156,158,204,0) 70%); --bg-fade-bot: linear-gradient(0deg, rgba(156,158,204,.12), rgba(156,158,204,0) 70%); --bg-panel: #f5f6ff; --bg-panel-2: #eef1ff; --edge-glow: radial-gradient(800px 240px at 0% 0%, rgba(46,48,148,.12), transparent 60%), radial-gradient(800px 240px at 100% 100%, rgba(96,99,172,.10), transparent 60%); } .section{ background:var(--bg-paper); position:relative; z-index:0; } .section.bg-fade-bot{ background: var(--bg-paper); } .section.bg-fade-bot::after{ content:""; position:absolute; inset:auto 0 0 0; height: 140px; pointer-events:none; z-index:-1; background: var(--bg-fade-bot); } .section.bg-panel{ background: var(--bg-panel); } .section.bg-edges{ background: var(--bg-paper); } .section.bg-edges::before{ content:""; position:absolute; inset:0; pointer-events:none; z-index:-1; opacity:.9; background: var(--edge-glow); } .section .ribbon{ position: absolute; left:0; right:0; height: 56px; pointer-events:none; z-index:-1; } .section .ribbon.top{ top:0; background: linear-gradient(180deg, rgba(156,158,204,.16), rgba(156,158,204,0)); } .section .ribbon.bot{ bottom:0; background: linear-gradient(0deg, rgba(156,158,204,.16), rgba(156,158,204,0)); } .section.bg-panel, .section.bg-edges{ background-image: none; background-blend-mode: normal; } @media (prefers-reduced-motion: reduce){ .section .ribbon{ display:none; } } @media (max-width: 900px){ .hero-wrap{ grid-template-columns:1fr !important; grid-auto-flow:row; } .hero-figure{ order:0; justify-self:center; margin-top:10px; } .hero-copy{ order:1; } } @media (max-width: 640px){ .hero-figure .photo-frame{ width: min(92vw, 560px); } } .hero-wrap{ display: grid; grid-template-columns: minmax(320px, 1fr) minmax(380px, 640px); align-items: center; gap: clamp(1rem, 3vw, 2rem); } .hero-actions-clean{ display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; margin-top:1.25rem; } .hero-actions-clean .btn{ min-width:170px; display:inline-flex; align-items:center; justify-content:center; text-align:center; } .band-ctas .btn.email-attention{ animation:emailAttentionBounce 2.1s ease-in-out infinite; } @keyframes emailAttentionBounce{ 0%, 100%{ translate:0 0; } 50%{ translate:0 -6px; } } @media (max-width:900px){ .hero-redesign .hero-actions-clean{ display:none !important; } } .hero-figure{ justify-self: center; } @media (min-width: 1200px){ .hero-wrap{ grid-template-columns: 1.1fr 1fr; } } @media (max-width: 900px){ } .hero-figure .photo-frame{ width: clamp(340px, 38vw, 620px); max-width: 100%; } .hero-figure .photo-frame img{ width: 100%; height: auto; display: block;} @media (min-width: 1200px){ .hero-figure .photo-frame{ width: clamp(420px, 40vw, 700px); } } .social, .social li { list-style: none; margin: 0; padding: 0; } .site-header .brand{ display:flex; align-items:center; } .site-header .logo-img{ display:block; height:auto; max-height: clamp(46px, 6vw, 104px); width:auto; object-fit: contain; } @media (min-width: 1200px){ .site-header .logo-img { max-height: 112px; } } .brand-blue{ color:#2e3094; } @media (max-width: 900px){ .site-header{ background:#ffffff; padding:0; min-height:76px; } .site-header .container.nav-rail{ position:relative; min-height:76px; padding:0 20px; display:flex; align-items:center; justify-content:center; } .site-header .brand{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); margin:0; display:flex; align-items:center; justify-content:center; text-align:center; } .site-header .logo-img{ display:block; height:auto; max-height:68px; } .site-header .nav-toggle-btn{ position:absolute; right:14px; top:50%; transform:translateY(-50%); margin:0; display:inline-flex; align-items:center; justify-content:center; } .site-header .nav-actions{ display:none; } .primary-nav{ display:none; } } @media (max-width: 640px){ .site-header{ min-height:72px; } .site-header .container.nav-rail{ min-height:72px; padding-left:16px; padding-right:16px; } .site-header .logo-img{ height:auto; max-height:64px; } .site-header .nav-toggle-btn{ right:12px; } } .site-header .logo-img{ max-width: none; } @media (max-width: 900px){ .container { padding-left: 20px; padding-right: 20px; } .section .container { padding-left: 20px; padding-right: 20px; } .hero-wrap { gap: 1.25rem; } .hero-copy .lead { font-size: 1.02rem; } } @media (max-width: 640px){ .container { padding-left: 18px; padding-right: 18px; } .section { padding-top: 48px; padding-bottom: 48px; } .section .container { padding-left: 18px; padding-right: 18px; } .hero .cta .btn { width: 100%; justify-content: center; } .hero .cta .btn + .btn { margin-top: .5rem; } .hero-actions-clean .btn{ width:100%; } .about { grid-template-columns: 1fr; gap: 1rem; } } .bar { padding: 8px 0; } @media (max-width: 900px){ .bar { padding: 10px 0; font-size: .98rem; } } .reveal{ opacity:1; transform:none; transition:opacity 420ms ease, transform 420ms ease; } .js .reveal{ opacity:0; transform:translateY(16px); } .js .reveal.in{ opacity:1 !important; transform:none !important; } @media (hover:hover) and (pointer:fine){ .js .reveal:not(.in){ will-change:opacity, transform; } } .fab-call, .fab-email, .fab-top{ position:fixed; z-index:999; right:16px; width:54px; height:54px; border-radius:50%; border:0; display:inline-flex; align-items:center; justify-content:center; background:#2e3094; color:#fff; box-shadow:0 12px 28px rgba(0,0,0,.16), 0 4px 10px rgba(0,0,0,.10); transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease, background .2s ease; cursor:pointer; opacity:.96; } .fab-email{ text-decoration:none; } @media (hover:hover) and (pointer:fine){ .fab-call:hover, .fab-email:hover, .fab-top:hover{ transform:translateY(-2px); box-shadow:0 18px 38px rgba(0,0,0,.20), 0 6px 14px rgba(0,0,0,.12); background:#6063ac; } } .fab-call svg, .fab-email svg, .fab-top svg{ width:25px; height:25px; fill:currentColor; } .fab-call{ width:62px; height:62px; bottom:84px; } .fab-email{ width:58px; height:58px; bottom:18px; } .fab-top, .fab-top.show{ display:none !important; } @media (min-width: 901px){ .fab-call, .fab-email, .fab-top{ display:none; } } .mobile-drawer{ position: fixed; inset: 0 0 auto 0; height: 0; z-index: 998; pointer-events: none; background: transparent; transition: height .26s ease; } .mobile-drawer.open{ height: 100vh; pointer-events: auto; } .mobile-drawer .mobile-menu{ position: absolute; left: 0; right: 0; top: var(--header-h, 80px); background: #ffffff; border-bottom: 1px solid rgba(46,48,148,0.15); border-radius: 0 0 12px 12px; box-shadow: 0 14px 32px rgba(0,0,0,.12); padding: 10px 12px 14px; max-height: calc(100vh - var(--header-h, 80px)); overflow-y: auto; transform: translateY(-12px); opacity: 0; transition: transform .22s ease, opacity .22s ease, box-shadow .22s ease; } .mobile-drawer.open .mobile-menu{ transform: translateY(0); opacity: 1; } .mobile-drawer .mobile-menu a{ display: block; padding: 14px 12px; font-size: 1.05rem; font-weight: 700; color: #333333; text-decoration: none; border-radius: 10px; transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; margin: 2px 0; } @media (hover:hover) and (pointer:fine){ .mobile-drawer .mobile-menu a:hover{ background:rgba(46,48,148,0.06); color:#2e3094; transform:translateX(2px); box-shadow:0 8px 18px rgba(46,48,148,0.12); } } .nav-toggle-btn{ width: 44px; height: 40px; display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; border: 0; background: transparent; cursor: pointer; } .nav-toggle-btn span{ display: block; width: 24px; height: 2px; background: #2e3094; border-radius: 2px; transition: transform .2s ease, opacity .2s ease; } .site-header .container.nav-rail .nav-toggle-btn[aria-expanded="true"] span:nth-child(1){ transform: translateY(8px) rotate(45deg); } .site-header .container.nav-rail .nav-toggle-btn[aria-expanded="true"] span:nth-child(2){ opacity: 0; } .site-header .container.nav-rail .nav-toggle-btn[aria-expanded="true"] span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); } @media (min-width: 901px){ .nav-toggle-btn{ display: none !important; } .mobile-drawer{ display: none; } } @media (min-width: 901px){ .reveal{ opacity: 1 !important; transform: none !important; } } img, svg, iframe{ max-width:100%; } @media (hover:none), (pointer:coarse){ .story-card:hover, .fab-call:hover, .fab-email:hover, .fab-top:hover, .mobile-drawer .mobile-menu a:hover{ transform:none !important; } } @media (max-width: 900px){ .cursor, .scroll-progress, .grid-overlay, .hero-surface .dot, .hero-surface .glow{ display:none !important; } .hero-surface{ display:none !important; } .reveal, .js .reveal, .js .reveal:not(.in){ will-change:auto; } } :root{ --section-anchor-offset: 112px; --section-pad-y: clamp(52px, 7vw, 88px); --section-border: rgba(46,48,148,.10); --section-label-bg: #2e3094; --section-label-color: #ffffff; } .section:not(#home){ scroll-margin-top: var(--section-anchor-offset); padding-top: var(--section-pad-y); padding-bottom: var(--section-pad-y); border-top: 1px solid var(--section-border); } .section:not(#home) > .container{ position:relative; } .section:not(#home) h2[id]{ letter-spacing:0; line-height:1.04; } .meet-kicker, .story-kicker, .services-kicker, .reviews-kicker{ display:inline-flex; align-items:center; width:max-content; max-width:100%; min-height:28px; padding:.3rem .7rem; border-radius:999px; background:var(--section-label-bg) !important; color:var(--section-label-color) !important; border:1px solid rgba(46,48,148,.22); box-shadow:0 10px 22px rgba(46,48,148,.16); font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; } #story .story-kicker, #testimonials .reviews-kicker, .story-redesign .story-kicker, .reviews-redesign .reviews-kicker{ color:#ffffff !important; background:#2e3094 !important; border-color:rgba(46,48,148,.22) !important; } .story-intro, .reviews-copy, .meet-intro-card{ isolation:isolate; } #story .story-intro, #testimonials .reviews-hero{ margin-bottom:clamp(.85rem, 2vw, 1.15rem); } #story .lead, #services .lead, #testimonials .lead, #about .lead{ color:#333333; } #story:target, #services:target, #testimonials:target, #contact:target, #about:target{ outline:none; } @media (max-width: 900px){ :root{ --section-anchor-offset: 104px; --section-pad-y: 48px; } .section:not(#home){ padding-top:var(--section-pad-y); padding-bottom:var(--section-pad-y); } .section:not(#home) h2[id]{ font-size:clamp(1.75rem, 8vw, 2.35rem); } .meet-kicker, .story-kicker, .services-kicker, .reviews-kicker{ font-size:.72rem; min-height:26px; padding:.28rem .64rem; } } @media (max-width: 560px){ :root{ --section-anchor-offset: 96px; --section-pad-y: 44px; } } #about-title, #story-title, #testimonials-title{ color:#1f2352 !important; font-size:clamp(2rem, 5vw, 3.2rem) !important; line-height:1.02 !important; letter-spacing:0 !important; font-weight:900 !important; text-wrap:balance; } @media (max-width: 760px){ #about-title, #story-title, #testimonials-title{ font-size:clamp(1.9rem, 9vw, 2.65rem) !important; line-height:1.04 !important; } } body.interactions-ready .reveal{ transition:opacity .62s cubic-bezier(.2,.72,.22,1), transform .62s cubic-bezier(.2,.72,.22,1); } body.interactions-ready .reveal:not(.in){ opacity:0; transform:translateY(18px) scale(.985); } body.interactions-ready .reveal.in{ opacity:1; transform:translateY(0) scale(1); } .interactive-lift{ transform-style:preserve-3d; will-change:transform, box-shadow; } .interactive-lift.is-tilting{ transition:none !important; } .interactive-lift:not(.is-tilting){ transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease; } .btn.is-pressing, .hero-redesign .scroll-cue.is-pressing{ transform:scale(.975) !important; } @media (min-width: 901px){ .hero-redesign .scroll-cue{ animation:softCueBounce 2.4s ease-in-out infinite; } } @media (max-width: 900px){ html, body{ width:100%; max-width:100%; overflow-x:hidden; } body{ -webkit-text-size-adjust:100%; text-size-adjust:100%; } img, video, iframe, svg{ max-width:100%; } .container, .section .container, .hero-redesign .container{ width:100%; max-width:100%; padding-left:clamp(16px, 5vw, 22px) !important; padding-right:clamp(16px, 5vw, 22px) !important; } .site-header{ position:fixed !important; top:0 !important; left:0 !important; right:0 !important; width:100% !important; z-index:2000 !important; box-shadow:0 8px 24px rgba(16,19,49,.08); } .site-header .container.nav-rail{ width:100%; } .site-header .logo-img{ max-width:min(210px, 62vw) !important; max-height:64px !important; } .site-header .nav-toggle-btn{ width:48px; height:48px; border-radius:999px; } .site-header .nav-toggle-btn:focus-visible, .mobile-drawer .mobile-menu a:focus-visible, .fab-call:focus-visible, .fab-email:focus-visible, .fab-top:focus-visible, .hero-redesign .scroll-cue:focus-visible{ outline:3px solid rgba(46,48,148,.32); outline-offset:3px; } .mobile-drawer{ z-index:999; } .mobile-drawer .mobile-menu{ padding-left:16px; padding-right:16px; } .mobile-drawer .mobile-menu a{ min-height:48px; display:flex; align-items:center; } .hero-redesign{ min-height:auto !important; padding-top:18px !important; padding-bottom:42px !important; margin-bottom:0 !important; } .hero-redesign .hero-wrap{ width:100%; max-width:100%; } .hero-redesign .hero-image-shell{ width:min(390px, 88vw) !important; } .hero-redesign .photo-frame{ padding:.48rem !important; border-radius:28px !important; } .hero-redesign .photo-frame img{ border-radius:22px !important; } .hero-copy-card, .meet-intro-card, .meet-video-card, .service-equal-card, .story-card, .review-card, .reviews-google-spotlight{ max-width:100%; } .hero-redesign h1, #about-title, #story-title, #services-title, #testimonials-title{ overflow-wrap:normal; word-break:normal; hyphens:none; } .hero-redesign .lead, #about .lead, #services .lead, #story .lead, #testimonials .lead, .meet-text, .story-content p, .review-card p{ font-size:clamp(.95rem, 4vw, 1rem); line-height:1.5; } .btn, .hero-redesign .hero-actions-clean .btn, .meet-actions .btn{ min-height:48px; padding-top:.78rem; padding-bottom:.78rem; touch-action:manipulation; } .hero-redesign .scroll-cue{ position:absolute !important; left:50%; bottom:12px; transform:translateX(-50%); z-index:999 !important; width:46px; height:46px; touch-action:manipulation; } .meet-preston, .story-redesign, .reviews-redesign{ padding-top:44px !important; padding-bottom:48px !important; } .meet-grid, .services-equal-grid{ width:100%; } .meet-video-card{ width:min(330px, 92vw) !important; } .meet-proof-item, .service-equal-card, .story-card, .review-card{ border-radius:18px !important; } .service-equal-card{ grid-template-columns:48px minmax(0, 1fr) !important; } .story-step{ grid-template-columns:52px minmax(0, 1fr) !important; } .story-timeline::before{ left:25px !important; } } @media (max-width: 520px){ .site-header .logo-img{ max-width:min(190px, 58vw) !important; max-height:60px !important; } .hero-redesign{ padding-top:14px !important; padding-bottom:44px !important; } .hero-redesign .hero-image-shell{ width:min(350px, 86vw) !important; } .hero-copy-card, .meet-intro-card{ padding:1rem !important; } .hero-redesign h1{ font-size:clamp(2.05rem, 10.5vw, 3rem) !important; letter-spacing:0 !important; } #about-title, #story-title, #testimonials-title{ font-size:clamp(1.85rem, 8.7vw, 2.45rem) !important; } .meet-proof-item{ padding:.78rem .82rem !important; } .service-equal-card{ padding:.8rem !important; gap:.68rem !important; } .story-step{ gap:.62rem !important; } .story-year{ width:50px !important; min-height:50px !important; } .mobile-drawer .mobile-menu{ top:72px; max-height:calc(100vh - 72px); } } @media (max-width: 380px){ .container, .section .container, .hero-redesign .container{ padding-left:14px !important; padding-right:14px !important; } .site-header .logo-img{ max-width:168px !important; } .hero-redesign .hero-image-shell{ width:min(320px, 84vw) !important; } .service-equal-card{ grid-template-columns:44px minmax(0, 1fr) !important; } .story-step{ grid-template-columns:48px minmax(0, 1fr) !important; } .story-timeline::before{ left:23px !important; } .story-year{ width:46px !important; min-height:46px !important; font-size:.62rem !important; } } @keyframes softCueBounce{ 0%, 100%{ transform:translateY(0); } 50%{ transform:translateY(6px); } } body.is-scrolling .hero-redesign .scroll-cue{ animation-play-state:running !important; } @media (hover:hover) and (pointer:fine){ .btn:hover{ transform:translateY(-2px); } .hero-redesign .scroll-cue:hover{ background:#1f2352 !important; box-shadow:0 18px 42px rgba(46,48,148,.36) !important; } .service-equal-card:hover, .story-card:hover, .review-card:hover, .reviews-google-spotlight:hover, .meet-intro-card:hover, .meet-video-card:hover{ border-color:rgba(46,48,148,.32) !important; } } @media (prefers-reduced-motion: reduce), (max-width: 900px){ .interactive-lift, .interactive-lift.is-tilting, .interactive-lift:not(.is-tilting), .btn, .hero-redesign .scroll-cue{ transform:none !important; transition:none !important; animation:none !important; } } @media (max-width: 900px){ html{ margin-top:0 !important; padding-top:0 !important; } body{ margin-top:0 !important; padding-top:var(--header-h, 76px) !important; } .site-header{ position:fixed !important; top:0 !important; left:0 !important; right:0 !important; width:100% !important; margin-top:0 !important; transform:none !important; z-index:2000 !important; } .site-header .container.nav-rail{ margin-top:0 !important; } .mobile-drawer{ position:fixed !important; top:0 !important; left:0 !important; right:0 !important; z-index:1999 !important; } .mobile-drawer .mobile-menu{ top:var(--header-h, 76px) !important; } #home{ scroll-margin-top:var(--header-h, 76px) !important; } } @media (max-width: 640px){ body{ padding-top:var(--header-h, 72px) !important; } .mobile-drawer .mobile-menu{ top:var(--header-h, 72px) !important; } } .meet-actions, .hero-actions-clean, .band-ctas{ position:relative; z-index:20; pointer-events:auto; } .meet-actions .btn, .hero-actions-clean .btn, .band-ctas .btn{ position:relative; z-index:21; pointer-events:auto; cursor:pointer; } @media (max-width: 900px){ .meet-intro-card::before, .hero-copy-card::before{ pointer-events:none !important; } } .hero-redesign .hero-image-shell, .hero-redesign .photo-frame, .hero-redesign .photo-frame img{ border:0 !important; outline:0 !important; } .hero-redesign .photo-frame{ padding:0 !important; background:transparent !important; box-shadow:none !important; overflow:hidden !important; } .hero-redesign .photo-frame img{ box-shadow:none !important; } .hero-redesign .photo-frame::before, .hero-redesign .photo-frame::after, .hero-redesign .photo-frame .ring, .hero-redesign .ring{ content:none !important; display:none !important; } .fab-top{ display:none !important; } @media (max-width: 900px){ .fab-call, .fab-email{ right:14px !important; z-index:2100 !important; } .fab-email{ width:58px !important; height:58px !important; bottom:calc(18px + env(safe-area-inset-bottom)) !important; } .fab-call{ width:62px !important; height:62px !important; bottom:calc(84px + env(safe-area-inset-bottom)) !important; } .fab-top{ display:none !important; } } @media (max-width: 900px){ html{ scroll-behavior:auto; } body{ overscroll-behavior-y:auto; } .hero-redesign, .meet-preston, .story-redesign, .reviews-redesign, .cta-band, .footer{ overflow-x:hidden; } .hero-copy-card, .meet-intro-card, .meet-video-card, .service-equal-card, .story-card, .review-card, .reviews-google-spotlight{ contain:layout paint; backface-visibility:hidden; } .hero-copy-card, .meet-intro-card, .meet-video-card, .service-equal-card, .story-card, .review-card, .reviews-google-spotlight{ box-shadow:0 8px 20px rgba(0,0,0,.075) !important; } .hero-surface, .grid-overlay, .hero-surface .dot, .hero-surface .glow, .cursor, .scroll-progress{ display:none !important; } .interactive-lift, .interactive-lift.is-tilting, .interactive-lift:not(.is-tilting), .service-equal-card, .story-card, .review-card, .reviews-google-spotlight, .meet-intro-card, .meet-video-card, .btn, .mobile-drawer .mobile-menu a{ transition:none !important; } .meet-video-frame iframe{ display:block; contain:layout paint; } } @media (max-width: 520px){ .hero-copy-card, .meet-intro-card, .meet-video-card, .service-equal-card, .story-card, .review-card, .reviews-google-spotlight{ box-shadow:0 6px 16px rgba(0,0,0,.07) !important; } } html{ scroll-behavior:smooth; } #home, #about, #services, #story, #testimonials, #contact{ scroll-margin-top:calc(var(--header-h, 76px) + 12px) !important; } @media (max-width: 900px){ html{ scroll-behavior:auto !important; } .section, .cta-band, .footer, #home, #about, #services, #story, #testimonials, #contact{ content-visibility:visible !important; contain:none !important; contain-intrinsic-size:auto !important; } .site-header, .site-header *, .mobile-drawer.open, .mobile-drawer.open *, .footer, .footer *, .hero-actions-clean, .hero-actions-clean *, .meet-actions, .meet-actions *, .band-ctas, .band-ctas *{ pointer-events:auto !important; } .mobile-drawer:not(.open){ pointer-events:none !important; } .mobile-drawer.open{ pointer-events:auto !important; height:100vh !important; z-index:2200 !important; } .mobile-drawer.open .mobile-menu{ pointer-events:auto !important; z-index:2201 !important; } .mobile-drawer.open .mobile-menu a{ pointer-events:auto !important; position:relative !important; z-index:2202 !important; cursor:pointer !important; touch-action:manipulation !important; } } .hero-redesign .scroll-cue{ position:absolute !important; left:50% !important; bottom:22px !important; transform:translateX(-50%) !important; z-index:9999 !important; width:54px !important; height:54px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; border-radius:999px !important; background:#2e3094 !important; color:#ffffff !important; border:1px solid rgba(255,255,255,.55) !important; box-shadow:0 14px 32px rgba(46,48,148,.28) !important; text-decoration:none !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important; animation:heroBlueArrowBounce 1.65s ease-in-out infinite !important; } .hero-redesign .scroll-cue span{ display:inline-flex !important; align-items:center !important; justify-content:center !important; width:100% !important; height:100% !important; } .hero-redesign .scroll-cue svg{ width:30px !important; height:30px !important; stroke:currentColor !important; stroke-width:2.7 !important; fill:none !important; } @keyframes heroBlueArrowBounce{ 0%, 100%{ transform:translateX(-50%) translateY(0); } 50%{ transform:translateX(-50%) translateY(10px); } } @media (hover:hover) and (pointer:fine){ .hero-redesign .scroll-cue:hover{ background:#1f2352 !important; box-shadow:0 18px 42px rgba(46,48,148,.36) !important; } } @media (max-width:900px){ .hero-redesign .scroll-cue{ display:inline-flex !important; position:absolute !important; left:50% !important; bottom:18px !important; width:50px !important; height:50px !important; z-index:9999 !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important; transform:translateX(-50%) translateY(0) !important; animation:heroCircleBounce 1.35s ease-in-out infinite !important; } .hero-redesign .scroll-cue svg{ width:28px !important; height:28px !important; } .hero-redesign .scroll-cue path{ stroke:#ffffff !important; } } @media (min-width:901px){ .hero-redesign .scroll-cue{ display:inline-flex !important; position:absolute !important; left:50% !important; bottom:76px !important; transform:translateX(-50%) translateY(0) !important; width:58px !important; height:58px !important; z-index:9999 !important; opacity:1 !important; visibility:visible !important; background:#2e3094 !important; color:#ffffff !important; border-radius:999px !important; box-shadow:0 16px 36px rgba(46,48,148,.34) !important; animation:heroCircleBounce 1.35s ease-in-out infinite !important; animation-play-state:running !important; will-change:transform; } .hero-redesign .scroll-cue span{ animation:none !important; transform:none !important; } .hero-redesign .scroll-cue svg{ width:32px !important; height:32px !important; } } @keyframes heroCircleBounce{ 0%, 100%{ transform:translateX(-50%) translateY(0); } 50%{ transform:translateX(-50%) translateY(10px); } }
/* Source: public_html/site-interactions.css */
.mobile-carousel-arrow[type="button"]{ appearance:none; -webkit-appearance:none; margin:0; padding:0; border:0; font:inherit; cursor:pointer; touch-action:manipulation; transition:opacity .18s ease, transform .18s ease, color .18s ease; } .mobile-carousel-arrow[type="button"]:focus-visible{ outline:3px solid rgba(46,48,148,.28); outline-offset:3px; } .mobile-carousel-arrow[type="button"]:active{ transform:scale(.9); } .mobile-carousel-arrow[type="button"][disabled]{ opacity:.28 !important; cursor:default; } .site-header.is-scrolled{ box-shadow:0 10px 28px rgba(16,19,49,.11); } @media (max-width:700px){ .mobile-carousel-arrows{ pointer-events:none !important; } .mobile-carousel-arrow[type="button"]{ pointer-events:auto !important; } } @media (prefers-reduced-motion:reduce){ .mobile-carousel-arrow[type="button"]{ transition:none; } }
/* Source: public_html/resources.css */
:root{ --resource-blue:#2e3094; --resource-ink:#1f2352; --resource-text:#3f4358; --resource-soft:#f4f6ff; --resource-line:rgba(46,48,148,.17); } .resource-page .hero{ background:linear-gradient(145deg,#eef1ff 0%,#ffffff 58%,#edf5ff 100%); } .resource-page .hero-card{ transform:none !important; } .resource-page .hero-card img{ aspect-ratio:4/3; object-position:center; } .resource-page .hero-actions{ align-items:center; } body[data-nav-key="projects"] .hero-card img{ object-position:center top; } body[data-nav-key="projects"] #projects .section-head{ display:grid; justify-items:center; gap:.75rem; } body[data-nav-key="projects"] #projects .section-head .kicker, body[data-nav-key="projects"] #projects .section-head h2, body[data-nav-key="projects"] #projects .section-head .lead{ margin:0; transform:none; } @media (max-width:900px){ body[data-nav-key="projects"] #projects .section-head{ justify-items:start; } } .resource-index-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; } .resource-index-card{ min-width:0; display:flex; flex-direction:column; padding:1.1rem; border:1px solid var(--resource-line); border-top:4px solid var(--resource-blue); border-radius:8px; background:#ffffff; box-shadow:0 14px 30px rgba(16,19,49,.07); } .resource-index-card h2, .resource-index-card h3{ margin-top:.8rem; } .resource-index-card p{ margin:.45rem 0 1rem; color:var(--resource-text); } .resource-index-card .btn{ margin-top:auto; align-self:flex-start; } .source-strip{ padding:1rem; border-left:4px solid var(--resource-blue); background:var(--resource-soft); } .source-strip p{ color:var(--resource-text); } .source-strip a{ color:var(--resource-blue); font-weight:850; } .project-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; } .project-card{ min-width:0; overflow:hidden; border:1px solid var(--resource-line); border-radius:8px; background:#ffffff; box-shadow:0 14px 30px rgba(16,19,49,.07); } .project-card--review{ border-top:4px solid var(--resource-blue); } .project-card-media{ position:relative; overflow:hidden; } .project-card img{ width:100%; aspect-ratio:4/3; object-fit:cover; } .project-card-media img{ display:block; } .project-card-copy{ padding:1rem; } .project-card-copy p{ margin-top:.42rem; color:var(--resource-text); } .project-card-tag{ display:inline-flex; padding:.28rem .58rem; border-radius:999px; background:#eef1ff; color:var(--resource-blue); font-size:.74rem; font-weight:900; text-transform:uppercase; } .project-filters{ display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1rem; } .project-filter{ min-height:42px; padding:.55rem .8rem; border:1px solid var(--resource-line); border-radius:999px; background:#ffffff; color:var(--resource-ink); font:inherit; font-size:.86rem; font-weight:850; cursor:pointer; } .project-filter.is-active{ border-color:var(--resource-blue); background:var(--resource-blue); color:#ffffff; } .project-meta{ display:flex; flex-wrap:wrap; gap:.35rem .7rem; margin:.55rem 0; color:#666c82; font-size:.78rem; font-weight:750; } .project-meta span::before{ content:""; display:inline-block; width:5px; height:5px; margin:0 .45rem .1rem 0; border-radius:50%; background:var(--resource-blue); } .project-card[hidden]{ display:none !important; } @keyframes resourceResultIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } } @media (hover:hover) and (pointer:fine){ .resource-index-card:hover, .project-card:hover{ transform:translateY(-3px); box-shadow:0 20px 42px rgba(16,19,49,.11); } .resource-index-card, .project-card{ transition:transform .2s ease,box-shadow .2s ease; } } @media (max-width:860px){ .resource-index-grid{ grid-template-columns:1fr; } } @media (max-width:680px){ .project-grid{ grid-template-columns:1fr; } } @media (prefers-reduced-motion:reduce){ .resource-index-card, .project-card{ transition:none; } } .tools-hero{ position:relative; overflow:hidden; padding:clamp(54px,8vw,104px) 0 clamp(62px,9vw,116px); background: radial-gradient(circle at 12% 18%,rgba(96,99,172,.18),transparent 28rem), radial-gradient(circle at 92% 76%,rgba(64,151,196,.15),transparent 25rem), linear-gradient(145deg,#f5f6ff 0%,#ffffff 54%,#edf7ff 100%); } .tools-hero::after{ content:""; position:absolute; inset:auto -5% -150px; height:250px; border-radius:50% 50% 0 0; background:rgba(46,48,148,.045); transform:rotate(-3deg); pointer-events:none; } .tools-hero__grid{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); gap:clamp(2rem,6vw,5.5rem); align-items:center; } .tools-hero h1{ max-width:760px; margin:.75rem 0 1rem; color:var(--resource-ink); font-size:clamp(2.65rem,6vw,5.2rem); line-height:.96; letter-spacing:-.055em; } .tools-hero h1 span{ display:block; color:var(--resource-blue); } .tools-hero .lead{ max-width:690px; color:#464b63; font-size:clamp(1.04rem,1.7vw,1.24rem); line-height:1.65; } .tools-hero__art{ position:relative; margin:0; } .tools-hero__art img{ width:100%; height:auto; display:block; filter:drop-shadow(0 24px 35px rgba(21,25,66,.13)); } .tools-hero__actions{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.4rem; } .tools-section-head h2{ margin:.55rem 0 0; max-width:760px; color:var(--resource-ink); font-size:clamp(2rem,4vw,3.3rem); line-height:1.03; letter-spacing:-.035em; } .tools-directory{ padding:clamp(54px,8vw,102px) 0; background: linear-gradient(180deg,#fff 0%,#f7f8ff 38%,#fff 100%); } .tools-section-head{ max-width:820px; margin:0 auto clamp(1.5rem,4vw,2.8rem); text-align:center; } .tools-section-head p{ max-width:680px; margin:.8rem auto 0; color:var(--resource-text); line-height:1.65; } .tool-showcase-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.85rem,2vw,1.35rem); } .tool-showcase-card{ position:relative; min-width:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid rgba(46,48,148,.15); border-radius:28px; background:#fff; box-shadow:0 18px 42px rgba(21,25,66,.08); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; } .tool-showcase-card::before{ content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,#2e3094,#6063ac); z-index:2; } .tool-showcase-card--scam::before{ background:linear-gradient(90deg,#a52b3a,#e69b2e); } .tool-showcase-card--business::before{ background:linear-gradient(90deg,#16836b,#4097c4); } .tool-showcase-card__art{ display:block; width:100%; aspect-ratio:1.42; object-fit:cover; background:#eef1ff; } .tool-showcase-card__body{ flex:1; display:flex; flex-direction:column; padding:clamp(1rem,2vw,1.35rem); } .tool-showcase-card h3{ margin:0; color:var(--resource-ink); font-size:clamp(1.35rem,2.2vw,1.75rem); line-height:1.1; } .tool-showcase-card__intro{ margin:.62rem 0 .9rem; color:var(--resource-text); line-height:1.55; } .tool-card-facts{ display:grid; gap:.55rem; margin:0 0 1.1rem; } .tool-card-facts div{ display:grid; grid-template-columns:82px 1fr; gap:.55rem; padding-top:.55rem; border-top:1px solid rgba(46,48,148,.09); } .tool-card-facts dt{ color:#62677b; font-size:.75rem; font-weight:900; text-transform:uppercase; } .tool-card-facts dd{ margin:0; color:#30354b; font-size:.86rem; line-height:1.4; } .tool-showcase-card .btn{ margin-top:auto; width:100%; } .tools-advisor{ padding:clamp(52px,7vw,86px) 0; background:#eef1ff; } .tools-advisor__grid{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; } .tools-advisor h2{ margin:0; color:var(--resource-ink); font-size:clamp(1.8rem,3.5vw,2.85rem); line-height:1.06; } .tools-advisor p{ max-width:760px; margin:.6rem 0 0; color:var(--resource-text); } .tools-advisor__actions{ display:flex; flex-wrap:wrap; gap:.65rem; } @media (max-width:1000px){ } .guided-tool-hero{ padding:clamp(42px,6vw,76px) 0; background: radial-gradient(circle at 10% 20%,rgba(96,99,172,.15),transparent 22rem), linear-gradient(145deg,#f7f8ff,#fff 56%,#eef6ff); } .guided-tool-hero__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.72fr); gap:clamp(1.5rem,5vw,4rem); align-items:center; } .guided-tool-hero h1{ max-width:740px; margin:.6rem 0 .8rem; color:var(--resource-ink); font-size:clamp(2.35rem,5vw,4.4rem); line-height:.98; letter-spacing:-.045em; } .guided-tool-hero .lead{ max-width:680px; color:var(--resource-text); line-height:1.65; } .guided-tool-hero__art{ overflow:hidden; margin:0; border-radius:28px; box-shadow:0 20px 46px rgba(21,25,66,.11); } .guided-tool-hero__art img{ width:100%; height:auto; display:block; } .guided-tool-meta{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.05rem; } .guided-tool-meta span{ display:inline-flex; align-items:center; min-height:34px; padding:.42rem .65rem; border-radius:999px; background:#fff; border:1px solid var(--resource-line); color:#464b62; font-size:.78rem; font-weight:850; } .guided-tool-section{ padding:clamp(46px,7vw,84px) 0; background:#fff; } .guided-tool-shell{ display:grid; grid-template-columns:minmax(220px,.34fr) minmax(0,.66fr); gap:clamp(1rem,3vw,2rem); align-items:start; } .guided-tool-aside{ position:sticky; top:108px; padding:1.15rem; border:1px solid var(--resource-line); border-radius:22px; background:#f7f8ff; } .guided-tool-aside h2{ margin:.55rem 0 .55rem; color:var(--resource-ink); font-size:1.45rem; } .guided-tool-aside p{ margin:0; color:var(--resource-text); font-size:.92rem; line-height:1.55; } .guided-tool-aside ul{ display:grid; gap:.45rem; margin:.85rem 0 0; padding:0; list-style:none; } .guided-tool-aside li{ position:relative; padding-left:1.2rem; color:#474c63; font-size:.84rem; } .guided-tool-aside li::before{ content:""; position:absolute; left:0; top:.48em; width:7px; height:7px; border-radius:50%; background:#2e3094; } .guided-wizard{ min-width:0; overflow:hidden; border:1px solid rgba(46,48,148,.16); border-radius:26px; background:#fff; box-shadow:0 22px 56px rgba(21,25,66,.1); } .wizard-progress{ padding:1rem 1.1rem .85rem; background:#151942; color:#fff; } .wizard-progress__row{ display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:.65rem; font-size:.78rem; font-weight:900; letter-spacing:.03em; } .wizard-progress__track{ height:8px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.17); } .wizard-progress__bar{ display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#78d7bd,#fff); transition:width .28s ease; } .wizard-step{ min-height:420px; padding:clamp(1.1rem,3vw,2rem); } .wizard-step[hidden], .wizard-result[hidden]{ display:none !important; } .wizard-step__number{ display:inline-flex; align-items:center; min-height:28px; padding:.3rem .55rem; border-radius:999px; background:#eef1ff; color:#2e3094; font-size:.72rem; font-weight:900; text-transform:uppercase; } .wizard-step h2{ max-width:720px; margin:.7rem 0 .45rem; color:var(--resource-ink); font-size:clamp(1.55rem,3.2vw,2.2rem); line-height:1.12; } .wizard-step h2[tabindex="-1"]:focus, .wizard-result h2[tabindex="-1"]:focus{ outline:none; } .wizard-step__help{ max-width:720px; margin:0 0 1.15rem; color:#62677a; line-height:1.55; } .wizard-options{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; } .wizard-options--three{ grid-template-columns:repeat(3,minmax(0,1fr)); } .wizard-choice{ position:relative; min-width:0; } .wizard-choice input{ position:absolute; opacity:0; pointer-events:none; } .wizard-choice span{ min-height:64px; display:flex; align-items:center; gap:.65rem; padding:.8rem; border:2px solid #e2e5f2; border-radius:16px; background:#fff; color:#31364d; font-weight:850; line-height:1.3; cursor:pointer; transition:border-color .16s ease,background-color .16s ease,transform .16s ease,box-shadow .16s ease; } .wizard-choice span::before{ content:""; flex:0 0 18px; width:18px; height:18px; border:2px solid #aeb4ca; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 4px #fff; } .wizard-choice input[type="checkbox"] + span::before{ border-radius:5px; } .wizard-choice input:checked + span{ border-color:#2e3094; background:#eef1ff; color:#242770; box-shadow:0 8px 20px rgba(46,48,148,.09); } .wizard-choice input:checked + span::before{ border-color:#2e3094; background:#2e3094; } .wizard-choice input:focus-visible + span{ outline:3px solid rgba(46,48,148,.24); outline-offset:3px; } .wizard-textarea{ width:100%; min-height:180px; resize:vertical; padding:1rem; border:2px solid #dfe3f1; border-radius:16px; background:#fff; color:#252a42; font:inherit; line-height:1.55; } .wizard-textarea:focus{ border-color:#2e3094; outline:3px solid rgba(46,48,148,.15); outline-offset:2px; } .wizard-privacy-note{ margin:.65rem 0 0; padding:.65rem .75rem; border-left:4px solid #e69b2e; background:#fff8e8; color:#5a4a2d; font-size:.8rem; line-height:1.45; } .wizard-validation{ min-height:1.3em; margin:.7rem 0 0; color:#a52b3a; font-size:.84rem; font-weight:800; } .wizard-nav{ display:flex; justify-content:space-between; gap:.65rem; margin-top:1.4rem; padding-top:1rem; border-top:1px solid rgba(46,48,148,.1); } .wizard-nav__end{ margin-left:auto; } .wizard-result{ padding:clamp(1.1rem,3vw,2rem); } .wizard-result__header{ display:grid; grid-template-columns:auto 1fr; gap:.85rem; align-items:center; padding-bottom:1rem; border-bottom:1px solid rgba(46,48,148,.11); } .wizard-result__score{ width:78px; height:78px; display:grid; place-items:center; border-radius:24px; background:#2e3094; color:#fff; font-size:1.3rem; font-weight:900; } .wizard-result[data-level="low"] .wizard-result__score{ background:#16836b; } .wizard-result[data-level="medium"] .wizard-result__score{ background:#a96d16; } .wizard-result[data-level="high"] .wizard-result__score, .wizard-result[data-level="critical"] .wizard-result__score{ background:#a52b3a; } .wizard-result__eyebrow{ display:block; margin-bottom:.25rem; color:#666b7e; font-size:.73rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; } .wizard-result h2{ margin:0; color:var(--resource-ink); font-size:clamp(1.6rem,3vw,2.25rem); } .wizard-result__summary{ margin:.85rem 0 0; color:#42475d; line-height:1.6; } .result-dashboard{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1rem; } .result-panel{ min-width:0; padding:.9rem; border:1px solid rgba(46,48,148,.12); border-radius:16px; background:#f8f9ff; } .result-panel--wide{ grid-column:1 / -1; } .result-panel h3{ margin:0; color:#252a46; font-size:.95rem; } .result-panel p{ margin:.38rem 0 0; color:#50566d; font-size:.86rem; line-height:1.5; } .result-panel ul{ display:grid; gap:.38rem; margin:.55rem 0 0; padding-left:1.15rem; } .result-panel li{ color:#50566d; font-size:.85rem; line-height:1.42; } .wizard-email-panel{ margin-top:1rem; padding:1rem; border-radius:18px; background:#151942; color:#fff; } .wizard-email-panel h3{ margin:0; color:#fff; } .wizard-email-panel p{ margin:.35rem 0 .8rem; color:rgba(255,255,255,.72); font-size:.88rem; line-height:1.5; } .wizard-email-panel .btn--ghost{ border-color:rgba(255,255,255,.4); color:#fff; } .wizard-result-actions{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; } .tool-disclaimer{ padding:1rem; border-left:4px solid #6063ac; background:#f4f6ff; color:#53586e; font-size:.82rem; line-height:1.5; } .related-tool-links{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; } .related-tool-links a{ min-width:0; padding:1rem; border:1px solid var(--resource-line); border-radius:16px; background:#fff; color:#2e3094; font-weight:900; text-decoration:none; } .related-tool-links a span{ display:block; margin-top:.3rem; color:#5c6176; font-size:.82rem; font-weight:600; } @media (hover:hover) and (pointer:fine){ .tool-showcase-card:hover{ transform:translateY(-5px); box-shadow:0 25px 58px rgba(21,25,66,.13); border-color:rgba(46,48,148,.28); } .wizard-choice span:hover{ transform:translateY(-1px); border-color:rgba(46,48,148,.42); } } @media (max-width:980px){ .tools-hero__grid, .guided-tool-hero__grid{ grid-template-columns:1fr; } .tools-hero__art, .guided-tool-hero__art{ width:min(680px,100%); margin-inline:auto; } .tool-showcase-grid{ grid-template-columns:1fr; width:min(760px,100%); margin-inline:auto; } .tool-showcase-card{ display:grid; grid-template-columns:minmax(210px,.42fr) minmax(0,.58fr); } .tool-showcase-card__art{ height:100%; aspect-ratio:auto; object-fit:cover; } .tools-advisor__grid{ grid-template-columns:1fr; gap:1rem; } } @media (max-width:760px){ .guided-tool-shell{ grid-template-columns:1fr; } .guided-tool-aside{ position:static; } .tool-showcase-card{ display:flex; } .tool-showcase-card__art{ aspect-ratio:1.6; height:auto; } .wizard-options--three{ grid-template-columns:repeat(2,minmax(0,1fr)); } .related-tool-links{ grid-template-columns:1fr; } } @media (max-width:680px){ .tools-hero{ padding:40px 0 58px; } .tools-hero h1{ font-size:clamp(2.45rem,13vw,3.8rem); } .tools-hero__grid{ gap:1.5rem; } .tools-hero__actions, .tools-advisor__actions{ flex-direction:column; } .tools-hero__actions .btn, .tools-advisor__actions .btn{ width:100%; } .guided-tool-hero{ padding:34px 0 46px; } .guided-tool-hero h1{ font-size:clamp(2.25rem,12vw,3.5rem); } .guided-tool-meta{ display:grid; grid-template-columns:1fr 1fr; } .guided-tool-meta span{ border-radius:12px; } .guided-wizard{ border-radius:20px; } .wizard-step{ min-height:0; padding:1rem; } .wizard-options, .wizard-options--three{ grid-template-columns:1fr; } .wizard-choice span{ min-height:58px; } .wizard-nav{ flex-wrap:wrap; } .wizard-nav .btn{ flex:1; min-width:120px; } .result-dashboard{ grid-template-columns:1fr; } .result-panel--wide{ grid-column:auto; } .wizard-result__header{ grid-template-columns:1fr; } .wizard-result__score{ width:auto; height:48px; border-radius:14px; } .wizard-result-actions{ flex-direction:column; } .wizard-result-actions .btn{ width:100%; } } @media (max-width:380px){ .guided-tool-meta{ grid-template-columns:1fr; } .tool-card-facts div{ grid-template-columns:1fr; gap:.2rem; } } @media (prefers-reduced-motion:reduce){ .tool-showcase-card, .wizard-choice span, .wizard-progress__bar{ transition:none; } }
/* Source: public_html/audience.css */
:root{ --residential-accent:#4f63b8; --residential-soft:#f1f4ff; --business-accent:#1f2352; --business-soft:#eef1f8; --audience-line:rgba(46,48,148,.16); --audience-shadow:0 18px 44px rgba(20,24,62,.10); } html, body{ height:auto; min-height:100%; } html body.experience-ready [hidden]{ display:none !important; } .site-header .nav-rail{ min-height:76px !important; padding:.35rem 0 !important; } .site-header .logo-img{ width:auto !important; height:72px !important; max-width:190px !important; max-height:72px !important; object-fit:contain !important; } .audience-nav-list{ overflow:visible !important; padding:.25rem !important; gap:.12rem !important; } .audience-nav-list > li{ position:relative; } .audience-nav-list a, .audience-menu__toggle{ min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:.35rem; padding:.45rem .62rem; border:0; border-radius:8px; background:transparent; color:#333333; font:inherit; font-size:.9rem; font-weight:800; line-height:1; text-decoration:none; white-space:nowrap; cursor:pointer; } .primary-nav .audience-nav-list a:hover, .audience-menu__toggle:hover, .primary-nav .audience-nav-list a.active, .audience-menu__toggle.active{ color:var(--brand); background:#eef1ff; box-shadow:none; } .audience-menu__toggle::after{ content:""; width:7px; height:7px; margin-top:-3px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .18s ease; } .audience-menu__toggle[aria-expanded="true"]::after{ transform:translateY(3px) rotate(225deg); } .audience-menu__panel{ position:absolute; top:calc(100% + .55rem); left:0; z-index:10020; width:min(350px, 92vw); display:grid; grid-template-columns:minmax(0,1fr); gap:.1rem; padding:.55rem; border:1px solid var(--audience-line); border-radius:8px; background:#ffffff; box-shadow:0 22px 54px rgba(16,19,49,.18); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s; } .audience-menu__panel.is-open{ transition:opacity .18s ease, transform .18s ease, visibility 0s; opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); } @media (hover:hover) and (pointer:fine){ body:not(.experience-ready) .audience-menu:hover .audience-menu__panel, body:not(.experience-ready) .audience-menu:focus-within .audience-menu__panel{ opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); } } .audience-menu__panel strong{ display:block; padding:.45rem .65rem .3rem; color:var(--ink); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; } .audience-menu__panel a{ width:100%; min-height:42px; justify-content:flex-start; padding:.62rem .65rem; border-radius:6px; color:#34384c; font-size:.88rem; white-space:normal; } .audience-menu__panel a:first-of-type{ color:var(--brand); font-weight:900; background:#f4f6ff; } .audience-menu__panel a:hover{ background:#eef1ff; } .audience-menu__toggle:focus-visible, .audience-nav-list a:focus-visible, .audience-mobile-nav a:focus-visible, .audience-mobile-nav summary:focus-visible{ outline:3px solid rgba(79,99,184,.38); outline-offset:2px; } .audience-mobile-nav{ padding:.55rem; background:#ffffff; color:#2f3348; } .audience-mobile-nav > a, .audience-mobile-nav summary{ display:flex; min-height:48px; align-items:center; padding:.72rem .8rem; border-radius:7px; color:#2f3348; font-weight:850; text-decoration:none; cursor:pointer; } .audience-mobile-nav details{ border-bottom:1px solid #eceef7; } .audience-mobile-nav summary{ justify-content:space-between; list-style:none; } .audience-mobile-nav summary::-webkit-details-marker{ display:none; } .audience-mobile-nav summary::after{ content:"+"; color:var(--brand); font-size:1.3rem; font-weight:700; } .audience-mobile-nav details[open] summary::after{ content:"−"; } .audience-mobile-sub{ display:grid; gap:.12rem; padding:0 .45rem .55rem 1rem; border-left:3px solid rgba(46,48,148,.14); margin:0 .65rem .45rem; } .audience-mobile-sub a{ min-height:42px; display:flex; align-items:center; padding:.55rem .65rem; border-radius:6px; color:#45495d; font-size:.9rem; font-weight:760; text-decoration:none; } .audience-mobile-sub a:hover{ color:var(--brand); background:#f4f6ff; } .audience-mobile-call{ justify-content:center !important; margin-top:.45rem; background:var(--brand); color:#ffffff !important; } .audience-breadcrumb{ background:#f8f9ff; border-bottom:1px solid rgba(46,48,148,.10); } .audience-breadcrumb ol{ width:min(1160px,92%); min-height:42px; display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; margin:0 auto; padding:.35rem 0; list-style:none; color:#666b7f; font-size:.82rem; } .audience-breadcrumb li{ display:inline-flex; align-items:center; gap:.4rem; } .audience-breadcrumb li:not(:last-child)::after{ content:"/"; color:#9a9eb0; } .audience-breadcrumb a{ color:var(--brand); font-weight:800; text-decoration:none; } .audience-breadcrumb [aria-current="page"]{ color:#555a6e; } .business-capabilities__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; } .business-capability{ min-height:220px; display:flex; flex-direction:column; padding:1.2rem; border:1px solid rgba(31,35,82,.15); border-radius:8px; background:#ffffff; box-shadow:0 12px 30px rgba(20,24,62,.08); } .business-capability h3{ margin:0 0 .45rem; color:#1f2352; font-size:1.18rem; } .business-capability p{ margin:0 0 1rem; color:#52576b; } .business-capability a{ margin-top:auto; color:var(--brand); font-weight:850; text-decoration:none; } .business-capability a::after{ content:" →"; } .audience-hub{ --hub-accent:var(--brand); --hub-soft:#f2f4ff; } .residential-hub{ --hub-accent:var(--residential-accent); --hub-soft:var(--residential-soft); } .business-hub{ --hub-accent:var(--business-accent); --hub-soft:var(--business-soft); } .audience-hub .hero{ background:linear-gradient(180deg,#ffffff,var(--hub-soft)); } .audience-hub .hero-card{ border-top:5px solid var(--hub-accent); } .hub-summary{ padding:1rem 0; background:var(--hub-accent); color:#ffffff; } .hub-summary .container{ display:flex; align-items:center; justify-content:space-between; gap:1rem; } .hub-summary p{ margin:0; color:rgba(255,255,255,.86); } .hub-summary a{ display:inline-flex; min-height:44px; align-items:center; padding:.35rem 0; color:#ffffff; font-weight:900; touch-action:manipulation; } .hub-service-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; } .hub-service-card{ min-height:190px; display:flex; flex-direction:column; padding:1rem; border:1px solid var(--audience-line); border-top:4px solid var(--hub-accent); border-radius:8px; background:#ffffff; box-shadow:0 10px 26px rgba(20,24,62,.07); } .hub-service-card h3{ margin:0 0 .4rem; color:#1f2352; font-size:1.08rem; } .hub-service-card p{ margin:0 0 .85rem; color:#555a6f; font-size:.92rem; } .hub-service-card a{ margin-top:auto; color:var(--hub-accent); font-weight:850; text-decoration:none; } .hub-service-card a::after{ content:" →"; } .hub-process{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; counter-reset:hub-step; } .hub-process article{ counter-increment:hub-step; padding:1rem; border-left:4px solid var(--hub-accent); background:#ffffff; box-shadow:0 8px 22px rgba(20,24,62,.06); } .hub-process article::before{ content:counter(hub-step, decimal-leading-zero); display:block; margin-bottom:.45rem; color:var(--hub-accent); font-size:.82rem; font-weight:900; } .hub-process h3{ margin:0 0 .3rem; font-size:1rem; } .hub-process p{ margin:0; color:#5a5f73; font-size:.9rem; } .hub-cta{ padding:clamp(38px,6vw,64px) 0; background:#151941; color:#ffffff; } .hub-cta__inner{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.2rem; align-items:center; } .hub-cta h2{ color:#ffffff; } .hub-cta p{ margin:.4rem 0 0; color:rgba(255,255,255,.76); } .hub-cta__actions{ display:flex; gap:.6rem; flex-wrap:wrap; } .hub-cta .btn--ghost{ color:#ffffff; border-color:rgba(255,255,255,.3); background:transparent; } body[data-nav-key="home"] #home.hero-redesign{ background:#f4f6ff !important; } body[data-nav-key="home"] #home .hero-surface{ display:none !important; } body[data-nav-key="home"] #home .hero-copy-card{ overflow:visible; padding-left:0; padding-right:0; border:0; background:transparent; box-shadow:none; backdrop-filter:none; } body[data-nav-key="home"] #home .hero-copy-card::before{ display:none; } body[data-nav-key="home"] #home .hero-image-shell::before{ content:""; position:absolute; inset:20px -18px -18px 20px; z-index:-1; border-radius:28px; background:#dfe4fb; } body[data-nav-key="home"] #home .photo-frame img{ border:1px solid rgba(255,255,255,.85); box-shadow:0 24px 58px rgba(20,24,62,.17); } body #home .hero-actions-clean{ display:flex !important; flex-wrap:wrap; gap:.6rem; } body #home .hero-actions-clean .btn{ display:inline-flex !important; } body[data-nav-key="home"] #home .hero-actions-clean .hero-learn-more{ border-color:rgba(46,48,148,.22) !important; background:#ffffff !important; color:var(--brand) !important; box-shadow:0 12px 26px rgba(20,24,62,.10) !important; } body[data-nav-key="home"]:not(.contact-ready) .fab-call, body[data-nav-key="home"]:not(.contact-ready) .fab-email{ opacity:0 !important; visibility:hidden !important; pointer-events:none !important; } .mobile-floating-contact{ transition:opacity .2s ease, visibility .2s ease, transform .2s ease; } body:not(.contact-ready) .mobile-floating-contact{ opacity:0 !important; visibility:hidden !important; pointer-events:none !important; transform:translateY(8px); } body.contact-ready .mobile-floating-contact{ opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); } h1, h2, h3, .cta-title{ overflow-wrap:normal !important; word-break:normal !important; hyphens:none !important; } .hero-redesign .scroll-cue{ display:none !important; } @media (max-width:1100px){ :root{ --header-h:72px !important; } body{ padding-top:72px !important; } .site-header .nav-rail{ min-height:60px !important; } .site-header .logo-img{ height:60px !important; max-width:150px !important; max-height:60px !important; } .site-header .primary-nav, .site-header .nav-actions{ display:none !important; } .site-header .nav-toggle-btn{ display:flex !important; } body.menu-open{ overflow-x:hidden !important; overflow-y:auto !important; } .site-header .mobile-drawer{ position:fixed !important; inset:var(--header-h, 72px) 0 auto !important; display:block !important; width:100% !important; height:auto !important; max-height:none !important; overflow:visible !important; background:transparent !important; opacity:0; visibility:hidden; pointer-events:none !important; transform:none !important; transition:opacity .16s ease, visibility 0s linear .16s !important; contain:layout paint; } .site-header .mobile-drawer.open{ height:auto !important; opacity:1; visibility:visible; pointer-events:auto !important; transition:opacity .16s ease, visibility 0s linear 0s !important; } .site-header .mobile-drawer .mobile-menu{ position:relative !important; inset:auto !important; max-height:calc(100dvh - var(--header-h, 72px) - 8px) !important; height:auto !important; overflow-y:auto !important; overscroll-behavior:contain; background:#ffffff !important; border-top:1px solid #eceef7 !important; border-bottom:1px solid #e2e5f1 !important; box-shadow:0 18px 36px rgba(16,19,49,.12) !important; transform:translate3d(0, -6px, 0) !important; opacity:0; transition:transform .16s ease-out, opacity .14s ease !important; will-change:transform, opacity; } .site-header .mobile-drawer.open .mobile-menu{ transform:translate3d(0, 0, 0) !important; opacity:1; } .site-header .nav-toggle-btn, .site-header .nav-toggle-btn:active{ transform:none !important; transition:background-color .16s ease, color .16s ease !important; } body[data-nav-key="home"] #home .hero-image-shell::before{ inset:12px -10px -10px 12px; border-radius:22px; } } @media (min-width:1101px){ :root{ --header-h:84px !important; } body{ padding-top:84px !important; } .site-header .mobile-drawer{ display:none !important; } #home.hero-redesign{ min-height:clamp(640px, calc(100vh - 230px), 760px) !important; padding-top:24px !important; padding-bottom:24px !important; } } @media (max-width:820px){ .business-capabilities__grid, .hub-service-grid{ grid-template-columns:1fr 1fr; } .hub-process{ grid-template-columns:1fr 1fr; } } @media (max-width:600px){ .audience-breadcrumb [aria-current="page"]{ display:none; } .audience-breadcrumb li:nth-last-child(2)::after{ display:none; } .business-capabilities__grid, .hub-service-grid, .hub-process{ grid-template-columns:1fr; } .business-capability, .hub-service-card{ min-height:0; } .hub-summary .container, .hub-cta__inner{ display:grid; grid-template-columns:1fr; } .hub-cta__actions{ display:grid; grid-template-columns:1fr; } .hub-cta__actions .btn{ width:100%; } body #home .hero-actions-clean{ display:grid !important; grid-template-columns:1fr !important; } body #home .hero-actions-clean .btn{ width:100% !important; } } @media (prefers-reduced-motion:reduce){ .audience-menu__panel, .audience-menu__toggle::after{ transition:none !important; } .site-header .mobile-drawer, .site-header .mobile-drawer .mobile-menu{ transition:none !important; } } @media (max-width:1100px){ :root{ --header-h:80px !important; } html body{ padding-top:80px !important; padding-bottom:0 !important; } .site-header{ height:80px !important; min-height:80px !important; } .site-header .container.nav-rail{ height:80px !important; min-height:80px !important; padding:6px 0 !important; align-items:center !important; } .site-header .brand{ display:flex !important; height:68px !important; align-items:center !important; } .site-header .logo-img{ width:auto !important; height:64px !important; max-width:160px !important; max-height:64px !important; margin:0 !important; } .site-header .nav-toggle-btn, .site-header .nav-toggle-btn:active{ position:static !important; inset:auto !important; width:46px !important; height:46px !important; min-width:46px !important; flex:0 0 46px !important; margin:0 14px 0 auto !important; padding:0 !important; align-self:center !important; border:1px solid rgba(46,48,148,.14) !important; border-radius:50% !important; background:#f7f8fc !important; transform:none !important; box-shadow:none !important; } .site-header .mobile-drawer{ inset:80px 0 auto !important; } .site-header .mobile-drawer .mobile-menu{ max-height:calc(100dvh - 88px) !important; } body.footer-in-view .fab-call, body.footer-in-view .fab-email, body.footer-in-view .mobile-floating-contact{ opacity:0 !important; visibility:hidden !important; pointer-events:none !important; transform:translateY(10px) !important; } footer{ margin-bottom:0 !important; padding-bottom:max(20px, env(safe-area-inset-bottom)) !important; } } @media (max-width:1100px){ body .fab-call, body .fab-email, body[data-nav-key="home"]:not(.contact-ready) .fab-call, body[data-nav-key="home"]:not(.contact-ready) .fab-email{ position:fixed !important; right:14px !important; z-index:9998 !important; display:inline-flex !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important; transform:none !important; } body .fab-call{ bottom:calc(80px + env(safe-area-inset-bottom)) !important; } body .fab-email{ bottom:calc(16px + env(safe-area-inset-bottom)) !important; } body .mobile-floating-contact, body:not(.contact-ready) .mobile-floating-contact, body.contact-ready .mobile-floating-contact, body.footer-in-view .mobile-floating-contact{ position:fixed !important; right:14px !important; bottom:calc(16px + env(safe-area-inset-bottom)) !important; z-index:9998 !important; display:flex !important; flex-direction:column !important; align-items:center !important; gap:.55rem !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important; transform:none !important; } body.footer-in-view .fab-call, body.footer-in-view .fab-email{ opacity:1 !important; visibility:visible !important; pointer-events:auto !important; transform:none !important; } } @media (min-width:1101px){ body .mobile-floating-contact{ display:none !important; } } @media (max-width:1100px){ .site-header .mobile-drawer{ transform:none !important; } .site-header .mobile-drawer .mobile-menu{ scrollbar-gutter:stable; overscroll-behavior-y:contain; } .site-header .mobile-drawer a, .site-header .mobile-drawer summary{ touch-action:manipulation; } } @media (max-width:600px){ .audience-hub .section{ padding-block:34px; } .audience-hub .section-head{ margin-bottom:1rem; text-align:left; } .audience-hub .hub-summary .container{ gap:.4rem; } .audience-hub .hub-service-grid, .audience-hub .hub-process, .audience-hub .situation-grid, .audience-hub .visual-grid{ gap:.68rem; } .audience-hub .hub-service-card, .audience-hub .situation-card, .audience-hub .visual-card{ border-radius:12px; box-shadow:0 8px 22px rgba(20,24,62,.06); } .audience-hub .faq{ gap:.52rem; } .audience-hub .faq details{ border-radius:10px; } } :root{ --experience-navy:#171a46; --experience-indigo:#2e3094; --experience-blue:#6676d8; --experience-surface:#ffffff; --experience-canvas:#f3f5fb; --experience-line:rgba(46,48,148,.14); --experience-shadow:0 24px 70px rgba(18,22,61,.13); --experience-ease:cubic-bezier(.2,.8,.2,1); } html{ scroll-padding-top:104px; } html body.experience-ready{ background:var(--experience-canvas); } html body.experience-ready main{ overflow:clip; } html body .scroll-progress.experience-progress, html body .experience-progress{ position:fixed !important; inset:0 0 auto !important; z-index:20050 !important; display:block !important; width:100% !important; height:4px !important; overflow:hidden !important; opacity:1 !important; background:rgba(46,48,148,.12) !important; box-shadow:none !important; transform:none !important; pointer-events:none !important; } html body .experience-progress > span{ display:block; width:100%; height:100%; border-radius:0 999px 999px 0; background:linear-gradient(90deg,#2e3094 0%,#6676d8 62%,#9c9ecc 100%); box-shadow:0 0 14px rgba(46,48,148,.34); transform:scaleX(0); transform-origin:left center; transition:transform 80ms linear; will-change:transform; } html body.experience-ready .site-header{ top:0; left:0; right:0; width:100%; max-width:none; border:0; border-bottom:1px solid rgba(46,48,148,.14); border-radius:0; background:rgba(255,255,255,.96); box-shadow:0 4px 18px rgba(18,22,61,.08); backdrop-filter:blur(18px) saturate(145%); -webkit-backdrop-filter:blur(18px) saturate(145%); transition:box-shadow .22s ease, background .22s ease; } html body.experience-ready .site-header.is-scrolled{ top:0; background:rgba(255,255,255,.96); box-shadow:0 10px 30px rgba(18,22,61,.12); } html body.experience-ready .site-header .nav-rail{ width:min(1220px, calc(100% - 28px)); } html body.experience-ready .audience-menu__panel{ top:calc(100% + .8rem); max-height:calc(100dvh - 116px); overflow-y:auto; overscroll-behavior:contain; width:min(390px,92vw); padding:.7rem; border-radius:18px; box-shadow:0 28px 76px rgba(18,22,61,.2); } html body.experience-ready .audience-menu__panel a{ min-height:46px; border-radius:11px; } html body.experience-ready .hero:not(.hero-redesign){ isolation:isolate; padding-top:clamp(54px,8vw,104px); background: radial-gradient(800px 380px at 86% 8%,rgba(102,118,216,.17),transparent 66%), radial-gradient(640px 320px at 5% 0%,rgba(46,48,148,.12),transparent 68%), linear-gradient(180deg,#ffffff 0%,#f1f3fb 100%); } html body.experience-ready .hero:not(.hero-redesign)::after{ content:""; position:absolute; inset:auto -8% -130px 38%; z-index:-1; height:260px; border-radius:50%; background:rgba(102,118,216,.09); filter:blur(44px); pointer-events:none; } html body.experience-ready .hero-card, html body.experience-ready .visual-proof, html body.experience-ready .card, html body.experience-ready .help-point, html body.experience-ready .help-list, html body.experience-ready .service-text-card, html body.experience-ready .situation-card, html body.experience-ready .hub-service-card, html body.experience-ready .business-capability{ border-color:var(--experience-line); border-radius:22px; box-shadow:0 18px 48px rgba(18,22,61,.08); } html body.experience-ready .hero-card{ position:relative; border-radius:28px; box-shadow:var(--experience-shadow); } html body.experience-ready .hero-card::before{ content:""; position:absolute; inset:12px -14px -14px 12px; z-index:-1; border-radius:inherit; background:linear-gradient(145deg,rgba(102,118,216,.24),rgba(46,48,148,.08)); } html body.experience-ready .hero-card img{ border-radius:20px; } html body.experience-ready .section.alt{ background:linear-gradient(180deg,#eef1f9 0%,#f7f8fc 100%); } html body.experience-ready .cta, html body.experience-ready .hub-cta, html body.experience-ready .cta-band{ background: radial-gradient(620px 240px at 85% 0%,rgba(102,118,216,.28),transparent 68%), linear-gradient(135deg,#111433 0%,#22265f 100%); } html body.experience-ready .btn, html body.experience-ready .service-link, html body.experience-ready .hub-service-card a, html body.experience-ready .business-capability a{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; } @media (hover:hover) and (pointer:fine){ html body.experience-ready .hero-card:hover img{ transform:scale(1.025); } html body.experience-ready .card:hover, html body.experience-ready .help-point:hover, html body.experience-ready .service-text-card:hover, html body.experience-ready .situation-card:hover, html body.experience-ready .hub-service-card:hover, html body.experience-ready .business-capability:hover{ transform:translateY(-5px); border-color:rgba(46,48,148,.24); box-shadow:0 24px 58px rgba(18,22,61,.12); } html body.experience-ready .card, html body.experience-ready .help-point, html body.experience-ready .service-text-card, html body.experience-ready .situation-card, html body.experience-ready .hub-service-card, html body.experience-ready .business-capability{ transition:transform .28s var(--experience-ease),box-shadow .28s ease,border-color .28s ease; } } .experience-contact-dock{ display:none; } html body.experience-ready .back-to-services{ position:relative !important; inset:auto !important; width:max-content !important; max-width:calc(100% - 28px) !important; min-height:50px !important; margin:18px auto !important; transform:none !important; } html body.experience-ready .back-to-services:hover{ transform:translateY(-2px) !important; } @media (max-width:1100px){ html{ scroll-padding-top:92px; } html body.experience-ready{ padding-top:88px !important; } html body.experience-ready .site-header, html body.experience-ready .site-header.is-scrolled{ top:8px !important; left:10px !important; right:10px !important; height:68px !important; min-height:68px !important; width:auto !important; max-width:none !important; border-radius:18px !important; } html body.experience-ready .site-header .container.nav-rail{ width:calc(100% - 18px) !important; height:66px !important; min-height:66px !important; padding:3px 0 !important; align-items:center !important; justify-content:space-between !important; } html body.experience-ready .site-header .brand{ position:static !important; inset:auto !important; height:60px !important; margin:0 !important; transform:none !important; } html body.experience-ready .site-header .logo-img{ height:56px !important; max-width:146px !important; max-height:56px !important; } html body.experience-ready .site-header .nav-toggle-btn, html body.experience-ready .site-header .nav-toggle-btn:active{ position:relative !important; inset:auto !important; width:76px !important; min-width:76px !important; height:44px !important; flex:0 0 76px !important; display:grid !important; grid-template-columns:24px minmax(0,1fr) !important; grid-template-rows:1fr !important; align-items:center !important; justify-items:center !important; margin:0 0 0 auto !important; padding:0 4px !important; gap:4px !important; overflow:visible !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; transform:none !important; } html body.experience-ready .site-header .nav-toggle-btn::after{ content:"Menu"; grid-column:2; grid-row:1; margin:0; color:var(--experience-indigo); font-size:.76rem; font-weight:850; line-height:1; letter-spacing:.01em; text-transform:none; } html body.experience-ready .site-header .nav-toggle-btn[aria-expanded="true"]::after{ content:"Close"; } html body.experience-ready .site-header .nav-toggle-btn span{ position:absolute; left:5px; width:20px; height:2px !important; margin:0 !important; background:var(--experience-indigo) !important; transform:none; } html body.experience-ready .site-header .nav-toggle-btn span:nth-child(1){ top:14px; } html body.experience-ready .site-header .nav-toggle-btn span:nth-child(2){ top:21px; } html body.experience-ready .site-header .nav-toggle-btn span:nth-child(3){ top:28px; } html body.experience-ready .site-header .nav-toggle-btn[aria-expanded="true"] span:nth-child(1){ top:21px; transform:rotate(45deg); } html body.experience-ready .site-header .nav-toggle-btn[aria-expanded="true"] span:nth-child(2){ opacity:0; } html body.experience-ready .site-header .nav-toggle-btn[aria-expanded="true"] span:nth-child(3){ top:21px; transform:rotate(-45deg); } html body.experience-ready .site-header .nav-toggle-btn:focus-visible{ outline:3px solid rgba(46,48,148,.3) !important; outline-offset:4px !important; } html body.experience-ready.menu-open{ overflow:hidden !important; touch-action:none; } html body.experience-ready > .mobile-drawer.experience-drawer, html body.experience-ready.motion-active > .mobile-drawer.experience-drawer{ position:fixed !important; inset:0 !important; z-index:10020 !important; display:flex !important; width:auto !important; height:100dvh !important; max-height:none !important; align-items:flex-end !important; padding:88px 8px 8px !important; overflow:hidden !important; visibility:hidden !important; opacity:0 !important; background:rgba(10,13,39,.48) !important; pointer-events:none !important; transform:none !important; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:opacity .24s ease,visibility 0s linear .24s !important; contain:none !important; } html body.experience-ready > .mobile-drawer.experience-drawer.open, html body.experience-ready.motion-active > .mobile-drawer.experience-drawer.open{ visibility:visible !important; opacity:1 !important; pointer-events:auto !important; transition:opacity .24s ease,visibility 0s linear 0s !important; } html body.experience-ready > .mobile-drawer.experience-drawer .mobile-menu, html body.experience-ready.motion-active > .mobile-drawer.experience-drawer .mobile-menu{ position:relative !important; inset:auto !important; width:100% !important; height:auto !important; max-height:calc(100dvh - 96px) !important; margin:0 !important; padding:10px 10px max(10px,env(safe-area-inset-bottom)) !important; overflow-x:hidden !important; overflow-y:auto !important; border:1px solid rgba(255,255,255,.82) !important; border-radius:24px !important; background:#ffffff !important; box-shadow:0 28px 90px rgba(8,11,36,.34) !important; opacity:1 !important; transform:translate3d(0,calc(100% + 24px),0) !important; transition:transform .38s var(--experience-ease) !important; overscroll-behavior:contain; scrollbar-gutter:auto; } html body.experience-ready > .mobile-drawer.experience-drawer.open .mobile-menu, html body.experience-ready.motion-active > .mobile-drawer.experience-drawer.open .mobile-menu{ opacity:1 !important; transform:translate3d(0,0,0) !important; } html body.experience-ready .experience-menu-heading{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:12px 12px 13px; border-bottom:1px solid #eceef7; } html body.experience-ready .experience-menu-heading strong{ color:var(--experience-navy); font-size:1.08rem; } html body.experience-ready .experience-menu-close{ min-width:62px; min-height:42px; padding:.55rem .72rem; border:1px solid rgba(46,48,148,.15); border-radius:12px; background:#f2f4fb; color:var(--experience-indigo); font:inherit; font-size:.75rem; font-weight:900; cursor:pointer; } html body.experience-ready .experience-drawer .audience-mobile-nav > a, html body.experience-ready .experience-drawer .audience-mobile-nav summary{ min-height:54px; padding:.78rem .82rem; border-radius:12px; font-size:1rem; } html body.experience-ready .experience-drawer .audience-mobile-nav details{ border-radius:14px; } html body.experience-ready .experience-drawer .audience-mobile-nav details[open]{ margin-block:3px; background:#f4f6fc; } html body.experience-ready .experience-drawer .audience-mobile-sub{ margin:0 .5rem .5rem; padding:0 .3rem .35rem .65rem; } html body.experience-ready .experience-drawer .audience-mobile-sub a{ min-height:48px; padding:.65rem .7rem; } html body.experience-ready .experience-drawer .audience-mobile-call{ display:none !important; } html body.experience-ready .experience-menu-actions{ position:sticky; bottom:-1px; z-index:4; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; padding:10px 4px 4px; background:linear-gradient(180deg,rgba(255,255,255,0),#ffffff 22%); } html body.experience-ready .experience-menu-actions a{ min-height:54px; display:flex; align-items:center; justify-content:center; border:1px solid var(--experience-indigo); border-radius:14px; color:var(--experience-indigo); font-weight:900; text-decoration:none; } html body.experience-ready .experience-menu-actions a:first-child{ background:var(--experience-indigo); color:#ffffff; box-shadow:0 12px 28px rgba(46,48,148,.24); } } @media (max-width:900px){ html body.experience-ready .container{ width:calc(100% - 28px); } html body.experience-ready .hero:not(.hero-redesign){ padding-block:30px 44px; } html body.experience-ready .hero-grid{ gap:1.45rem; } html body.experience-ready .hero h1{ max-width:14ch; font-size:clamp(2.12rem,10vw,3.5rem); line-height:.98; letter-spacing:-.035em; } html body.experience-ready .hero .lead{ max-width:38rem; margin-top:.82rem; font-size:1rem; line-height:1.55; } html body.experience-ready .hero-actions{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin-top:1.1rem; } html body.experience-ready .hero-actions .btn{ width:100%; min-height:54px; padding:.78rem .75rem; border-radius:15px; } html body.experience-ready .hero-actions .btn--ghost{ border:1px solid rgba(46,48,148,.18) !important; background:#ffffff !important; color:var(--experience-indigo) !important; box-shadow:0 10px 24px rgba(18,22,61,.08) !important; } html body.experience-ready .hero-card{ padding:.5rem; border-radius:24px; } html body.experience-ready .hero-card::before{ inset:9px -8px -9px 9px; } html body.experience-ready .hero-card img{ border-radius:18px; } html body.experience-ready .section, html body.experience-ready .service-help, html body.experience-ready .related-section{ padding-block:42px; } html body.experience-ready .section-head{ margin:0 0 1.25rem; text-align:left; } html body.experience-ready .section-head h2, html body.experience-ready .help-intro h2{ font-size:clamp(1.68rem,7.6vw,2.35rem); line-height:1.03; letter-spacing:-.025em; } html body.experience-ready .kicker{ margin-bottom:.65rem; padding:.38rem .7rem; box-shadow:none; } html body.experience-ready .card, html body.experience-ready .help-point, html body.experience-ready .help-list, html body.experience-ready .service-text-card, html body.experience-ready .situation-card, html body.experience-ready .hub-service-card, html body.experience-ready .business-capability{ border-radius:17px; box-shadow:0 12px 32px rgba(18,22,61,.075); } html body.experience-ready .faq details{ overflow:hidden; border-radius:15px; box-shadow:0 10px 28px rgba(18,22,61,.06); } html body.experience-ready .faq summary{ min-height:58px; padding:.88rem .95rem; } html body.experience-ready .service-link{ min-height:58px; border-radius:15px; } html body.experience-ready .cta-panel, html body.experience-ready .hub-cta__inner{ gap:1rem; } html body.experience-ready .cta-actions, html body.experience-ready .hub-cta__actions{ display:grid; grid-template-columns:1fr 1fr; width:100%; gap:.6rem; } html body.experience-ready .cta-actions .btn, html body.experience-ready .hub-cta__actions .btn{ width:100%; min-height:54px; border-radius:15px; } html body.experience-ready .footer, html body.experience-ready footer{ padding-bottom:calc(152px + env(safe-area-inset-bottom)) !important; } html body.experience-ready .fab-call, html body.experience-ready .fab-email, html body.experience-ready .mobile-floating-contact, html body.experience-ready:not(.contact-ready) .mobile-floating-contact, html body.experience-ready.contact-ready .mobile-floating-contact{ display:none !important; } html body.experience-ready.has-experience-contact a.fab-call, html body.experience-ready.has-experience-contact a.fab-email, html body.experience-ready.has-experience-contact div.mobile-floating-contact{ display:none !important; opacity:0 !important; visibility:hidden !important; pointer-events:none !important; } html body.experience-ready .back-to-services{ margin:18px auto 28px !important; } } @media (max-width:1100px){ .experience-contact-dock{ position:fixed; right:14px; bottom:max(16px,env(safe-area-inset-bottom)); z-index:10010; display:grid; grid-template-columns:60px; grid-template-rows:60px 60px; gap:10px; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(18px); transition:opacity .2s ease,visibility 0s linear .28s,transform .3s var(--experience-ease); } .experience-contact-dock.is-visible{ opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); transition:opacity .2s ease,visibility 0s linear 0s,transform .3s var(--experience-ease); } body.menu-open .experience-contact-dock{ opacity:0; visibility:hidden; pointer-events:none; transform:translateY(14px); } .experience-contact-dock__button{ width:60px; height:60px; display:grid; place-items:center; padding:0; border:1px solid transparent; border-radius:50%; text-decoration:none; box-shadow:0 12px 30px rgba(18,22,61,.2); -webkit-tap-highlight-color:transparent; touch-action:manipulation; transition:transform .16s ease,box-shadow .16s ease; } .experience-contact-dock__button svg{ width:27px; height:27px; fill:currentColor; } .experience-contact-dock__button--call{ border-color:var(--experience-indigo); background:var(--experience-indigo); color:#ffffff; } .experience-contact-dock__button--email{ border-color:rgba(46,48,148,.2); background:#ffffff; color:var(--experience-indigo); } .experience-contact-dock__button:active{ transform:scale(.94); box-shadow:0 7px 18px rgba(18,22,61,.18); } } @media (max-width:520px){ html body.experience-ready .hero-actions, html body.experience-ready .cta-actions, html body.experience-ready .hub-cta__actions{ grid-template-columns:1fr; } html body.experience-ready .hero-actions .btn, html body.experience-ready .cta-actions .btn, html body.experience-ready .hub-cta__actions .btn{ min-height:52px; } } @media (min-width:1101px){ html body.experience-ready{ padding-top:100px !important; } } @media (prefers-reduced-motion:reduce){ html body .experience-progress > span, .experience-contact-dock, html body.experience-ready .site-header, html body.experience-ready .experience-drawer, html body.experience-ready .experience-drawer .mobile-menu{ transition:none !important; } } .mobile-card-rail__hint{ display:none; } @media (max-width:720px){ html body.experience-ready .mobile-card-rail{ --mobile-rail-progress:0; display:flex !important; grid-template-columns:none !important; max-width:none !important; align-items:flex-start !important; gap:.78rem !important; margin-inline:-14px !important; padding:.12rem 46px .82rem 14px !important; overflow-x:auto !important; overflow-y:hidden !important; scroll-snap-type:x mandatory !important; scroll-padding-inline:14px; overscroll-behavior-x:contain; touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch; scrollbar-width:none; } html body.experience-ready .mobile-card-rail::-webkit-scrollbar{ display:none; } html body.experience-ready .mobile-card-rail > :not([hidden]){ width:auto !important; min-width:0 !important; height:auto !important; flex:0 0 min(82vw,340px) !important; scroll-snap-align:start; scroll-snap-stop:normal; } html body.experience-ready .mobile-card-rail__hint{ display:none; min-height:44px; align-items:center; justify-content:flex-end; gap:.48rem; margin:-.1rem 0 .38rem; color:#666b7f; font-size:.72rem; font-weight:850; } html body.experience-ready .mobile-card-rail__hint.is-scrollable{ display:flex; } html body.experience-ready .mobile-card-rail__hint i{ width:38px; height:4px; overflow:hidden; border-radius:999px; background:rgba(46,48,148,.14); } html body.experience-ready .mobile-card-rail__hint b{ display:block; width:100%; height:100%; border-radius:inherit; background:#2e3094; transform:scaleX(max(.16,var(--mobile-rail-progress))); transform-origin:left center; } html body.experience-ready .mobile-card-rail__buttons{ display:flex; gap:.3rem; margin-left:.08rem; } html body.experience-ready .mobile-card-rail__button{ position:relative; width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid rgba(46,48,148,.16); border-radius:999px; background:rgba(255,255,255,.9); color:rgba(46,48,148,.78); box-shadow:0 4px 12px rgba(20,24,62,.06); cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; transition:background-color .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease; } html body.experience-ready .mobile-card-rail__button::before{ content:""; width:9px; height:9px; border-top:2px solid currentColor; border-left:2px solid currentColor; } html body.experience-ready .mobile-card-rail__button--previous::before{ transform:rotate(-45deg) translate(1px,1px); } html body.experience-ready .mobile-card-rail__button--next::before{ transform:rotate(135deg) translate(1px,1px); } html body.experience-ready .mobile-card-rail__button:focus-visible{ outline:3px solid rgba(46,48,148,.25); outline-offset:2px; } html body.experience-ready .mobile-card-rail__button:disabled{ opacity:.25; cursor:default; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows{ position:relative !important; inset:auto !important; top:auto !important; right:auto !important; bottom:auto !important; left:auto !important; width:100% !important; min-height:44px !important; display:flex !important; align-items:center !important; justify-content:flex-end !important; gap:.3rem !important; margin:0 0 .38rem !important; padding:0 .1rem !important; transform:none !important; pointer-events:none !important; z-index:2 !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow{ position:relative !important; inset:auto !important; width:44px !important; height:44px !important; flex:0 0 44px !important; display:grid !important; place-items:center !important; padding:0 !important; border:1px solid rgba(46,48,148,.16) !important; border-radius:999px !important; background:rgba(255,255,255,.9) !important; color:rgba(46,48,148,.78) !important; box-shadow:0 4px 12px rgba(20,24,62,.06) !important; filter:none !important; opacity:1 !important; transform:none !important; pointer-events:auto !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow::before{ content:"" !important; width:9px !important; height:9px !important; display:block !important; border:0 !important; border-top:2px solid currentColor !important; border-left:2px solid currentColor !important; border-radius:0 !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow--left::before{ transform:rotate(-45deg) translate(1px,1px) !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow--right::before{ transform:rotate(135deg) translate(1px,1px) !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow:disabled{ opacity:.25 !important; } html body.experience-ready .hero:not(.hero-redesign){ padding-block:24px 32px; } html body.experience-ready .hero:not(.hero-redesign) .hero-card img{ aspect-ratio:16/9; object-fit:cover; } html body.experience-ready .section, html body.experience-ready .service-help, html body.experience-ready .related-section{ padding-block:32px; } html body.experience-ready .section-head{ margin-bottom:1rem; } html body.experience-ready .section-head .lead, html body.experience-ready .help-intro .lead{ margin-top:.55rem; line-height:1.48; } html body.experience-ready .project-card-copy, html body.experience-ready .service-text-card, html body.experience-ready .situation-card, html body.experience-ready .hub-service-card, html body.experience-ready .help-point{ padding:.9rem; } html body.experience-ready .footer, html body.experience-ready footer{ padding-bottom:calc(152px + env(safe-area-inset-bottom)) !important; } } @media (min-width:721px) and (max-width:900px){ html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows{ position:relative !important; inset:auto !important; width:100% !important; min-height:44px !important; display:flex !important; align-items:center !important; justify-content:flex-end !important; gap:.3rem !important; margin:0 0 .38rem !important; padding:0 .1rem !important; transform:none !important; pointer-events:none !important; z-index:2 !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow{ position:relative !important; inset:auto !important; width:44px !important; height:44px !important; flex:0 0 44px !important; display:grid !important; place-items:center !important; padding:0 !important; border:1px solid rgba(46,48,148,.16) !important; border-radius:999px !important; background:rgba(255,255,255,.9) !important; color:rgba(46,48,148,.78) !important; box-shadow:0 4px 12px rgba(20,24,62,.06) !important; filter:none !important; opacity:1 !important; transform:none !important; pointer-events:auto !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow::before{ content:"" !important; width:9px !important; height:9px !important; display:block !important; border:0 !important; border-top:2px solid currentColor !important; border-left:2px solid currentColor !important; border-radius:0 !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow--left::before{ transform:rotate(-45deg) translate(1px,1px) !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow--right::before{ transform:rotate(135deg) translate(1px,1px) !important; } html body.experience-ready .mobile-carousel-shell > .mobile-carousel-arrows .mobile-carousel-arrow:disabled{ opacity:.25 !important; } } @media (max-width:360px){ html body.experience-ready .mobile-card-rail > :not([hidden]){ flex-basis:min(84vw,300px) !important; } } @media (prefers-reduced-motion:reduce){ html body.experience-ready .mobile-card-rail{ scroll-behavior:auto !important; } html body.experience-ready .mobile-card-rail__hint b{ transition:none !important; } html body.experience-ready .mobile-card-rail__button, html body.experience-ready .mobile-carousel-arrow{ transition:none !important; } } html{ font-size:106.25%; } body[data-nav-key="home"]{ font-size:17px; } html body.experience-ready p, html body.experience-ready li{ text-wrap:pretty; } html body.experience-ready .btn, html body.experience-ready button, html body.experience-ready summary{ font-size:max(.94rem,16px); } html body.experience-ready .btn{ min-height:50px; padding:.82rem 1.08rem; } html body.experience-ready .card, html body.experience-ready .help-point, html body.experience-ready .help-list, html body.experience-ready .service-text-card, html body.experience-ready .situation-card, html body.experience-ready .hub-service-card, html body.experience-ready .business-capability, html body.experience-ready .resource-index-card{ padding:clamp(1rem,2vw,1.35rem); } html body.experience-ready a:focus-visible, html body.experience-ready button:focus-visible, html body.experience-ready summary:focus-visible, html body.experience-ready input:focus-visible, html body.experience-ready select:focus-visible, html body.experience-ready textarea:focus-visible{ outline:3px solid #6975dc; outline-offset:3px; } html body.experience-ready input:not([type="radio"]):not([type="checkbox"]), html body.experience-ready select, html body.experience-ready textarea{ min-height:50px; font:inherit; color:#20233d; } html body.experience-ready input::placeholder, html body.experience-ready textarea::placeholder{ color:#62677b; opacity:1; } html body.experience-ready .audience-breadcrumb a{ display:inline-flex; min-height:44px; align-items:center; } html body.experience-ready .cta, html body.experience-ready .hub-cta, html body.experience-ready .cta-band, html body.experience-ready .final-cta{ border-top:1px solid rgba(46,48,148,.12); border-bottom:10px solid #ffffff; background: radial-gradient(720px 260px at 88% 0%,rgba(102,118,216,.20),transparent 68%), linear-gradient(135deg,#f5f6ff 0%,#e7ebfb 100%) !important; color:var(--experience-navy) !important; } html body.experience-ready .cta h2, html body.experience-ready .cta p, html body.experience-ready .hub-cta h2, html body.experience-ready .hub-cta p, html body.experience-ready .cta-band h2, html body.experience-ready .cta-band p, html body.experience-ready .final-cta h2, html body.experience-ready .final-cta p, html body.experience-ready[data-nav-key="home"] #contact .cta-title, html body.experience-ready[data-nav-key="home"] #contact .lead{ color:var(--experience-navy) !important; } html body.experience-ready .cta p, html body.experience-ready .hub-cta p, html body.experience-ready .cta-band p, html body.experience-ready .final-cta p{ opacity:.86; } html body.experience-ready .cta .btn--primary, html body.experience-ready .hub-cta .btn--primary, html body.experience-ready .cta-band .btn--primary, html body.experience-ready .final-cta .btn--primary, html body.experience-ready[data-nav-key="home"] #contact .btn--primary{ border-color:#2e3094 !important; background:#2e3094 !important; color:#ffffff !important; box-shadow:0 12px 28px rgba(46,48,148,.22); } html body.experience-ready .cta .btn--ghost, html body.experience-ready .hub-cta .btn--ghost, html body.experience-ready .cta-band .btn--outline, html body.experience-ready .final-cta .btn--ghost, html body.experience-ready[data-nav-key="home"] #contact .btn--outline{ border-color:rgba(46,48,148,.24) !important; background:#ffffff !important; color:#232765 !important; box-shadow:0 10px 24px rgba(18,22,61,.08); } html body.experience-ready .footer, html body.experience-ready footer{ border-top:0; background:#101331; } html body.experience-ready .footer-links a:hover, html body.experience-ready .footer-links a:focus-visible{ background:rgba(255,255,255,.16); color:#ffffff; } html body.experience-ready .back-to-services{ left:auto !important; right:auto !important; display:flex !important; width:fit-content !important; margin:18px auto 28px !important; transform:none !important; } @media (min-width:901px){ html body.experience-ready .section, html body.experience-ready .service-help, html body.experience-ready .related-section{ padding-block:clamp(58px,7vw,88px); } } @media (max-width:520px){ html{ font-size:103.125%; } body[data-nav-key="home"]{ font-size:16.5px; } html body.experience-ready .btn{ min-height:52px; } html body.experience-ready .cta, html body.experience-ready .hub-cta, html body.experience-ready .cta-band, html body.experience-ready .final-cta{ border-bottom-width:8px; } } body.finder-open{ overflow:hidden !important; touch-action:none; } .experience-finder-trigger, .experience-menu-finder{ -webkit-tap-highlight-color:transparent; } .experience-finder-trigger{ width:44px; height:44px; min-width:44px; min-height:44px; flex:0 0 44px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid rgba(46,48,148,.18); border-radius:10px; background:#f4f6ff; color:#24286d; font:inherit; font-size:.85rem; font-weight:900; line-height:1; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease; } .experience-finder-trigger svg, .experience-menu-finder svg, .issue-finder__input-wrap > svg{ width:19px; height:19px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; } .experience-finder-trigger:hover{ border-color:rgba(46,48,148,.34); background:#e9edff; box-shadow:0 8px 20px rgba(24,28,76,.1); transform:translateY(-1px); } .experience-finder-trigger:active, .experience-menu-finder:active, .issue-finder__quick button:active, .issue-finder__result:active{ transform:scale(.98); } .experience-menu-finder{ width:calc(100% - 12px); min-height:62px; display:none; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.72rem; margin:8px 6px 5px; padding:.72rem .82rem; border:1px solid rgba(46,48,148,.18); border-radius:15px; background:linear-gradient(135deg,#f3f5ff,#e9edff); color:#25286c; text-align:left; cursor:pointer; } .experience-menu-finder > span{ min-width:0; display:grid; gap:2px; } .experience-menu-finder strong{ color:#171a46; font-size:.98rem; line-height:1.15; } .experience-menu-finder small{ color:#646a83; font-size:.76rem; font-weight:750; line-height:1.25; } .experience-menu-finder i{ font-style:normal; font-size:1.25rem; transition:transform .18s ease; } .experience-menu-finder:hover i, .experience-menu-finder:focus-visible i{ transform:translateX(3px); } .issue-finder[hidden]{ display:none !important; } .issue-finder{ position:fixed; inset:0; z-index:20000; display:grid; place-items:center; padding:clamp(10px,3vw,28px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease,visibility 0s linear .22s; } .issue-finder.is-open{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .22s ease,visibility 0s linear 0s; } .issue-finder__backdrop{ position:absolute; inset:0; background:rgba(10,13,39,.64); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); } .issue-finder__panel{ position:relative; width:min(720px,100%); max-height:min(780px,calc(100dvh - 40px)); display:grid; grid-template-rows:auto auto auto auto auto minmax(120px,1fr) auto; padding:clamp(18px,3.5vw,30px); overflow:hidden; border:1px solid rgba(255,255,255,.86); border-radius:24px; background:#ffffff; color:#24273b; box-shadow:0 30px 100px rgba(6,9,34,.34); opacity:0; transform:translateY(20px) scale(.985); transition:opacity .22s ease,transform .34s cubic-bezier(.16,1,.3,1); } .issue-finder.is-open .issue-finder__panel{ opacity:1; transform:translateY(0) scale(1); } .issue-finder__header{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; } .issue-finder__header > div{ min-width:0; } .issue-finder__eyebrow{ display:block; margin-bottom:.38rem; color:#4a54b0; font-size:.72rem; font-weight:900; letter-spacing:.08em; line-height:1.2; text-transform:uppercase; } .issue-finder__header h2{ margin:0; color:#171a46; font-size:clamp(1.55rem,4vw,2.2rem); line-height:1.04; letter-spacing:-.025em; } .issue-finder__close{ min-width:62px; min-height:44px; flex:0 0 auto; padding:.55rem .72rem; border:1px solid rgba(46,48,148,.16); border-radius:12px; background:#f3f5fb; color:#2e3094; font:inherit; font-size:.78rem; font-weight:900; cursor:pointer; } .issue-finder__intro{ margin:.65rem 0 1rem; color:#64697d; font-size:.88rem; line-height:1.4; } .issue-finder__form{ margin:0; } .issue-finder__form label{ display:block; margin-bottom:.42rem; color:#292d4e; font-size:.82rem; font-weight:900; } .issue-finder__input-wrap{ min-height:56px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.58rem; padding:0 .7rem 0 .9rem; border:2px solid rgba(46,48,148,.18); border-radius:15px; background:#fbfbfe; color:#4c55b0; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease; } .issue-finder__input-wrap:focus-within{ border-color:#5662c8; background:#ffffff; box-shadow:0 0 0 4px rgba(86,98,200,.13); } html body.experience-ready .issue-finder__input-wrap input{ width:100%; min-width:0; min-height:52px; padding:0; border:0; outline:0; background:transparent; box-shadow:none; color:#20233d; font-size:1rem; } html body.experience-ready .issue-finder__input-wrap input::-webkit-search-cancel-button{ display:none; -webkit-appearance:none; } .issue-finder__clear{ min-width:54px; min-height:40px; padding:.35rem .55rem; border:0; border-radius:9px; background:#eceffa; color:#3b438f; font:inherit; font-size:.75rem; font-weight:900; cursor:pointer; } .issue-finder__clear[hidden]{ display:none; } .issue-finder__quick{ display:flex; gap:.42rem; margin:.72rem 0 .48rem; padding-bottom:.2rem; overflow-x:auto; scrollbar-width:none; overscroll-behavior-inline:contain; } .issue-finder__quick::-webkit-scrollbar{ display:none; } .issue-finder__quick button{ min-height:40px; flex:0 0 auto; padding:.48rem .68rem; border:1px solid rgba(46,48,148,.14); border-radius:999px; background:#f3f5fb; color:#343a78; font:inherit; font-size:.76rem; font-weight:850; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,transform .18s ease; } .issue-finder__quick button:hover, .issue-finder__quick button:focus-visible{ border-color:rgba(46,48,148,.32); background:#e8ecff; } .issue-finder__status{ margin:.18rem 0 .45rem; color:#6a6f83; font-size:.75rem; font-weight:850; } .issue-finder__results{ min-height:0; display:grid; align-content:start; gap:.5rem; padding:2px 5px 5px 2px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; } .issue-finder__result{ min-height:76px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:.72rem .8rem; border:1px solid rgba(46,48,148,.13); border-radius:14px; background:#ffffff; color:#252941; text-decoration:none; box-shadow:0 8px 22px rgba(22,27,70,.055); transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease; } .issue-finder__result:hover, .issue-finder__result:focus-visible{ border-color:rgba(46,48,148,.34); background:#fafaff; box-shadow:0 12px 28px rgba(22,27,70,.11); transform:translateY(-2px); } .issue-finder__result-copy{ min-width:0; display:grid; gap:2px; } .issue-finder__result-copy small{ color:#5963bd; font-size:.67rem; font-weight:900; letter-spacing:.045em; text-transform:uppercase; } .issue-finder__result-copy strong{ color:#1e224e; font-size:.96rem; line-height:1.2; } .issue-finder__result-copy > span{ color:#62677a; font-size:.78rem; line-height:1.35; } .issue-finder__result > i{ color:#3e48a0; font-style:normal; font-size:1.22rem; transition:transform .18s ease; } .issue-finder__result:hover > i, .issue-finder__result:focus-visible > i{ transform:translateX(3px); } .issue-finder__empty{ display:grid; gap:.24rem; padding:1rem; border:1px dashed rgba(46,48,148,.25); border-radius:14px; background:#f8f9fd; } .issue-finder__empty strong{ color:#25295e; } .issue-finder__empty span{ color:#666b7f; font-size:.86rem; } .issue-finder__contact{ display:flex; align-items:center; justify-content:flex-end; gap:.48rem; margin-top:.72rem; padding-top:.72rem; border-top:1px solid #eceef5; } .issue-finder__contact span{ margin-right:auto; color:#62677b; font-size:.78rem; font-weight:750; } .issue-finder__contact a{ min-height:42px; display:inline-flex; align-items:center; justify-content:center; padding:.48rem .7rem; border:1px solid rgba(46,48,148,.18); border-radius:10px; color:#2e3094; font-size:.76rem; font-weight:900; text-decoration:none; } html body.experience-ready .faq details{ transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease; } html body.experience-ready .faq details[open]{ border-color:rgba(46,48,148,.28); background:#fcfcff; box-shadow:0 14px 34px rgba(18,22,61,.09); } html body.experience-ready .faq summary{ transition:color .18s ease,background-color .18s ease; } html body.experience-ready .faq summary:hover{ color:#2e3094; background:rgba(238,241,255,.72); } @media (max-width:1100px){ .experience-menu-finder{ display:grid; } } @media (max-width:720px){ .issue-finder{ align-items:end; padding:6px; } .issue-finder__panel{ width:100%; max-height:calc(100dvh - 12px); padding:18px 15px max(14px,env(safe-area-inset-bottom)); border-radius:23px 23px 17px 17px; transform:translateY(calc(100% + 10px)); } .issue-finder__header h2{ font-size:clamp(1.45rem,7vw,1.9rem); } .issue-finder__intro{ margin:.5rem 0 .75rem; font-size:.82rem; } .issue-finder__quick{ margin-block:.6rem .36rem; } .issue-finder__result{ min-height:72px; padding:.65rem .72rem; } .issue-finder__contact span{ display:none; } .issue-finder__contact{ display:grid; grid-template-columns:1fr 1fr; gap:.5rem; } .issue-finder__contact a{ min-height:46px; } } @media (max-width:360px){ .issue-finder__panel{ padding-inline:12px; } .issue-finder__eyebrow{ font-size:.65rem; } .issue-finder__close{ min-width:56px; padding-inline:.55rem; } .issue-finder__result-copy > span{ display:none; } .issue-finder__result{ min-height:62px; } } @media (prefers-reduced-motion:reduce){ .experience-finder-trigger, .experience-menu-finder, .experience-menu-finder i, .issue-finder, .issue-finder__panel, .issue-finder__quick button, .issue-finder__result, .issue-finder__result > i, html body.experience-ready .faq details, html body.experience-ready .faq summary{ scroll-behavior:auto !important; transition:none !important; transform:none !important; } } .experience-header-find{ display:none; } @media (max-width:1100px){ html body.experience-ready .experience-header-find{ width:46px; height:46px; min-width:46px; display:flex; align-items:center; justify-content:center; margin-left:auto; padding:0; border:1px solid rgba(46,48,148,.14); border-radius:50%; background:#f7f8fc; color:#2e3094; text-decoration:none; -webkit-tap-highlight-color:transparent; } html body.experience-ready .experience-header-find svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; } html body.experience-ready .experience-header-find:focus-visible{ outline:3px solid rgba(46,48,148,.3); outline-offset:4px; } html body.experience-ready .site-header .nav-toggle-btn, html body.experience-ready .site-header .nav-toggle-btn:active{ margin-left:8px !important; } } @media (min-width:1101px){ html body.experience-ready .site-header .nav-actions{ display:flex; align-items:center; justify-content:flex-end; gap:8px; } html body.experience-ready .site-header .nav-actions > .btn{ height:48px; min-height:48px; display:inline-flex; align-items:center; justify-content:center; margin:0; padding-block:0; border-radius:12px; box-sizing:border-box; font-size:.9rem; line-height:1; } html body.experience-ready .site-header .nav-actions > .experience-finder-trigger{ width:44px; height:44px; min-width:44px; min-height:44px; flex:0 0 44px; margin:0; padding:0; border-radius:10px; box-sizing:border-box; } } @media (max-width:1100px){ html body.experience-ready .site-header .container.nav-rail{ column-gap:8px !important; } html body.experience-ready .experience-header-find{ flex:0 0 46px; margin:0 0 0 auto !important; } html body.experience-ready .site-header .nav-toggle-btn, html body.experience-ready .site-header .nav-toggle-btn:active{ margin:0 !important; } } html body.experience-ready .back-to-services.experience-return-help{ position:fixed !important; inset:auto auto max(18px,env(safe-area-inset-bottom)) 50% !important; z-index:10008; width:max-content !important; max-width:calc(100vw - 28px) !important; min-height:52px !important; display:inline-flex !important; align-items:center; justify-content:center; gap:.5rem; margin:0 !important; padding:.7rem 1rem !important; border:1px solid rgba(46,48,148,.22); border-radius:999px; background:rgba(255,255,255,.96); color:#252970; font-size:.86rem; font-weight:900; line-height:1.15; text-decoration:none; white-space:nowrap; box-shadow:0 16px 38px rgba(18,22,61,.2); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%); transform:translateX(-50%) !important; transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease; -webkit-tap-highlight-color:transparent; } html body.experience-ready .back-to-services.experience-return-help span{ font-size:1.05em; line-height:1; } html body.experience-ready .back-to-services.experience-return-help:hover, html body.experience-ready .back-to-services.experience-return-help:focus-visible{ background:#ffffff; box-shadow:0 20px 46px rgba(18,22,61,.25); transform:translate(-50%,-2px) !important; } html body.experience-ready .back-to-services.experience-return-help:focus-visible{ outline:3px solid rgba(102,118,216,.48); outline-offset:3px; } html body.experience-ready.has-experience-return-help footer{ padding-bottom:max(96px,calc(28px + env(safe-area-inset-bottom))) !important; } @media (min-width:1101px){ html body.experience-ready .back-to-services.experience-return-help{ display:none !important; } html body.experience-ready.has-experience-return-help footer{ padding-bottom:28px !important; } } @media (max-width:1100px){ html body.experience-ready .back-to-services.experience-return-help{ inset:auto auto max(16px,env(safe-area-inset-bottom)) 50% !important; width:max-content !important; max-width:calc(100vw - 28px) !important; min-height:54px !important; padding:.68rem .85rem !important; transform:translateX(-50%) !important; } html body.experience-ready .back-to-services.experience-return-help:hover, html body.experience-ready .back-to-services.experience-return-help:focus-visible{ transform:translate(-50%,-2px) !important; } html body.experience-ready.has-experience-return-help .experience-contact-dock{ bottom:max(84px,calc(84px + env(safe-area-inset-bottom))) !important; } html body.experience-ready.has-experience-return-help footer{ padding-bottom:calc(220px + env(safe-area-inset-bottom)) !important; } } @media (max-width:360px){ html body.experience-ready .back-to-services.experience-return-help{ right:auto !important; left:50% !important; padding-inline:.65rem !important; font-size:.8rem; transform:translateX(-50%) !important; } html body.experience-ready .back-to-services.experience-return-help:hover, html body.experience-ready .back-to-services.experience-return-help:focus-visible{ transform:translate(-50%,-2px) !important; } } @media (prefers-reduced-motion:reduce){ html body.experience-ready .back-to-services.experience-return-help{ transition:none; } } @media (max-width:1100px){ html{ scroll-padding-top:78px !important; } html body.experience-ready{ padding-top:76px !important; } html body.experience-ready .site-header, html body.experience-ready .site-header.is-scrolled{ top:0 !important; left:0 !important; right:0 !important; width:100% !important; max-width:none !important; height:76px !important; min-height:76px !important; border:0 !important; border-bottom:1px solid rgba(46,48,148,.14) !important; border-radius:0 !important; background:#ffffff !important; box-shadow:0 4px 14px rgba(18,22,61,.07) !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; } html body.experience-ready .site-header .container.nav-rail{ width:calc(100% - 24px) !important; height:74px !important; min-height:74px !important; padding:3px 0 !important; } html body.experience-ready button, html body.experience-ready summary, html body.experience-ready .btn, html body.experience-ready .project-filter, html body.experience-ready .service-link, html body.experience-ready .mobile-carousel-arrow, html body.experience-ready .mobile-card-rail__button, html body.experience-ready .pricing-mode-card{ min-height:44px; touch-action:manipulation; } html body.experience-ready button, html body.experience-ready .mobile-carousel-arrow, html body.experience-ready .mobile-card-rail__button{ min-width:44px; } } @media (min-width:1101px){ .experience-contact-dock{ position:fixed; right:20px; bottom:20px; z-index:10010; display:grid; grid-template-columns:56px; grid-template-rows:56px 56px; gap:10px; opacity:1; visibility:visible; pointer-events:auto; } .experience-contact-dock__button{ width:56px; height:56px; display:grid; place-items:center; padding:0; border:1px solid transparent; border-radius:50%; text-decoration:none; box-shadow:0 12px 30px rgba(18,22,61,.2); -webkit-tap-highlight-color:transparent; touch-action:manipulation; transition:transform .16s ease,box-shadow .16s ease; } .experience-contact-dock__button svg{ width:25px; height:25px; fill:currentColor; } .experience-contact-dock__button--call{ border-color:var(--experience-indigo); background:var(--experience-indigo); color:#ffffff; } .experience-contact-dock__button--email{ border-color:rgba(46,48,148,.2); background:#ffffff; color:var(--experience-indigo); } .experience-contact-dock__button:hover, .experience-contact-dock__button:focus-visible{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(18,22,61,.24); } } html body.experience-ready header.site-header.site-header, html body.experience-ready header.site-header.site-header.is-scrolled{ height:86px !important; min-height:86px !important; font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; font-size:18.7px !important; line-height:29.92px !important; } html body.experience-ready header.site-header.site-header .container.nav-rail{ position:relative !important; width:min(1220px,calc(100% - 28px)) !important; height:85px !important; min-height:85px !important; padding:6.5px 0 !important; gap:18.7px !important; } html body.experience-ready header.site-header.site-header .brand{ position:static !important; height:72px !important; margin:0 !important; gap:11.22px !important; transform:none !important; } html body.experience-ready header.site-header.site-header .logo-img{ width:auto !important; height:72px !important; max-width:190px !important; max-height:72px !important; margin:0 !important; } html body.experience-ready header.site-header.site-header .audience-nav-list{ padding:4.675px !important; gap:2.244px !important; } html body.experience-ready header.site-header.site-header .audience-nav-list a{ min-height:42px !important; padding:8.415px 11.594px !important; gap:6.545px !important; font-size:16.83px !important; line-height:16.83px !important; } html body.experience-ready header.site-header.site-header .audience-menu__toggle{ min-height:42px !important; padding:8.415px 11.594px !important; gap:6.545px !important; font-size:17.578px !important; line-height:17.578px !important; } html body.experience-ready header.site-header.site-header .nav-toggle-btn, html body.experience-ready header.site-header.site-header .nav-toggle-btn:active{ padding:4.675px !important; gap:7.48px !important; font-size:17.578px !important; line-height:normal !important; } html body.experience-ready header.site-header.site-header .nav-actions > .btn{ width:auto !important; height:48px !important; min-height:48px !important; padding:0 20.196px !important; font-size:16.83px !important; font-weight:700 !important; line-height:16.83px !important; } @media (max-width:1100px){ html body.experience-ready{ padding-top:80px !important; } html body.experience-ready header.site-header.site-header, html body.experience-ready header.site-header.site-header.is-scrolled{ height:76px !important; min-height:76px !important; font-size:18.7px !important; line-height:29.92px !important; } html body.experience-ready header.site-header.site-header .container.nav-rail{ width:calc(100% - 24px) !important; height:74px !important; min-height:74px !important; padding:3px 0 !important; row-gap:18.7px !important; column-gap:8px !important; } html body.experience-ready header.site-header.site-header .brand{ height:60px !important; gap:11.22px !important; } html body.experience-ready header.site-header.site-header .logo-img{ width:auto !important; height:56px !important; max-width:146px !important; max-height:56px !important; } html body.experience-ready header.site-header.site-header .nav-toggle-btn, html body.experience-ready header.site-header.site-header .nav-toggle-btn:active{ width:76px !important; min-width:76px !important; height:44px !important; min-height:44px !important; padding:0 4px !important; gap:4px !important; font-size:17.578px !important; } html body.experience-ready header.site-header.site-header .nav-toggle-btn::after{ font-size:14.212px !important; } html body.experience-ready header.site-header.site-header .nav-actions > .btn{ display:inline-block !important; } html body.experience-ready header.site-header.site-header .experience-drawer .audience-mobile-nav > a, html body.experience-ready header.site-header.site-header .experience-drawer .audience-mobile-nav summary{ min-height:54px !important; padding:14.586px 15.334px !important; font-size:18.7px !important; line-height:29.92px !important; } html body.experience-ready header.site-header.site-header .experience-drawer .audience-mobile-sub a{ min-height:42px !important; padding:10.285px 12.155px !important; font-size:16.83px !important; line-height:26.928px !important; } } @media (max-width:520px){ html body.experience-ready header.site-header.site-header, html body.experience-ready header.site-header.site-header.is-scrolled{ font-size:18.15px !important; line-height:29.04px !important; } html body.experience-ready header.site-header.site-header .container.nav-rail{ row-gap:18.15px !important; } html body.experience-ready header.site-header.site-header .brand{ gap:10.89px !important; } html body.experience-ready header.site-header.site-header .nav-toggle-btn, html body.experience-ready header.site-header.site-header .nav-toggle-btn:active{ font-size:17.061px !important; } html body.experience-ready header.site-header.site-header .nav-toggle-btn::after{ font-size:13.794px !important; } html body.experience-ready header.site-header.site-header .experience-drawer .audience-mobile-nav > a, html body.experience-ready header.site-header.site-header .experience-drawer .audience-mobile-nav summary{ padding:14.157px 14.883px !important; font-size:18.15px !important; line-height:29.04px !important; } html body.experience-ready header.site-header.site-header .experience-drawer .audience-mobile-sub a{ padding:9.983px 11.798px !important; font-size:16.335px !important; line-height:26.136px !important; } }
/* Source: public_html/site-photo-navigation-refresh.css */
html body .landing-scene-inset figure, html body .landing-photo-detail { max-width:1056px; } html body .landing-photo-comparison .hero-redesign-visual { max-width:1152px; } html body .client-scene { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; } html body .recent-work-card > img { aspect-ratio:3/2; object-fit:contain; } .project-image-note { display:block; margin-bottom:.55rem; font-size:.75rem; color:#586174; font-weight:500; } .recent-work-card .project-image-note { margin-bottom:0; } html body .review-avatar { width:76.8px !important; height:76.8px !important; flex:0 0 76.8px !important; } @media (min-width:901px) { html body main .container:has(img) { width:min(1416px, calc(100% - 40px)); } html body .hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.06fr); } html body .tools-hero__grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:2.5rem; } html body .guided-tool-hero__grid { grid-template-columns:minmax(0,1fr) minmax(0,1.06fr); } html body .hero-card { width:100%; max-width:816px; } html body.variant-c .hero-grid { grid-template-columns:1fr; } html body.variant-c .hero-grid > .hero-card { width:min(912px,100%); max-width:912px; } html body[data-nav-key="home"] .hero-redesign .hero-image-shell { width:min(672px,100%) !important; } html body .hero-redesign .hero-wrap { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr) !important; gap:2rem !important; } html body .recent-work-track { grid-auto-columns:calc((100% - 2.55rem) / 4 * 1.2); } } @media (min-width:681px) and (max-width:900px) { html body .recent-work-track { grid-auto-columns:calc((100% - .85rem) / 2 * 1.2); } html body .hero-card, html body .tools-hero__art, html body .guided-tool-hero__art { max-width:816px; width:100%; } } @media (max-width:680px) { html body .recent-work-track { grid-auto-columns:min(96vw,382px); } html body[data-nav-key="home"] .hero-redesign .hero-image-shell { width:min(98.4vw,384px,100%) !important; } html body main img { max-width:100%; } } .audience-nav-list > li.audience-menu { display:flex; align-items:center; } html body .audience-menu > .audience-menu__link { padding-right:.2rem; } html body .audience-menu > .audience-menu__toggle { min-width:28px; padding-inline:.45rem; } html body .audience-menu__panel { width:min(640px,90vw) !important; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:calc(100dvh - 115px); overflow-y:auto; overscroll-behavior:contain; } html body .audience-menu__panel strong { grid-column:1/-1; } html body .audience-menu__panel:not(.is-open) { opacity:0; visibility:hidden; pointer-events:none; } html body .audience-menu__panel a:first-of-type { background:transparent; font-weight:800; } html body .audience-menu__panel a:hover { background:#eef1ff; } html body .mobile-audience-row { display:flex; align-items:center; justify-content:space-between; } html body .mobile-audience-row > a { flex:1; } html body .mobile-audience-row > button { min-width:48px; min-height:48px; } html body .mobile-audience-group { border-bottom:1px solid #eceef7; } html body .mobile-audience-group .audience-mobile-sub:not(.is-open) { display:none; } html body .mobile-audience-group .audience-mobile-sub.is-open { display:grid; } @media (prefers-reduced-motion:reduce) { .audience-menu__panel, .audience-menu__toggle::after { transition:none; } } @media(min-width:1101px){html body.experience-ready .back-to-services.experience-return-help{display:flex!important;position:relative!important;inset:auto!important;transform:none!important;margin:24px auto!important}html body.experience-ready .back-to-services.experience-return-help:hover{transform:none!important}}
/* Source: public_html/homepage-services.css */
.hero-mobile-service-label{display:none} .service-menu{background:#f5f6fb;color:#20234e;padding:80px 0;scroll-margin-top:110px;position:relative} .services-anchor-alias{position:absolute;top:0;scroll-margin-top:110px} .service-menu__head{max-width:760px;margin:0 0 28px} .service-menu__eyebrow{color:#4c46a4;font-size:.76rem;font-weight:800;letter-spacing:.13em;margin:0 0 14px} .service-menu__head h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;letter-spacing:-.04em;color:#20234e;margin:0 0 16px} .service-menu__head>p:last-child{font-size:1.05rem;line-height:1.6;color:#626579;margin:0} .service-menu__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start} .service-menu__grid.has-card-layout{grid-auto-rows:8px;row-gap:0} .service-choice{--service-accent:#4a43ac;--service-tint:#eeecfc;background:#fff;color:#252848;border:1px solid #e0e2ed;border-radius:22px;min-width:0;align-self:start;overflow:hidden;box-shadow:0 3px 5px #22245003;transition:border-color .2s,box-shadow .2s,background .2s} .service-choice[hidden]{display:none} .service-choice:nth-child(3n+2){--service-accent:#236f73;--service-tint:#e7f3f1} .service-choice:nth-child(3n){--service-accent:#34639b;--service-tint:#eaf1fc} .service-choice summary{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:20px 12px;padding:26px;min-height:218px;box-sizing:border-box;cursor:pointer;list-style:none} .service-choice summary::-webkit-details-marker{display:none} .service-choice__icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:var(--service-tint);color:var(--service-accent);grid-column:1;grid-row:1} .service-choice__icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round} .service-choice__label{min-width:0;grid-column:1/-1;grid-row:2} .service-choice__label strong{display:block;font-size:1.25rem;line-height:1.25;font-weight:750;letter-spacing:-.025em} .service-choice__hint{display:block;margin-top:7px;font-size:.88rem;line-height:1.45;color:#6c6e81} .service-choice__plus{display:grid;place-items:center;width:32px;height:32px;align-self:start;grid-column:2;grid-row:1;border:1px solid #e1e2ed;border-radius:50%;color:#686980;font-size:23px;line-height:1} .service-choice[open]{background:#252753;color:#fff;border-color:#252753;box-shadow:0 14px 30px #2527531f} .service-choice[open] .service-choice__hint{color:#d1d2e7} .service-choice[open] .service-choice__plus{color:#fff;border-color:#727394} .service-choice__detail{margin:0 26px;padding:20px 0 26px;border-top:1px solid #ffffff30} .service-choice__detail p{margin:0 0 20px;font-size:.97rem;line-height:1.65;color:#e1e2ef} .service-choice__links{display:flex;flex-direction:column;align-items:flex-start;gap:12px} .service-choice__links a{font-weight:700;color:#fff;font-size:.9rem;text-underline-offset:4px} .service-choice__links a:first-child{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:100%;background:#fff;color:#302c87;padding:13px 16px;border-radius:12px;text-decoration:none} .service-choice summary:focus-visible{outline:3px solid #8276f1;outline-offset:-5px;border-radius:20px} .service-menu a:focus-visible,.service-menu button:focus-visible{outline:3px solid #8276f1;outline-offset:4px} .service-menu__contact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 28px;margin-top:20px;padding-top:24px;border-top:1px solid #dcdfea} .service-menu__contact a{color:#353181;font-weight:750;font-size:.94rem;text-decoration:none;padding:10px 0} .recent-work-card__meta{font-size:.76rem!important;color:#65697c;line-height:1.5;margin-top:10px} @media(hover:hover){.service-choice:hover{border-color:#a8a4ce;box-shadow:0 10px 24px #22245012}.service-menu__contact a:hover{text-decoration:underline;text-underline-offset:5px}} @media(max-width:1000px){.service-menu__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-choice summary{padding:22px}} @media(max-width:600px){.service-menu{padding:48px 0;scroll-margin-top:90px}.service-menu__grid{grid-template-columns:minmax(0,1fr);gap:12px}.service-menu__grid.has-card-layout{row-gap:0}.service-choice{border-radius:18px}.service-choice summary{grid-template-columns:56px minmax(0,1fr) 28px;align-items:center;gap:14px;padding:20px 16px;min-height:112px}.service-choice__icon{width:56px;height:56px;border-radius:16px}.service-choice__icon svg{width:36px;height:36px}.service-choice__label{grid-column:2;grid-row:1}.service-choice__label strong{font-size:1.05rem}.service-choice__hint{font-size:.8rem;margin-top:5px}.service-choice__plus{grid-column:3;align-self:center;width:28px;height:28px}.service-choice__detail{margin:0 18px;padding:18px 0 22px}.service-menu__contact{gap:4px 18px}.service-menu__head{margin-bottom:22px}} @media(prefers-reduced-motion:reduce){.service-choice,.service-choice *{transition:none!important;animation:none!important}} @media(max-width:900px){html body[data-nav-key="home"] .hero-mobile-service-label{display:block;order:0;grid-column:1/-1;margin:0 0 10px;color:#414578;font-size:1rem;font-weight:750;line-height:1.4;text-align:center}html body[data-nav-key="home"] .hero-copy-card .hero-service-label{display:none}html body[data-nav-key="home"] .hero-figure{order:1}html body[data-nav-key="home"] .hero-copy-card{order:2}} .service-menu__head{margin-bottom:32px} .service-choice summary{min-height:248px;padding:28px;gap:22px 12px} .service-choice__label strong{font-size:1.45rem;line-height:1.25} .service-choice__hint{font-size:.95rem;line-height:1.55;margin-top:9px;max-width:34ch} @media(max-width:600px){ .service-choice summary{min-height:150px;padding:22px 16px;gap:14px;grid-template-columns:52px minmax(0,1fr) 24px} .service-choice__icon{width:52px;height:52px} .service-choice__plus{width:24px;height:24px} .service-choice__label strong{font-size:1.17rem} .service-choice__hint{font-size:.86rem;line-height:1.5;margin-top:7px} }
/* Source: public_html/faq-carousel.css */
.faq-carousel-controls{display:none} @media(min-width:1000px){ html body .desktop-faq-rail{display:flex!important;gap:20px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-padding:3px;padding:4px 3px 20px!important;align-items:flex-start!important;max-width:100%;scrollbar-width:thin;scrollbar-color:#a6a4ce #efeff7} html body .desktop-faq-rail>details,html body .desktop-faq-rail>.faq-item{flex:0 0 calc((100% - 40px)/3)!important;min-width:0!important;box-sizing:border-box;scroll-snap-align:start;margin:0!important;border:1px solid #ddddec;border-radius:18px;background:#fff;overflow:hidden;opacity:1!important;transform:none!important} html body .desktop-faq-rail summary,html body .desktop-faq-rail .faq-question{min-height:120px;padding:24px!important;font-size:1.06rem;line-height:1.45} html body .desktop-faq-rail>details>p{padding:0 24px 24px!important;margin:0!important;line-height:1.65} .faq-carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 18px;color:#626578;font-size:.9rem} .faq-carousel-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #d4d4e9;border-radius:50%;background:#fff;color:#343091;font-size:24px;cursor:pointer}.faq-carousel-controls button:disabled{opacity:.35;cursor:default}.faq-carousel-controls button:focus-visible{outline:3px solid #7970cf;outline-offset:3px}.faq-carousel-controls button:not(:disabled):hover{background:#eeedff} } @media(prefers-reduced-motion:reduce){.desktop-faq-rail{scroll-behavior:auto!important}} .faq-carousel-controls[hidden]{display:none!important}
/* Source: public_html/page-flow.css */
html body .editorial-layout{display:grid;gap:30px;align-items:center} html body .editorial-layout .flow-copy{width:auto!important;max-width:none!important;min-width:0;margin:0!important} html body .flow-photos{display:grid;gap:18px;min-width:0;align-self:center} html body .flow-photos figure{margin:0;min-width:0} html body .flow-photos img.service-scene{display:block;width:100%;height:auto;aspect-ratio:3/2!important;object-fit:contain!important;border-radius:16px} html body .project-onsite-proof figure{margin:0 0 22px} html body .project-onsite-proof img{width:100%;height:auto;border-radius:14px} @media(min-width:1000px){ html body:not([data-nav-key="home"]) main .container:has(img){width:min(1200px,calc(100% - 64px))} html body .editorial-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,4vw,64px)} html body .editorial-layout .flow-copy.help-layout{display:flex;flex-direction:column;gap:22px;align-items:stretch} html body .editorial-layout .help-intro{position:static;max-width:none;text-align:left;margin:0} html body .editorial-layout .help-points{grid-template-columns:1fr;gap:0} html body .editorial-layout .help-point{padding:16px 0;background:transparent;border:0;border-top:1px solid #dfe2ec;box-shadow:none} html body .editorial-layout .help-point:first-child{padding-top:0;border-top:0} html body .editorial-layout .help-point p{font-size:1rem;line-height:1.55} html body .editorial-layout .help-list{padding:18px 20px;box-shadow:none;border-radius:12px} html body .editorial-layout .help-list ul{grid-template-columns:repeat(2,minmax(0,1fr));font-size:.93rem;gap:10px 20px} html body .editorial-layout .section-head{text-align:left;margin:0 0 24px;max-width:none} html body .editorial-layout h2{font-size:clamp(1.7rem,2.5vw,2.35rem);line-height:1.17} html body .editorial-layout .lead{font-size:1.08rem;line-height:1.6} html body .editorial-layout .service-text-grid{grid-template-columns:1fr;gap:0} html body .editorial-layout .service-text-card{padding:16px 0;background:transparent;box-shadow:none;border:0;border-bottom:1px solid #e0e3ee;border-radius:0;min-height:0} html body .editorial-layout .service-text-card:last-child{border-bottom:0} html body .editorial-layout .service-links{grid-template-columns:1fr} html body .flow-photos--pair{max-width:420px;justify-self:end;width:100%} html body .editorial-layout .hub-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))} html body .editorial-layout .hub-service-card{padding:18px;box-shadow:none} html body .hero-grid,html body.variant-c .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;text-align:left;align-items:center} html body.variant-c .hero-grid>div{margin:0;max-width:none} html body.variant-c .hero .lead{margin-inline:0} html body.variant-c .hero-actions{justify-content:flex-start} html body .hero-grid>.hero-card,html body.variant-c .hero-grid>.hero-card{width:100%;max-width:560px;margin:0;justify-self:end} html body .hero-card img.service-scene{display:block;max-height:380px;object-fit:contain!important;aspect-ratio:3/2!important} html body .section,html body .related-section{padding-block:64px} html body .section-head{margin-bottom:28px} html body .ai-proof-layout{grid-template-columns:1fr 1fr;align-items:center;gap:36px} html body .ai-proof-gallery img{min-height:0;height:auto;aspect-ratio:3/4;object-fit:cover} html body .ai-proof-gallery figcaption{font-size:.83rem;line-height:1.45} html body .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px} html body .project-card h2{font-size:1.2rem;line-height:1.3} html body .project-onsite-proof{gap:28px} html body .project-onsite-proof .path-panel{padding:24px} html body .landing-photo-comparison .hero-redesign-visual{max-width:800px} html body .search-section .search-explain-cards{grid-template-columns:1fr;gap:16px} html body .search-section .search-explain-card{padding:20px} html body[data-nav-key="home"] .hero-redesign .hero-image-shell{width:min(560px,100%)!important} html body .recent-work-track{grid-auto-columns:calc((100% - 3 * .85rem)/4)} } @media(max-width:999px){html body .flow-photos{width:min(580px,100%);margin-inline:auto}html body .flow-photos--pair{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}html body .editorial-layout{gap:24px}} @media(max-width:600px){html body .flow-photos--pair{grid-template-columns:1fr;width:min(440px,100%)}html body .flow-photos{max-width:440px}} @media(min-width:1000px){ html body.service-page .hero-grid>div{padding:0;border:0;background:transparent} html body.service-page .hero h1{font-size:clamp(38px,3.3vw,52px);line-height:1.12;letter-spacing:-.035em} html body .editorial-layout .help-list{position:static!important;top:auto!important} html body .editorial-layout .lifecycle{grid-template-columns:1fr;gap:16px} html body .editorial-layout .lifecycle article{padding:16px 0;border:0;border-top:1px solid #e0e3ee;box-shadow:none;background:transparent} html body .editorial-layout .lifecycle article:first-child{border-top:0} html body .editorial-layout .lifecycle small{font-size:.75rem;letter-spacing:.04em} html body .visual-grid:has(>.visual-card:first-child:nth-last-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))} } @media(min-width:1000px){html body.service-page .hero-card{transform:none;outline:0;outline-offset:0}html body .editorial-layout .help-list ul{margin-bottom:0}} @media(min-width:1000px){ html body #capabilities>.editorial-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;align-items:start} html body #capabilities .hub-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px} html body #capabilities .hub-service-card{padding:20px;min-width:0} html body #capabilities .hub-service-card h3{font-size:1.08rem;line-height:1.3} html body #capabilities .hub-service-card p{font-size:.92rem;line-height:1.55} html body #capabilities .flow-photos{align-self:center} html body .related-section{padding-block:38px} html body .faq-wrap{padding-block:48px} } @media(max-width:600px){ html body .section,html body .related-section{padding-block:40px} html body .section-head{margin-bottom:22px} html body .flow-photos{gap:14px} html body .cta-band p,html body .hub-cta p{line-height:1.6} } @media(max-width:900px){ html body.experience-ready footer.footer{padding-bottom:calc(48px + env(safe-area-inset-bottom))!important} html body.experience-ready.has-experience-return-help footer.footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important} }
/* Source: public_html/headline-contact-refinement.css */
html body[data-nav-key="home"] .hero-copy-card h1.home-headline-static{font-size:clamp(40px,4.6vw,68px)!important;line-height:1.08!important;letter-spacing:-.04em;min-height:0!important;height:auto!important;width:auto!important;max-width:100%;white-space:normal!important} html body .experience-contact-dock{display:none!important} @media(max-width:600px){html body[data-nav-key="home"] .hero-copy-card h1.home-headline-static{font-size:clamp(34px,8.5vw,46px)!important}}
/* Source: public_html/mobile-stability.css */
html body main>section,html body footer{content-visibility:visible!important;contain-intrinsic-size:none!important} html body .mobile-drawer{overscroll-behavior:contain} html body .service-choice summary,html body .faq summary{touch-action:manipulation} html body .mobile-card-rail,html body .desktop-faq-rail{overscroll-behavior-x:contain} @media(max-width:900px){ html body input,html body select,html body textarea{font-size:16px} html body .service-choice__links a,html body .service-menu__contact a,html body .service-link{min-height:44px;box-sizing:border-box;display:flex;align-items:center} html body .faq summary{min-height:56px;box-sizing:border-box} html body .audience-mobile-sub a{min-height:44px;display:flex;align-items:center} html body .hero-actions .btn,html body .cta-actions .btn{min-height:48px} } @media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto!important} html body .mobile-card-rail,html body .recent-work-track,html body .local-answer-grid,html body .desktop-faq-rail{scroll-behavior:auto!important} } @media(max-width:900px){ html body.experience-ready .experience-menu-actions{position:static;background:#fff;border-top:1px solid #eceef7;padding-top:12px} } html body.experience-ready:not(.return-help-ready) .experience-return-help, html body.experience-ready.menu-open .experience-return-help, html body.experience-ready.footer-in-view .experience-return-help{display:none!important} @media(max-width:900px){ html body.experience-ready.has-experience-return-help footer{padding-bottom:calc(40px + env(safe-area-inset-bottom))!important} html body.experience-ready.has-experience-return-help:not(.return-help-ready) .experience-contact-dock{bottom:max(14px,calc(14px + env(safe-area-inset-bottom)))!important} } @media(prefers-reduced-motion:reduce){ html body.experience-ready > #mobileDrawer.experience-drawer, html body.experience-ready > #mobileDrawer.experience-drawer .mobile-menu{transition:none!important;animation:none!important} } :root{--ui-ease:cubic-bezier(.2,.7,.2,1);--ui-speed:180ms} html body :is(.motion-target,[data-reveal],.reveal){ filter:none!important; will-change:auto!important; transition:opacity 320ms var(--ui-ease),transform 320ms var(--ui-ease),box-shadow var(--ui-speed) ease,border-color var(--ui-speed) ease!important; transition-delay:0ms!important; } html body :is(.motion-target:not(.motion-in),[data-reveal]:not(.is-visible)){ transform:translate3d(0,8px,0)!important; } html body :is(.motion-target.motion-in,[data-reveal].is-visible){ opacity:1!important; transform:none!important; } html body :is(.reviews-carousel-shell,.story-timeline-shell).motion-paused, html body :is(.reviews-carousel-shell,.story-timeline-shell).motion-paused *{ animation-play-state:paused!important; } html body :is(.btn,.service-link,.mobile-carousel-arrow,.faq-carousel-controls button,.mobile-card-rail__hint button,.project-filter,.experience-contact-dock__button){ touch-action:manipulation; transition:background-color var(--ui-speed) ease,border-color var(--ui-speed) ease,color var(--ui-speed) ease,box-shadow var(--ui-speed) ease,translate var(--ui-speed) var(--ui-ease)!important; } html body :is(.btn,.service-link,.mobile-carousel-arrow,.faq-carousel-controls button,.mobile-card-rail__hint button,.project-filter):active:not(:disabled){ transform:none!important; translate:0 1px; } html body .experience-contact-dock__button:active{ background:#292680; box-shadow:0 2px 8px #20224c26,inset 0 0 0 2px #ffffff30; } html body :is(a,button,summary,input,select,textarea,[tabindex="0"]):focus-visible{ outline:3px solid #6865df!important; outline-offset:4px!important; } html body :is(.faq summary,.faq-item summary,.project-story summary){ transition:background-color var(--ui-speed) ease,color var(--ui-speed) ease; border-radius:inherit; } html body :is(.faq summary,.faq-item summary,.project-story summary):active{background-color:#eeeffb} html body :is(.hero-card img,.hero-image-shell,.meet-video-card){transform:none!important} @media(hover:hover) and (pointer:fine){ html body :is(.btn,.service-link):hover{transform:none!important;translate:0 -1px} html body .project-card:hover{transform:none!important} html body :is(.faq summary,.faq-item summary,.project-story summary):hover{color:#3431a3} } @media(max-width:1100px){ html body.experience-ready > #mobileDrawer.experience-drawer{ backdrop-filter:none; -webkit-backdrop-filter:none; transition:opacity 180ms ease,visibility 0s linear 180ms!important; } html body.experience-ready > #mobileDrawer.experience-drawer.open{ transition:opacity 180ms ease,visibility 0s!important; } html body.experience-ready > #mobileDrawer.experience-drawer .mobile-menu{ transform:translate3d(0,16px,0)!important; transition:transform 240ms var(--ui-ease)!important; } html body.experience-ready > #mobileDrawer.experience-drawer.open .mobile-menu{transform:none!important} } html body .recent-work-track[data-project-count]{scroll-snap-type:none} @media(prefers-reduced-motion:reduce){ html body *,html body *::before,html body *::after{ transition-duration:0s!important; transition-delay:0s!important; animation-duration:.01ms!important; animation-iteration-count:1!important; animation-delay:0s!important; scroll-behavior:auto!important; } html body :is(.motion-target,[data-reveal],.reveal){opacity:1!important;transform:none!important} html body :is(.btn,.service-link){translate:none!important} html body :is(.reviews-grid,.story-timeline,.scroll-cue){animation:none!important} }
/* Source: public_html/homepage-video.css */
html body .meet-video-frame{aspect-ratio:9 / 16} html body .meet-video-player{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;background:#000;border-radius:inherit} html body .meet-video-preview{width:100%;height:100%;border:0;padding:0;font:inherit;cursor:pointer;background:#000} html body .meet-video-preview[hidden]{display:none!important} html body .meet-video-play{width:64px;height:64px;border-radius:50%;background:#3431a3;box-shadow:0 4px 24px #0004;transition:background .16s ease,box-shadow .16s ease} html body .meet-video-play svg{margin-left:3px} html body .meet-video-preview:hover .meet-video-play, html body .meet-video-preview:focus-visible .meet-video-play{background:#282582;box-shadow:0 4px 28px #0006} html body .meet-video-preview:focus-visible{outline:3px solid #fff!important;outline-offset:-6px!important} html body .meet-video-player:focus-visible{outline:3px solid #aba9ff!important;outline-offset:-4px!important} @media(prefers-reduced-motion:reduce){html body .meet-video-play{transition:none}}
/* Source: public_html/project-preview.css */
html body .recent-work-card__body{padding:18px;gap:10px;display:flex;flex-direction:column} html body .recent-work-card__title{font-size:1.1rem;line-height:1.3;letter-spacing:-.02em;font-weight:800;color:inherit;margin:0} html body .recent-work-card__body>.recent-work-card__summary{font-size:.9rem;line-height:1.5;color:#5c6076} html body .recent-work-card__body>.recent-work-card__read{font-size:.85rem;font-weight:800;color:#383392;margin-top:auto;padding-top:4px} html body .recent-work-card img{aspect-ratio:16/10;object-fit:cover} html body .project-grid{align-items:start} html body .project-card>img{display:block;aspect-ratio:16/10;object-fit:cover} html body .project-card-copy{padding:20px} html body .project-card-copy h2{font-size:1.25rem;line-height:1.3;margin:12px 0 8px} html body .project-card-copy .project-teaser{font-size:.97rem;line-height:1.55;margin:12px 0 16px} html body .project-meta{font-size:.76rem;color:#666a7e;line-height:1.5} .project-story{border-top:1px solid #e4e5ef;padding-top:2px} .project-story summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;min-height:48px;box-sizing:border-box;font-size:.9rem;font-weight:800;color:#383392;cursor:pointer;list-style:none} .project-story summary::-webkit-details-marker,.local-answer-card summary::-webkit-details-marker{display:none} .project-story .story-open,.project-story[open] .story-closed{display:none} .project-story[open] .story-open{display:inline} .project-story[open] summary>span:last-child,.local-answer-card[open] summary>span{transform:rotate(45deg)} .project-story__body p{font-size:.95rem;line-height:1.65;margin:0 0 10px} html body .local-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;align-items:start;gap:14px;width:100%;margin:0;padding:0;overflow:visible} html body .local-answer-card{display:block;height:auto;min-width:0;padding:0;border:1px solid #dfe2ed;border-radius:16px;background:#fff;box-shadow:none} html body .local-answer-card summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;min-height:90px;box-sizing:border-box;list-style:none;cursor:pointer} html body .local-answer-card h3{font-size:1.05rem;line-height:1.4;margin:0;color:#262951} html body .local-answer-card summary>span{font-size:24px;font-weight:500;color:#5148a8;flex:0 0 20px;text-align:center} html body .local-answer-card[open]{border-color:#aaa3da;box-shadow:0 8px 22px #27244d08} html body .local-answer-body{padding:0 22px 22px} html body .local-answer-body p{font-size:.97rem;line-height:1.65;margin:0 0 16px} html body .local-answer-body a{min-height:44px;display:inline-flex;align-items:center;gap:8px} .project-story summary:focus-visible,.local-answer-card summary:focus-visible{outline:3px solid #8276f1;outline-offset:3px;border-radius:10px} html body .project-card:target{scroll-margin-top:110px;outline:2px solid #8276f1;outline-offset:4px} @media(max-width:680px){html body .local-answer-grid{grid-template-columns:1fr}html body .local-answer-card summary{padding:18px;min-height:80px}html body .local-answer-body{padding:0 18px 20px}html body .recent-work-card__body{padding:17px}html body .project-card-copy{padding:18px}} @media(prefers-reduced-motion:reduce){.project-story *,.local-answer-card *{transition:none!important}} html body .recent-work-card__body{min-height:0;gap:8px} html body .recent-work-card__tag,html body .recent-work-card__title{margin-bottom:0} html body .project-meta{display:grid;gap:3px;font-weight:500} html body .project-meta time,html body .project-meta span{font-weight:500} .project-story summary{padding-right:10px}
/* Source: public_html/mobile-text.css */
@media (max-width:1100px), (hover:none) and (pointer:coarse){ html body.experience-ready .experience-contact-dock { position:fixed; display:grid!important; grid-template-columns:64px; grid-template-rows:64px 64px; gap:10px; right:max(14px,env(safe-area-inset-right)); bottom:max(14px,calc(14px + env(safe-area-inset-bottom))); z-index:10030; opacity:1; visibility:visible; pointer-events:auto; transform:none; } html body.experience-ready .experience-contact-dock__button { display:grid; place-items:center; grid-column:1; width:64px; height:64px; min-width:64px; min-height:64px; padding:0; border:1px solid transparent; border-radius:50%; color:#fff; text-decoration:none; box-shadow:0 5px 20px #20224c26; -webkit-tap-highlight-color:transparent; touch-action:manipulation; } html body.experience-ready .experience-contact-dock__button svg { width:32px; height:32px; } html body.experience-ready .experience-contact-dock__button--call { grid-row:1; background:#3431a3; border-color:#3431a3; } html body.experience-ready .experience-contact-dock__button--call svg { fill:currentColor; } html body.experience-ready .experience-contact-dock__button--text { grid-row:2; background:#3431a3; border-color:#3431a3; } html body.experience-ready .experience-contact-dock__button--text svg { fill:none; } html body.experience-ready .experience-contact-dock__button--call:hover { background:#292680; } html body.experience-ready .experience-contact-dock__button--text:hover { background:#292680; } html body.experience-ready .experience-contact-dock__button:focus-visible { outline:3px solid #6865df; outline-offset:3px; } html body.experience-ready > #mobileDrawer.experience-drawer .mobile-menu { padding-bottom:calc(168px + env(safe-area-inset-bottom))!important; } html body.experience-ready.has-experience-contact footer { padding-bottom:calc(176px + env(safe-area-inset-bottom))!important; } } @media(prefers-reduced-motion:reduce){ html body .experience-contact-dock,html body .experience-contact-dock__button { transition:none!important; transform:none!important; } } html body.experience-ready.menu-open .experience-contact-dock{display:none!important} html body.experience-ready .experience-menu-actions .mobile-menu-text{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;background:#3431a3;color:#fff} html body.experience-ready .experience-menu-actions .mobile-menu-text svg{width:22px;height:22px;min-width:22px;flex-shrink:0} html body a.mobile-text-cta{display:none!important} @media(max-width:900px){html body a.mobile-text-cta{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;background:#3431a3!important;border:1px solid #3431a3!important;color:#fff!important}}
/* Source: public_html/mobile-reading.css */
html body .copy-mobile{display:none!important} html body .review-mobile-copy{display:none!important} @media(max-width:900px){ html body .copy-full{display:none!important} html body .copy-mobile{display:inline!important} html body .review-mobile-copy{display:block!important;position:relative;z-index:2} html body.home-refined #testimonials .review-quote.review-desktop-copy{display:none!important} html body .review-mobile-copy summary{cursor:pointer;list-style:none;min-height:44px} html body .review-mobile-copy summary::-webkit-details-marker{display:none} html body .review-mobile-copy .review-excerpt{display:block;font-size:.95rem;font-weight:400;line-height:1.6;color:inherit} html body .review-mobile-copy .review-disclosure-label{display:block;width:fit-content;padding:12px 0 4px;color:#3431a3;font-size:15px;line-height:1.25;font-weight:700} html body .review-mobile-copy .review-disclosure-close{display:none} html body .review-mobile-copy[open] .review-excerpt,html body .review-mobile-copy[open] .review-disclosure-open{display:none} html body .review-mobile-copy[open] .review-disclosure-close{display:block} html body .review-mobile-copy .review-complete{margin:12px 0 0;font-size:.95rem;line-height:1.6} html body .review-mobile-copy summary:focus-visible{outline:3px solid #6865df;outline-offset:4px;border-radius:4px} html body .project-card-tag,html body .project-meta>span:not(:has(time)),html body.home-refined #recent-work .recent-work-card__tag{display:none!important} html body main :is(.help-point,.service-text-card,.hub-service-card,.situation-card) p{line-height:1.6} } @media(prefers-reduced-motion:reduce){html body .review-mobile-copy *{transition:none!important;animation:none!important}}
