/* ==========================================================================
   Archin Tech — main stylesheet
   Colours come from the Archin Tech logo (#0054A6 blue + black).
   ========================================================================== */

:root {
	--at-blue: #0054A6;
	--at-deep: #003B75;
	--at-navy: #041A33;
	--at-ink: #0B0F19;
	--at-tint: #EAF1FA;
	--at-tint-2: #D3E3F5;
	--at-sky: #7DB4EC;
	--at-mist: #B9CCE4;
	--at-body: #3B4556;
	--at-muted: #5A6474;
	--at-line: #E1E6EE;
	--at-line-2: #C9D2DE;
	--at-grey: #F4F6F9;
	--at-white: #FFFFFF;

	--at-font: 'Instrument Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	--at-r-xl: 32px;
	--at-r-l: 28px;
	--at-r-m: 20px;
	--at-shadow: 0 24px 50px -24px rgba(4, 26, 51, .35), 0 2px 6px rgba(4, 26, 51, .06);
	--at-ease: cubic-bezier(.19, 1, .22, 1);
	--at-gutter: clamp(20px, 5.5vw, 80px);
	--at-inset: clamp(8px, 1.7vw, 24px);
	--at-max: 1440px;
}

/* Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: var(--at-white); color: var(--at-ink); font-family: var(--at-font); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
dl, dd { margin: 0; }
figure, blockquote { margin: 0; }
h1, h2, h3, h4 { margin: 0; font-weight: 700; }
::selection { background: var(--at-tint-2); color: var(--at-ink); }
:focus-visible { outline: 2px solid var(--at-blue); outline-offset: 3px; border-radius: 4px; }
.at-panel--navy :focus-visible, .at-panel--blue :focus-visible { outline-color: #fff; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.at-skip { position: absolute; left: 16px; top: -60px; z-index: 100; padding: 12px 18px; background: var(--at-ink); color: #fff; border-radius: 999px; font-weight: 600; transition: top .2s; }
.at-skip:focus { top: 12px; }

/* Layout ---------------------------------------------------------------- */
.at-container { width: 100%; max-width: var(--at-max); margin-inline: auto; padding-inline: var(--at-gutter); }
.at-inset { width: 100%; max-width: var(--at-max); margin-inline: auto; padding: 20px var(--at-inset); }
.at-section { padding-block: clamp(72px, 8vw, 112px); }
.at-section--top-tight { padding-top: clamp(24px, 4vw, 48px); }
.at-stack { display: flex; flex-direction: column; gap: 18px; }
.at-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.at-panel { position: relative; overflow: hidden; border-radius: var(--at-r-xl); isolation: isolate; }
.at-panel--navy { background: var(--at-navy); color: #fff; }
.at-panel--blue { background: var(--at-blue); color: #fff; }
.at-panel--grey { background: var(--at-grey); }
.at-panel--tint { background: var(--at-tint); }
.at-surface--grey { background: var(--at-grey); }
.at-surface--tint { background: var(--at-tint); }
.at-surface--navy { background: var(--at-navy); }

.at-grid-bg { position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 48px 48px; }

/* Type ------------------------------------------------------------------ */
.at-display { font-size: clamp(40px, 6vw, 100px); line-height: .95; letter-spacing: -.045em; font-weight: 700; }
.at-display--md { font-size: clamp(44px, 5.8vw, 88px); }
.at-display--light { color: #fff; }
.at-h1 { font-size: clamp(38px, 5vw, 72px); line-height: 1; letter-spacing: -.04em; max-width: 18ch; }
.at-h2 { font-size: clamp(34px, 4.2vw, 60px); line-height: 1.02; letter-spacing: -.035em; }
.at-h2--light { color: #fff; }
.at-h3 { font-size: clamp(28px, 3vw, 44px); line-height: 1.05; letter-spacing: -.03em; }
.at-lead { font-size: clamp(17px, 1.35vw, 20px); line-height: 1.55; color: var(--at-body); max-width: 34em; }
.at-lead--light { color: var(--at-mist); }
.at-body { color: var(--at-body); line-height: 1.6; }
.at-body--lg { font-size: 18px; }
.at-eyebrow { font-size: 15px; font-weight: 600; color: var(--at-blue); letter-spacing: -.005em; }
.at-eyebrow--light { color: #9CC3EC; }
.at-blue { color: var(--at-blue); }
.at-sky { color: var(--at-sky); }

.at-section-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px 80px; margin-bottom: clamp(36px, 4.5vw, 56px); }
.at-section-head__main { flex: 1 1 520px; display: flex; flex-direction: column; gap: 16px; max-width: 800px; }
.at-section-head__intro { flex: 0 1 400px; max-width: 420px; font-size: 17px; color: var(--at-body); }

.at-ul { background-image: linear-gradient(currentColor, currentColor); background-size: 0% 1.5px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .5s var(--at-ease); }
a:hover .at-ul, a:focus-visible .at-ul { background-size: 100% 1.5px; }
.at-inline-link { color: var(--at-blue); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Buttons --------------------------------------------------------------- */
.at-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 26px; border-radius: 999px; border: 1.5px solid transparent; font-size: 16px; font-weight: 600; line-height: 1; white-space: nowrap; cursor: pointer; transition: background-color .3s, color .3s, border-color .3s; }
.at-btn--sm { min-height: 48px; padding: 0 20px; font-size: 15px; }
.at-btn--block { width: 100%; white-space: normal; text-align: center; padding-block: 12px; line-height: 1.3; }
.at-btn .at-icon { transition: transform .35s var(--at-ease); }
.at-btn:hover .at-icon { transform: translateX(4px); }
.at-btn--primary { background: var(--at-blue); color: #fff; }
.at-btn--primary:hover { background: var(--at-deep); color: #fff; }
.at-btn--dark { background: var(--at-ink); color: #fff; }
.at-btn--dark:hover { background: var(--at-blue); color: #fff; }
.at-btn--white { background: #fff; color: var(--at-ink); }
.at-btn--white:hover { background: var(--at-tint); color: var(--at-ink); }
.at-btn--outline { background: transparent; color: var(--at-ink); border-color: var(--at-line-2); }
.at-btn--outline:hover { border-color: var(--at-blue); color: var(--at-blue); }
.at-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.45); }
.at-btn--ghost:hover { background: rgba(255,255,255,.12); color: #fff; }

.at-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; color: var(--at-blue); }
.at-link .at-icon { transition: transform .35s var(--at-ease); }
.at-link:hover .at-icon { transform: translateX(4px); }

.at-tag { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; background: var(--at-grey); font-size: 13px; font-weight: 600; color: var(--at-ink); white-space: nowrap; }
.at-pill { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 10px; border-radius: 999px; background: rgba(255,255,255,.08); color: #D5E3F3; font-size: 14px; font-weight: 500; }

/* Header ---------------------------------------------------------------- */
.at-announce { background: var(--at-ink); color: #D5DCE6; font-size: 14px; }
.at-announce__inner { max-width: var(--at-max); margin: 0 auto; padding: 9px var(--at-gutter); display: flex; align-items: center; justify-content: center; gap: 12px; text-align: center; flex-wrap: wrap; }
.at-announce__badge { padding: 3px 9px; border-radius: 999px; background: var(--at-blue); color: #fff; font-size: 12px; font-weight: 600; }
.at-announce__link { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.at-header { position: relative; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid var(--at-line); }
.at-header__inner { max-width: var(--at-max); margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px); height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.at-logo { display: inline-flex; align-items: flex-start; gap: 2px; flex-shrink: 0; }
.at-logo img { height: 32px; width: auto; }
.at-logo__reg { font-size: 11px; line-height: 1; margin-top: -3px; }
.at-logo--footer img { height: 38px; }

.at-nav-wrap { display: flex; align-items: center; gap: 40px; flex: 1; justify-content: flex-end; }
.at-nav { flex: 1; display: flex; justify-content: center; }
.at-nav__list { display: flex; gap: clamp(20px, 2.6vw, 40px); }
.at-nav__list a { display: flex; align-items: center; height: 72px; font-size: 15px; font-weight: 500; border-bottom: 2px solid transparent; padding-top: 2px; transition: color .2s, border-color .2s; }
.at-nav__list a:hover { color: var(--at-blue); }
.at-nav__list .current-menu-item > a, .at-nav__list .current_page_item > a, .at-nav__list .current-menu-ancestor > a, .at-nav__list a[aria-current="page"] { color: var(--at-blue); border-bottom-color: var(--at-blue); }
.at-header__actions { display: flex; align-items: center; gap: 20px; }
.at-header__phone { font-size: 14px; font-weight: 500; color: var(--at-body); white-space: nowrap; }
.at-header__phone:hover { color: var(--at-blue); }
.at-menu-toggle { display: none; width: 44px; height: 44px; border: 1.5px solid var(--at-line-2); border-radius: 999px; background: #fff; align-items: center; justify-content: center; cursor: pointer; }
.at-menu-toggle__close { display: none; }

/* Sticky header wrapper: the announcement bar scrolls away, the nav stays. */
.at-site-header, .elementor-location-header, body > #masthead { position: sticky; top: calc(var(--at-announce-h, 0px) * -1); z-index: 60; }
.admin-bar .at-site-header, .admin-bar .elementor-location-header, .admin-bar > #masthead { top: calc(32px - var(--at-announce-h, 0px)); }
.at-site-footer--elementor { margin-top: 20px; }
.at-footer { margin-top: 20px; }

/* Elementor compatibility: Elementor's generic image rules must not shrink the decorative marks. */
.elementor .at-hero__mark, .elementor .at-band__mark, .elementor .at-cta__mark, .elementor .at-tile__mark,
.elementor .at-service__mark, .elementor .at-principles__mark, .elementor .at-sheet__mark { max-width: none; height: auto; }
.elementor .at-logo img { height: 32px; width: auto; }
.elementor .at-announce__link, .elementor .at-inline-link, .elementor .at-prose a { text-decoration: underline; text-underline-offset: 3px; }
.elementor .at-dash__side img { width: 26px; }
.elementor .at-logo--footer img { height: 38px; }
.elementor .at-media img { height: 100%; }
.elementor .at-clients__logos img { max-height: 40px; width: auto; }
.elementor .at-quote__avatar img { width: 26px; }
.elementor .at-quote__avatar img.at-quote__photo, .at-quote__photo { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 999px; }
.elementor-widget[class*="elementor-widget-archintech-"] { margin-bottom: 0; --kit-widget-spacing: 0px; }
.at-service-wrap { scroll-margin-top: 96px; }
.elementor-editor-active .at-nav-wrap { transition: none; }

/* Hero ------------------------------------------------------------------ */
.at-hero { min-height: min(780px, calc(100svh - 150px)); padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px); display: flex; gap: 60px; }
.at-hero__mark { position: absolute; right: -140px; top: 60px; width: 820px; max-width: none; z-index: -1; }
.at-hero__mark--low { top: auto; bottom: -240px; right: -200px; width: 760px; opacity: .55; }
.at-hero__content { position: relative; max-width: 700px; display: flex; flex-direction: column; justify-content: space-between; gap: 48px; }
.at-hero__top { display: flex; flex-direction: column; gap: 28px; }
.at-hero__stats { display: flex; flex-wrap: wrap; gap: 24px 44px; }
.at-hero__stats > div { display: flex; flex-direction: column-reverse; gap: 4px; color: var(--at-mist); font-size: 14px; }
.at-hero__stats dd { font-size: 30px; font-weight: 700; letter-spacing: -.02em; color: #fff; }
.at-hero__note { font-size: 14px; color: #8FB4DD; max-width: 520px; }
.at-hero__cards { position: absolute; right: clamp(24px, 4vw, 72px); top: 110px; width: 470px; height: 500px; }
.at-hero__card-a { position: absolute; left: 0; top: 0; width: 330px; }
.at-hero__card-b { position: absolute; left: 140px; top: 218px; width: 330px; }
.at-hero__card-c { position: absolute; left: 20px; top: 370px; width: 250px; }
.at-hero__side { position: relative; flex-shrink: 0; align-self: center; margin-left: auto; }
.at-hero--inner { min-height: 0; }

/* Clients --------------------------------------------------------------- */
.at-clients { display: flex; align-items: center; gap: 48px; padding-block: 56px; }
.at-clients__label { width: 230px; flex-shrink: 0; font-size: 15px; color: var(--at-body); }
.at-clients__logos { flex: 1; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; align-items: center; }
.at-clients__logos img { max-height: 40px; width: auto; margin: 0 auto; filter: grayscale(1); opacity: .7; transition: opacity .3s, filter .3s; }
.at-clients__logos img:hover { filter: none; opacity: 1; }
.at-clients__ph { height: 56px; border-radius: 12px; border: 1px dashed var(--at-line-2); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; color: #8A94A3; }

/* Tabs / explore -------------------------------------------------------- */
.at-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.at-tab { min-height: 48px; padding: 0 22px; border-radius: 999px; border: 1.5px solid #D5DCE6; background: #fff; color: var(--at-ink); font-size: 15px; font-weight: 600; cursor: pointer; transition: background-color .3s, color .3s, border-color .3s; }
.at-tab:hover { border-color: var(--at-ink); }
.at-tab[aria-selected="true"], .at-tab[aria-pressed="true"] { background: var(--at-ink); color: #fff; border-color: var(--at-ink); }
.at-tabpanel { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); min-height: 540px; border-radius: var(--at-r-xl); background: var(--at-grey); overflow: hidden; }
.at-tabpanel[hidden] { display: none; }
.at-tabpanel.is-entering { animation: at-swap .7s var(--at-ease) both; }
.at-tabpanel__text { padding: clamp(32px, 5vw, 64px); display: flex; flex-direction: column; justify-content: space-between; gap: 32px; }
.at-tabpanel__visual { margin: 12px; border-radius: var(--at-r-l); background: var(--at-tint); display: flex; align-items: center; justify-content: center; padding: 24px; overflow: hidden; }
.at-checks { display: flex; flex-direction: column; gap: 12px; margin-top: 6px; }
.at-checks li { display: flex; gap: 12px; align-items: center; font-size: 15px; font-weight: 500; }
.at-icon--check { color: var(--at-blue); flex-shrink: 0; }

/* Services bento -------------------------------------------------------- */
.at-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 290px; gap: 16px; }
.at-tile { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--at-r-l); padding: 32px; display: flex; flex-direction: column; justify-content: space-between; transition: transform .6s var(--at-ease), box-shadow .6s var(--at-ease); }
.at-tile:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -30px rgba(4,26,51,.45); }
.at-tile--wide { grid-column: span 2; }
.at-tile--tint { background: var(--at-tint); }
.at-tile--grey { background: var(--at-grey); }
.at-tile--navy { background: var(--at-navy); color: #fff; }
.at-tile--blue { background: var(--at-blue); color: #fff; }
.at-tile--ink { background: var(--at-ink); color: #fff; }
.at-tile__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.at-tile__title { font-size: 26px; line-height: 1.1; letter-spacing: -.025em; max-width: 360px; }
.at-tile--wide .at-tile__title { font-size: clamp(26px, 2.4vw, 34px); }
.at-tile__icon { width: 44px; height: 44px; flex-shrink: 0; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center; transition: transform .5s var(--at-ease); }
.at-tile--navy .at-tile__icon, .at-tile--blue .at-tile__icon, .at-tile--ink .at-tile__icon { background: rgba(255,255,255,.14); }
.at-tile:hover .at-tile__icon { transform: translate(3px, -3px); }
.at-tile__desc { font-size: 15px; line-height: 1.55; color: var(--at-body); max-width: 300px; }
.at-tile--wide .at-tile__desc { max-width: 420px; }
.at-tile--navy .at-tile__desc { color: var(--at-mist); }
.at-tile--blue .at-tile__desc { color: #D6E4F3; }
.at-tile--ink .at-tile__desc { color: #B7C3D2; }
.at-tile__mark { position: absolute; right: -40px; bottom: -70px; width: 300px; opacity: .14; z-index: -1; }
.at-tile--blue .at-tile__mark { opacity: .12; }

/* Media + placeholders --------------------------------------------------- */
.at-media { position: relative; overflow: hidden; border-radius: var(--at-r-l); aspect-ratio: 4 / 3; background: var(--at-grey); display: flex; }
.at-media--tall { aspect-ratio: auto; height: clamp(360px, 40vw, 560px); }
.at-media--post { aspect-ratio: 16 / 10; border-radius: 24px; }
.at-media--portrait { aspect-ratio: 4 / 5; border-radius: 24px; }
.at-media--hero { aspect-ratio: 16 / 8; border-radius: var(--at-r-xl); }
.at-media img, .at-media .at-ph { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--at-ease); }
a:hover .at-media img, a:hover .at-media .at-ph { transform: scale(1.04); }
.at-ph { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; letter-spacing: .04em; background-image: repeating-linear-gradient(135deg, var(--at-ph-stripe) 0 1px, transparent 1px 14px); }
.at-ph--grey { --at-ph-stripe: #E6EBF2; background-color: var(--at-grey); color: var(--at-muted); }
.at-ph--tint { --at-ph-stripe: #DCE7F4; background-color: var(--at-tint); color: var(--at-muted); }
.at-ph--navy { --at-ph-stripe: #0A2545; background-color: var(--at-navy); color: #8FB4DD; }
.at-ph--blue { --at-ph-stripe: #1463B0; background-color: var(--at-blue); color: #CFE0F2; }

/* Work ------------------------------------------------------------------ */
.at-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 24px; }
.at-case-card__link { display: flex; flex-direction: column; gap: 20px; }
.at-case-card__body { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.at-case-card__title { font-size: clamp(22px, 2vw, 28px); letter-spacing: -.02em; line-height: 1.15; }
.at-case-card__result { margin-top: 6px; color: var(--at-body); font-size: 16px; }
.at-case-card.is-hidden { display: none; }
.at-filterbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 8px; }
.at-filterbar .at-tabs { margin-bottom: 0; }
.at-filterbar__count { color: var(--at-muted); font-size: 15px; }
.at-admin-hint { grid-column: 1 / -1; padding: 16px 20px; border-radius: 14px; background: var(--at-tint); color: var(--at-deep); font-size: 15px; }

/* AI band --------------------------------------------------------------- */
.at-band { padding: clamp(40px, 6vw, 80px); display: flex; align-items: center; gap: 60px; }
.at-band__mark { position: absolute; left: -100px; bottom: -200px; width: 640px; max-width: none; opacity: .08; z-index: -1; }
.at-band__text { flex: 1; display: flex; flex-direction: column; gap: 24px; max-width: 640px; }
.at-band__visual { flex-shrink: 0; margin-left: auto; }

/* Testimonial ----------------------------------------------------------- */
.at-quote { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px 80px; }
.at-quote blockquote { grid-column: 2; font-size: clamp(26px, 3vw, 42px); line-height: 1.2; font-weight: 500; letter-spacing: -.025em; max-width: 26ch; }
.at-quote figcaption { grid-column: 2; display: flex; align-items: center; gap: 16px; }
.at-quote figcaption strong { display: block; }
.at-quote figcaption span span { color: var(--at-muted); font-size: 14px; }
.at-quote .at-eyebrow { grid-row: 1 / span 2; }
.at-quote__avatar img { width: 26px; height: auto; }
.at-quote__avatar { width: 56px; height: 56px; border-radius: 999px; background: var(--at-tint); color: var(--at-blue); font-weight: 700; font-size: 20px; display: flex; align-items: center; justify-content: center; }

/* Posts ----------------------------------------------------------------- */
.at-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px; }
.at-post-card__link { display: flex; flex-direction: column; gap: 18px; }
.at-post-card__meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 14px; color: var(--at-muted); }
.at-post-card__title { font-size: 24px; line-height: 1.25; letter-spacing: -.02em; }
.at-pagination { margin-top: 56px; }
.at-pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.at-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--at-line-2); display: inline-flex; align-items: center; justify-content: center; font-weight: 600; }
.at-pagination .page-numbers.current { background: var(--at-ink); color: #fff; border-color: var(--at-ink); }
.at-empty { color: var(--at-body); font-size: 18px; }

/* CTA ------------------------------------------------------------------- */
.at-cta { padding: clamp(44px, 6vw, 72px) clamp(28px, 6vw, 80px); display: flex; justify-content: space-between; align-items: center; gap: 40px; flex-wrap: wrap; }
.at-cta__mark { position: absolute; right: -60px; top: -120px; width: 560px; max-width: none; opacity: .5; z-index: -1; }
.at-cta__text { display: flex; flex-direction: column; gap: 20px; max-width: 720px; }
.at-cta__actions { display: flex; flex-direction: column; gap: 12px; }

/* Page hero ------------------------------------------------------------- */
.at-page-hero { padding-block: clamp(40px, 5vw, 64px) clamp(40px, 5vw, 64px); display: flex; flex-direction: column; gap: clamp(32px, 5vw, 56px); border-bottom: 1px solid var(--at-line); }
.at-page-hero--article { gap: 24px; border-bottom: 0; }
.at-page-hero__row { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px 80px; flex-wrap: wrap; }
.at-page-hero__row .at-lead { max-width: 420px; font-size: 18px; }
.at-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--at-muted); }
.at-breadcrumb li + li::before { content: '/'; margin-right: 8px; color: var(--at-line-2); }
.at-breadcrumb a:hover { color: var(--at-blue); }
.at-breadcrumb [aria-current] { color: var(--at-ink); }
.at-breadcrumb--dark ol { color: #8FB4DD; }
.at-breadcrumb--dark [aria-current] { color: #fff; }
.at-breadcrumb--dark a:hover { color: #fff; }
.at-jump { display: flex; flex-wrap: wrap; gap: 10px; }
.at-jump a { min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; border-radius: 999px; border: 1.5px solid #D5DCE6; font-size: 15px; font-weight: 500; transition: border-color .3s, color .3s; }
.at-jump a:hover { border-color: var(--at-blue); color: var(--at-blue); }
.at-facts { display: flex; flex-wrap: wrap; gap: 16px 48px; padding-top: 8px; }
.at-facts dt { font-size: 13px; color: var(--at-muted); }
.at-facts dd { font-weight: 600; }

/* Services page --------------------------------------------------------- */
.at-services { display: flex; flex-direction: column; }
.at-service { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); padding-block: 50px; align-items: stretch; scroll-margin-top: 96px; }
.at-service--flip .at-service__visual { order: -1; }
.at-service--flip { grid-template-columns: minmax(0, 1fr) minmax(0, 560px); }
.at-service__text { display: flex; flex-direction: column; justify-content: center; gap: 22px; }
.at-service__visual { position: relative; overflow: hidden; isolation: isolate; min-height: 540px; border-radius: var(--at-r-xl); display: flex; align-items: center; justify-content: center; padding: 24px; }
.at-service__mark { position: absolute; left: -80px; bottom: -120px; width: 420px; opacity: .35; z-index: -1; }
.at-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.at-checklist li { display: flex; gap: 10px; align-items: center; padding: 12px 0; border-top: 1px solid var(--at-line); font-size: 15px; font-weight: 500; }

.at-process { padding: clamp(36px, 5vw, 72px); }
.at-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: none; }
.at-step { border-radius: 24px; background: #fff; padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.at-step__n { font-size: 14px; font-weight: 700; color: var(--at-blue); }
.at-step__title { font-size: 30px; letter-spacing: -.02em; }
.at-step p { font-size: 15px; color: var(--at-body); }

/* AI page --------------------------------------------------------------- */
.at-uses { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.at-use { border-radius: var(--at-r-l); background: var(--at-grey); padding: 32px; display: flex; flex-direction: column; gap: 22px; }
.at-use__title { font-size: 26px; letter-spacing: -.02em; line-height: 1.1; }
.at-use__before, .at-use__after { display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.at-use__before span, .at-use__after span { font-size: 13px; font-weight: 700; color: var(--at-muted); }
.at-use__before p { color: var(--at-body); }
.at-use__after { padding-top: 22px; border-top: 1px solid #D5DCE6; }
.at-use__after span { color: var(--at-blue); }
.at-use__after p { font-weight: 500; }

.at-timeline { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.at-timeline::before { content: ''; position: absolute; left: 8px; right: 0; top: 8px; height: 2px; background: var(--at-tint-2); }
.at-timeline__item { position: relative; display: flex; flex-direction: column; gap: 14px; }
.at-timeline__dot { width: 18px; height: 18px; border-radius: 999px; background: #fff; border: 3px solid var(--at-blue); }
.at-timeline__item.is-first .at-timeline__dot { background: var(--at-blue); }
.at-timeline__when { font-size: 13px; font-weight: 600; color: var(--at-muted); }
.at-timeline__title { font-size: 28px; letter-spacing: -.02em; }
.at-timeline p { font-size: 15px; color: var(--at-body); }

.at-principles { padding: clamp(40px, 6vw, 72px); display: flex; flex-direction: column; gap: 56px; }
.at-principles__mark { position: absolute; right: -60px; top: -80px; width: 420px; opacity: .1; z-index: -1; }
.at-principles__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.at-principle { border-top: 1px solid rgba(255,255,255,.2); padding-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.at-principle h3 { font-size: 24px; letter-spacing: -.02em; color: #fff; }
.at-principle p { font-size: 15px; color: #CFE0F2; }

.at-faq { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 40px 80px; }
.at-faq__intro { display: flex; flex-direction: column; gap: 18px; }
.at-faq__list { border-top: 1px solid var(--at-line); }
.at-faq__item { border-bottom: 1px solid var(--at-line); }
.at-faq__item summary { list-style: none; min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 0; font-size: 20px; font-weight: 600; cursor: pointer; }
.at-faq__item summary::-webkit-details-marker { display: none; }
.at-faq__icon { width: 40px; height: 40px; flex-shrink: 0; border-radius: 999px; background: var(--at-grey); display: flex; align-items: center; justify-content: center; transition: transform .4s var(--at-ease), background-color .3s, color .3s; }
.at-faq__item[open] .at-faq__icon { transform: rotate(45deg); background: var(--at-blue); color: #fff; }
.at-faq__item p { padding: 0 64px 28px 0; color: var(--at-body); line-height: 1.65; }
.at-faq__item[open] p { animation: at-swap .5s var(--at-ease) both; }

/* About ----------------------------------------------------------------- */
.at-about-hero { display: grid; grid-template-columns: minmax(0, 1fr) 560px; gap: 60px 80px; align-items: center; padding-block: 56px 72px; }
.at-about-hero__text { display: flex; flex-direction: column; gap: 30px; }
.at-sheet { position: relative; width: 560px; height: 560px; border-radius: var(--at-r-l); border: 1px solid var(--at-line); overflow: hidden; background-color: #fff; background-image: linear-gradient(#EDF1F6 1px, transparent 1px), linear-gradient(90deg, #EDF1F6 1px, transparent 1px); background-size: 28px 28px; }
.at-sheet__ring { position: absolute; left: 90px; top: 50px; width: 380px; height: 380px; border: 1px dashed var(--at-line-2); border-radius: 999px; }
.at-sheet__axis { position: absolute; left: 280px; top: 30px; height: 420px; border-left: 1px dashed #A9B6C6; }
.at-sheet__mark { position: absolute; left: 110px; top: 100px; width: 340px; }
.at-sheet__dim { position: absolute; left: 110px; top: 400px; width: 340px; height: 1px; background: var(--at-ink); }
.at-sheet__dim i { position: absolute; top: -6px; width: 1px; height: 13px; background: var(--at-ink); }
.at-sheet__dim i:last-child { right: 0; }
.at-sheet__block { position: absolute; left: 32px; right: 32px; top: 460px; height: 64px; border: 1px solid var(--at-ink); border-radius: 6px; background: #fff; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.at-sheet__block > div { padding: 10px 14px; display: flex; flex-direction: column; gap: 2px; }
.at-sheet__block > div + div { border-left: 1px solid var(--at-ink); }
.at-sheet__block dt { font-size: 11px; font-weight: 600; color: var(--at-muted); }
.at-sheet__block dd { font-size: 13px; font-weight: 700; }

.at-story { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 40px 80px; border-top: 1px solid var(--at-line); }
.at-story__body { font-size: 19px; }

.at-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.at-value { border-radius: var(--at-r-l); padding: 32px; min-height: 220px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.at-value__n { font-size: 44px; font-weight: 700; color: var(--at-blue); letter-spacing: -.03em; }
.at-value h3 { font-size: 26px; letter-spacing: -.02em; margin-bottom: 10px; }
.at-value p { font-size: 15px; color: var(--at-body); }

.at-figures { padding: clamp(40px, 5vw, 64px) clamp(28px, 5vw, 72px); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
.at-figures > div { display: flex; flex-direction: column-reverse; gap: 6px; border-left: 1px solid rgba(255,255,255,.18); padding-left: 28px; }
.at-figures dd { font-size: clamp(40px, 4.4vw, 64px); font-weight: 700; letter-spacing: -.04em; line-height: 1; }
.at-figures dt { font-size: 15px; color: var(--at-mist); }

.at-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.at-person { display: flex; flex-direction: column; gap: 6px; }
.at-person .at-media { margin-bottom: 10px; }
.at-person strong { font-size: 20px; }
.at-person span { color: var(--at-muted); font-size: 15px; }

.at-office { display: grid; grid-template-columns: 520px minmax(0, 1fr); gap: 24px; min-height: 480px; }
.at-office__card { border-radius: var(--at-r-l); padding: clamp(32px, 4vw, 48px); display: flex; flex-direction: column; justify-content: space-between; gap: 32px; }
.at-office address { font-style: normal; color: var(--at-body); line-height: 1.7; }
.at-office address strong { color: var(--at-ink); }
.at-office address a { color: var(--at-blue); font-weight: 600; }
.at-office__map { border-radius: var(--at-r-l); overflow: hidden; background: var(--at-tint); min-height: 360px; }
.at-office__map { display: flex; }
.at-office__map img { width: 100%; height: 100%; object-fit: cover; }
.at-office__map iframe { width: 100%; height: 100%; border: 0; filter: grayscale(.4) contrast(1.05); }

/* Contact --------------------------------------------------------------- */
.at-contact { display: grid; grid-template-columns: minmax(0, 1fr) 620px; gap: 56px 72px; padding-block: 56px 80px; align-items: start; }
.at-contact__intro { display: flex; flex-direction: column; gap: 28px; position: sticky; top: 110px; }
.at-contact__list { display: flex; flex-direction: column; margin-top: 12px; }
.at-contact__list li { border-top: 1px solid var(--at-line); }
.at-contact__list li:last-child { border-bottom: 1px solid var(--at-line); }
.at-contact__list a, .at-contact__list li > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; }
.at-contact__list small { display: block; font-size: 13px; font-weight: 600; color: var(--at-muted); }
.at-contact__list strong { font-size: clamp(18px, 1.6vw, 22px); font-weight: 600; overflow-wrap: anywhere; }
.at-contact__list a .at-icon { transition: transform .4s var(--at-ease); }
.at-contact__list a:hover .at-icon { transform: translate(3px, -3px); }

.at-form { border-radius: var(--at-r-xl); padding: clamp(28px, 3.5vw, 44px); display: flex; flex-direction: column; gap: 24px; scroll-margin-top: 110px; }
.at-form__title { font-size: 26px; letter-spacing: -.02em; }
.at-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.at-field { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; }
.at-field input, .at-field textarea, .at-search input, .at-newsletter input { width: 100%; min-height: 52px; padding: 0 16px; border: 1px solid var(--at-line-2); border-radius: 12px; background: #fff; font-size: 16px; font-weight: 400; transition: border-color .2s, box-shadow .2s; }
.at-field textarea { padding: 14px 16px; resize: vertical; min-height: 130px; }
.at-field input:focus, .at-field textarea:focus, .at-search input:focus, .at-newsletter input:focus { outline: none; border-color: var(--at-blue); box-shadow: 0 0 0 3px rgba(0,84,166,.18); }
.at-chips { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.at-chips legend { width: 100%; padding: 0; margin-bottom: 10px; font-size: 14px; font-weight: 600; }
.at-chips legend span { font-weight: 400; color: var(--at-muted); }
.at-chip { position: relative; }
.at-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.at-chip span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1.5px solid #D5DCE6; background: #fff; color: var(--at-body); font-size: 14px; font-weight: 500; cursor: pointer; transition: all .25s; }
.at-chip span:hover { border-color: var(--at-ink); }
.at-chip input:checked + span { background: var(--at-ink); color: #fff; border-color: var(--at-ink); }
.at-chip input:focus-visible + span { outline: 2px solid var(--at-blue); outline-offset: 2px; }
.at-hp { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.at-form__small { font-size: 13px; color: var(--at-muted); }
.at-form__small a { text-decoration: underline; }
.at-notice { padding: 14px 18px; border-radius: 14px; font-size: 15px; font-weight: 500; }
.at-notice--ok { background: var(--at-tint); color: var(--at-deep); }
.at-notice--error { background: #FBEAEA; color: #8A1C1C; }

.at-next { padding: clamp(36px, 5vw, 64px) clamp(28px, 5vw, 72px); }
.at-next__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.at-next__steps li { border-radius: 24px; background: #fff; padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.at-next__steps li > span { width: 44px; height: 44px; border-radius: 999px; background: var(--at-blue); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.at-next__steps h3 { font-size: 26px; letter-spacing: -.02em; }
.at-next__steps p { font-size: 15px; color: var(--at-body); }

/* Prose (editor content) ------------------------------------------------ */
.at-prose { max-width: 720px; font-size: 18px; line-height: 1.7; color: var(--at-body); }
.at-prose > * + * { margin-top: 1.1em; }
.at-prose h2, .at-prose h3, .at-prose h4 { color: var(--at-ink); letter-spacing: -.02em; line-height: 1.2; margin-top: 1.8em; }
.at-prose h2 { font-size: 34px; }
.at-prose h3 { font-size: 26px; }
.at-prose a { color: var(--at-blue); text-decoration: underline; text-underline-offset: 3px; }
.at-prose ul { list-style: disc; padding-left: 1.2em; }
.at-prose ol { list-style: decimal; padding-left: 1.2em; }
.at-prose li + li { margin-top: .4em; }
.at-prose blockquote { border-left: 3px solid var(--at-blue); padding-left: 24px; font-size: 22px; color: var(--at-ink); }
.at-prose img, .at-prose figure { border-radius: 20px; }
.at-prose figcaption { font-size: 14px; color: var(--at-muted); margin-top: 8px; }
.at-prose code { background: var(--at-grey); padding: 2px 6px; border-radius: 6px; font-size: .9em; }
.at-prose pre { background: var(--at-ink); color: #E6EBF2; padding: 20px; border-radius: 16px; overflow-x: auto; font-size: 15px; }
.at-prose-wrap { padding-top: 40px; }
.at-post-nav { max-width: 720px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 56px; }
.at-post-nav a { display: flex; flex-direction: column; gap: 4px; padding: 20px; border-radius: 20px; background: var(--at-grey); font-weight: 600; }
.at-post-nav small { color: var(--at-muted); font-weight: 500; }
.at-post-nav__next { text-align: right; grid-column: 2; }
.alignwide { max-width: 1100px; }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.aligncenter { margin-inline: auto; }

.at-search { display: flex; align-items: center; gap: 10px; max-width: 560px; }
.at-search .at-icon { flex-shrink: 0; color: var(--at-muted); }
.at-notfound { min-height: 60vh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 24px; padding-block: 80px; }

/* Footer ---------------------------------------------------------------- */
.at-footer { background: var(--at-grey); padding-block: 80px 32px; margin-top: 20px; overflow: hidden; }
.at-footer__top { display: flex; justify-content: space-between; gap: 48px 64px; flex-wrap: wrap; }
.at-footer__brand { width: 380px; max-width: 100%; display: flex; flex-direction: column; gap: 20px; color: var(--at-body); font-size: 15px; }
.at-newsletter { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.at-newsletter label { font-size: 13px; font-weight: 600; color: var(--at-ink); }
.at-newsletter__row { display: flex; gap: 8px; }
.at-newsletter input { min-height: 46px; border-radius: 999px; }
.at-footer__cols { display: flex; gap: clamp(32px, 5vw, 80px); flex-wrap: wrap; }
.at-footer__col { display: flex; flex-direction: column; gap: 14px; }
.at-footer__col--studio { width: 240px; }
.at-footer__col ul { display: flex; flex-direction: column; gap: 12px; font-size: 15px; color: var(--at-body); }
.at-footer__col a:hover { color: var(--at-blue); }
.at-footer__title { font-size: 13px; font-weight: 600; color: var(--at-ink); }
.at-footer__word { margin-top: 56px; font-size: clamp(40px, 11.6vw, 168px); line-height: .8; font-weight: 700; letter-spacing: -.055em; color: transparent; -webkit-text-stroke: 1.5px #B7C3D2; white-space: nowrap; }
.at-footer__legal { margin-top: 20px; padding-top: 20px; border-top: 1px solid #D5DCE6; display: flex; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; font-size: 13px; color: var(--at-muted); }
.at-footer__links { display: flex; gap: 24px; }
.at-footer__links a:hover { color: var(--at-blue); }

/* ==========================================================================
   Illustrations (decorative product mock-ups)
   Drawn at 520×380 and scaled down on small screens.
   ========================================================================== */
.at-vis { position: relative; width: 520px; height: 380px; flex-shrink: 0; font-size: 14px; color: var(--at-ink); }
.at-vis--center { display: flex; align-items: center; justify-content: center; }
.at-vis > [style*="left"], .at-vis > [style*="right"] { position: absolute; }

.at-mock { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--at-shadow); display: flex; flex-direction: column; }
.at-vis .at-mock { position: absolute; }
.at-mock__bar { height: 38px; flex-shrink: 0; display: flex; align-items: center; gap: 6px; padding: 0 14px; border-bottom: 1px solid var(--at-line); }
.at-mock__bar--sm { height: 30px; gap: 5px; padding: 0 12px; }
.at-mock__bar i { width: 9px; height: 9px; border-radius: 999px; background: #D5DCE6; }
.at-mock__bar--sm i { width: 7px; height: 7px; }
.at-mock__url { margin-left: 60px; height: 22px; width: 220px; border-radius: 999px; background: var(--at-grey); display: flex; align-items: center; padding: 0 12px; font-size: 11px; color: var(--at-muted); }
.at-mock__hero { flex: 1; padding: 22px; display: flex; gap: 18px; }
.at-mock__hero--sm { padding: 18px; gap: 14px; }
.at-mock__copy { flex: 1; display: flex; flex-direction: column; gap: 10px; padding-top: 10px; }
.at-mock__copy b { display: block; height: 16px; border-radius: 4px; background: var(--at-ink); }
.at-mock__copy s { display: block; height: 8px; border-radius: 4px; background: #DCE2EA; text-decoration: none; }
.at-mock__copy em { display: block; width: 110px; height: 30px; border-radius: 999px; background: var(--at-blue); margin-top: 10px; }
.at-mock__art { width: 170px; flex-shrink: 0; border-radius: 12px; background: var(--at-tint); display: flex; align-items: center; justify-content: center; }
.at-mock__row { height: 76px; flex-shrink: 0; padding: 0 22px 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.at-mock__row span { border-radius: 10px; background: var(--at-grey); }

.at-float { background: #fff; border-radius: 14px; padding: 12px 16px; box-shadow: var(--at-shadow); display: flex; align-items: center; gap: 12px; line-height: 1.3; }
.at-float small { display: block; font-size: 12px; color: var(--at-muted); }
.at-float strong { display: block; font-size: 15px; font-weight: 600; }
.at-float__sm { font-size: 12px !important; }
.at-float__icon { width: 34px; height: 34px; flex-shrink: 0; border-radius: 10px; background: var(--at-tint); color: var(--at-blue); display: flex; align-items: center; justify-content: center; }
.at-float--dark { background: var(--at-ink); color: #fff; }
.at-float--dark small { color: #A9B6C6; }
.at-float--dark strong { font-size: 18px; font-weight: 700; }
.at-float--stack { flex-direction: column; align-items: stretch; gap: 6px; padding: 16px 18px; }
.at-float__row { display: flex; align-items: flex-end; justify-content: space-between; color: var(--at-blue); }
.at-float__big { font-size: 24px !important; font-weight: 700 !important; letter-spacing: -.02em; color: var(--at-ink); }
.at-pill-dark { background: var(--at-ink); color: #fff; border-radius: 999px; padding: 10px 16px; font-size: 12px; font-weight: 600; box-shadow: var(--at-shadow); }

.at-phone { position: absolute; width: 196px; height: 380px; border-radius: 36px; border: 7px solid var(--at-ink); background: #fff; overflow: hidden; box-shadow: var(--at-shadow); display: flex; flex-direction: column; gap: 10px; padding: 26px 14px 14px; }
.at-phone > small { font-size: 11px; color: var(--at-muted); }
.at-phone__name { font-size: 17px; margin-top: -6px; }
.at-phone__card { border-radius: 14px; background: var(--at-blue); color: #fff; padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.at-phone__card small { font-size: 10px; color: #CFE0F2; }
.at-phone__card strong { font-size: 14px; font-weight: 600; }
.at-phone__track { height: 4px; border-radius: 999px; background: rgba(255,255,255,.25); }
.at-phone__track i { display: block; height: 4px; width: 70%; border-radius: 999px; background: #fff; }
.at-phone__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.at-phone__grid span { height: 64px; border-radius: 12px; background: var(--at-grey); }
.at-phone__grid .is-tint { background: var(--at-tint); }
.at-phone__line { height: 44px; border-radius: 12px; background: var(--at-grey); }

.at-chat { width: 470px; background: #fff; border-radius: 20px; padding: 22px; box-shadow: var(--at-shadow); display: flex; flex-direction: column; gap: 14px; color: var(--at-ink); }
.at-chat__head { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--at-line); font-size: 14px; }
.at-chat__head .at-float__icon { width: 30px; height: 30px; border-radius: 9px; }
.at-chat__head .at-pulse { margin-left: auto; }
.at-chat__q { align-self: flex-end; max-width: 330px; background: var(--at-ink); color: #fff; border-radius: 16px 16px 4px 16px; padding: 12px 16px; font-size: 14px; line-height: 1.5; }
.at-chat__typing { display: flex; gap: 5px; height: 8px; padding-left: 4px; }
.at-chat__typing i { width: 7px; height: 7px; border-radius: 999px; background: #A9B6C6; }
.at-chat__answer { min-height: 110px; display: flex; flex-direction: column; gap: 10px; }
.at-chat__a { max-width: 360px; background: var(--at-grey); border-radius: 16px 16px 16px 4px; padding: 12px 16px; font-size: 14px; line-height: 1.55; }
.at-chat__src { align-self: flex-start; padding: 7px 12px; border-radius: 999px; background: var(--at-tint); color: var(--at-deep); font-size: 12px; font-weight: 600; }
.at-chat--mini { width: 330px; padding: 16px; gap: 10px; }
.at-chat--mini .at-chat__q { font-size: 13px; padding: 9px 12px; border-radius: 12px 12px 3px 12px; }
.at-chat--mini .at-chat__a { font-size: 13px; padding: 9px 12px; border-radius: 12px 12px 12px 3px; }

.at-dash { width: 490px; height: 330px; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--at-shadow); display: flex; }
.at-dash__side { width: 110px; flex-shrink: 0; background: var(--at-navy); padding: 18px 14px; display: flex; flex-direction: column; gap: 12px; }
.at-dash__side img { margin-bottom: 8px; }
.at-dash__side b { display: block; height: 8px; border-radius: 4px; background: rgba(255,255,255,.3); }
.at-dash__main { flex: 1; padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.at-dash__main > strong { font-size: 15px; }
.at-dash__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.at-dash__stats div { border-radius: 10px; background: var(--at-grey); padding: 10px 12px; }
.at-dash__stats small { display: block; font-size: 10px; color: var(--at-muted); }
.at-dash__stats b { font-size: 18px; }
.at-dash__tr { display: flex; align-items: center; height: 34px; border-top: 1px solid var(--at-line); font-size: 12px; color: var(--at-body); }
.at-dash__id { width: 90px; font-weight: 600; color: var(--at-ink); }
.at-dash__city { flex: 1; }
.at-status { padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.at-status--ok { background: var(--at-tint); color: var(--at-deep); }
.at-status--mid { background: var(--at-grey); color: var(--at-body); }
.at-status--bad { background: var(--at-ink); color: #fff; }

.at-serp { width: 480px; display: flex; flex-direction: column; gap: 12px; }
.at-serp__search { height: 48px; border-radius: 999px; background: #fff; box-shadow: var(--at-shadow); display: flex; align-items: center; gap: 10px; padding: 0 18px; font-size: 14px; color: var(--at-ink); }
.at-serp__search .at-icon { color: var(--at-muted); }
.at-serp__ai, .at-serp__hit, .at-serp__other { border-radius: 14px; background: #fff; padding: 14px 18px; display: flex; flex-direction: column; gap: 8px; }
.at-serp__ai { box-shadow: var(--at-shadow); border-radius: 16px; }
.at-serp__ai small { font-size: 11px; font-weight: 600; letter-spacing: .08em; color: var(--at-muted); }
.at-serp s, .at-serp b { display: block; height: 8px; border-radius: 4px; background: #DCE2EA; text-decoration: none; }
.at-serp b { height: 10px; background: var(--at-line-2); }
.at-serp__cite { align-self: flex-start; margin-top: 4px; padding: 5px 11px; border-radius: 999px; background: var(--at-blue); color: #fff; font-size: 11px; font-weight: 600; }
.at-serp__hit { border: 1.5px solid var(--at-blue); gap: 4px; }
.at-serp__hit small { font-size: 11px; color: var(--at-muted); }
.at-serp__hit strong { font-size: 15px; color: var(--at-deep); }
.at-serp__other { opacity: .6; }

.at-chart { position: absolute; width: 460px; height: 340px; background: #fff; border-radius: 18px; padding: 22px; box-shadow: var(--at-shadow); display: flex; flex-direction: column; gap: 18px; }
.at-chart__head { display: flex; justify-content: space-between; align-items: flex-start; }
.at-chart__head strong { display: block; font-size: 15px; }
.at-chart__head small { font-size: 12px; color: var(--at-muted); }
.at-chart__head > span { padding: 5px 11px; border-radius: 999px; background: var(--at-grey); font-size: 11px; color: var(--at-body); }
.at-chart__bars { flex: 1; display: flex; align-items: flex-end; gap: 6px; }
.at-chart__col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.at-chart__col small { font-size: 11px; color: var(--at-muted); }
.at-bar { display: block; width: 38px; border-radius: 8px 8px 3px 3px; background: var(--at-tint-2); transform-origin: bottom center; }
.at-bar.is-now { background: var(--at-blue); }

/* Motion ---------------------------------------------------------------- */
@keyframes at-rise { from { transform: translateY(110%); } to { transform: none; } }
@keyframes at-fade { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes at-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes at-markin { from { opacity: 0; transform: translateX(120px) scale(.96); } }
@keyframes at-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes at-draw { from { stroke-dashoffset: 600; } to { stroke-dashoffset: 0; } }
@keyframes at-pulse { 0% { box-shadow: 0 0 0 0 rgba(0,84,166,.5); } 100% { box-shadow: 0 0 0 12px rgba(0,84,166,0); } }
@keyframes at-pulse-sky { 0% { box-shadow: 0 0 0 0 rgba(125,180,236,.55); } 100% { box-shadow: 0 0 0 12px rgba(125,180,236,0); } }
@keyframes at-spin { to { transform: rotate(360deg); } }
@keyframes at-swap { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes at-q { 0% { opacity: 0; transform: translateY(8px); } 6%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes at-th { 0%, 6% { opacity: 0; } 8%, 14% { opacity: 1; } 16%, 100% { opacity: 0; } }
@keyframes at-an { 0%, 15% { clip-path: inset(0 0 100% 0); } 42%, 92% { clip-path: inset(0 0 0 0); opacity: 1; } 100% { clip-path: inset(0 0 0 0); opacity: 0; } }
@keyframes at-chip { 0%, 44% { opacity: 0; transform: scale(.85); } 50%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; } }

.at-pulse { display: inline-block; width: 8px; height: 8px; border-radius: 999px; background: var(--at-blue); animation: at-pulse 1.8s ease-out infinite; flex-shrink: 0; }
.at-pulse--sky { background: #5AA0E6; animation-name: at-pulse-sky; }

/* Page-load sequence (only when JS is on, so no-JS visitors see everything). */
.at-ln { display: block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.at-ln > span { display: block; }
.js .at-ln > span { animation: at-rise 1.2s var(--at-ease) both; }
.js .at-d1 > span { animation-delay: .1s; }
.js .at-d2 > span { animation-delay: .22s; }
.js .at-d3 > span { animation-delay: .34s; }
.js .at-fi { animation: at-fade 1s var(--at-ease) both; }
.js .at-t1 { animation-delay: .5s; }
.js .at-t2 { animation-delay: .65s; }
.js .at-t3 { animation-delay: .8s; }
.js .at-t4 { animation-delay: 1s; }
.js .at-markin { animation: at-markin 1.8s var(--at-ease) .2s both; }
.at-f1 { animation: at-float 6s ease-in-out infinite; }
.at-f2 { animation: at-float 7s ease-in-out 1.2s infinite; }
.at-f3 { animation: at-float 8s ease-in-out 2.4s infinite; }
.at-spin { animation: at-spin 60s linear infinite; }
.at-spark { stroke-dasharray: 600; animation: at-draw 2.4s var(--at-ease) 1s both; }
.at-loop-q { animation: at-q 11s infinite; }
.at-loop-th { animation: at-th 11s infinite; }
.at-loop-an { animation: at-an 11s cubic-bezier(.45,0,.55,1) infinite; }
.at-loop-chip { animation: at-chip 11s var(--at-ease) infinite; }
.js [data-inview] .at-bar { transform: scaleY(0); }
.js [data-inview].is-in .at-bar { animation: at-grow 1.4s var(--at-ease) both; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.js [data-inview] .at-bar { transform: none; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1280px) {
	.at-hero__cards { transform: scale(.85); transform-origin: top right; }
	.at-header__phone { display: none; }
	.at-faq { grid-template-columns: minmax(0, 1fr); }
	.at-story { grid-template-columns: minmax(0, 1fr); }
	.at-contact { grid-template-columns: minmax(0, 1fr) 540px; }
}

@media (max-width: 1100px) {
	/* Navigation becomes a full-screen panel under the header */
	.at-menu-toggle { display: inline-flex; }
	.at-nav-wrap { position: fixed; left: 0; right: 0; top: var(--at-header-bottom, 72px); bottom: 0; z-index: 70; background: #fff; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 8px var(--at-gutter) calc(32px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s, transform .3s var(--at-ease), visibility 0s .3s; }
	.at-nav-open .at-nav-wrap { opacity: 1; visibility: visible; transform: none; transition: opacity .25s, transform .3s var(--at-ease); }
	.at-nav-open .at-menu-toggle__open { display: none; }
	.at-nav-open .at-menu-toggle__close { display: block; }
	.at-nav-open, html:has(body.at-nav-open) { overflow: hidden; }
	/* A blurred/transformed ancestor would trap the fixed panel inside the header — switch those off while open. */
	.at-nav-open .at-header, .at-nav-open .at-el-header, .at-nav-open .at-site-header, .at-nav-open .elementor-location-header, .at-nav-open #masthead { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; transform: none !important; filter: none !important; background-color: #fff !important; }
	.at-nav { flex: 0 0 auto; justify-content: flex-start; width: 100%; }
	.at-nav__list { flex-direction: column; gap: 0; width: 100%; }
	.at-nav__list li { width: 100%; }
	.at-nav__list a { display: flex; justify-content: space-between; align-items: center; width: 100%; height: auto; min-height: 60px; padding: 14px 0; font-size: clamp(22px, 6vw, 28px); font-weight: 600; letter-spacing: -.02em; border-bottom: 1px solid var(--at-line); }
	.at-nav__list a::after { content: ''; width: 18px; height: 18px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230B0F19' stroke-width='1.6'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .35; }
	.at-nav__list .current-menu-item > a, .at-nav__list a[aria-current="page"] { color: var(--at-blue); border-bottom-color: var(--at-line); }
	.at-header__actions, .at-el-menu-wrap .at-el-menu-actions { display: flex; flex-direction: column; align-items: stretch; gap: 14px; margin-top: 28px; }
	.at-header__actions .at-btn, .at-el-menu-actions .at-btn { width: 100%; min-height: 56px; font-size: 16px; }
	.at-header__phone { display: block; font-size: 18px; text-align: center; padding: 8px 0; }
	.at-el-menu-wrap { justify-content: flex-end; }

	.at-hero { flex-direction: column; min-height: 0; }
	.at-hero__cards { display: none; }
	.at-hero__mark { width: 560px; right: -160px; top: auto; bottom: -140px; opacity: .6; }
	.at-hero__side { margin: 0 auto; }
	.at-band { flex-direction: column; align-items: stretch; }
	.at-band__visual { margin: 0 auto; }

	.at-tabpanel { grid-template-columns: minmax(0, 1fr); }
	.at-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(240px, auto); }
	.at-service, .at-service--flip { grid-template-columns: minmax(0, 1fr); }
	.at-service--flip .at-service__visual { order: 0; }
	.at-service__visual { min-height: 0; padding: 40px 16px; }
	.at-steps, .at-uses, .at-values, .at-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.at-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 48px; }
	.at-timeline::before { display: none; }
	.at-principles__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.at-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.at-about-hero { grid-template-columns: minmax(0, 1fr); }
	.at-sheet { margin: 0 auto; }
	.at-office { grid-template-columns: minmax(0, 1fr); }
	.at-contact { grid-template-columns: minmax(0, 1fr); }
	.at-contact__intro { position: static; }
	.at-quote { grid-template-columns: minmax(0, 1fr); }
	.at-quote blockquote, .at-quote figcaption { grid-column: 1; }
	.at-quote .at-eyebrow { grid-row: auto; }
	.at-clients { flex-direction: column; align-items: flex-start; gap: 24px; }
	.at-clients__label { width: auto; }
	.at-clients__logos { width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	body { font-size: 16px; }
	.admin-bar .at-site-header, .admin-bar .elementor-location-header { top: calc(var(--at-announce-h, 0px) * -1); }
	.at-announce { font-size: 13px; }
	.at-announce__inner { gap: 8px; }
	.at-work-grid, .at-post-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.at-case-card__body { flex-direction: column; gap: 12px; }
	.at-bento { grid-template-columns: minmax(0, 1fr); }
	.at-tile--wide { grid-column: span 1; }
	.at-steps, .at-uses, .at-values, .at-team, .at-next__steps, .at-timeline { grid-template-columns: minmax(0, 1fr); }
	.at-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.at-checklist, .at-form__grid { grid-template-columns: minmax(0, 1fr); }
	.at-cta__actions { width: 100%; }
	.at-cta__actions .at-btn { width: 100%; }
	.at-actions .at-btn { flex: 1 1 auto; }
	.at-hero__stats > div { min-width: 40%; }
	.at-faq__item summary { font-size: 18px; }
	.at-faq__item p { padding-right: 0; }
	.at-post-nav { grid-template-columns: minmax(0, 1fr); }
	.at-post-nav__next { grid-column: 1; text-align: left; }
	.at-newsletter__row { flex-direction: column; }
	.at-footer__legal { flex-direction: column; }
	.at-value { min-height: 0; }
}

/* Illustrations and the drawing sheet scale down as a unit. */
@media (max-width: 600px) {
	.at-vis { zoom: .62; }
	.at-tabpanel__visual .at-vis, .at-el-visual-col .at-vis { zoom: .58; }
	.at-sheet { zoom: .6; }
	.at-tabpanel__visual { padding: 20px 8px; }
	.at-tabs { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--at-gutter) * -1); padding-inline: var(--at-gutter); scrollbar-width: none; }
	.at-tabs::-webkit-scrollbar { display: none; }
	.at-tab { flex-shrink: 0; }
}
@media (max-width: 420px) {
	.at-vis, .at-tabpanel__visual .at-vis, .at-el-visual-col .at-vis { zoom: .5; }
}
@media (max-width: 360px) {
	.at-vis, .at-tabpanel__visual .at-vis, .at-el-visual-col .at-vis { zoom: .45; }
}
@media (max-width: 380px) {
	.at-sheet { zoom: .52; }
}

/* Confidentiality note ---------------------------------------------------- */
.at-nda { padding-block: 56px; }
.at-nda__inner { display: grid; grid-template-columns: 56px minmax(0, 420px) minmax(0, 1fr); gap: 24px 48px; align-items: start; padding: 40px; border-radius: var(--at-r-l); background: var(--at-grey); }
.at-nda__icon { width: 56px; height: 56px; border-radius: 16px; background: #fff; color: var(--at-blue); display: flex; align-items: center; justify-content: center; }
.at-nda__head { display: flex; flex-direction: column; gap: 10px; }
.at-nda__body { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }

/* Products ---------------------------------------------------------------- */
.at-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.at-product { display: flex; gap: 28px; padding: 36px; border-radius: var(--at-r-l); background: var(--at-grey); }
.at-product__tile { width: 88px; height: 88px; flex-shrink: 0; border-radius: 22px; display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: 26px; font-weight: 700; letter-spacing: -.03em; }
.at-product__tile img { width: 100%; height: 100%; object-fit: cover; }
.at-product__tile--tint { background: var(--at-tint); color: var(--at-blue); }
.at-product__tile--grey { background: #fff; color: var(--at-ink); }
.at-product__tile--navy { background: var(--at-navy); color: #fff; }
.at-product__tile--blue { background: var(--at-blue); color: #fff; }
.at-product__tile--ink { background: var(--at-ink); color: #fff; }
.at-product__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.at-product__cat { font-size: 13px; font-weight: 700; color: var(--at-blue); }
.at-product__name { font-size: clamp(22px, 2vw, 28px); line-height: 1.12; letter-spacing: -.02em; }
.at-product__desc { font-size: 15px; line-height: 1.6; color: var(--at-body); }
.at-product__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.at-product__links a { min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; background: #fff; border: 1.5px solid #D5DCE6; font-size: 14px; font-weight: 600; transition: border-color .3s, color .3s; }
.at-product__links a:hover { border-color: var(--at-blue); color: var(--at-blue); }
.at-product__links .at-icon { width: 14px; height: 14px; }
.at-products__stores { margin-top: 28px; font-size: 15px; color: var(--at-body); }
.at-products__stores a { color: var(--at-blue); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1100px) {
	.at-products { grid-template-columns: minmax(0, 1fr); }
	.at-nda__inner { grid-template-columns: 56px minmax(0, 1fr); }
	.at-nda__body { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.at-product { flex-direction: column; padding: 28px; gap: 20px; }
	.at-nda__inner { grid-template-columns: minmax(0, 1fr); padding: 28px; }
}
.at-product__client { font-size: 14px; color: var(--at-muted); margin-top: -2px; }

/* Time-zone clocks ------------------------------------------------------- */
.at-office__map:has(.at-tz) { background: var(--at-tint); align-items: center; justify-content: center; padding: 32px; }
.at-tz { width: 100%; max-width: 460px; background: #fff; border-radius: 20px; box-shadow: var(--at-shadow); padding: 8px 24px; }
.at-tz__row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid var(--at-line); }
.at-tz__row:first-child { border-top: 0; }
.at-tz__city { font-size: 15px; color: var(--at-body); }
.at-tz__time { font-size: 22px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--at-ink); }
.at-tz__row.is-home .at-tz__city { color: var(--at-blue); font-weight: 600; }
.at-tz__row.is-home .at-tz__time { color: var(--at-blue); }
.at-illustration--timezones { width: 100%; }

/* Team as role cards (no photos) */
.at-person--card { border-radius: var(--at-r-l); background: var(--at-grey); padding: 32px; gap: 10px; }
.at-person--card:nth-child(3n+1) { background: var(--at-tint); }
.at-person--card strong { font-size: 24px; letter-spacing: -.02em; }
.at-person--card span { font-size: 15px; line-height: 1.6; color: var(--at-body); }

/* Typographic post covers -------------------------------------------------- */
.at-cover { position: relative; overflow: hidden; width: 100%; height: 100%; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; transition: transform 1.1s var(--at-ease); }
a:hover .at-cover { transform: scale(1.04); }
.at-cover__cat { align-self: flex-start; padding: 5px 11px; border-radius: 999px; font-size: 12px; font-weight: 600; background: rgba(255,255,255,.14); }
.at-cover__title { position: relative; z-index: 1; max-width: 85%; font-size: clamp(20px, 1.8vw, 26px); line-height: 1.15; font-weight: 700; letter-spacing: -.02em; }
.at-cover__mark { position: absolute; right: -24px; bottom: -28px; width: 140px; opacity: .18; }
.at-cover--navy { background: var(--at-navy); color: #fff; }
.at-cover--blue { background: var(--at-blue); color: #fff; }
.at-cover--tint { background: var(--at-tint); color: var(--at-ink); }
.at-cover--grey { background: var(--at-grey); color: var(--at-ink); }
.at-cover--tint .at-cover__cat, .at-cover--grey .at-cover__cat { background: #fff; color: var(--at-blue); }
.elementor .at-cover__mark { max-width: none; }
.at-media .at-cover__mark, .elementor .at-media .at-cover__mark { width: 140px !important; height: auto !important; object-fit: contain; transform: none !important; }
.at-media .at-cover { transform: none; }
a:hover .at-media .at-cover { transform: scale(1.04); }

/* Tables in articles */
.at-prose table { width: 100%; border-collapse: collapse; font-size: 16px; margin-block: 1.6em; display: block; overflow-x: auto; }
.at-prose th, .at-prose td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--at-line); }
.at-prose thead th { background: var(--at-grey); color: var(--at-ink); font-weight: 600; }
.at-prose ol { list-style: decimal; padding-left: 1.3em; }
.at-prose em { color: var(--at-muted); }
