@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/be-vietnam-pro-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/be-vietnam-pro-medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/be-vietnam-pro-semibold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/be-vietnam-pro-bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/be-vietnam-pro-extrabold.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

:root {
  --ink: #111827;
  --muted: #5b6475;
  --line: #d9dee8;
  --soft: #f5f6f8;
  --panel: #ffffff;
  --primary: #2557d6;
  --primary-2: #3b68df;
  --primary-dark: #1743b1;
  --success: #11734b;
  --danger: #b42335;
  --warning: #9a5b0a;
  --navy: #101827;
  --radius-sm: 8px;
  --radius: 8px;
  --radius-lg: 8px;
  --shadow: 0 10px 28px rgba(17, 24, 39, 0.09);
  --shell: 1368px;
  --content-shell: var(--shell);
  --home-shell: var(--shell);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
[hidden] { display: none !important; }

body.agentsngon-site {
  margin: 0;
  color: var(--ink);
  background: #f7f8fa;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.modal-open { overflow: hidden; }

img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { line-height: 1.2; letter-spacing: -0.025em; text-wrap: wrap; }
p, li { text-wrap: wrap; }

.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.shell--narrow { width: min(calc(100% - 40px), 880px); }
.site-main { min-height: 60vh; overflow: clip; }
.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;
}
.skip-link { position: fixed; z-index: 100000; top: 12px; left: 12px; transform: translateY(-160%); padding: 10px 16px; border-radius: var(--radius); color: #fff; background: var(--ink); }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid rgba(37, 87, 214, 0.28); outline-offset: 3px; }

.button {
  display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 8px;
  padding: 0 22px; border: 1px solid transparent; border-radius: var(--radius); cursor: pointer;
  font-size: 14px; font-weight: 700; transition: color .16s ease-out, border-color .16s ease-out, background-color .16s ease-out, box-shadow .16s ease-out;
}
.button:hover { transform: none; }
.button--primary { color: #fff; background: var(--primary); }
.button--primary:hover { color: #fff; background: var(--primary-dark); }
.button--ghost { color: var(--ink); background: #fff; border-color: #d9ddef; }
.button--ghost:hover { border-color: #bfc4d3; background: #f8f9fb; }
.button--glass { min-height: 38px; padding-inline: 16px; color: #fff; background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.22); }
.button--small { min-height: 40px; padding-inline: 16px; }
.button--large { min-height: 54px; padding-inline: 28px; font-size: 15px; }
.button--wide { width: 100%; }
.button:disabled, .button[aria-disabled="true"] { opacity: .52; cursor: not-allowed; transform: none; }

.eyebrow { display: inline-block; margin-bottom: 10px; color: var(--primary); font-size: 12px; font-weight: 700; letter-spacing: .01em; text-transform: none; }
.lead { color: var(--muted); font-size: 19px; }
.microcopy { margin-top: 12px; color: var(--muted); font-size: 12px; }
.form-message { margin: 8px 0 0; color: var(--danger); font-size: 13px; }
.form-message.is-success, .payment-status.is-success { color: var(--success); font-weight: 750; }
.hp-field { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

/* Header */
.site-header { position: relative; z-index: 1000; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.98); }
.site-header__inner { display: flex; width: min(calc(100% - 40px), var(--shell)); height: 92px; align-items: center; gap: 32px; }
.header-search > .shell, .mobile-nav > .shell { width: min(calc(100% - 40px), var(--shell)); }
.site-brand { display: block; width: 306px; flex: 0 0 auto; }
.site-brand__logo { display: block; width: 100%; height: auto; }
.desktop-nav { margin-left: 104px; }
.desktop-nav .menu, .mobile-nav .menu { display: flex; align-items: center; gap: 7px; margin: 0; padding: 0; list-style: none; }
.desktop-nav .menu > li { position: relative; }
.desktop-nav .menu > li > a { display: flex; min-height: 92px; align-items: center; padding: 0 12px; font-size: 15px; font-weight: 700; white-space: nowrap; }
.desktop-nav .menu > li.menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; margin: -4px 0 0 9px; border-right: 1.5px solid #8991aa; border-bottom: 1.5px solid #8991aa; transform: rotate(45deg); }
.desktop-nav .sub-menu { position: absolute; top: calc(100% - 8px); left: 0; width: 220px; visibility: hidden; margin: 0; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius); opacity: 0; list-style: none; background: #fff; box-shadow: var(--shadow); transform: translateY(8px); transition: opacity .16s ease-out, transform .16s ease-out, visibility .16s ease-out; }
.desktop-nav li:hover > .sub-menu, .desktop-nav li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }
.desktop-nav .sub-menu a { display: block; padding: 10px 12px; border-radius: var(--radius); color: #414a66; font-size: 13px; font-weight: 650; }
.desktop-nav .sub-menu a:hover { color: var(--primary); background: var(--soft); }
.header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; margin-left: auto; }
.header-actions > .header-icon, .header-contact { flex: 0 0 auto; }
.header-contact { white-space: nowrap; }
.header-icon { position: relative; display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: var(--radius); cursor: pointer; background: transparent; }
.header-icon img, .mobile-toggle img { display: block; }
.header-icon:hover { background: var(--soft); }
.header-cart > span { position: absolute; top: 1px; right: 0; display: grid; width: 17px; height: 17px; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #fff; background: var(--primary); font-size: 8px; font-weight: 850; }
.header-cart > span.is-empty { display: none; }
.mobile-toggle { display: none; width: 42px; height: 42px; place-items: center; padding: 9px; border: 0; border-radius: var(--radius); background: var(--soft); }
.header-search { border-top: 1px solid var(--line); padding: 14px 0; background: #fff; }
.header-search .search-form { max-width: 720px; margin-inline: auto; }
.mobile-nav { border-top: 1px solid var(--line); padding: 12px 0 20px; background: #fff; }
.mobile-nav .menu { align-items: stretch; flex-direction: column; gap: 0; }
.mobile-nav .menu a { display: block; padding: 10px 2px; font-weight: 700; }
.mobile-nav .sub-menu { margin: 0; padding: 0 0 0 18px; list-style: none; }

/* Hero */
.hero { position: relative; min-height: 596px; border-bottom: 1px solid var(--line); background: #f7f7fb; }
.hero::after { display: none; }
.hero__grid { display: grid; min-height: 596px; grid-template-columns: .96fr 1.04fr; align-items: center; gap: 28px; }
.hero__copy { position: relative; z-index: 2; padding: 58px 0 46px; }
.hero-kicker { display: block; margin-bottom: 20px; padding: 0; border: 0; border-radius: 0; color: var(--primary); background: transparent; font-size: 12px; font-weight: 700; }
.hero h1 { max-width: none; margin-bottom: 20px; font-size: clamp(42px, 3.55vw, 52px); letter-spacing: -0.03em; }
.hero h1 span { color: inherit; }
.hero__copy > p { max-width: none; margin-bottom: 30px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.hero__actions { display: flex; gap: 12px; }
.hero__trust { display: flex; flex-wrap: wrap; gap: 27px; margin-top: 42px; color: #65708f; font-size: 13px; font-weight: 650; }
.hero__trust span { display: flex; align-items: center; gap: 6px; }
.hero__trust img, .trust-strip img, .newsletter__icon img { opacity: .82; filter: brightness(0) saturate(100%) invert(31%) sepia(93%) saturate(2918%) hue-rotate(214deg) brightness(86%) contrast(84%); }
.hero__visual { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; overflow: hidden; pointer-events: none; }
.hero__landscape { display: block; width: 100%; height: 100%; max-width: none; object-fit: fill; filter: none; }
.hero__flock { position: absolute; inset: 0 max(24px, calc((100vw - var(--shell)) / 2)) 0 auto; width: min(48vw, 720px); }
.hero__flock::before { display: none; }
.hero-agent { position: absolute; display: block; height: auto; filter: drop-shadow(0 8px 10px rgba(35,30,90,.1)); animation: hero-agent-float 7s ease-in-out infinite; will-change: transform; }
.hero-agent--source { mix-blend-mode: multiply; filter: none; }
.hero-agent--beautiful { top: 3%; left: 10%; width: 15%; animation-delay: -4.8s; animation-duration: 8.2s; }
.hero-agent--wolf { top: 2%; left: 66%; width: 16%; animation-delay: -2.9s; animation-duration: 7.7s; }
.hero-agent--lively { top: 31%; left: 3%; width: 19%; animation-delay: -1.6s; animation-duration: 6.6s; }
.hero-agent--glasses { top: 19%; left: 36%; width: 22%; animation-delay: -3.1s; animation-duration: 7.4s; }
.hero-agent--sleepy { top: 30%; left: 75%; width: 18%; animation-delay: -.7s; animation-duration: 7.8s; }
.hero-agent--fox { top: 51%; left: 1%; width: 19%; animation-delay: -5.4s; animation-duration: 8.5s; }
.hero-agent--scarf { top: 54%; left: 29%; width: 30%; animation-delay: -2.4s; animation-duration: 6.2s; }
.hero-agent--happy { top: 59%; left: 65%; width: 24%; animation-delay: -4.2s; animation-duration: 7s; }
@keyframes hero-agent-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes contact-float-wiggle {
  0%, 82%, 100% { transform: rotate(0deg); }
  84% { transform: rotate(-3deg); }
  86% { transform: rotate(3deg); }
  88% { transform: rotate(-2deg); }
  90% { transform: rotate(1.5deg); }
  92% { transform: rotate(0deg); }
}
@media (prefers-reduced-motion: reduce) { .hero-agent, .contact-float__icon { animation: none; } }
.home-content.shell { width: min(calc(100% - 40px), var(--shell)); }
.home-content { position: relative; margin-top: -18px; padding: 0 0 46px; }
.section-panel { position: relative; z-index: 2; margin-top: 0; padding: 28px 52px 30px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.home-section { padding: 42px 30px 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.section-heading h2 { margin: 0; font-size: 29px; }
.section-heading > a { padding: 7px 0; border-bottom: 1px solid currentColor; border-radius: 0; color: var(--primary); background: transparent; font-size: 11px; font-weight: 700; white-space: nowrap; }
.featured-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.featured-split > div { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); }
.mini-heading { margin: 0 0 14px; color: var(--primary); font-size: 12px; letter-spacing: .04em; }
.product-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 318px; gap: 16px 12px; }

.product-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: border-color .16s ease-out, background-color .16s ease-out; }
.product-card:hover { border-color: #bfc4d3; background: #fcfcfd; transform: none; }
.product-card__visual { position: relative; display: grid; min-height: 150px; place-items: center; overflow: hidden; border-bottom: 1px solid var(--line); background: #f6f7fa; }
.product-card__visual::after { display: none; }
.ang-product-icon { position: relative; z-index: 2; display: grid; width: 76px; height: 76px; place-items: center; padding: 17px; border: 1px solid #e3e6ee; border-radius: var(--radius); background: #fff; box-shadow: 0 4px 8px rgba(24,31,57,.06); }
.ang-product-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ang-product-icon.is-source-art { width: 90px; height: 82px; padding: 0; overflow: hidden; border: 0; border-radius: var(--radius); background: transparent; box-shadow: none; }
.ang-product-icon.is-source-art img { object-fit: cover; }
.ang-product-icon.is-large { width: 180px; height: 180px; padding: 40px; border-radius: var(--radius); }
.product-card__badge { position: absolute; z-index: 3; top: 10px; left: 10px; padding: 4px 7px; border-radius: var(--radius); color: #fff; background: #ef3340; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.product-card__body { padding: 15px; }
.product-card h3 { min-height: 42px; margin-bottom: 7px; font-size: 15px; }
.product-card p { min-height: 42px; margin-bottom: 12px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.product-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.product-card__foot strong { color: var(--primary); font-size: 15px; }
.icon-button { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--line); border-radius: var(--radius); cursor: pointer; color: var(--primary); background: #fff; font-size: 18px; }
.icon-button:hover { border-color: #c8c6ff; background: var(--soft); }
.icon-button img { display: block; opacity: .82; filter: invert(34%) sepia(89%) saturate(3154%) hue-rotate(235deg) brightness(92%); }
.product-card__availability { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.product-card__booking-link { color: var(--primary); font-size: 11px; font-weight: 800; white-space: nowrap; }
.product-card__booking-link:hover { color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.product-card.is-compact .product-card__visual { min-height: 112px; }
.featured-products .product-card.is-compact { display: flex; height: 100%; flex-direction: column; }
.featured-products .product-card.is-compact .product-card__body { display: flex; min-height: 0; flex: 1; flex-direction: column; }
.featured-products .product-card.is-compact .product-card__foot { margin-top: auto; }
.product-card.is-compact .ang-product-icon { width: 72px; height: 72px; padding: 14px; }
.product-card.is-compact .ang-product-icon.is-source-art { width: 88px; height: 80px; padding: 0; }
.product-card.is-compact .product-card__body { padding: 12px; }
.product-card.is-compact h3 { font-size: 15px; }
.product-card.is-compact p { font-size: 12px; }
.product-card.is-compact .product-card__foot strong { font-size: 15px; }
@media (min-width: 821px) {
	.featured-products .product-card.is-compact p {
		display: -webkit-box;
		height: calc(1.55em * 3);
		min-height: calc(1.55em * 3);
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
}

.course-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.course-card { position: relative; display: flex; min-height: 416px; overflow: hidden; flex-direction: column; padding: 28px 24px 20px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius); color: #fff; background: #4a43c5; }
.course-card::after { display: none; }
.course-card--2 { background: #176f9d; }
.course-card--3 { background: #312768; }
.course-card--4 { background: #142943; }
.course-card__tag { position: relative; z-index: 2; align-self: flex-start; margin-bottom: 18px; padding: 4px 7px; border-radius: var(--radius); background: rgba(255,255,255,.18); font-size: 9px; font-weight: 800; }
.course-card h3 { position: relative; z-index: 2; margin-bottom: 12px; font-size: 28px; }
.course-card p { position: relative; z-index: 2; margin-bottom: 14px; color: rgba(255,255,255,.86); font-size: 14px; }
.course-card ul { position: relative; z-index: 2; margin: 0 0 18px; padding: 0; list-style: none; color: rgba(255,255,255,.88); font-size: 12px; }
.course-card li { padding-left: 20px; background: url("../icons/ui/shield-check.svg") no-repeat left .27em / 12px 12px; }
.course-card__price { position: relative; z-index: 2; display: block; margin-top: auto; margin-bottom: 15px; font-size: 21px; }
.course-card__foot { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.course-card__students { display: flex; min-width: 0; align-items: center; }
.course-card__students img { display: block; width: 65px; height: 31px; object-fit: cover; border-radius: var(--radius); }
.course-card__students small { margin-left: 5px; color: rgba(255,255,255,.82); font-size: 9px; white-space: nowrap; }
.course-card__status { color: rgba(255,255,255,.86); font-size: 10px; font-weight: 750; }
.course-tabs { display: flex; align-items: center; gap: 8px; }
.course-tabs a { padding: 9px 16px; border: 1px solid transparent; border-radius: var(--radius); color: #515b76; background: #f7f7fc; font-size: 11px; font-weight: 690; white-space: nowrap; }
.course-tabs a.is-active { color: var(--primary); border-color: #dcddff; background: #f1f0ff; }

.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.post-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 18px; }
.post-card { min-width: 0; }
.post-card__image { display: block; overflow: hidden; aspect-ratio: 16/9; border-radius: var(--radius); background: #101a35; }
.post-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.post-card:hover .post-card__image img { transform: scale(1.035); }
.post-card__body { padding: 15px 2px 0; }
.post-card__body .eyebrow { margin-bottom: 6px; font-size: 9px; }
.post-card h3 { margin-bottom: 8px; font-size: 18px; }
.post-card h3 a:hover { color: var(--primary); }
.post-card p { margin-bottom: 10px; color: var(--muted); font-size: 12px; }
.post-meta { color: #9299ad; font-size: 10px; }

.trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin: 56px 30px 0; border: 1px solid var(--line); border-radius: var(--radius); }
.trust-strip > div { display: grid; min-height: 100px; grid-template-columns: 48px 1fr; align-content: center; padding: 18px 22px; border-right: 1px solid var(--line); }
.trust-strip > div:last-child { border-right: 0; }
.trust-strip span { grid-row: span 2; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 0; color: var(--primary); background: transparent; font-size: 20px; }
.trust-strip strong { font-size: 14px; }
.trust-strip small { color: var(--muted); font-size: 11px; line-height: 1.4; }

/* Newsletter and footer */
.newsletter { display: grid; width: min(calc(100% - 40px), var(--shell)); min-height: 118px; grid-template-columns: 60px 1fr minmax(390px, .9fr); align-items: center; gap: 20px; margin-bottom: 34px; padding: 24px 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #f7f8fb; }
.newsletter__icon { display: grid; width: 58px; height: 58px; place-items: center; border-radius: var(--radius); color: var(--primary); background: #eceef6; font-size: 25px; }
.newsletter h2 { margin-bottom: 4px; font-size: 18px; }
.newsletter h2 span { color: var(--primary); }
.newsletter p { margin: 0; color: var(--muted); font-size: 11px; }
.newsletter p a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.newsletter-form { position: relative; display: flex; gap: 8px; }
.newsletter-form input { min-width: 0; flex: 1; height: 48px; padding: 0 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.newsletter-form .form-message { position: absolute; top: 52px; left: 0; }
.site-footer { margin: 0; padding: 72px 0 32px; border-radius: 0; color: #eef2ff; background: var(--navy); }
.footer-grid, .footer-bottom { width: min(calc(100% - 40px), var(--shell)); }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: clamp(40px, 4vw, 72px); }
.site-brand--footer { width: 334px; margin-bottom: 24px; opacity: .98; }
.footer-brand p { max-width: 450px; margin-bottom: 22px; color: #aeb9d0; font-size: 16px; line-height: 1.7; }
.social-links { display: flex; gap: 11px; }
.social-links a { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: #fff; background: rgba(255,255,255,.11); transition: transform .2s ease, background-color .2s ease; }
.social-links a:hover { background: rgba(255,255,255,.2); transform: translateY(-2px); }
.social-links img { display: block; width: 21px; height: 21px; filter: invert(1); }
.footer-grid h3 { margin: 4px 0 22px; color: #fff; font-size: 17px; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 15px; }
.footer-grid > div:not(.footer-brand) a { color: #aeb9d0; font-size: 15px; line-height: 1.45; }
.footer-grid .footer-link--nowrap { white-space: nowrap; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 54px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.1); color: #93a0bc; font-size: 13px; }
.footer-bottom p { margin: 0; }
.payment-brands { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 16px; }
.payment-brands img { display: block; width: auto; height: 30px; padding: 0; border-radius: 0; background: transparent; object-fit: contain; filter: brightness(0) invert(1); opacity: .96; }

/* Quick contact: compact brand buttons with labels only on interaction. */
.contact-float { position: fixed; z-index: 1100; right: max(24px, env(safe-area-inset-right)); bottom: calc(88px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 10px; pointer-events: none; }
.contact-float__item { position: relative; display: grid; width: 54px; height: 54px; place-items: center; pointer-events: auto; }
.contact-float__icon { display: grid; width: 54px; height: 54px; place-items: center; border: 2px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 5px 14px rgba(24,31,57,.18); transform-origin: center; animation: contact-float-wiggle 4.4s ease-in-out infinite; will-change: transform; transition: box-shadow .16s ease-out; }
.contact-float__item:nth-child(2) .contact-float__icon { animation-delay: -2.2s; }
.contact-float__icon img { display: block; width: 50px; height: 50px; }
.contact-float__label { position: absolute; top: 50%; right: calc(100% + 10px); padding: 6px 10px; border: 1px solid #e1defc; border-radius: var(--radius); color: #4b3ed0; background: rgba(255,255,255,.96); box-shadow: 0 8px 20px rgba(35, 28, 111, .12); font-size: 12px; font-weight: 800; opacity: 0; visibility: hidden; transform: translate(7px, -50%); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; white-space: nowrap; }
.contact-float__item:hover .contact-float__icon, .contact-float__item:focus-visible .contact-float__icon { box-shadow: 0 7px 18px rgba(24,31,57,.22); }
.contact-float__item:hover .contact-float__label, .contact-float__item:focus-visible .contact-float__label { opacity: 1; visibility: visible; transform: translate(0, -50%); }

/* Archives and standard pages */
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; color: #8d95aa; font-size: 11px; }
.breadcrumbs a:hover { color: var(--primary); }
.archive-hero, .page-hero { padding: 64px 0 54px; border-bottom: 1px solid var(--line); background: #f7f7fb; }
.archive-hero h1, .page-hero h1 { max-width: none; margin-bottom: 12px; font-size: clamp(38px, 5vw, 58px); }
.archive-hero p, .archive-description { max-width: none; margin: 0; color: var(--muted); font-size: 17px; }
.archive-layout { padding: 42px 0 72px; }
.catalog-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.catalog-tabs a { padding: 9px 14px; border: 1px solid var(--line); border-radius: var(--radius); color: #65708b; background: #fff; font-size: 12px; font-weight: 700; }
.catalog-tabs a:hover, .catalog-tabs a.is-active { color: var(--primary); border-color: #cfcdff; background: #f4f3ff; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.nav-links, .page-numbers { display: flex; justify-content: center; gap: 8px; margin-top: 38px; padding: 0; list-style: none; }
.nav-links a, .nav-links span, .page-numbers a, .page-numbers span { display: grid; min-width: 38px; height: 38px; place-items: center; padding-inline: 10px; border: 1px solid var(--line); border-radius: var(--radius); font-size: 12px; }
.nav-links .current, .page-numbers .current { color: #fff; border-color: var(--primary); background: var(--primary); }

/* Cart */
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 28px; padding: 48px 0 82px; }
.cart-main { min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.cart-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.cart-heading h2 { margin: 0; font-size: 25px; }
.cart-items { display: flex; flex-direction: column; gap: 12px; }
.cart-item { display: grid; grid-template-columns: 68px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.cart-item__image { display: grid; width: 68px; height: 68px; place-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: #f6f7fa; }
.cart-item__image img { width: 45px; height: 45px; object-fit: contain; }
.cart-item__body { min-width: 0; }
.cart-item__body > span { color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cart-item__body h3 { margin: 3px 0 6px; font-size: 16px; }
.cart-item__body h3 a:hover { color: var(--primary); }
.cart-item__body strong { color: var(--primary); font-size: 13px; }
.cart-item__actions { display: flex; align-items: center; gap: 13px; }
.cart-quantity { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.cart-quantity--fixed { min-width: 34px; justify-content: center; color: var(--ink); font-size: 12px; font-weight: 750; }
.cart-quantity button { width: 30px; height: 32px; padding: 0; border: 0; color: var(--primary); background: transparent; cursor: pointer; font-size: 18px; line-height: 1; }
.cart-quantity input { width: 34px; height: 32px; padding: 0; border: 0; color: var(--ink); background: transparent; text-align: center; font-size: 12px; font-weight: 750; }
.cart-quantity input:focus { outline: 0; }
.cart-item__remove { padding: 0; border: 0; color: #8991aa; background: transparent; cursor: pointer; font-size: 11px; font-weight: 700; }
.cart-item__remove:hover { color: var(--danger); }
.cart-summary { position: sticky; top: 24px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8f9fb; }
.cart-summary h2 { margin: 0 0 25px; font-size: 24px; }
.cart-summary__line, .cart-summary__total { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cart-summary__line { padding-bottom: 16px; border-bottom: 1px solid #e1e2f2; color: var(--muted); font-size: 13px; }
.cart-summary__line strong { color: var(--ink); font-size: 13px; }
.cart-summary__total { padding: 20px 0 22px; }
.cart-summary__total span { color: var(--muted); font-size: 13px; }
.cart-summary__total strong { color: var(--primary); font-size: 25px; letter-spacing: -.04em; }
.cart-summary__note { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 20px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.cart-summary__note img { flex: 0 0 auto; margin-top: 1px; }
.cart-empty { padding: 42px 18px 28px; border: 1px dashed #d8daf2; border-radius: var(--radius); background: #fafaff; }
.cart-empty img { opacity: .72; filter: invert(34%) sepia(89%) saturate(3154%) hue-rotate(235deg) brightness(92%); }
.cart-empty h2 { margin: 14px 0 6px; font-size: 22px; }
.cart-empty p { max-width: 420px; margin: 0 auto 18px; color: var(--muted); font-size: 13px; }
.cart-toast { position: fixed; z-index: 11000; right: 24px; bottom: 24px; max-width: min(360px, calc(100% - 32px)); padding: 13px 17px; border: 1px solid rgba(255,255,255,.35); border-radius: var(--radius); color: #fff; background: #171b37; box-shadow: 0 14px 34px rgba(8,12,38,.24); font-size: 12px; font-weight: 700; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease; }
.cart-toast.is-visible { opacity: 1; transform: none; }

.prose { color: #303a55; font-size: 17px; line-height: 1.8; }
.prose--page { width: min(calc(100% - 40px), var(--shell)); padding: 52px 0 82px; }
.prose--page > * { max-width: 860px; }
.prose h2 { margin: 2.1em 0 .65em; color: var(--ink); font-size: 29px; }
.prose h3 { margin: 1.8em 0 .6em; color: var(--ink); font-size: 22px; }
.prose p, .prose ul, .prose ol { margin-bottom: 1.35em; }
.prose a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.prose blockquote { margin: 2em 0; padding: 18px 24px; border: 1px solid #d8dbea; border-radius: var(--radius); background: var(--soft); }
.content-with-aside { display: grid; grid-template-columns: minmax(0, 820px) 300px; align-items: start; justify-content: space-between; gap: 64px; padding: 58px 0 82px; }
.sticky-card { position: sticky; top: 24px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 14px 36px rgba(45,49,98,.06); }
.sticky-card h3 { font-size: 19px; }
.sticky-card p { color: var(--muted); font-size: 13px; }
.sticky-card > a:not(.button) { display: block; margin-top: 12px; color: var(--primary); font-size: 12px; font-weight: 700; }
.sticky-card hr { margin: 20px 0; border: 0; border-top: 1px solid var(--line); }

/* Author profile */
.author-page-hero p { max-width: none; margin: 0; color: var(--muted); font-size: 17px; }
.author-page { overflow: clip; }
.author-profile { display: grid; grid-template-columns: minmax(300px, .76fr) minmax(0, 1.24fr); align-items: start; gap: clamp(42px, 6vw, 86px); padding-top: 68px; padding-bottom: 82px; }
.author-profile__media { width: min(100%, 500px); }
.author-profile__portrait-wrap { line-height: 0; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.author-profile__portrait { display: block; width: 100%; height: auto; border-radius: var(--radius); object-fit: contain; }
.author-profile__content .eyebrow { margin-bottom: 13px; }
.author-profile__content h2 { max-width: none; margin-bottom: 18px; font-size: clamp(36px, 3.5vw, 50px); line-height: 1.14; }
.author-profile__content .lead { max-width: none; margin-bottom: 15px; color: #3f4967; font-size: 17px; line-height: 1.7; }
.author-profile__content > p:not(.lead) { max-width: none; margin-bottom: 25px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.author-profile__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 28px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.author-profile__stats > div { min-height: 92px; padding: 16px 18px; border-right: 1px solid var(--line); }
.author-profile__stats > div:first-child { padding-left: 0; }
.author-profile__stats > div:last-child { padding-right: 0; border-right: 0; }
.author-profile__stats strong, .author-profile__stats span { display: block; }
.author-profile__stats strong { margin-bottom: 5px; color: var(--primary); font-size: 22px; letter-spacing: -.04em; }
.author-profile__stats span { color: #717b98; font-size: 11px; line-height: 1.5; }
.author-profile__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.author-profile__actions .button { min-height: 48px; }
.author-page__section { padding-top: 82px; padding-bottom: 82px; border-top: 1px solid var(--line); }
.author-page__section-heading h2, .author-gallery__heading h2 { max-width: none; margin-bottom: 13px; font-size: clamp(30px, 3.3vw, 46px); }
.author-page__section-heading > p { max-width: none; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.author-story { display: grid; grid-template-columns: minmax(260px, .76fr) minmax(0, 1fr); gap: clamp(42px, 8vw, 120px); }
.author-story__body { color: #4a5573; font-size: 16px; line-height: 1.8; }
.author-story__body p { margin-bottom: 18px; }
.author-story__body blockquote { margin: 25px 0 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); color: #4a5573; background: var(--soft); font-size: 17px; line-height: 1.65; }
.author-services { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: clamp(42px, 8vw, 120px); }
.author-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.author-service-card { min-height: 200px; padding: 21px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.author-service-card > span { color: var(--primary); font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.author-service-card h3 { margin: 27px 0 10px; font-size: 20px; }
.author-service-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.author-gallery { padding-top: 86px; padding-bottom: 92px; }
.author-gallery__heading { margin-bottom: 28px; }
.author-gallery__grid { display: grid; grid-template-columns: minmax(0, 1.43fr) minmax(0, 1fr); grid-template-rows: auto auto; align-items: start; gap: 18px; }
.author-gallery__item { position: relative; min-height: 0; margin: 0; background: transparent; }
.author-gallery__item--feature { grid-row: 1 / span 2; }
.author-gallery__item img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; object-fit: contain; }
.author-contact { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: clamp(34px, 7vw, 92px); padding: clamp(28px, 4vw, 48px); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.author-contact__intro h2 { max-width: none; margin-bottom: 14px; font-size: clamp(30px, 3.2vw, 44px); }
.author-contact__intro > p { max-width: none; margin-bottom: 24px; color: #5f6986; font-size: 14px; line-height: 1.7; }
.author-contact__direct { padding-top: 16px; border-top: 1px solid #dedff3; }
.author-contact__direct span, .author-contact__direct strong { display: block; }
.author-contact__direct span { margin-bottom: 4px; color: var(--primary); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.author-contact__direct strong { color: var(--ink); font-size: 13px; line-height: 1.55; }
.author-contact__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; gap: 0 24px; border-top: 1px solid var(--line); }
.author-contact__links a { position: relative; display: flex; min-width: 0; min-height: 70px; flex-direction: column; justify-content: center; padding: 12px 32px 12px 0; border-bottom: 1px solid var(--line); transition: color .2s ease; }
.author-contact__links a:hover { color: var(--primary); }
.author-contact__links span { color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.author-contact__links strong { margin-top: 3px; overflow-wrap: anywhere; color: var(--ink); font-size: 13px; }
.author-contact__links b { position: absolute; top: 50%; right: 3px; color: var(--primary); font-size: 16px; transform: translateY(-50%); }
.author-note { padding-top: 22px; padding-bottom: 82px; }
.author-note strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: 16px; }
.author-note p { max-width: 760px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }

/* Product layout inspired by the Gumroad profile product page. */
.product-detail { width: min(calc(100% - 40px), var(--shell)); padding-top: 26px; }
.product-detail__media { position: relative; overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: var(--radius); background: #101525; box-shadow: 0 18px 48px rgba(45,49,98,.08); }
.product-detail__media-topline { position: absolute; z-index: 3; top: 0; right: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 19px; color: #fff; background: linear-gradient(180deg, rgba(9,17,38,.88), rgba(9,17,38,.18)); }
.product-detail__media-identity { display: flex; min-width: 0; align-items: center; gap: 10px; }
.product-detail__media-identity .ang-product-icon { width: 38px; height: 38px; flex: 0 0 auto; padding: 8px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); box-shadow: none; }
.product-detail__media-identity > span { display: flex; min-width: 0; flex-direction: column; }
.product-detail__media-identity strong, .product-detail__media-identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-detail__media-identity strong { font-size: 15px; line-height: 1.25; }
.product-detail__media-identity small { margin-top: 2px; color: rgba(255,255,255,.78); font-size: 10px; line-height: 1.2; }
.product-detail__media-type { flex: 0 0 auto; color: rgba(255,255,255,.78); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-detail__media-frame, .product-detail__media-placeholder { position: relative; display: grid; aspect-ratio: 16 / 9; }
.product-detail__media-frame { background: #101525; }
.product-detail__media-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.product-detail__media-placeholder { place-items: center; align-content: center; gap: 15px; background: radial-gradient(circle at 50% 45%, rgba(80,76,255,.18), transparent 34%), linear-gradient(145deg, #fafaff, #e8e9ff); }
.product-detail__media-placeholder .ang-product-icon.is-large { width: 188px; height: 188px; padding: 42px; }
.product-detail__media-placeholder > span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-detail__media-bottomline { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 29px 19px 13px; color: rgba(255,255,255,.82); background: linear-gradient(0deg, rgba(9,17,38,.72), transparent); font-size: 10px; font-weight: 700; }
.product-detail__media-bottomline a { color: #fff; }
.product-detail__type-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.product-detail__type-row .eyebrow { margin: 0; }
.product-detail__public-pill { display: inline-flex; padding: 6px 10px; border: 1px solid #dedfff; border-radius: var(--radius); color: var(--primary); background: var(--soft); font-size: 10px; font-weight: 800; }
.product-detail__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 32px; padding: 44px 0 82px; }
.product-detail__main { min-width: 0; }
.product-detail__heading h1 { margin-bottom: 15px; font-size: clamp(38px, 4vw, 56px); }
.product-detail__heading .lead { max-width: 760px; margin: 0; }
.product-detail__stats { display: grid; grid-template-columns: 1.15fr 1fr 1fr; margin-top: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.product-detail__stat { display: flex; min-height: 76px; flex-direction: column; justify-content: center; padding: 12px 17px; border-right: 1px solid var(--line); }
.product-detail__stat:last-child { border-right: 0; }
.product-detail__stat span { color: var(--muted); font-size: 11px; line-height: 1.35; }
.product-detail__stat strong { margin-bottom: 4px; color: var(--ink); font-size: 17px; line-height: 1.2; }
.product-detail__stat--price strong { color: var(--primary); font-size: 24px; letter-spacing: -.04em; }
.product-detail__price-line { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 8px; }
.product-detail__price-line strong { margin-bottom: 0; }
.product-detail__price-original { color: #8c94ad; font-size: 12px; font-weight: 700; letter-spacing: -.02em; text-decoration: line-through; text-decoration-thickness: 1px; white-space: nowrap; }
.product-detail__stat .product-detail__price-discount { display: inline-flex; max-width: none; min-height: 26px; align-items: center; justify-content: center; padding: 5px 9px; border: 1px solid #a6e2ba; border-radius: var(--radius); color: #08783a; background: linear-gradient(135deg, #e8faee, #c9f1d8); box-shadow: 0 4px 10px rgba(29,143,79,.14); font-size: 13px; font-weight: 900; letter-spacing: -.02em; line-height: 1; white-space: nowrap; }
.product-detail__description { padding-top: 48px; }
.product-detail__content-heading { margin-bottom: 24px; }
.product-detail__content-heading .eyebrow { margin-bottom: 7px; }
.product-detail__content-heading h2 { margin: 0; font-size: 32px; }
.product-detail__aside { position: sticky; top: 24px; }
.product-detail__purchase-card { padding: 22px; border: 1px solid #dedfff; border-radius: var(--radius); background: linear-gradient(155deg, #f7f6ff, #fff); box-shadow: 0 18px 45px rgba(54,48,160,.08); }
.product-detail__purchase-card > .button { margin-bottom: 14px; }
.product-detail__purchase-notice { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 18px; padding: 10px 11px; border: 1px solid #ccd4ff; border-radius: var(--radius); color: #4f5b78; background: #eef1ff; font-size: 11px; line-height: 1.45; }
.product-detail__purchase-notice > span:first-child { display: grid; width: 17px; height: 17px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: #8ba2eb; font-size: 11px; font-weight: 850; }
.product-detail__specs { border: 1px solid #dfe1ee; border-radius: var(--radius); background: #fff; }
.product-detail__specs > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px; padding: 12px 13px; border-bottom: 1px solid #e5e6ef; }
.product-detail__specs > div:last-child { border-bottom: 0; }
.product-detail__specs strong, .product-detail__specs span { font-size: 11px; line-height: 1.45; }
.product-detail__specs span { color: #4f5b78; text-align: right; }
.product-detail__purchase-card hr { margin: 20px 0; border: 0; border-top: 1px solid var(--line); }
.product-detail__purchase-note { margin: 0 0 15px; color: var(--muted); font-size: 11px; line-height: 1.6; }

.delivery-page { padding-top: 30px; }
.delivery-empty { display: flex; min-height: 520px; align-items: center; flex-direction: column; justify-content: center; padding: 70px 20px 100px; text-align: center; }
.delivery-empty__icon { display: grid; width: 66px; height: 66px; margin-bottom: 22px; place-items: center; border-radius: var(--radius); color: var(--primary); background: var(--soft); font-size: 27px; font-weight: 800; }
.delivery-empty h1 { margin-bottom: 14px; font-size: clamp(34px, 5vw, 52px); }
.delivery-empty p { max-width: 540px; margin-bottom: 25px; color: var(--muted); }
.delivery-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 30px; padding: 22px 0 34px; }
.delivery-hero__copy { min-width: 0; }
.delivery-hero h1 { max-width: none; margin-bottom: 12px; font-size: clamp(38px, 4.2vw, 56px); }
.delivery-hero p { max-width: none; margin: 0; color: var(--muted); font-size: 17px; }
.delivery-order-badge { min-width: 170px; padding: 15px 17px; border: 1px solid #dedfff; border-radius: var(--radius); background: var(--soft); }
.delivery-order-badge span, .delivery-order-badge strong, .delivery-order-badge small { display: block; }
.delivery-order-badge span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.delivery-order-badge strong { margin: 3px 0; color: var(--primary); font-size: 15px; }
.delivery-order-badge small { color: var(--muted); font-size: 10px; }
.delivery-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 42px; padding: 0 0 86px; }
.delivery-products { display: grid; gap: 20px; }
.delivery-product { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 14px 34px rgba(45, 49, 98, .05); }
.delivery-product--agent { border-color: #d9d9ff; box-shadow: 0 18px 42px rgba(80, 76, 255, .08); }
.delivery-product--agent .delivery-product__header { background: linear-gradient(145deg, #f3f2ff, #f8fbff); }
.delivery-product--agent .delivery-section--source { background: #fcfcff; }
.delivery-product__header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; border-bottom: 1px solid var(--line); background: linear-gradient(145deg, #fbfbff, #f5f5ff); }
.delivery-product__identity { display: flex; min-width: 0; align-items: center; gap: 12px; }
.delivery-product__identity .ang-product-icon { width: 58px; height: 58px; padding: 12px; border-radius: var(--radius); }
.delivery-product__identity .eyebrow { margin-bottom: 3px; font-size: 9px; }
.delivery-product__identity h2 { margin: 0; font-size: 21px; }
.delivery-product__identity small { color: var(--muted); font-size: 10px; }
.delivery-product__backlink { color: var(--primary); font-size: 11px; font-weight: 750; white-space: nowrap; }
.delivery-content-pages { display: grid; gap: 14px; padding: 18px; }
.delivery-content-page { overflow: hidden; border: 1px solid #e1e2f2; border-radius: var(--radius); background: #fff; }
.delivery-content-page__header { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid #e9e9f2; background: #f8f8ff; }
.delivery-content-page__header > span { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border-radius: var(--radius); color: var(--primary); background: #e7e7ff; font-size: 10px; font-weight: 850; }
.delivery-content-page__header h3 { margin: 0; font-size: 17px; }
.delivery-content-page__blocks { display: grid; min-width: 0; gap: 10px; padding: 14px; }
.delivery-content-page__blocks > * { min-width: 0; }
.delivery-content-block { min-width: 0; padding: 14px; border: 1px solid #ececf4; border-radius: var(--radius); background: #fff; }
.delivery-content-block h4 { margin: 0 0 9px; color: var(--ink); font-size: 15px; }
.delivery-content-block .prose { font-size: 15px; }
.delivery-content-block .prose h2 { margin: 1em 0 .45em; }
.delivery-content-block .prose h2:first-child { margin-top: 0; }
.delivery-content-block .prose p:last-child { margin-bottom: 0; }
.delivery-content-block .md-table-wrap { width: 100%; margin: 16px 0 4px; overflow-x: auto; border: 1px solid #e1e2f2; border-radius: var(--radius); }
.delivery-content-block .md-table-wrap table { width: 100%; min-width: 560px; border-collapse: collapse; color: #34405e; font-size: 12px; }
.delivery-content-block .md-table-wrap th, .delivery-content-block .md-table-wrap td { padding: 10px 12px; border-bottom: 1px solid #ececf4; text-align: left; vertical-align: top; }
.delivery-content-block .md-table-wrap th { color: var(--ink); background: #f8f8ff; font-weight: 800; }
.delivery-content-block .md-table-wrap tr:last-child td { border-bottom: 0; }
.delivery-content-block--guide { padding: clamp(18px, 3vw, 38px); background: #fff; }
.delivery-content-block--guide > .prose { font-size: 15px; }
.delivery-guide-article { max-width: 930px; margin: 0 auto; color: #303a55; }
.delivery-guide-article h2 { margin: 0 0 12px; color: var(--ink); font-size: clamp(28px, 4vw, 42px); line-height: 1.08; letter-spacing: -.045em; }
.delivery-guide-article h3 { margin: 42px 0 14px; color: var(--ink); font-size: 22px; letter-spacing: -.025em; }
.delivery-guide-article h4 { margin: 0 0 6px; color: var(--ink); font-size: 15px; }
.delivery-guide-article p { margin: 0 0 15px; line-height: 1.75; }
.delivery-guide-article ul, .delivery-guide-article ol { margin: 0 0 18px; padding-left: 22px; }
.delivery-guide-article li { margin-bottom: 9px; line-height: 1.7; }
.delivery-guide-article li:last-child { margin-bottom: 0; }
.delivery-guide-article > p code, .delivery-guide-article li code { padding: 2px 5px; border: 1px solid #dfddff; border-radius: var(--radius); color: #5148c9; background: #f5f4ff; font-size: .9em; }
.delivery-guide__lead { margin-bottom: 18px; padding: clamp(22px, 3vw, 34px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.delivery-guide__lead p { max-width: none; margin: 0; color: #66718e; font-size: 16px; }
.delivery-guide__eyebrow { display: block; margin-bottom: 9px; color: var(--primary); font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.delivery-guide__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 30px; }
.delivery-guide__facts > div { display: flex; min-width: 0; flex-direction: column; gap: 7px; padding: 15px; border: 1px solid #e3e3f1; border-radius: var(--radius); background: #fff; }
.delivery-guide__facts strong { color: var(--ink); font-size: 13px; }
.delivery-guide__facts span { color: #717b98; font-size: 12px; line-height: 1.55; }
.delivery-guide__list { color: #4a5573; }
.delivery-guide__callout { margin: 20px 0; padding: 15px 17px; border: 1px solid #dcd9ff; border-radius: var(--radius); color: #4f4a98; background: #f6f5ff; line-height: 1.65; }
.delivery-guide__steps { display: grid; gap: 10px; }
.delivery-guide__step { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; padding: 16px; border: 1px solid #e3e3f1; border-radius: var(--radius); background: #fff; }
.delivery-guide__step > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: var(--radius); color: var(--primary); background: #e9e8ff; font-size: 11px; font-weight: 850; }
.delivery-guide__step p { margin: 0; color: #66718e; }
.delivery-guide__example { margin: 20px 0; padding: 17px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #f7f7fb; }
.delivery-guide__example p { margin: 6px 0 0; color: #59637f; }
.delivery-guide__checklist { padding-left: 0 !important; list-style: none; }
.delivery-guide__checklist li { position: relative; padding-left: 24px; }
.delivery-guide__checklist li::before { position: absolute; top: 0; left: 0; color: #15935b; content: '✓'; font-weight: 900; }
.delivery-guide__faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.delivery-guide__faq > div { padding: 15px; border: 1px solid #e3e3f1; border-radius: var(--radius); background: #fff; }
.delivery-guide__faq strong { display: block; margin-bottom: 6px; color: var(--ink); font-size: 13px; }
.delivery-guide__faq p { margin: 0; color: #6d7792; font-size: 13px; line-height: 1.6; }
.prompt-card { margin: 18px 0; overflow: hidden; border: 1px solid #303964; border-radius: var(--radius); color: #eef0ff; background: #141a32; }
.prompt-card__header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; background: #242b56; }
.prompt-card__header > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.prompt-card__label { color: #b8b8ff; font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.prompt-card__header strong { color: #fff; font-size: 14px; }
.prompt-card__copy { flex: 0 0 auto; min-height: 35px; padding: 0 13px; border: 1px solid rgba(255,255,255,.26); border-radius: var(--radius); color: #fff; background: rgba(255,255,255,.12); cursor: pointer; font-size: 11px; font-weight: 800; transition: background-color .2s ease, transform .2s ease; }
.prompt-card__copy:hover, .prompt-card__copy:focus-visible { background: rgba(255,255,255,.22); transform: translateY(-1px); }
.prompt-card__copy.is-copied { color: #132b1e; background: #baf5d2; }
.prompt-card__copy:disabled { cursor: wait; opacity: .85; }
.prompt-card__code { max-height: 360px; margin: 0; overflow: auto; padding: 18px; white-space: pre-wrap; word-break: break-word; color: #f3f3ff; background: #141a32; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; line-height: 1.7; tab-size: 2; }
.prompt-card__code code { color: inherit; font: inherit; }
.prompt-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 31px; padding: 7px 15px; border-top: 1px solid rgba(255,255,255,.08); color: #9da7c7; background: #10152a; font-size: 10px; }
.prompt-card__status { color: #aef1c8; font-weight: 700; }
.delivery-content-block--file { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; background: #fbfbff; }
.delivery-content-block__icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: var(--radius); color: var(--primary); background: #e7e7ff; font-size: 9px; font-weight: 850; }
.delivery-content-block__copy { min-width: 0; }
.delivery-content-block__copy strong, .delivery-content-block__copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.delivery-content-block__copy strong { font-size: 12px; }
.delivery-content-block__copy span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.delivery-content-block--video .delivery-video { width: min(100%, 900px); margin: 2px auto 0; overflow: hidden; border-radius: var(--radius); aspect-ratio: 16 / 9; background: #101525; }
.delivery-content-block--video .delivery-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.delivery-content-link { display: inline-flex; min-height: 40px; align-items: center; padding: 0 13px; border-radius: var(--radius); color: #fff; background: var(--primary); font-size: 12px; font-weight: 750; }
.delivery-content-link:hover { color: #fff; background: #403ab7; }
.delivery-content-block.is-unavailable { opacity: .72; }
.delivery-section { padding: 24px; border-bottom: 1px solid var(--line); }
.delivery-section:last-child { border-bottom: 0; }
.delivery-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.delivery-section__heading h3 { margin: 0; font-size: 20px; }
.delivery-section__heading > span { color: var(--muted); font-size: 10px; white-space: nowrap; }
.delivery-assets { display: grid; gap: 9px; }
.delivery-asset { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 10px; border: 1px solid #e1e2f2; border-radius: var(--radius); background: #fbfbff; }
.delivery-asset__icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: var(--radius); color: var(--primary); background: #e7e7ff; font-size: 9px; font-weight: 850; }
.delivery-asset__copy { min-width: 0; }
.delivery-asset__copy strong, .delivery-asset__copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.delivery-asset__copy strong { font-size: 12px; }
.delivery-asset__copy span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.delivery-asset__status { color: #a55b00; font-size: 10px; font-weight: 700; white-space: nowrap; }
.delivery-legacy-link { margin: 13px 0 0; color: var(--muted); font-size: 11px; }
.delivery-legacy-link a { color: var(--primary); font-weight: 750; }
.delivery-unavailable { margin: 0; padding: 14px; border-radius: var(--radius); color: var(--muted); background: #f7f7fb; font-size: 12px; }
.delivery-guide .prose { font-size: 15px; }
.delivery-product--simple { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; }
.delivery-product--simple .delivery-unavailable { margin: 0; }
.delivery-aside { position: sticky; top: 24px; }
.delivery-side-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.delivery-side-card h2 { margin-bottom: 12px; font-size: 23px; }
.delivery-side-card p { color: var(--muted); font-size: 12px; line-height: 1.65; }
.delivery-side-card hr { margin: 20px 0; border: 0; border-top: 1px solid var(--line); }
.delivery-side-card > strong { font-size: 12px; }
.delivery-layout--single { grid-template-columns: minmax(0, 1fr); gap: 22px; }
.delivery-layout--single .delivery-aside { position: static; }
.delivery-layout--single .delivery-side-card { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); align-items: center; gap: 30px; padding: 24px 28px; }
.delivery-side-card__support { padding-left: 30px; border-left: 1px solid var(--line); }
.delivery-side-card__support .eyebrow { margin-bottom: 8px; }
.delivery-side-card__support p { margin-bottom: 15px; }
.delivery-side-card__support .button { min-width: 170px; }
.payment-delivery-link { margin-top: 12px; }

/* Blog post */
.single-post__header { padding-top: 60px; text-align: center; }
.single-post__header .breadcrumbs { justify-content: center; }
.single-post__header h1 { margin-bottom: 18px; font-size: clamp(42px, 5.5vw, 66px); }
.single-post__header .lead { max-width: 760px; margin-inline: auto; }
.author-line { display: inline-flex; align-items: center; gap: 14px; margin: 18px auto 38px; text-align: left; }
.author-line img { width: 42px; height: auto; flex: 0 0 auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); object-fit: contain; }
.author-line span { display: flex; flex-direction: column; }
.author-line strong { font-size: 12px; }
.author-line small { color: var(--muted); font-size: 10px; }
.single-post__image img { display: block; width: 100%; max-height: 660px; object-fit: cover; border-radius: var(--radius); }
.author-box { display: flex; align-items: center; gap: 20px; margin-top: 50px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.author-box img { flex: 0 0 auto; object-fit: contain; }
.author-box h2 { margin: 0 0 5px; font-size: 22px; }
.author-box p { margin: 0 0 5px; font-size: 13px; }
.author-box a { font-size: 12px; }

/* Article template matching the long-form AgentsNgon reading layout */
.single-post__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 32px; padding: 42px 0 82px; }
.single-post__main { min-width: 0; }
.single-post__header { padding: 0; text-align: left; }
.single-post__header .breadcrumbs { justify-content: flex-start; margin-bottom: 28px; }
.single-post__intro-grid { position: relative; display: block; }
.single-post__copy { min-width: 0; }
.single-post__header .eyebrow { display: inline-flex; align-items: center; margin: 0 0 18px; padding: 0; border: 0; border-radius: 0; color: var(--primary); background: transparent; font-size: 11px; font-weight: 750; letter-spacing: 0; line-height: 1.2; text-transform: none; }
.single-post__header h1 { max-width: calc(100% - 240px); margin-bottom: 16px; font-size: clamp(34px, 3.1vw, 46px); line-height: 1.14; }
.single-post__header .lead { max-width: calc(100% - 240px); margin: 0; color: #4b5672; font-size: 16px; line-height: 1.7; }
.single-post__tools { position: absolute; top: clamp(76px, 7.5vw, 96px); right: clamp(0px, calc((100vw - 1300px) * .34), 48px); display: flex; align-items: flex-end; flex-direction: column; gap: 16px; padding-bottom: 0; }
.single-post__meta-row { display: flex; align-items: center; gap: 20px; margin-top: 18px; }
.single-post__meta-row .author-line { margin: 0; }
.single-post__meta-row .author-line > span { display: inline-flex; flex-direction: row; align-items: center; gap: 14px; }
.single-post__meta-row .author-line strong { font-size: 15px; }
.single-post__meta-row .author-line small { display: inline-flex; align-items: center; white-space: nowrap; line-height: 1.4; font-size: 13px; }
.single-post__meta-row .post-meta-item { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; }
.single-post__meta-row .post-meta-item svg { width: 14px; height: 14px; color: #aeb7d5; flex: 0 0 auto; }
.single-post__meta-row .author-line small i { margin: 0 8px; color: #c1c7dd; font-style: normal; }
.post-actions { display: flex; align-items: center; gap: 16px; }
.post-action { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; color: #6f7893; background: transparent; cursor: pointer; font-size: 12px; font-weight: 650; }
.js-save-post > span { width: 69px; white-space: nowrap; text-align: left; }
.post-action img, .post-action svg { display: block; width: 38px; height: 38px; padding: 9px; overflow: visible; border-radius: 50%; color: #6f7893; background: #f3f4fa; }
.post-action:hover { color: #5e6780; }
.post-action.is-saved img, .post-action.is-saved svg { color: var(--primary); filter: none; }
.post-share-links { display: flex; justify-content: flex-end; gap: 10px; margin: 0; }
.post-share-links a { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: var(--primary); background: var(--soft); }
.post-share-links a:hover { color: #fff; background: var(--primary); }
.post-share-links img, .post-share-links svg { width: 16px; height: 16px; }
.post-share-links span { font-size: 14px; font-weight: 800; }
.post-share-links .post-share-letter { font-family: "Be Vietnam Pro", sans-serif; font-size: 20px; font-weight: 800; line-height: 1; }
.single-post__image { margin: 26px 0 24px; }
.single-post__image a { display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--radius); }
.single-post__image img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; border-radius: inherit; }
.single-post__content { width: 100%; }
.single-post__intro { margin-bottom: 20px; color: #34405e; font-size: 17px; line-height: 1.7; }
.single-post__intro p, .single-post__prose p { text-align: justify; }
.single-post__intro p { margin: 0; }
.single-post__intro p + p { margin-top: 1.05em; }
.single-post__prose > p { margin: 0 0 1.1em; }
.single-post__prose > p:first-child { color: #34405e; }
.post-toc { margin: 26px 0 30px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.post-toc__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.post-toc__head strong { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 15px; }
.post-toc__head strong img { width: 16px; height: 16px; filter: invert(34%) sepia(89%) saturate(3154%) hue-rotate(235deg) brightness(92%); }
.post-toc__head button { border: 0; color: var(--primary); background: transparent; cursor: pointer; font-size: 11px; font-weight: 700; }
.post-toc__head button span { display: inline-block; margin-left: 4px; }
.post-toc.is-collapsed ol { display: none; }
.post-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 28px; margin: 0; padding: 0 0 0 25px; color: var(--primary); font-size: 13px; }
.post-toc li { padding-left: 2px; }
.post-toc li::marker { font-weight: 800; }
.post-toc li a { color: #16205a; text-decoration: none; }
.post-toc li a:hover { color: var(--primary); }
.post-toc__level-3 { padding-left: 12px; }
.single-post__prose h2 { margin: 1.35em 0 .55em; color: var(--ink); font-size: 26px; }
.single-post__prose h3 { margin: 1.55em 0 .5em; color: var(--ink); font-size: 20px; }
.single-post__prose ul, .single-post__prose ol { margin: 0 0 1.35em; padding-left: 24px; }
.single-post__prose li { margin: .35em 0; padding-left: 3px; }
.single-post__prose blockquote { margin: 28px 0; padding: 18px 22px; border: 1px solid var(--line); border-radius: var(--radius); color: #34405e; background: var(--soft); }
.single-post__prose figure.article-media { margin: 28px 0 30px; }
.single-post__prose figure.article-media img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: var(--radius); }
.single-post__prose figure.article-media figcaption { margin-top: 9px; color: #8790aa; font-size: 11px; line-height: 1.5; text-align: center; }
.single-post__prose .table-scroll { width: 100%; margin: 22px 0 30px; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); }
.single-post__prose table { width: 100%; min-width: 610px; margin: 0; border: 0; border-spacing: 0; border-collapse: separate; color: #34405e; font-size: 13px; }
.single-post__prose th, .single-post__prose td { padding: 12px 14px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); text-align: left; vertical-align: top; }
.single-post__prose th:last-child, .single-post__prose td:last-child { border-right: 0; }
.single-post__prose tr:last-child td { border-bottom: 0; }
.single-post__prose th { color: var(--ink); background: #f5f5ff; font-size: 12px; font-weight: 800; }
.single-post__prose hr { margin: 34px 0; border: 0; border-top: 1px solid var(--line); }
.single-post__prose pre { margin: 1.5em 0; padding: 18px 20px; overflow-x: auto; border-radius: var(--radius); color: #dbe6ff; background: #151b29; font-size: 13px; line-height: 1.65; }
.single-post__prose code { padding: 2px 5px; border-radius: var(--radius); color: #2d2c91; background: #f0efff; font-size: .9em; }
.single-post__prose pre code { padding: 0; color: inherit; background: transparent; }
.post-cta { display: flex; align-items: center; gap: 16px; margin-top: 42px; padding: 20px; border: 1px solid #cbd8f7; border-radius: var(--radius); background: #edf2ff; }
.post-cta__icon { display: grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; border-radius: var(--radius); background: var(--primary); }
.post-cta__icon img { display: block; width: 28px; height: 28px; filter: brightness(0) invert(1); }
.post-cta > div { flex: 1; }
.post-cta strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: 15px; }
.post-cta p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.post-cta .button { flex: 0 0 auto; min-height: 40px; padding-inline: 16px; color: #fff; font-size: 11px; }
.single-post__aside { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 24px; }
.post-sidebar-card { padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.post-sidebar-card h2 { margin: 0 0 17px; color: var(--ink); font-size: 18px; }
.post-author-card__identity { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 13px; }
.post-author-card__identity img { width: 64px; height: auto; flex: 0 0 auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); object-fit: contain; }
.post-author-card__identity strong, .post-author-card__identity small { display: block; }
.post-author-card__identity strong { font-size: 14px; }
.post-author-card__identity small { margin-top: 3px; color: var(--primary); font-size: 11px; }
.post-author-card p { margin: 0 0 14px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.post-author-card__links { display: flex; flex-wrap: wrap; gap: 10px; }
.post-author-card__links a, .post-sidebar-link { color: var(--primary); font-size: 11px; font-weight: 750; }
.post-author-card__contact { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--line); }
.post-author-card__contact a { color: var(--muted); font-size: 10px; font-weight: 700; }
.post-author-card__contact a:hover { color: var(--primary); }
.post-related-list { display: flex; flex-direction: column; gap: 13px; }
.post-related-item { display: grid; grid-template-columns: 62px 1fr; align-items: center; gap: 11px; }
.post-related-item img { width: 62px; height: 62px; object-fit: cover; border-radius: var(--radius); background: var(--soft); }
.post-related-item strong, .post-related-item small { display: block; }
.post-related-item strong { color: var(--ink); font-size: 11px; line-height: 1.45; }
.post-related-item small { margin-top: 4px; color: #8790aa; font-size: 10px; }
.post-related-item:hover strong { color: var(--primary); }
.post-sidebar-link { display: inline-block; margin-top: 16px; }
.post-categories-card ul { display: flex; flex-direction: column; gap: 11px; margin: 0; padding: 0; list-style: none; }
.post-categories-card li a { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--ink); font-size: 11px; font-weight: 650; }
.post-categories-card li a:hover { color: var(--primary); }
.post-categories-card li span { min-width: 22px; padding: 3px 6px; border-radius: var(--radius); color: #68708e; background: var(--soft); font-size: 10px; text-align: center; }
.post-course-card { padding: 24px 20px 20px; overflow: hidden; border-radius: var(--radius); color: #fff; background: var(--navy); }
.post-course-card > span { color: #d9d6ff; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.post-course-card h2 { margin: 12px 0 10px; color: #fff; font-size: 22px; line-height: 1.25; }
.post-course-card p { margin: 0 0 15px; color: #d7d6f1; font-size: 12px; line-height: 1.6; }
.post-course-card ul { display: flex; flex-direction: column; gap: 8px; margin: 0 0 20px; padding: 0; color: #e4e3f8; font-size: 11px; list-style: none; }
.post-course-card li { padding-left: 20px; background: url("../icons/ui/shield-check.svg") no-repeat left .15em / 12px 12px; }
.post-course-card .button { min-height: 40px; padding-inline: 15px; color: var(--primary); background: #fff; font-size: 11px; }
.post-feedback { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.post-feedback h2 { margin: 0 0 6px; color: var(--ink); font-size: 15px; }
.post-feedback p { margin: 0; color: var(--muted); font-size: 12px; }
.post-feedback__actions { display: flex; flex: 0 0 auto; gap: 10px; }
.post-feedback__button { display: inline-flex; align-items: center; gap: 7px; min-height: 48px; padding: 0 17px; border: 1px solid #edf0fb; border-radius: var(--radius); color: #6f7893; background: #fbfbfe; cursor: pointer; font-size: 12px; }
.post-feedback__button svg { color: var(--primary); }
.post-feedback__button b { font-weight: 650; }
.post-feedback__button:hover, .post-feedback__button.is-selected { border-color: #d9dbff; color: var(--primary); background: #f7f7ff; }
.post-prev-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.post-prev-next__item { position: relative; min-height: 112px; padding: 22px 24px; color: var(--ink); text-decoration: none; }
.post-prev-next__item + .post-prev-next__item { border-left: 0; }
.post-prev-next__item + .post-prev-next__item::before { position: absolute; top: 18px; bottom: 18px; left: 0; border-left: 1px solid var(--line); content: ""; }
.post-prev-next__item span { display: flex; align-items: center; justify-content: flex-start; gap: 10px; margin-bottom: 12px; color: var(--primary); }
.post-prev-next__item--next span { justify-content: space-between; }
.post-prev-next__item span svg { flex: 0 0 auto; }
.post-prev-next__item small { color: var(--primary); font-size: 11px; font-weight: 650; text-decoration: none; }
.post-prev-next__item strong { display: block; max-width: 310px; color: var(--ink); font-size: 15px; line-height: 1.45; text-decoration: none; }
.post-prev-next__item--next { text-align: left; }
.post-prev-next__item--next strong { margin-left: 0; }
.post-prev-next__item:hover strong { color: var(--ink); }
.single-post__content .post-prev-next__item { color: var(--ink); text-decoration: none; }
.single-post__content .post-prev-next__item:hover { color: var(--ink); }
.post-related-section { margin-top: 30px; }
.post-related-section > h2 { margin: 0 0 18px; color: var(--ink); font-size: 21px; }
.post-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.post-related-tile { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.post-related-tile > a { display: block; overflow: hidden; aspect-ratio: 1.65 / 1; background: var(--soft); }
.post-related-tile > a img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.post-related-tile:hover > a img { transform: scale(1.03); }
.post-related-tile > div { padding: 12px 10px 13px; }
.post-related-tile__category { display: inline-block; margin-bottom: 7px; padding: 4px 7px; border-radius: var(--radius); color: var(--primary); background: var(--soft); font-size: 9px; font-weight: 750; text-transform: uppercase; }
.post-related-tile h3 { margin: 0 0 12px; font-size: 13px; line-height: 1.45; }
.post-related-tile h3 a { color: var(--ink); text-decoration: none; }
.post-related-tile h3 a:hover { color: var(--primary); }
.post-related-tile small { color: #8790aa; font-size: 10px; }
.post-related-section__link { display: flex; width: max-content; align-items: center; gap: 7px; margin: 22px auto 0; padding: 10px 15px; border: 1px solid #e1e3ff; border-radius: var(--radius); color: var(--primary); background: #f9f9ff; font-size: 11px; font-weight: 750; text-decoration: none; }
.single-post__content .post-related-section__link, .single-post__content .post-related-section__link:hover { color: var(--primary); text-decoration: none; }
.post-related-section__link svg { flex: 0 0 auto; }
.post-comments { margin-top: 34px; }
.post-comments__heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.post-comments__heading h2 { margin: 0; color: var(--ink); font-size: 21px; }
.post-comments__heading h2 span { color: var(--primary); font-weight: 500; }
.post-comments__sort select { min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius); color: var(--muted); background: #fff; font-size: 11px; }
.post-comment-form { margin-bottom: 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.post-comment-form__native { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 12px; margin: 0; }
.post-comment-form__native > .comment-form-comment, .post-comment-form__native > .form-submit, .post-comment-form__native > .comment-notes, .post-comment-form__native > .logged-in-as, .post-comment-form__native > .must-log-in { grid-column: 1 / -1; }
.post-comment-form__native p { margin: 0; }
.post-comment-form__native input:not([type="submit"]), .post-comment-form__native textarea { width: 100%; padding: 10px 12px; border: 1px solid #e1e4f1; border-radius: var(--radius); color: var(--ink); background: #fff; font: inherit; font-size: 12px; }
.post-comment-form__native textarea { min-height: 74px; resize: vertical; }
.post-comment-form__native input:focus, .post-comment-form__native textarea:focus { border-color: var(--primary); outline: 3px solid rgba(80,76,255,.1); }
.post-comment-form__native .form-submit { display: flex; justify-content: flex-end; }
.post-comment-form__native .form-submit input { min-height: 38px; padding: 0 16px; border: 0; border-radius: var(--radius); color: #fff; background: var(--primary); cursor: pointer; font-size: 11px; font-weight: 750; }
.post-comment-form__native .comment-form-cookies-consent { display: none; }
.post-comment-list { display: flex; flex-direction: column; gap: 12px; }
.post-comments__empty { margin: 0; padding: 24px; border: 1px dashed #dfe2f5; border-radius: var(--radius); color: var(--muted); background: #fbfbff; font-size: 13px; text-align: center; }
.post-comment { display: flex; gap: 13px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.post-comment__avatar, .post-comment__avatar img { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; }
.post-comment__avatar img { display: block; object-fit: cover; background: var(--soft); }
.post-comment--reply { margin: 14px 0 0 0; padding: 14px; border-color: #eef0ff; background: #f8f8ff; }
.post-comment--reply .post-comment__avatar, .post-comment--reply .post-comment__avatar img { width: 40px; height: 40px; }
.post-comment__body { min-width: 0; flex: 1; }
.post-comment__meta { display: flex; align-items: center; gap: 7px; color: #a1a9c0; font-size: 11px; }
.post-comment__meta strong { color: var(--ink); font-size: 12px; }
.post-comment__author-badge { padding: 2px 6px; border-radius: var(--radius); color: var(--primary); background: #e9e9ff; font-size: 9px; font-weight: 750; }
.post-comment__meta button { margin-left: auto; padding: 0 2px; border: 0; color: var(--muted); background: transparent; cursor: pointer; font-size: 19px; line-height: 1; }
.post-comment__body > p { margin: 9px 0 11px; color: #4b5672; font-size: 12px; line-height: 1.65; }
.post-comment__actions { display: flex; align-items: center; gap: 8px; color: #9aa2b8; font-size: 11px; }
.post-comment__actions button { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; font-size: inherit; }
.post-comment__actions button:hover, .post-comment__actions button.is-liked { color: var(--primary); }
.post-comment__actions button:disabled, .post-feedback__button:disabled { cursor: wait; opacity: .65; }
.post-comment-form__message { margin: 9px 0 0; color: #4b5672; font-size: 11px; }
.post-comment-form__message.is-error { color: #bd3f55; }
.post-comments__more { display: block; margin: 18px auto 0; padding: 10px 15px; border: 1px solid #e1e3ff; border-radius: var(--radius); color: var(--primary); background: #f9f9ff; cursor: pointer; font-size: 11px; font-weight: 750; }
.post-comments__more:disabled { cursor: default; opacity: .7; }
.post-support-card { padding: 24px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 34px rgba(45,49,98,.05); }
.post-support-card h2 { margin: 0 0 10px; color: var(--ink); font-size: 18px; }
.post-support-card p { margin: 0 0 17px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.post-support-card .button { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; padding-inline: 14px; border: 1px solid #e1e3ff; color: var(--primary); background: #fff; font-size: 11px; }
.post-support-card .button svg { flex: 0 0 auto; }

/* Contact, search, 404 */
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 54px; padding: 58px 0 82px; }
.contact-cards { display: flex; flex-direction: column; gap: 14px; }
.contact-cards > div { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); }
.contact-cards span { color: var(--primary); font-size: 11px; font-weight: 800; }
.contact-cards h2 { margin: 6px 0; font-size: 19px; }
.contact-cards p { margin: 0; color: var(--muted); font-size: 13px; }
.contact-cards a { color: var(--primary); }
.contact-form { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.contact-form h2 { font-size: 27px; }
.contact-form label, #checkout-form label { display: flex; flex-direction: column; gap: 6px; margin-bottom: 15px; color: #3c4660; font-size: 12px; font-weight: 700; }
.contact-form input, .contact-form textarea, #checkout-form input, #checkout-form textarea { width: 100%; padding: 12px 13px; border: 1px solid #dfe2ef; border-radius: var(--radius); color: var(--ink); background: #fff; font-weight: 500; }
.contact-form input:focus, .contact-form textarea:focus, #checkout-form input:focus, #checkout-form textarea:focus { border-color: var(--primary); outline: 3px solid rgba(80,76,255,.1); }
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; }
.search-field { width: 100%; height: 46px; padding: 0 15px; border: 1px solid var(--line); border-radius: var(--radius); }
.search-results { display: flex; flex-direction: column; gap: 14px; }
.search-results article { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); }
.search-results h2 { margin-bottom: 7px; font-size: 23px; }
.search-results h2 a:hover { color: var(--primary); }
.search-results p { margin: 0; color: var(--muted); font-size: 13px; }
.empty-state { padding: 60px 20px; text-align: center; }
.error-page { padding: 90px 0 110px; text-align: center; }
.error-page img { display: block; margin: 0 auto 10px; }
.error-page > span { display: block; color: var(--primary); font-size: 90px; font-weight: 900; line-height: 1; letter-spacing: -.08em; }
.error-page h1 { margin: 18px 0 10px; font-size: 36px; }
.error-page p { color: var(--muted); }
.error-page div { display: flex; justify-content: center; gap: 10px; }

/* Checkout */
.checkout-modal { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: 20px 14px; }
.checkout-modal[hidden] { display: none; }
.checkout-modal__backdrop { position: absolute; inset: 0; background: rgba(5,10,26,.68); backdrop-filter: blur(3px); }
.checkout-modal__dialog { position: relative; z-index: 2; width: min(100%, 900px); max-height: calc(100vh - 40px); overflow: auto; margin: 0; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 18px 54px rgba(0,0,0,.24); }
.checkout-modal__close { position: absolute; z-index: 3; top: 14px; right: 14px; display: grid; width: 36px; height: 36px; place-items: center; border: 0; border-radius: 50%; cursor: pointer; background: var(--soft); font-size: 23px; }
.checkout-modal__layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 28px; padding: 22px; }
.checkout-summary { display: flex; min-width: 0; flex-direction: column; align-self: stretch; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.checkout-summary__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.checkout-summary__top .eyebrow { margin: 0; }
.checkout-summary__secure { display: inline-flex; align-items: center; gap: 4px; color: var(--success); font-size: 10px; font-weight: 750; }
.checkout-summary__secure img { opacity: .8; }
.checkout-summary h3 { margin: 28px 0 22px; font-size: 26px; }
.checkout-items { display: flex; max-height: 300px; flex-direction: column; gap: 11px; overflow: auto; padding-right: 3px; }
.checkout-item { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 9px; }
.checkout-item > img { width: 42px; height: 42px; padding: 7px; border: 1px solid #e2e3ff; border-radius: var(--radius); background: #fff; object-fit: contain; }
.checkout-item > div { min-width: 0; }
.checkout-item strong, .checkout-item span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.checkout-item strong { color: var(--ink); font-size: 11px; }
.checkout-item span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.checkout-item b { color: var(--primary); font-size: 10px; white-space: nowrap; }
.checkout-summary__line { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; color: var(--muted); font-size: 11px; }
.checkout-summary__line strong { color: var(--ink); }
.checkout-summary__line--discount strong { color: var(--success); }
.checkout-summary__total { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 21px; border-top: 1px solid #dedff5; }
.checkout-summary__total span { color: var(--muted); font-size: 11px; }
.checkout-summary__total strong { color: var(--primary); font-size: 21px; letter-spacing: -.04em; }
.checkout-summary__note { margin: 16px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.checkout-modal__content { min-width: 0; padding: 6px 10px 4px 0; }
.checkout-stage h2 { padding-right: 30px; margin-bottom: 10px; font-size: 32px; }
.checkout-lead { margin-bottom: 26px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.checkout-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
#checkout-form .checkout-form__grid label { margin-bottom: 17px; }
#checkout-form .checkout-form__full { grid-column: 1 / -1; }
.checkout-product-name { margin-bottom: 20px; color: var(--muted); font-size: 13px; }
#checkout-form label span { color: #9aa1b4; font-weight: 500; }
.checkout-booking-summary { display: block; margin-top: 2px; padding: 10px 11px; border: 1px solid #dcdcff; border-radius: var(--radius); color: #4f5875; background: #f7f7ff; font-size: 11px; line-height: 1.55; white-space: pre-line; }
.checkout-coupon { padding: 14px; margin: 0 0 15px; border: 1px solid #e0e2f2; border-radius: var(--radius); background: #fafaff; }
#checkout-form .checkout-coupon > label { margin-bottom: 8px; }
.checkout-coupon__controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
#checkout-form .checkout-coupon__controls input { min-width: 0; }
.checkout-coupon__controls .button { min-height: 43px; padding-inline: 16px; }
.checkout-coupon__message { min-height: 18px; margin: 7px 0 0; color: var(--muted); font-size: 11px; }
.checkout-coupon__message.is-success { color: var(--success); font-weight: 700; }
.checkout-coupon__message.is-error { color: var(--danger); }
.checkout-upsell-card { display: grid; grid-template-columns: 78px minmax(0, 1fr); align-items: center; gap: 16px; padding: 18px; margin: 24px 0 18px; border: 1px solid #dcdcff; border-radius: var(--radius); background: linear-gradient(145deg, #f7f6ff, #fff); }
.checkout-upsell-card > img { width: 78px; height: 78px; padding: 9px; border: 1px solid #e1e2f4; border-radius: var(--radius); background: #fff; object-fit: contain; }
.checkout-upsell-card strong, .checkout-upsell-card span { display: block; }
.checkout-upsell-card strong { color: var(--ink); font-size: 15px; line-height: 1.35; }
.checkout-upsell-card span { margin-top: 5px; color: var(--muted); font-size: 11px; }
.checkout-upsell-card p { display: flex; align-items: center; gap: 9px; margin: 12px 0 0; }
.checkout-upsell-card del { color: var(--muted); font-size: 12px; }
.checkout-upsell-card b { color: var(--primary); font-size: 19px; }
.checkout-upsell-actions { display: grid; gap: 9px; }
.checkout-stage--upsell .form-message { min-height: 18px; }
.checkout-legal { margin: 11px 0 0; color: #858da6; font-size: 9px; line-height: 1.55; text-align: center; }
.checkout-legal a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.checkout-stage--payment .eyebrow strong { color: var(--ink); }
.checkout-stage--success .eyebrow strong { color: var(--ink); }
.checkout-free-confirmation { display: flex; flex-direction: column; gap: 7px; padding: 20px; margin: 24px 0; border: 1px solid #bfe7d0; border-radius: var(--radius); color: #12653b; background: #effbf4; }
.checkout-free-confirmation strong { font-size: 17px; }
.checkout-free-confirmation span { color: #47705a; font-size: 12px; }
.checkout-qr-wrap { display: grid; min-height: 340px; place-items: center; margin: 14px 0; border: 1px solid var(--line); border-radius: var(--radius); background: #fafaff; }
.checkout-qr-wrap img { display: block; width: min(100%, 390px); }
.payment-details { border: 1px solid var(--line); border-radius: var(--radius); }
.payment-details > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 14px; border-bottom: 1px solid var(--line); }
.payment-details > div:last-child { border-bottom: 0; }
.payment-details span { color: var(--muted); font-size: 11px; }
.payment-details strong { font-size: 13px; text-align: right; }
.payment-note { margin: 14px 0 8px; color: var(--muted); font-size: 11px; }
.payment-status { margin: 0; padding: 10px 12px; border-radius: var(--radius); color: #8a5b00; background: #fff7df; font-size: 12px; }

/* Responsive */
@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .mobile-toggle { display: grid; }
  .site-header__inner { width: min(calc(100% - 40px), var(--shell)); height: 78px; gap: 18px; }
  .site-brand { width: 246px; }
  .site-brand__logo { width: 100%; }
  .header-actions { margin-left: auto; }
  .hero h1 { font-size: 48px; }
  .featured-split { grid-template-columns: 1fr; }
  .course-grid, .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-heading--courses { align-items: flex-start; flex-direction: column; }
  .course-tabs { width: 100%; overflow-x: auto; padding-bottom: 5px; }
  .footer-grid { grid-template-columns: 1.3fr repeat(2, 1fr); }
  .footer-grid > div:nth-child(4), .footer-grid > div:nth-child(5) { margin-top: 10px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .payment-brands { justify-content: flex-start; }
  .content-with-aside { grid-template-columns: minmax(0, 1fr) 280px; gap: 34px; }
  .cart-layout { grid-template-columns: minmax(0, 1fr) 300px; }
}

@media (max-width: 1280px) and (min-width: 1101px) {
  .site-header__inner { gap: 20px; }
  .desktop-nav { margin-left: 40px; }
}

@media (max-width: 960px) and (min-width: 821px) {
  .single-post__layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; }
}

@media (max-width: 820px) {
  .shell, .shell--narrow, .prose--page { width: min(calc(100% - 30px), var(--shell)); }
  .site-header__inner, .header-search > .shell, .mobile-nav > .shell, .newsletter, .footer-grid, .footer-bottom { width: min(calc(100% - 30px), var(--shell)); }
  .home-content.shell { width: min(calc(100% - 30px), var(--shell)); }
  .hero { background: #f8f7ff; }
  .header-contact, .header-actions > a.header-icon { display: none; }
  .site-brand { width: 214px; }
  .site-brand__logo { width: 100%; }
  .hero, .hero__grid { min-height: auto; }
  .hero__grid { grid-template-columns: 1fr; padding-top: 10px; }
  .hero__copy { padding-bottom: 0; text-align: center; }
  .hero__copy > p { margin-inline: auto; }
  .hero__actions, .hero__trust { justify-content: center; }
  .hero__visual { position: relative; inset: auto; width: 100vw; height: 410px; min-height: 410px; margin-left: calc((100% - 100vw) / 2); }
  .hero__landscape { width: 100%; height: 100%; object-fit: fill; }
  .hero__flock { inset: 0 0 0 auto; width: 100%; }
  .section-panel { padding: 24px 18px; }
  .home-section { padding: 46px 6px 0; }
  .product-row { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-strip { grid-template-columns: repeat(2, 1fr); margin-inline: 6px; }
  .trust-strip > div:nth-child(2) { border-right: 0; }
  .trust-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .newsletter { grid-template-columns: 54px 1fr; padding-bottom: 34px; }
  .newsletter-form { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
  .content-with-aside { grid-template-columns: 1fr; }
  .author-profile, .author-story, .author-services, .author-contact { grid-template-columns: 1fr; gap: 42px; }
  .author-profile { padding-top: 54px; padding-bottom: 70px; }
  .author-profile__media { margin-inline: auto; }
  .author-profile__caption { margin-inline: auto; }
  .author-services__grid { gap: 10px; }
  .author-gallery__grid { grid-template-rows: auto auto; }
  .author-contact__links { align-content: start; }
  .single-post__layout { grid-template-columns: 1fr; gap: 34px; }
  .single-post__intro-grid { display: block; }
  .single-post__header h1, .single-post__header .lead { max-width: none; }
  .single-post__tools { position: static; align-items: flex-start; flex-direction: row; margin-top: 16px; padding-bottom: 0; }
  .single-post__aside { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .post-course-card { grid-column: 1 / -1; }
  .post-feedback { align-items: flex-start; flex-direction: column; }
  .post-feedback__actions { width: 100%; }
  .post-feedback__button { flex: 1; justify-content: center; }
  .post-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-detail { width: min(calc(100% - 30px), var(--shell)); }
  .product-detail__layout { grid-template-columns: 1fr; gap: 32px; }
  .product-detail__aside { position: static; }
  .contact-grid { grid-template-columns: 1fr; }
  .cart-layout { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
  .checkout-modal__layout { grid-template-columns: 1fr; gap: 22px; }
  .checkout-summary { order: -1; }
  .checkout-modal__content { padding-right: 0; }
}

/* Keep the desktop hero arrangement, but release the action rail before the
 * main column becomes too narrow for the title and lead copy. */
@media (max-width: 1180px) and (min-width: 821px) {
  .single-post__header h1, .single-post__header .lead { max-width: none; }
  .single-post__tools {
    position: static;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
    padding-bottom: 0;
  }

  .post-share-links { justify-content: flex-start; }
}

@media (max-width: 560px) {
  body.agentsngon-site { font-size: 15px; }
  .site-header__inner, .header-search > .shell, .mobile-nav > .shell, .newsletter, .footer-grid, .footer-bottom { width: min(calc(100% - 24px), var(--shell)); }
  .site-header__inner { height: 64px; }
  .site-brand { width: 185px; gap: 6px; }
  .site-brand__logo { width: 100%; }
  .header-actions { gap: 4px; }
  .header-icon, .mobile-toggle { width: 44px; height: 44px; }
  .hero__copy { padding-top: 36px; }
  .hero-kicker { margin-bottom: 18px; }
  .hero h1 { font-size: 36px; }
  .hero__copy > p { font-size: 15px; }
  .hero__actions { flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .hero__trust { gap: 10px 16px; margin-top: 24px; font-size: 10px; }
  .hero__visual { height: 300px; min-height: 300px; }
  .hero-agent--lively { top: 30%; left: 1%; width: 20%; }
  .hero-agent--glasses { top: 17%; left: 34%; width: 23%; }
  .hero-agent--sleepy { top: 30%; left: 76%; width: 19%; }
  .hero-agent--scarf { top: 53%; left: 27%; width: 32%; }
  .hero-agent--happy { top: 60%; left: 63%; width: 26%; }
  .section-heading { align-items: flex-start; }
  .section-heading h2 { font-size: 23px; }
  .section-heading .eyebrow { display: none; }
  .featured-split > div { padding: 12px; }
  .product-row { grid-template-columns: 1fr; }
  .product-card .icon-button { width: 44px; height: 44px; }
  .course-grid, .product-grid, .post-grid, .post-grid--four { grid-template-columns: 1fr; }
  .course-card { min-height: 330px; }
  .course-card h3 { font-size: 25px; }
  .course-card__students img { width: 58px; height: 28px; }
  .post-card h3 { font-size: 19px; }
  .trust-strip { grid-template-columns: 1fr; }
  .trust-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-strip > div:last-child { border-bottom: 0; }
  .newsletter { grid-template-columns: 1fr; text-align: center; }
  .newsletter__icon { margin-inline: auto; }
  .newsletter-form { flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .site-footer { padding: 50px 0 26px; }
  .site-brand--footer { width: min(298px, 100%); }
  .payment-brands { justify-content: flex-start; }
  .newsletter-form input { flex: 0 0 52px; height: 52px; }
  .payment-brands { width: 100%; flex-wrap: nowrap; gap: 8px; }
  .payment-brands img { height: 24px; }
  .contact-float { right: max(16px, env(safe-area-inset-right)); bottom: calc(88px + env(safe-area-inset-bottom)); gap: 8px; }
  .contact-float__item, .contact-float__icon { width: 50px; height: 50px; }
  .contact-float__icon { border-width: 1px; }
  .contact-float__icon img { width: 48px; height: 48px; }
  .contact-float__label { display: none; }
  .archive-hero, .page-hero { padding: 42px 0 36px; }
  .archive-hero h1, .page-hero h1 { font-size: 36px; }
  .archive-hero p { font-size: 14px; }
  .author-page-hero p { font-size: 14px; }
  .author-profile { gap: 34px; padding-top: 42px; padding-bottom: 58px; }
  .author-profile__portrait-wrap { border-radius: var(--radius); }
  .author-profile__portrait { border-radius: var(--radius); }
  .author-profile__content h2 { font-size: 35px; }
  .author-profile__content .lead { font-size: 16px; }
  .author-profile__stats { grid-template-columns: 1fr; }
  .author-profile__stats > div { min-height: 0; padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .author-profile__stats > div:last-child { border-bottom: 0; }
  .author-page__section { padding-top: 58px; padding-bottom: 58px; }
  .author-page__section-heading h2, .author-gallery__heading h2 { font-size: 31px; }
  .author-story__body { font-size: 15px; }
  .author-story__body blockquote { font-size: 16px; }
  .author-services__grid { grid-template-columns: 1fr; }
  .author-service-card { min-height: 0; }
  .author-gallery { padding-top: 60px; padding-bottom: 64px; }
  .author-gallery__grid { display: grid; grid-template-columns: 1fr; grid-template-rows: none; gap: 10px; }
  .author-gallery__item, .author-gallery__item--feature { grid-row: auto; min-height: 0; aspect-ratio: auto; }
  .author-gallery__item img { border-radius: var(--radius); }
  .author-contact { gap: 28px; padding: 24px 18px; border-radius: var(--radius); }
  .author-contact__intro h2 { font-size: 31px; }
  .author-contact__links { grid-template-columns: 1fr; }
  .author-contact__links a { min-height: 64px; padding-right: 72px; }
  .author-contact__links b { right: 56px; }
  .author-note { padding-bottom: 60px; }
  .catalog-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; }
  .catalog-tabs a { flex: 0 0 auto; }
  .product-detail { width: min(calc(100% - 24px), var(--shell)); padding-top: 12px; }
  .product-detail__media-topline { padding: 11px 12px; }
  .product-detail__media-identity { gap: 7px; }
  .product-detail__media-identity .ang-product-icon { width: 32px; height: 32px; padding: 7px; }
  .product-detail__media-identity strong { max-width: 215px; font-size: 12px; }
  .product-detail__media-identity small { font-size: 9px; }
  .product-detail__media-type { display: none; }
  .product-detail__media-placeholder .ang-product-icon.is-large { width: 140px; height: 140px; padding: 30px; }
  .product-detail__media-bottomline { padding: 24px 12px 10px; font-size: 9px; }
  .product-detail__layout { padding: 30px 0 58px; }
  .product-detail__heading h1, .single-post__header h1 { font-size: 34px; }
  .product-detail__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 22px; }
  .product-detail__stat { min-height: 68px; padding: 11px 13px; }
  .product-detail__stat--price { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--line); }
  .product-detail__stat--price strong { font-size: 22px; }
  .product-detail__description { padding-top: 38px; }
  .product-detail__content-heading h2 { font-size: 26px; }
  .product-detail__purchase-card { padding: 18px; }
  .single-post__header { padding-top: 38px; }
  .single-post__layout { padding-top: 28px; padding-bottom: 60px; }
  .single-post__header .breadcrumbs { margin-bottom: 22px; }
  .single-post__header h1 { font-size: 36px; }
  .single-post__header .lead { font-size: 15px; }
  .single-post__tools { align-items: flex-start; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
  .single-post__meta-row { align-items: flex-start; flex-direction: column; gap: 14px; }
  .single-post__meta-row .author-line > span { align-items: flex-start; flex-direction: column; gap: 0; }
  .single-post__meta-row .author-line strong { font-size: 14px; }
  .single-post__meta-row .author-line small { font-size: 11px; }
  .post-share-links { justify-content: flex-start; }
  .single-post__image { width: 100%; }
  .single-post__image a { aspect-ratio: 16 / 9; border-radius: 0; }
  .single-post__image img { border-radius: 0; }
  .post-toc ol { grid-template-columns: 1fr; }
  .post-cta { align-items: flex-start; flex-wrap: wrap; }
  .post-cta .button { width: 100%; }
  .post-prev-next { grid-template-columns: 1fr; }
  .post-prev-next__item { min-height: 96px; padding: 18px; }
  .post-prev-next__item + .post-prev-next__item { border-top: 1px solid var(--line); border-left: 0; }
  .post-prev-next__item + .post-prev-next__item::before { display: none; }
  .post-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .post-related-tile > div { padding: 10px 9px 11px; }
  .post-related-tile h3 { font-size: 12px; }
  .post-related-tile small { font-size: 9px; }
  .post-feedback { padding: 17px; }
  .post-feedback__actions { flex-direction: column; }
  .post-feedback__button { width: 100%; }
  .post-comment-form__native { grid-template-columns: 1fr; }
  .post-comment-form__native > .comment-form-comment, .post-comment-form__native > .form-submit { grid-column: auto; }
  .single-post__aside { grid-template-columns: 1fr; }
  .post-course-card { grid-column: auto; }
  .prose { font-size: 16px; }
  .prose h2 { font-size: 25px; }
  .author-box { align-items: flex-start; }
  .author-box img { width: 64px; height: 64px; }
  .contact-form { padding: 22px 18px; }
  .search-form { flex-direction: column; }
  .error-page > span { font-size: 70px; }
  .cart-main, .cart-summary { padding: 20px; }
  .cart-heading { align-items: flex-start; flex-direction: column; }
  .cart-heading .button { width: 100%; }
  .cart-item { grid-template-columns: 54px minmax(0, 1fr); gap: 11px; }
  .cart-item__image { width: 54px; height: 54px; }
  .cart-item__image img { width: 36px; height: 36px; }
  .cart-item__actions { grid-column: 1 / -1; justify-content: space-between; padding-top: 4px; }
  .checkout-modal { padding: 9px; }
  .checkout-modal__dialog { width: min(100%, 540px); max-height: calc(100vh - 18px); padding: 8px; border-radius: var(--radius); }
  .checkout-modal__layout { padding: 18px 14px 14px; }
  .checkout-summary { padding: 18px; }
  .checkout-summary h3 { margin: 20px 0 17px; font-size: 23px; }
  .checkout-form__grid { grid-template-columns: 1fr; }
  #checkout-form .checkout-form__full { grid-column: auto; }
  .checkout-stage h2 { font-size: 27px; }
  .checkout-qr-wrap { min-height: 280px; }
}

@media (max-width: 380px) {
  .payment-brands { gap: 4px; }
}

@media (max-width: 820px) {
  .delivery-layout { grid-template-columns: 1fr; gap: 30px; }
  .delivery-aside { position: static; }
  .delivery-hero { align-items: flex-start; flex-direction: column; }
  .delivery-order-badge { width: 100%; }
}

@media (max-width: 560px) {
  .delivery-empty { min-height: 440px; padding: 45px 8px 70px; }
  .delivery-empty h1, .delivery-hero h1 { font-size: 35px; }
  .delivery-hero { padding: 12px 0 32px; }
  .delivery-hero p { font-size: 14px; }
  .delivery-product__header, .delivery-product--simple { align-items: flex-start; flex-direction: column; padding: 18px; }
  .delivery-product__header .delivery-product__backlink { align-self: flex-start; }
  .delivery-content-pages { padding: 12px; }
  .delivery-content-page__header { padding: 12px; }
  .delivery-content-page__blocks { padding: 10px; }
  .delivery-content-block--file { grid-template-columns: 38px minmax(0, 1fr); }
  .delivery-content-block--file .button, .delivery-content-block--file .delivery-asset__status { grid-column: 2; justify-self: start; }
  .delivery-content-block__icon { width: 38px; height: 38px; }
  .delivery-content-block--guide { padding: 12px; }
  .delivery-guide__lead { padding: 20px 16px; }
  .delivery-guide__lead p { font-size: 14px; }
  .delivery-guide__facts { grid-template-columns: 1fr; }
  .delivery-guide-article h3 { margin-top: 32px; font-size: 20px; }
  .delivery-guide__step { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; padding: 13px; }
  .delivery-guide__step > span { width: 30px; height: 30px; }
  .delivery-guide__faq { grid-template-columns: 1fr; }
  .prompt-card__header { align-items: flex-start; }
  .prompt-card__copy { min-height: 33px; padding-inline: 10px; }
  .prompt-card__code { max-height: 330px; padding: 14px; font-size: 11px; }
  .prompt-card__footer { align-items: flex-start; flex-direction: column; gap: 3px; padding: 7px 12px; }
  .delivery-section { padding: 18px; }
  .delivery-section__heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .delivery-asset { grid-template-columns: 38px minmax(0, 1fr); }
  .delivery-asset__icon { width: 38px; height: 38px; }
  .delivery-asset .button, .delivery-asset__status { grid-column: 2; justify-self: start; }
  .delivery-asset .button { min-height: 38px; }
}

/* Product discovery and purchase refresh */
.hero__proof { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.hero__proof > div { display: flex; align-items: baseline; gap: 6px; }
.hero__proof strong { color: var(--ink); font-size: 17px; letter-spacing: -.04em; }
.hero__proof span { color: #7b85a1; font-size: 11px; }
.buying-flow { padding-top: 34px; }
.buying-flow__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.buying-flow__grid article { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.buying-flow__number { display: grid; width: 36px; height: 36px; place-items: center; border-radius: var(--radius); color: var(--primary); background: var(--soft); font-size: 11px; font-weight: 850; }
.buying-flow__grid h3 { margin-bottom: 7px; font-size: 15px; }
.buying-flow__grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.product-card__kind { display: block; margin-bottom: 5px; color: var(--primary); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.product-card__foot > div { display: flex; min-width: 0; align-items: baseline; flex-wrap: wrap; gap: 7px; }
.product-card__detail { color: #8991aa; font-size: 10px; font-weight: 700; }
.product-card__detail:hover { color: var(--primary); }
.catalog-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding: 17px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.catalog-toolbar > div:first-child { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.catalog-toolbar > div:first-child .eyebrow { margin-bottom: 0; }
.catalog-toolbar > div:first-child strong { font-size: 18px; letter-spacing: -.03em; }
.catalog-toolbar__controls { display: flex; min-width: min(100%, 540px); align-items: center; justify-content: flex-end; gap: 10px; }
.catalog-search { display: flex; min-width: min(100%, 320px); height: 44px; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.catalog-search img { flex: 0 0 auto; opacity: .62; }
.catalog-search input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 12px; }
.catalog-sort select { height: 44px; padding: 0 30px 0 12px; border: 1px solid var(--line); border-radius: var(--radius); color: #4e5874; background: #fff; font-size: 12px; }
.catalog-empty { display: flex; min-height: 160px; align-items: center; flex-direction: column; justify-content: center; margin-bottom: 20px; padding: 24px; border: 1px dashed #d6d8ef; border-radius: var(--radius); text-align: center; background: #fafaff; }
.catalog-empty strong { margin-bottom: 4px; font-size: 15px; }
.catalog-empty span { color: var(--muted); font-size: 12px; }

.product-detail__hero-grid { display: grid; grid-template-columns: minmax(320px, .82fr) minmax(0, 1fr); align-items: start; gap: 32px; padding: 12px 0 44px; }
.product-detail__art { display: flex; min-width: 0; flex-direction: column; overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.product-detail__art-frame, .product-detail__art-placeholder { position: relative; display: grid; aspect-ratio: 1; place-items: center; overflow: hidden; background: #fff; }
.product-detail__art-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-detail__art-placeholder { background: var(--soft); }
.product-detail__art-placeholder .ang-product-icon.is-large { width: min(42%, 188px); height: auto; padding: 8%; }
.product-detail__summary { min-width: 0; padding-top: 11px; }
.product-detail__summary .product-detail__heading h1 { max-width: none; margin-bottom: 13px; font-size: clamp(36px, 3.6vw, 52px); }
.product-detail__summary .product-detail__heading .lead { max-width: none; }
.product-detail__summary .product-detail__stats { margin-top: 24px; }
.product-detail__summary .product-detail__purchase-card { position: static; margin-top: 18px; }
.product-detail__purchase-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 14px; }
.product-detail__purchase-actions .button { padding-inline: 14px; }
.product-detail__summary .product-detail__specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-detail__summary .product-detail__specs > div { grid-template-columns: 1fr; gap: 4px; padding: 10px 12px; border-right: 1px solid #e5e6ef; }
.product-detail__summary .product-detail__specs > div:nth-child(2n) { border-right: 0; }
.product-detail__summary .product-detail__specs > div:nth-child(-n + 2) { border-bottom: 1px solid #e5e6ef; }
.product-detail__summary .product-detail__specs span { text-align: left; }
.booking-form { display: grid; gap: 14px; }
.booking-form__intro { display: grid; gap: 3px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.booking-form__intro strong { font-size: 14px; }
.booking-form__intro span { color: var(--muted); font-size: 11px; line-height: 1.55; }
.booking-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.booking-form label { display: flex; min-width: 0; flex-direction: column; gap: 6px; color: #3c4660; font-size: 12px; font-weight: 700; }
.booking-form label > span { color: #8e96ab; font-weight: 500; }
.booking-form input, .booking-form select, .booking-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #dfe2ef; border-radius: var(--radius); color: var(--ink); background: #fff; font-size: 16px; font-weight: 500; }
.booking-form textarea { min-height: 92px; resize: vertical; line-height: 1.5; }
.booking-form input:focus, .booking-form select:focus, .booking-form textarea:focus { border-color: var(--primary); outline: 3px solid rgba(80,76,255,.1); }
.booking-form .product-detail__purchase-notice { margin: 0; }
@media (min-width: 961px) {
  .product-detail__art { align-self: start; height: auto; }
}
.product-detail__body-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; align-items: start; gap: 60px; padding: 0 0 58px; border-top: 1px solid var(--line); }
.product-detail__body-layout--single { display: block; padding-bottom: 44px; }
.product-detail__body-layout--single .product-detail__main { padding-top: 38px; }
.product-detail__body-layout--single .product-detail__content-heading { margin-bottom: 24px; }
.product-detail__body-layout--single .product-detail__description { width: min(100%, 980px); margin: 0 auto; padding-top: 32px; }
.product-detail__body-layout--single .product-detail__description img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.product-detail__body-aside { padding-top: 44px; }
.product-detail__intro-video { width: min(100%, 1000px); margin: 0 auto; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #101525; }
.product-detail__intro-video-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 18px; color: #fff; background: #191c3a; }
.product-detail__intro-video-head > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.product-detail__intro-video-head .eyebrow { margin: 0; color: #c7c8ff; }
.product-detail__intro-video-head strong { font-size: 14px; }
.product-detail__intro-video-head a { flex: 0 0 auto; color: #fff; font-size: 11px; font-weight: 750; }
.product-detail__intro-video-frame { aspect-ratio: 16 / 9; background: #101525; }
.product-detail__intro-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.product-detail__after-purchase { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.product-detail__after-purchase h2 { margin-bottom: 18px; font-size: 21px; }
.product-detail__after-purchase ol { display: grid; gap: 15px; margin: 0 0 21px; padding: 0; list-style: none; counter-reset: product-step; }
.product-detail__after-purchase li { position: relative; padding-left: 30px; counter-increment: product-step; }
.product-detail__after-purchase li::before { content: counter(product-step); position: absolute; top: 1px; left: 0; display: grid; width: 21px; height: 21px; place-items: center; border-radius: var(--radius); color: var(--primary); background: #e9e8ff; font-size: 10px; font-weight: 850; }
.product-detail__after-purchase li strong, .product-detail__after-purchase li span { display: block; }
.product-detail__after-purchase li strong { margin-bottom: 2px; font-size: 12px; }
.product-detail__after-purchase li span { color: var(--muted); font-size: 11px; line-height: 1.5; }
.product-detail__after-purchase--full { margin-bottom: 58px; padding: 25px 28px 28px; }
.product-detail__after-purchase-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.product-detail__after-purchase-head .eyebrow { margin-bottom: 6px; }
.product-detail__after-purchase-head h2 { margin: 0; font-size: 26px; }
.product-detail__after-purchase--full ol { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 0; }
.product-detail__after-purchase--full li { min-height: 108px; padding: 17px 16px 15px 48px; border: 1px solid #e3e3f0; border-radius: var(--radius); background: #fff; }
.product-detail__after-purchase--full li::before { top: 16px; left: 16px; }
.product-detail__related { padding: 12px 0 76px; border-top: 1px solid var(--line); }
.product-grid--related { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cart-heading__actions { display: flex; align-items: center; gap: 8px; }
.js-clear-cart { color: var(--danger); }
.reading-progress { position: fixed; z-index: 1200; top: 0; left: 0; width: 100%; height: 3px; pointer-events: none; }
.reading-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left center; background: var(--primary); transition: transform .08s linear; }

@media (max-width: 960px) {
  .product-detail__hero-grid { grid-template-columns: 1fr; }
  .product-detail__summary { padding-top: 0; }
  .product-detail__summary .product-detail__purchase-card { position: static; }
  .product-detail__body-layout { grid-template-columns: 1fr; gap: 0; }
  .product-detail__body-aside { padding-top: 0; }
}

@media (max-width: 820px) {
  .hero__proof { justify-content: center; gap: 12px 18px; }
  .buying-flow__grid { grid-template-columns: 1fr; }
  .catalog-toolbar { align-items: stretch; flex-direction: column; }
  .catalog-toolbar__controls { min-width: 0; justify-content: stretch; }
  .catalog-search { flex: 1; }
  .product-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .hero__proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; }
  .hero__proof > div { align-items: center; flex-direction: column; gap: 0; text-align: center; }
  .hero__proof strong { font-size: 15px; }
  .hero__proof span { font-size: 9px; line-height: 1.35; }
  .buying-flow__grid article { padding: 16px; }
  .catalog-toolbar__controls { align-items: stretch; flex-direction: column; }
  .catalog-search, .catalog-sort select { width: 100%; }
  .product-detail__hero-grid { gap: 22px; padding-top: 4px; }
  .product-detail__summary .product-detail__heading h1 { font-size: 34px; }
  .product-detail__purchase-actions { grid-template-columns: 1fr; }
  .booking-form__grid { grid-template-columns: 1fr; }
  .product-detail__body-layout .product-detail__description { padding-top: 34px; }
  .product-detail__body-aside { padding-bottom: 34px; }
  .product-detail__related { padding-bottom: 52px; }
  .product-grid--related { grid-template-columns: 1fr; }
  .cart-heading__actions { width: 100%; flex-direction: column; align-items: stretch; }
}

@media (max-width: 820px) {
  .delivery-hero { grid-template-columns: 1fr; align-items: start; }
  .delivery-order-badge { width: auto; }
  .delivery-layout--single .delivery-side-card { grid-template-columns: 1fr; gap: 20px; }
  .delivery-side-card__support { padding: 20px 0 0; border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 560px) {
  .product-detail__summary .product-detail__specs { display: block; }
  .product-detail__summary .product-detail__specs > div { border-right: 0; }
  .product-detail__summary .product-detail__specs > div:nth-child(-n + 2) { border-bottom: 1px solid #e5e6ef; }
  .product-detail__summary .product-detail__specs > div:last-child { border-bottom: 0; }
  .product-detail__body-layout--single .product-detail__main { padding-top: 30px; }
  .product-detail__body-layout--single .product-detail__description { padding-top: 28px; }
  .product-detail__intro-video-head { align-items: flex-start; flex-direction: column; gap: 9px; padding: 14px; }
  .product-detail__intro-video-head a { align-self: flex-start; }
  .product-detail__after-purchase--full { margin-bottom: 42px; padding: 20px 16px 16px; }
  .product-detail__after-purchase-head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .product-detail__after-purchase-head .button { width: 100%; }
  .product-detail__after-purchase--full ol { grid-template-columns: 1fr; }
}

.product-requirements { margin: 0 0 44px; padding: 27px 28px 29px; border: 1px solid var(--line); border-radius: var(--radius); background: #f7f8fc; }
.product-requirements__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 19px; border-bottom: 1px solid #e2e5ee; }
.product-requirements__head .eyebrow { margin-bottom: 7px; }
.product-requirements__head h2 { margin: 0 0 8px; font-size: 27px; }
.product-requirements__head p { max-width: none; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.product-requirements__count { flex: 0 0 auto; padding-bottom: 4px; color: #596481; font-size: 11px; font-weight: 750; white-space: nowrap; }
.product-requirements__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-top: 18px; }
.product-requirement { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 13px; min-width: 0; padding: 16px; border: 1px solid #e0e3ed; border-radius: var(--radius); background: #fff; }
.product-requirement__index { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #d7d9f5; border-radius: var(--radius); color: var(--primary); background: #f0efff; font-size: 10px; font-weight: 850; }
.product-requirement__body { min-width: 0; }
.product-requirement__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.product-requirement__category { color: #68728c; font-size: 10px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.product-requirement__importance, .product-requirement__cost { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 7px; border-radius: var(--radius); font-size: 10px; font-weight: 750; line-height: 1; }
.product-requirement__importance--required { color: #8a3d47; background: #fcecef; }
.product-requirement__importance--recommended { color: #356558; background: #e8f5ef; }
.product-requirement__cost--external { color: #80510b; background: #fff3d7; }
.product-requirement__cost--included { color: #28694f; background: #e8f5ef; }
.product-requirement h3 { margin: 0 0 5px; color: var(--ink); font-size: 14px; line-height: 1.35; }
.product-requirement p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; white-space: pre-line; }
.product-requirement--recommended .product-requirement__index { border-color: #cce5d9; color: #28694f; background: #edf8f2; }
@media (max-width: 820px) {
  .product-requirements__list { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .product-requirements { margin-bottom: 34px; padding: 21px 16px 17px; }
  .product-requirements__head { align-items: flex-start; flex-direction: column; gap: 11px; padding-bottom: 16px; }
  .product-requirements__head h2 { font-size: 25px; }
  .product-requirements__head p { font-size: 12px; }
  .product-requirements__count { padding-bottom: 0; }
  .product-requirements__list { gap: 10px; padding-top: 15px; }
  .product-requirement { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; padding: 13px; }
  .product-requirement__index { width: 29px; height: 29px; }
  .product-requirement__category { font-size: 9px; }
  .product-requirement h3 { font-size: 13px; }
  .product-requirement p { font-size: 12px; }
}

/* Information, policy and support pages */
.info-hero { overflow: clip; padding: 44px 0 0; border-bottom: 1px solid var(--line); background: #f7f7fb; }
.info-hero .breadcrumbs { margin-bottom: 38px; }
.info-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); align-items: center; gap: clamp(44px, 7vw, 104px); }
.info-hero__copy { padding-bottom: 44px; }
.info-hero__copy .eyebrow { margin-bottom: 17px; }
.info-hero__copy h1 { max-width: none; margin-bottom: 20px; font-size: clamp(40px, 4.7vw, 60px); line-height: 1.08; letter-spacing: -.035em; }
.info-hero__copy > p { max-width: none; margin: 0; color: #596481; font-size: 17px; line-height: 1.72; }
.info-hero__card { align-self: center; margin-bottom: 44px; padding: 30px 30px 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.info-hero__icon { display: grid; width: 50px; height: 50px; margin-bottom: 22px; place-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.info-hero__icon img { filter: brightness(0) saturate(100%) invert(31%) sepia(93%) saturate(2918%) hue-rotate(214deg) brightness(86%) contrast(84%); }
.info-hero__card-label { display: block; margin-bottom: 7px; color: var(--primary); font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.info-hero__card h2 { margin-bottom: 10px; font-size: 24px; line-height: 1.2; }
.info-hero__card p { margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.info-hero__card small { display: block; padding-top: 15px; border-top: 1px solid var(--line); color: #858da6; font-size: 10px; }
.info-hero__photo { align-self: end; width: min(100%, 360px); margin: 0 auto; line-height: 0; }
.info-hero__photo img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-bottom: 0; border-radius: var(--radius) var(--radius) 0 0; background: #fff; object-fit: contain; }
.info-hero__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #dedff0; }
.info-hero__stats > div { min-height: 106px; padding: 23px 28px 23px 0; border-right: 1px solid #dedff0; }
.info-hero__stats > div + div { padding-left: 28px; }
.info-hero__stats > div:last-child { border-right: 0; }
.info-hero__stats strong, .info-hero__stats span { display: block; }
.info-hero__stats strong { margin-bottom: 7px; color: var(--ink); font-size: 20px; letter-spacing: -.02em; }
.info-hero__stats span { max-width: 290px; color: #707a96; font-size: 11px; line-height: 1.55; }

.info-page { overflow: clip; }
.info-page__layout { display: grid; grid-template-columns: minmax(300px, 320px) minmax(0, 940px); align-items: start; gap: clamp(40px, 3.5vw, 56px); padding-top: 72px; padding-bottom: 92px; }
.info-sidebar { position: sticky; top: 24px; }
.info-sidebar__nav { display: flex; flex-direction: column; padding-left: 22px; border-left: 1px solid #dfe1ef; }
.info-sidebar__nav > span { margin-bottom: 16px; color: var(--ink); font-size: 13px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.info-sidebar__nav a { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: baseline; gap: 7px; padding: 9px 0; color: #66708c; font-size: 13px; line-height: 1.5; transition: color .18s ease, transform .18s ease; }
.info-sidebar__nav a:hover, .info-sidebar__nav a:focus-visible { color: var(--primary); transform: translateX(3px); }
.info-sidebar__nav b { color: #a0a7ba; font-size: 11px; }
.info-sidebar__meta { margin: 24px 0 16px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.info-sidebar__meta span, .info-sidebar__meta strong, .info-sidebar__meta small { display: block; }
.info-sidebar__meta span { margin-bottom: 4px; color: #8a92aa; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.info-sidebar__meta strong { margin-bottom: 7px; font-size: 14px; }
.info-sidebar__meta small { color: var(--muted); font-size: 11px; line-height: 1.55; }
.info-sidebar > .button { width: 100%; min-height: 42px; padding-inline: 12px; font-size: 11px; }

.info-content { min-width: 0; }
.info-section { scroll-margin-top: 24px; margin-bottom: 70px; padding-bottom: 70px; border-bottom: 1px solid var(--line); }
.info-section__head { display: block; margin-bottom: 29px; }
.info-section__head > span { display: none; }
.info-section__head h2 { position: relative; max-width: none; margin-bottom: 16px; padding-bottom: 17px; color: #12182b; font-size: clamp(29px, 3vw, 39px); font-weight: 800; line-height: 1.2; letter-spacing: -.025em; text-wrap: wrap; }
.info-section__head h2::after { content: ""; position: absolute; bottom: 0; left: 0; width: 54px; height: 2px; background: #c8c5f4; }
.info-section__head p { max-width: none; margin: 0; color: #65708c; font-size: 15px; line-height: 1.72; text-align: justify; text-align-last: left; text-wrap: wrap; }
.info-section__body { color: #46516e; font-size: 16px; line-height: 1.75; }
.info-section__body > p { margin: 0 0 22px; text-align: justify; text-align-last: left; }
.info-section__body > p:last-child { margin-bottom: 0; }
.info-section__body a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.info-section__body code { padding: 2px 5px; border: 1px solid #e1e2ef; border-radius: var(--radius); color: #4e49bb; background: #f7f7ff; font-size: .9em; }
.info-section__body blockquote { margin: 25px 0 0; padding: 21px 23px; border: 1px solid var(--line); border-radius: var(--radius); color: #46516e; background: var(--soft); font-size: 17px; line-height: 1.65; }

.info-scope-grid, .info-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.info-scope-grid article, .info-data-grid > div { padding: 23px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.info-scope-grid article > span { color: var(--primary); font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.info-scope-grid h3 { margin: 19px 0 8px; font-size: 20px; }
.info-scope-grid p, .info-data-grid p { margin: 0; color: #66708c; font-size: 12px; line-height: 1.66; }
.info-scope-grid a { display: inline-flex; gap: 5px; margin-top: 17px; font-size: 11px; font-weight: 800; text-decoration: none; }
.info-data-grid strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: 14px; line-height: 1.4; }
.info-data-grid--privacy > div { min-height: 160px; }

.info-step-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.info-step-list li { display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 16px; padding: 21px 0; border-top: 1px solid var(--line); }
.info-step-list li:last-child { border-bottom: 1px solid var(--line); }
.info-step-list li > b { color: var(--primary); font-size: 10px; letter-spacing: .06em; }
.info-step-list h3 { margin: -3px 0 5px; font-size: 16px; }
.info-step-list p { margin: 0; color: #66708c; font-size: 13px; line-height: 1.66; }
.info-gallery { display: grid; grid-template-columns: 1.25fr 1fr; align-items: start; gap: 12px; margin-top: 30px; }
.info-gallery figure { margin: 0; line-height: 0; }
.info-gallery img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; object-fit: contain; }
.info-topic-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.info-topic-list > div { padding: 18px 20px 18px 0; border-bottom: 1px solid var(--line); }
.info-topic-list > div:nth-child(even) { padding-right: 0; padding-left: 20px; border-left: 1px solid var(--line); }
.info-topic-list strong, .info-topic-list span { display: block; }
.info-topic-list strong { margin-bottom: 5px; color: var(--ink); font-size: 14px; }
.info-topic-list span { color: #69738e; font-size: 12px; line-height: 1.6; }

.info-check-list { display: grid; gap: 12px; margin: 0 0 24px; padding: 0; list-style: none; }
.info-check-list li { position: relative; min-height: 25px; padding-left: 34px; }
.info-check-list li::before { content: "✓"; position: absolute; top: 1px; left: 0; display: grid; width: 22px; height: 22px; place-items: center; border-radius: var(--radius); color: var(--primary); background: #ecebff; font-size: 11px; font-weight: 900; }
.info-check-list--warning li::before { content: "!"; color: #a56a12; background: #fff3d9; }
.info-note { margin-top: 24px !important; padding: 17px 19px; border: 1px solid #e0e1ef; border-radius: var(--radius); color: #626c87; background: #fafafe; font-size: 12px; line-height: 1.65; }
.info-note strong { color: var(--ink); }
.info-callout { margin: 26px 0 0; padding: 21px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.info-callout--plain { border-color: var(--line); background: #fbfbfd; }
.info-callout strong { display: block; margin-bottom: 5px; color: #3f3b8d; font-size: 14px; }
.info-callout--plain strong { color: var(--ink); }
.info-callout p { margin: 0; color: #636c88; font-size: 12px; line-height: 1.65; }

.info-identity { display: grid; grid-template-columns: 190px minmax(0, 1fr); align-items: center; gap: 30px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); }
.info-identity > img { display: block; width: 100%; height: auto; border-radius: var(--radius); object-fit: contain; }
.info-identity > div > span { color: var(--primary); font-size: 10px; font-weight: 850; letter-spacing: .09em; }
.info-identity h3 { margin: 8px 0 10px; font-size: 22px; }
.info-identity p { margin: 0; color: #66708c; font-size: 13px; line-height: 1.7; }
.info-identity > div > div { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 18px; }
.info-identity a { font-size: 11px; font-weight: 800; text-decoration: none; }

.info-case-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.info-case-list > div { padding: 19px 20px 19px 0; border-bottom: 1px solid var(--line); }
.info-case-list > div:nth-child(even) { padding-right: 0; padding-left: 20px; border-left: 1px solid var(--line); }
.info-case-list span { display: block; margin-bottom: 7px; color: var(--primary); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.info-case-list p { margin: 0; color: #65708b; font-size: 12px; line-height: 1.65; }
.info-timeline { display: grid; margin-bottom: 22px; border-top: 1px solid var(--line); }
.info-timeline > div { display: grid; grid-template-columns: minmax(155px, .7fr) minmax(0, 1.3fr); gap: 22px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.info-timeline strong { color: var(--ink); font-size: 13px; }
.info-timeline span { color: #68728e; font-size: 12px; line-height: 1.6; }
.info-timeline--retention > div { grid-template-columns: minmax(170px, .65fr) minmax(0, 1.35fr); }
.info-legal-links { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 16px; margin-top: 24px; padding-top: 17px; border-top: 1px solid var(--line); }
.info-legal-links > span { color: #8b93a8; font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.info-legal-links a { font-size: 10px; font-weight: 750; text-decoration: none; }
.info-permission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 22px; }
.info-permission-grid > div { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); }
.info-permission-grid > div:first-child { border-color: #cae8d5; background: #f7fcf8; }
.info-permission-grid > div:last-child { border-color: #f0d7d7; background: #fffafa; }
.info-permission-grid--products > div:first-child, .info-permission-grid--products > div:last-child { border-color: var(--line); background: #fff; }
.info-permission-grid--products h3 { margin: 10px 0 8px; font-size: 18px; }
.info-permission-grid--products p { margin: 0; color: #66708c; font-size: 12px; line-height: 1.66; }
.info-permission-grid span { color: var(--primary); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.info-permission-grid ul { display: grid; gap: 8px; margin: 14px 0 0; padding-left: 18px; }
.info-permission-grid li { color: #626d88; font-size: 12px; line-height: 1.58; }
.info-faq details { border-top: 1px solid var(--line); }
.info-faq details:last-child { border-bottom: 1px solid var(--line); }
.info-faq summary { position: relative; padding: 18px 38px 18px 0; color: var(--ink); cursor: pointer; font-size: 14px; font-weight: 750; list-style: none; }
.info-faq summary::-webkit-details-marker { display: none; }
.info-faq summary::after { content: "+"; position: absolute; top: 50%; right: 5px; color: var(--primary); font-size: 20px; transform: translateY(-50%); }
.info-faq details[open] summary::after { content: "−"; }
.info-faq details p { margin: -2px 0 19px; padding-right: 38px; color: #66708c; font-size: 12px; line-height: 1.7; }
.info-cta { display: flex; align-items: center; justify-content: space-between; gap: 34px; padding: 32px 34px; border-radius: var(--radius); color: #fff; background: #171b37; }
.info-cta .eyebrow { margin-bottom: 7px; color: #aaa8ff; }
.info-cta h2 { margin-bottom: 8px; color: #fff; font-size: 25px; }
.info-cta p { max-width: 600px; margin: 0; color: #bec4d8; font-size: 12px; line-height: 1.65; }
.info-cta .button { flex: 0 0 auto; }

/* Detailed support page */
.support-routes { padding-top: 76px; padding-bottom: 82px; }
.support-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 460px); align-items: end; gap: 60px; margin-bottom: 30px; }
.support-section-heading .eyebrow { grid-column: 1 / -1; margin-bottom: -45px; }
.support-section-heading h2 { max-width: none; margin: 0; font-size: clamp(32px, 4vw, 47px); }
.support-section-heading p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.support-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.support-route-grid article { min-height: 260px; padding: 24px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.support-route-card__icon { display: grid; width: 42px; height: 42px; margin-bottom: 25px; place-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.support-route-card__icon img { filter: brightness(0) saturate(100%) invert(31%) sepia(93%) saturate(2918%) hue-rotate(214deg) brightness(86%) contrast(84%); }
.support-route-grid small { display: block; color: var(--primary); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.support-route-grid h3 { margin: 8px 0 10px; font-size: 20px; }
.support-route-grid p { min-height: 63px; margin: 0 0 17px; color: #66708c; font-size: 12px; line-height: 1.65; }
.support-route-grid strong { display: block; padding-top: 14px; border-top: 1px solid var(--line); color: #737c96; font-size: 10px; }
.support-contact { display: grid; grid-template-columns: minmax(290px, .74fr) minmax(0, 1.26fr); align-items: start; gap: clamp(46px, 7vw, 96px); padding-top: 76px; padding-bottom: 82px; border-top: 1px solid var(--line); }
.support-contact__channels > h2 { max-width: none; margin: 12px 0 14px; font-size: clamp(31px, 3.5vw, 43px); }
.support-contact__channels > p { max-width: none; margin: 0 0 27px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.support-channel-list { border-top: 1px solid var(--line); }
.support-channel-list a { display: grid; grid-template-columns: 28px minmax(0, 1fr) 20px; align-items: center; gap: 12px; min-height: 66px; border-bottom: 1px solid var(--line); }
.support-channel-list img { filter: brightness(0) saturate(100%) invert(31%) sepia(93%) saturate(2918%) hue-rotate(214deg) brightness(86%) contrast(84%); }
.support-channel-list span small, .support-channel-list span strong { display: block; }
.support-channel-list small { margin-bottom: 2px; color: #8b93aa; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.support-channel-list strong { overflow-wrap: anywhere; color: var(--ink); font-size: 12px; }
.support-channel-list b { color: var(--primary); font-size: 15px; }
.support-response-note { display: flex; align-items: flex-start; gap: 11px; margin-top: 22px; padding: 15px; border-radius: var(--radius); background: #edf2ff; }
.support-response-note img { flex: 0 0 auto; margin-top: 1px; filter: brightness(0) saturate(100%) invert(31%) sepia(93%) saturate(2918%) hue-rotate(214deg) brightness(86%) contrast(84%); }
.support-response-note p { margin: 0; }
.support-response-note strong, .support-response-note span { display: block; }
.support-response-note strong { margin-bottom: 3px; color: var(--ink); font-size: 11px; }
.support-response-note span { color: #6f7892; font-size: 10px; line-height: 1.55; }
.contact-form--detailed { padding: 32px; }
.contact-form--detailed > header { margin-bottom: 25px; padding-bottom: 21px; border-bottom: 1px solid var(--line); }
.contact-form--detailed > header h2 { margin: 8px 0 8px; font-size: 28px; }
.contact-form--detailed > header p { margin: 0; color: var(--muted); font-size: 11px; }
.contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 13px; }
.contact-form__full { grid-column: 1 / -1; }
.contact-form label > span { color: #8a92a8; font-weight: 500; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 12px 13px; border: 1px solid #dfe2ef; border-radius: var(--radius); color: var(--ink); background: #fff; font: inherit; font-weight: 500; }
.contact-form select { min-height: 45px; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--primary); outline: 3px solid rgba(80,76,255,.1); }
.contact-form .contact-form__consent { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 9px; margin: 0 0 18px; font-weight: 500; line-height: 1.55; }
.contact-form__consent input { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--primary); }
.contact-form__consent a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.contact-form__actions { display: flex; align-items: center; gap: 16px; }
.contact-form__actions .form-message { margin: 0; font-size: 11px; }
.support-preflight { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: 70px; padding-top: 76px; padding-bottom: 82px; border-top: 1px solid var(--line); }
.support-preflight h2 { margin-top: 11px; font-size: clamp(31px, 3.6vw, 44px); }
.support-preflight ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.support-preflight li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 13px; padding: 18px 0; border-top: 1px solid var(--line); }
.support-preflight li:last-child { border-bottom: 1px solid var(--line); }
.support-preflight li > b { color: var(--primary); font-size: 10px; }
.support-preflight li p { margin: -3px 0 0; }
.support-preflight strong, .support-preflight span { display: block; }
.support-preflight strong { margin-bottom: 4px; font-size: 14px; }
.support-preflight span { color: #68728e; font-size: 11px; line-height: 1.6; }
.support-policy-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 92px; border: 1px solid var(--line); border-radius: var(--radius); }
.support-policy-links a { position: relative; min-height: 126px; padding: 25px 46px 22px 22px; border-right: 1px solid var(--line); }
.support-policy-links a:last-child { border-right: 0; }
.support-policy-links span, .support-policy-links strong { display: block; }
.support-policy-links span { margin-bottom: 13px; color: var(--primary); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.support-policy-links strong { max-width: 230px; font-size: 13px; line-height: 1.45; }
.support-policy-links b { position: absolute; right: 20px; bottom: 22px; color: var(--primary); }

@media (max-width: 1020px) {
  .info-page__layout { grid-template-columns: 260px minmax(0, 1fr); gap: 36px; }
  .info-hero__grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 44px; }
  .support-contact { gap: 48px; }
}

@media (max-width: 820px) {
  .info-hero { padding-top: 34px; }
  .info-hero .breadcrumbs { margin-bottom: 28px; }
  .info-hero__grid { grid-template-columns: 1fr; gap: 0; }
  .info-hero__copy { padding-bottom: 34px; }
  .info-hero__card { width: 100%; margin-bottom: 34px; }
  .info-hero__photo { width: min(100%, 330px); }
  .info-page__layout { grid-template-columns: 1fr; gap: 52px; padding-top: 52px; }
  .info-sidebar { position: static; }
  .info-sidebar__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
  .info-sidebar__nav > span { grid-column: 1 / -1; }
  .info-sidebar__meta { display: none; }
  .info-sidebar > .button { width: auto; margin-top: 14px; }
  .support-section-heading { grid-template-columns: 1fr; gap: 14px; }
  .support-section-heading .eyebrow { grid-column: auto; margin-bottom: 2px; }
  .support-route-grid { grid-template-columns: 1fr; }
  .support-route-grid article { min-height: 0; }
  .support-route-grid p { min-height: 0; }
  .support-contact, .support-preflight { grid-template-columns: 1fr; gap: 44px; }
  .support-policy-links { grid-template-columns: 1fr; }
  .support-policy-links a { min-height: 106px; border-right: 0; border-bottom: 1px solid var(--line); }
  .support-policy-links a:last-child { border-bottom: 0; }
}

@media (max-width: 560px) {
  .info-hero { padding-top: 25px; }
  .info-hero__copy h1 { font-size: 38px; }
  .info-hero__copy > p { font-size: 14px; }
  .info-hero__card { padding: 23px 20px; border-radius: var(--radius); }
  .info-hero__stats { grid-template-columns: 1fr; }
  .info-hero__stats > div, .info-hero__stats > div + div { min-height: 0; padding: 17px 0; border-right: 0; border-bottom: 1px solid #dedff0; }
  .info-hero__stats > div:last-child { border-bottom: 0; }
  .info-page__layout { gap: 45px; padding-top: 44px; padding-bottom: 64px; }
  .info-sidebar__nav { grid-template-columns: 1fr; }
  .info-sidebar__nav > span { grid-column: auto; }
  .info-section { margin-bottom: 50px; padding-bottom: 50px; }
  .info-section__head { grid-template-columns: 1fr; gap: 13px; }
  .info-section__head h2 { font-size: 29px; }
  .info-section__head p { font-size: 13px; }
  .info-section__body { font-size: 14px; }
  .info-section__head p, .info-section__body > p { text-align: left; }
  .info-scope-grid, .info-data-grid, .info-case-list, .info-permission-grid, .info-gallery, .info-topic-list { grid-template-columns: 1fr; }
  .info-scope-grid article, .info-data-grid > div { padding: 20px 18px; }
  .info-data-grid--privacy > div { min-height: 0; }
  .info-topic-list > div, .info-topic-list > div:nth-child(even), .info-case-list > div, .info-case-list > div:nth-child(even) { padding: 17px 0; border-left: 0; }
  .info-identity { grid-template-columns: 1fr; padding: 18px; }
  .info-identity > img { width: min(100%, 280px); margin-inline: auto; }
  .info-timeline > div, .info-timeline--retention > div { grid-template-columns: 1fr; gap: 5px; }
  .info-faq summary { padding-right: 28px; }
  .info-faq details p { padding-right: 0; }
  .info-cta { align-items: flex-start; flex-direction: column; padding: 26px 22px; }
  .info-cta .button { width: 100%; }
  .support-routes, .support-contact, .support-preflight { padding-top: 56px; padding-bottom: 60px; }
  .support-route-grid article { padding: 21px 18px; }
  .contact-form--detailed { padding: 23px 18px; }
  .contact-form__grid { grid-template-columns: 1fr; }
  .contact-form__full { grid-column: auto; }
  .contact-form__actions { align-items: stretch; flex-direction: column; }
  .contact-form__actions .button { width: 100%; }
  .support-preflight { gap: 24px; }
  .support-policy-links { margin-bottom: 64px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Product requirements and customer reviews. */
.product-requirements { margin: 0 0 46px; padding: 23px 25px 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.product-requirements__head { display: block; padding-bottom: 15px; border-bottom: 0; }
.product-requirements__head h2 { margin: 0 0 6px; font-size: 25px; }
.product-requirements__head p { max-width: none; margin: 0; color: var(--muted); font-size: 12px; }
.product-requirements__list { display: grid; grid-template-columns: 1fr; gap: 0; margin: 14px 0 0; padding: 0; border: 0; list-style: none; }
.product-requirement { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 0; border: 0; border-radius: 0; background: transparent; }
.product-requirement__check { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #fff; background: #2e7d4f; font-size: 12px; font-weight: 800; line-height: 1; }
.product-requirement h3 { margin: 0 0 3px; color: var(--ink); font-size: 14px; line-height: 1.4; }
.product-requirement p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; white-space: pre-line; }

.product-detail__body-layout--single .product-detail__content-heading--tabs { display: grid; gap: 11px; margin-bottom: 0; }
.product-detail__content-heading--tabs > .eyebrow { margin-bottom: 0; }
.product-detail__tabs { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 22px; border-bottom: 1px solid var(--line); }
.product-detail__tab { position: relative; display: inline-flex; min-width: 0; align-items: center; gap: 7px; padding: 0 0 12px; border: 0; color: #8b92a7; background: transparent; cursor: pointer; font-size: 25px; font-weight: 800; letter-spacing: -.035em; line-height: 1.18; text-align: left; }
.product-detail__tab::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; content: ''; background: var(--primary); opacity: 0; transform: scaleX(.45); transform-origin: left center; transition: opacity .18s ease-out, transform .18s ease-out; }
.product-detail__tab:hover, .product-detail__tab:focus-visible, .product-detail__tab.is-active { color: var(--ink); }
.product-detail__tab.is-active::after { opacity: 1; transform: scaleX(1); }
.product-detail__tab-count { color: var(--primary); font-size: 13px; letter-spacing: 0; }
.product-detail__tab-panel { min-width: 0; }
.product-detail__tab-panel--description { padding-top: 32px; }
.product-detail__tab-panel--description .product-detail__description { padding-top: 32px; }
.product-reviews { padding-top: 30px; }
.product-review-notice { margin: 0 0 18px; padding: 12px 14px; border: 1px solid #c8e7d7; border-radius: var(--radius); color: #216046; background: #f1fbf5; font-size: 13px; line-height: 1.5; }
.product-review-notice--error { border-color: #f0cbd1; color: #8b3f4a; background: #fff5f6; }
.product-reviews__overview { display: grid; grid-template-columns: minmax(180px, .72fr) minmax(300px, 1.28fr) minmax(156px, .5fr); align-items: center; gap: 25px; padding: 22px 24px; border: 1px solid #dedff0; border-radius: var(--radius); background: #fafaff; }
.product-reviews__score { min-width: 0; }
.product-reviews__label { display: block; margin-bottom: 5px; color: #68728c; font-size: 11px; font-weight: 750; }
.product-reviews__score > strong { display: block; margin-bottom: 2px; color: var(--ink); font-size: 39px; letter-spacing: -.055em; line-height: 1; }
.product-reviews__score > strong small { margin-left: 3px; color: #8c94a9; font-size: 14px; font-weight: 600; letter-spacing: 0; }
.product-review-stars, .product-review__stars { display: flex; align-items: center; gap: 2px; color: #f2a900; line-height: 1; }
.product-review-stars { margin-bottom: 7px; font-size: 18px; }
.product-reviews__muted { color: #737d97; font-size: 11px; }
.product-reviews__distribution { display: grid; gap: 8px; min-width: 0; }
.product-reviews__distribution-row { display: grid; grid-template-columns: 27px minmax(80px, 1fr) 30px; align-items: center; gap: 8px; color: #5f6982; font-size: 11px; }
.product-reviews__distribution-row > span:first-child { white-space: nowrap; }
.product-reviews__distribution-row b { color: #f2a900; font-size: 12px; }
.product-reviews__distribution-row > strong { color: #7f879b; font-size: 10px; font-weight: 600; text-align: right; }
.product-reviews__bar { display: block; height: 7px; overflow: hidden; border-radius: var(--radius); background: #e7e8ef; }
.product-reviews__bar i { display: block; width: var(--review-bar-width, 0%); height: 100%; border-radius: inherit; background: #f2a900; }
.product-reviews__overview-action { display: grid; gap: 8px; justify-items: start; }
.product-reviews__overview-action .button { width: 100%; }
.product-reviews__overview-action > span { color: #7c849a; font-size: 10px; line-height: 1.45; }
.product-reviews__photo-strip { margin-top: 26px; }
.product-reviews__section-head, .product-reviews__toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.product-reviews__section-head h3, .product-reviews__toolbar h3 { margin: 0 0 3px; color: var(--ink); font-size: 18px; }
.product-reviews__section-head span, .product-reviews__toolbar span { color: #7a839c; font-size: 11px; }
.product-reviews__scroll-hint { flex: 0 0 auto; }
.product-reviews__photos { display: flex; gap: 9px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.product-reviews__photos a { display: block; width: 88px; height: 88px; flex: 0 0 88px; overflow: hidden; border-radius: var(--radius); background: #f1f2f7; }
.product-reviews__photos img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .18s ease-out; }
.product-reviews__photos a:hover img { transform: scale(1.04); }
.product-reviews__toolbar { align-items: center; margin-top: 31px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.product-reviews__filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.product-reviews__filters button { min-height: 31px; padding: 0 10px; border: 1px solid #dfe1ee; border-radius: var(--radius); color: #68728c; background: #fff; cursor: pointer; font-size: 10px; font-weight: 700; }
.product-reviews__filters button:hover, .product-reviews__filters button:focus-visible, .product-reviews__filters button.is-active { border-color: #c9c8f6; color: var(--primary); background: #f5f4ff; }
.product-reviews__list { min-width: 0; }
.product-review { max-width: 920px; padding: 22px 0 25px; border-bottom: 1px solid var(--line); }
.product-review__head { display: flex; align-items: center; gap: 10px; }
.product-review__avatar { display: grid; width: 39px; height: 39px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--primary); background: #edecff; font-size: 14px; font-weight: 850; }
.product-review__head strong { display: block; color: var(--ink); font-size: 13px; }
.product-review__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 3px; }
.product-review__meta time { color: #8790a5; font-size: 10px; }
.product-review__verified { color: #2b7456; font-size: 10px; font-weight: 700; }
.product-review__stars { margin: 13px 0 9px; font-size: 17px; }
.product-review__content { max-width: 760px; margin: 0; color: #3d4761; font-size: 14px; line-height: 1.7; white-space: pre-line; }
.product-review__images { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.product-review__images a { display: block; width: 104px; height: 104px; overflow: hidden; border-radius: var(--radius); background: #f1f2f7; }
.product-review__images img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .18s ease-out; }
.product-review__images a:hover img { transform: scale(1.04); }
.product-reviews__empty { display: grid; gap: 4px; padding: 29px 0 26px; color: #7a839c; font-size: 12px; }
.product-reviews__empty strong { color: var(--ink); font-size: 14px; }
.product-reviews__filter-empty { margin: 21px 0; color: #7a839c; font-size: 12px; }
.product-review-form { margin-top: 32px; padding: 23px 24px 24px; border: 1px solid #dedff0; border-radius: var(--radius); background: #fff; }
.product-review-form__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 21px; }
.product-review-form__heading h3 { margin: 0 0 4px; font-size: 20px; }
.product-review-form__heading p { margin: 0; color: #737d97; font-size: 12px; }
.product-review-form__private { flex: 0 0 auto; padding: 6px 8px; border-radius: var(--radius); color: #2b7456; background: #eaf7f0; font-size: 10px; font-weight: 750; }
.product-review-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.product-review-form label, .product-review-form legend { display: flex; flex-direction: column; gap: 6px; color: #3b4660; font-size: 12px; font-weight: 750; }
.product-review-form__label { display: block; color: #3b4660; font-size: 12px; font-weight: 750; line-height: 1.35; }
.product-review-form__label em { color: #8b93a8; font-style: normal; font-weight: 500; }
.product-review-form input[type="text"], .product-review-form input[type="email"], .product-review-form textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #dfe2ef; border-radius: var(--radius); color: var(--ink); background: #fff; font-size: 14px; font-weight: 500; }
.product-review-form textarea { min-height: 118px; resize: vertical; line-height: 1.55; }
.product-review-form input:focus, .product-review-form textarea:focus { border-color: var(--primary); outline: 3px solid rgba(80,76,255,.1); }
.product-review-form small { color: #7d86a0; font-size: 10px; font-weight: 500; line-height: 1.45; }
.product-review-form__rating { margin: 19px 0 17px; padding: 0; border: 0; }
.product-review-form__rating legend { margin-bottom: 7px; }
.product-review-rating { display: flex; align-items: center; gap: 3px; }
.product-review-rating input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.product-review-rating label { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid #e0e2ee; border-radius: var(--radius); color: #c6cad7; background: #fff; cursor: pointer; font-size: 22px; line-height: 1; }
.product-review-rating label:hover, .product-review-rating label.is-selected { border-color: #f4d486; color: #f2a900; background: #fffaf0; }
.product-review-rating input:focus-visible + label { outline: 3px solid rgba(80,76,255,.2); outline-offset: 2px; }
.product-review-form__grid + .product-review-form__grid { margin-top: 17px; }
.product-review-form input[type="file"] { width: 100%; padding: 8px; border: 1px dashed #cfd3e5; border-radius: var(--radius); background: #fafaff; font-size: 12px; }
.product-review-form__actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 19px; }
.product-review-form__note { max-width: 560px; margin: 0; color: #7a839c; font-size: 11px; line-height: 1.5; }
.product-review-form__actions .button { flex: 0 0 auto; }
.product-review-form__message { margin: 10px 0 0; color: var(--danger); font-size: 12px; }

@media (max-width: 820px) {
  .product-reviews__overview { grid-template-columns: 1fr 1fr; gap: 20px; }
  .product-reviews__overview-action { grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr); align-items: center; justify-items: start; gap: 10px; }
  .product-reviews__overview-action .button { width: auto; }
}
@media (max-width: 560px) {
  .product-requirements { margin-bottom: 35px; padding: 19px 15px 16px; }
  .product-requirements__head { padding-bottom: 13px; }
  .product-requirements__head h2 { font-size: 23px; }
  .product-requirements__head p { font-size: 11px; }
  .product-requirements__list { margin-top: 12px; }
  .product-requirement { grid-template-columns: 20px minmax(0, 1fr); gap: 10px; padding: 12px 0; }
  .product-requirement__check { width: 18px; height: 18px; font-size: 11px; }
  .product-requirement h3 { font-size: 13px; }
  .product-detail__tabs { gap: 16px; }
  .product-detail__tab { padding-bottom: 10px; font-size: 21px; }
  .product-detail__tab-count { font-size: 11px; }
  .product-detail__tab-panel--description { padding-top: 25px; }
  .product-detail__tab-panel--description .product-detail__description { padding-top: 27px; }
  .product-reviews { padding-top: 24px; }
  .product-reviews__overview { grid-template-columns: 1fr; padding: 19px 16px; }
  .product-reviews__overview-action { grid-column: auto; grid-template-columns: 1fr; align-items: start; }
  .product-reviews__overview-action .button { width: 100%; }
  .product-reviews__section-head, .product-reviews__toolbar { align-items: flex-start; flex-direction: column; gap: 9px; }
  .product-reviews__filters { justify-content: flex-start; }
  .product-reviews__photos a { width: 76px; height: 76px; flex-basis: 76px; }
  .product-review__content { font-size: 13px; }
  .product-review__images a { width: 84px; height: 84px; }
  .product-review-form { padding: 19px 16px 18px; }
  .product-review-form__heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .product-review-form__grid { grid-template-columns: 1fr; }
  .product-review-form__actions { align-items: stretch; flex-direction: column; gap: 12px; }
  .product-review-form__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .product-detail__tab::after, .product-reviews__photos img, .product-review__images img { transition: none; }
}

/* Prompt quotes inserted with the editor's Trích dẫn button. */
blockquote.prompt-quote {
  position: relative;
  display: flow-root;
  box-sizing: border-box;
  width: 100%;
  padding-top: 58px;
}
.prompt-quote__copy { position: absolute; z-index: 1; top: 12px; right: 12px; display: inline-flex; min-height: 34px; align-items: center; margin: 0; padding: 0 11px; border: 1px solid #cbd5e5; border-radius: var(--radius); color: var(--primary); background: #fff; cursor: pointer; font-size: 11px; font-weight: 800; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.prompt-quote__copy:hover, .prompt-quote__copy:focus-visible { border-color: var(--primary); color: var(--primary-dark); background: #f7f9ff; }
.prompt-quote__copy.is-copied { border-color: #b8e5cb; color: var(--success); background: #f1fbf5; }
.prompt-quote__copy:disabled { cursor: wait; opacity: .75; }
.prompt-quote__status { position: absolute; width: 1px; height: 1px; overflow: hidden; padding: 0; margin: -1px; border: 0; clip: rect(0, 0, 0, 0); white-space: nowrap; }
blockquote.prompt-quote > pre { width: 100%; max-width: none; box-sizing: border-box; margin-top: 0; }

@media (max-width: 560px) {
  blockquote.prompt-quote { padding-top: 66px; }
  .prompt-quote__copy { top: 12px; right: 12px; min-height: 44px; padding-inline: 12px; }
}
