/* Homepage composition: editorial typography, panoramic photography and red wayfinding. */
.ag-red-hero { background: var(--ag-paper); padding-top: 42px; }
.ag-red-hero-top { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 64px; padding-bottom: 34px; }
.aigroup-site .ag-red-hero .ag-eyebrow { font-size: 10px; font-weight: 600; letter-spacing: 1.5px; }
.aigroup-site .ag-red-hero h1 { margin-top: 18px; font-family: var(--ag-font-heading); font-size: clamp(54px, 5.6vw, 82px); font-weight: 600; line-height: 1.04; letter-spacing: -.02em; }
.ag-red-hero h1 span { color: var(--ag-blue); }
.ag-red-hero-intro { max-width: 470px; padding-bottom: 5px; }
.ag-red-hero-intro > p { max-width: 450px; color: var(--ag-muted); font-size: 16px; line-height: 1.85; }
.ag-red-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 17px 23px; margin-top: 26px; }
.ag-red-text-link { display: inline-flex; align-items: center; gap: 12px; padding-block: 7px; color: var(--ag-ink); font-size: 13px; font-weight: 500; line-height: 1.7; }
.ag-red-text-link svg { width: 17px; height: 17px; color: var(--ag-blue); }
.ag-red-text-link:hover { color: var(--ag-blue); }
.ag-red-panorama { position: relative; isolation: isolate; height: 310px; margin: 0; overflow: hidden; background: #333; }
.ag-red-panorama > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 57%; }
.ag-red-panorama::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgb(22 20 22 / 75%), rgb(22 20 22 / 10%) 65%); }
.ag-red-panorama figcaption { position: absolute; z-index: 1; inset: auto auto 30px 34px; display: grid; gap: 9px; color: #fff; }
.ag-red-panorama figcaption > span { color: #fff; font-size: 9px; font-weight: 500; letter-spacing: 1.4px; }
.ag-red-panorama figcaption > strong { font-family: var(--ag-font-heading); font-size: 35px; font-weight: 500; line-height: 1.12; }
.ag-red-panorama figcaption > small { margin-top: 6px; color: #e0dadd; font-size: 10px; }
.ag-red-image-link { position: absolute; right: 32px; bottom: 30px; z-index: 1; display: grid; place-items: center; width: 55px; height: 55px; color: #fff !important; border: 1px solid rgb(255 255 255 / 65%); border-radius: 50%; background: rgb(20 16 18 / 20%); }
.ag-red-image-link:hover { background: var(--ag-blue); border-color: var(--ag-blue); }
.ag-red-image-link svg { width: 25px; height: 25px; }
.ag-red-image-link:focus-visible { outline-color: #fff; }
.ag-red-topic-band { background: #b51e2b; color: #fff; scroll-margin-top: 110px; }
.ag-red-topic-band > .ag-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ag-red-topic-band a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; min-width: 0; min-height: 90px; padding: 22px; border-right: 1px solid rgb(255 255 255 / 25%); transition: background .2s; }
.ag-red-topic-band a:first-child { padding-left: 0; }
.ag-red-topic-band a:last-child { border-right: 0; padding-right: 0; }
.ag-red-topic-band a:hover { background: rgb(255 255 255 / 8%); }
.ag-red-topic-band a:focus-visible { outline-color: #fff; outline-offset: -5px; }
.ag-red-topic-index { align-self: start; padding-top: 6px; color: #f2bfc4; font-size: 10px; }
.ag-red-topic-name { font-family: var(--ag-font-heading); color: #fff; font-size: 23px; font-weight: 500; line-height: 1.25; }
.ag-red-topic-band svg { width: 18px; height: 18px; color: #fff; }
.ag-editorial-magazine .ag-section-head { margin-bottom: 27px; }
.aigroup-site .ag-editorial-magazine .ag-section-head h2 { max-width: 570px; font-size: clamp(34px, 3.8vw, 52px); line-height: 1.08; }
.ag-editorial-magazine .ag-editorial-topic-nav { display: none; }
.ag-editorial-magazine .ag-editorial-grid { grid-template-columns: 1.1fr 1fr; gap: 0 40px; align-items: start; }
.ag-editorial-magazine .ag-editorial-card { border: 0; border-radius: 0; overflow: visible; box-shadow: none; }
.ag-editorial-magazine .ag-editorial-card:first-child { grid-row: span 2; }
.ag-editorial-magazine .ag-editorial-card:first-child .ag-editorial-cover { aspect-ratio: 1.95; border-radius: 2px; }
.ag-editorial-magazine .ag-editorial-card:first-child .ag-editorial-card-body { padding: 22px 0 0; }
.aigroup-site .ag-editorial-magazine .ag-editorial-card:first-child h3 { max-width: 530px; font-family: var(--ag-font-heading); font-size: 31px; font-weight: 500; line-height: 1.15; }
.ag-editorial-magazine .ag-editorial-card:first-child .ag-editorial-card-body > p { max-width: 550px; font-size: 14px; }
.ag-editorial-magazine .ag-editorial-card:not(:first-child) { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 22px; padding-bottom: 25px; border-bottom: 1px solid var(--ag-line); }
.ag-editorial-magazine .ag-editorial-card:nth-child(3) { padding-top: 25px; border-bottom: 0; }
.ag-editorial-magazine .ag-editorial-card:not(:first-child) .ag-editorial-cover { aspect-ratio: 1; border-radius: 2px; }
.ag-editorial-magazine .ag-editorial-card:not(:first-child) .ag-editorial-card-body { padding: 0; }
.aigroup-site .ag-editorial-magazine .ag-editorial-card:not(:first-child) h3 { margin-bottom: 10px; font-family: var(--ag-font-heading); font-size: 24px; font-weight: 500; line-height: 1.2; }
.ag-editorial-magazine .ag-editorial-card:not(:first-child) .ag-editorial-card-body > p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 13px; font-size: 12px; line-height: 1.8; }
.ag-editorial-magazine .ag-editorial-meta { margin-bottom: 10px; font-size: 10px; }
.ag-editorial-magazine .ag-card-link { font-size: 12px; }
.ag-red-solutions { padding-block: 72px; background: #242125; color: #fff; }
.ag-red-section-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 34px; }
.aigroup-site .ag-red-solutions .ag-eyebrow { color: #f48590; }
.aigroup-site .ag-red-solutions h2 { margin-top: 15px; color: #fff; font-family: var(--ag-font-heading); font-size: clamp(36px, 3.8vw, 52px); font-weight: 500; line-height: 1.08; letter-spacing: -.01em; }
.ag-red-section-top > p { max-width: 370px; margin-bottom: 3px; color: #bdb5bb; font-size: 14px; line-height: 1.85; }
.ag-red-solution-layout { display: grid; grid-template-columns: 1fr 1.08fr; gap: 55px; align-items: start; }
.ag-red-solution-photo { position: relative; height: 355px; margin: 0; overflow: hidden; background: #3b3339; }
.ag-red-solution-photo::after { content: ''; position: absolute; inset: 40% 0 0; pointer-events: none; background: linear-gradient(transparent, rgb(15 13 15 / 80%)); }
.ag-red-solution-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ag-red-solution-photo figcaption { position: absolute; z-index: 1; right: 24px; bottom: 20px; left: 24px; display: grid; gap: 8px; color: #fff; }
.ag-red-solution-photo figcaption > span { font-size: 10px; letter-spacing: 1px; }
.ag-red-solution-photo figcaption > small { color: #d0c8ce; font-size: 10px; }
.ag-red-solution { border-top: 1px solid #5c5058; }
.ag-red-solution:last-child { border-bottom: 1px solid #5c5058; }
.ag-red-solution summary { display: flex; align-items: center; gap: 20px; padding-block: 22px; list-style: none; cursor: pointer; }
.ag-red-solution summary::-webkit-details-marker { display: none; }
.ag-red-solution summary > span { color: #f48590; font-size: 11px; }
.aigroup-site .ag-red-solution summary h3 { margin: 0; color: #fff; font-family: var(--ag-font-heading); font-size: 29px; font-weight: 500; line-height: 1.2; }
.ag-red-solution summary > svg { width: 20px; height: 20px; margin-left: auto; color: #f48590; }
.ag-red-solution[open] summary > svg { transform: rotate(45deg); }
.ag-red-solution > div { padding: 0 35px 24px; }
.ag-red-solution p { max-width: 470px; color: #c8bec5; font-size: 14px; line-height: 1.9; }
.ag-red-solution a { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; color: #fff; font-size: 12px; font-weight: 500; }
.ag-red-solution a svg { width: 17px; height: 17px; color: #f48590; }
.ag-red-solution summary:focus-visible, .ag-red-solution a:focus-visible { outline-color: #f48590; }
.ag-red-demo-callout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 45px; align-items: center; margin-top: 42px; padding: 32px 38px; border-left: 4px solid #d02b3b; background: #fff; color: #242125; }
.ag-red-demo-label { display: block; color: #9b2330; font-size: 9px; font-weight: 600; letter-spacing: 1px; }
.aigroup-site .ag-red-demo-copy h3 { margin: 12px 0 20px; color: #242125; font-family: var(--ag-font-heading); font-size: 34px; font-weight: 500; line-height: 1.1; }
.ag-red-demo-copy .ag-button { min-height: 44px; padding: 10px 15px; background: #b51e2b; border-color: #b51e2b; color: #fff !important; font-size: 12px; }
.ag-red-demo-copy .ag-button:hover { background: #951523; border-color: #951523; }
.ag-red-demo-data { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 24px; }
.ag-red-demo-data > div { min-width: 0; }
.ag-red-demo-data > div > span { display: block; color: #716970; font-size: 11px; line-height: 1.7; }
.ag-red-demo-data strong { display: block; margin-top: 8px; color: #242125; font-family: var(--ag-font-heading); font-size: 58px; font-weight: 500; line-height: 1; }
.ag-red-demo-data > div:last-of-type strong { color: #b51e2b; }
.ag-red-demo-data strong > small { margin-left: 1px; font-size: 28px; }
.ag-red-demo-data > p { display: flex; align-items: center; gap: 10px; grid-column: 1 / -1; margin-top: 12px; padding-top: 18px; border-top: 1px solid #e7e0e2; color: #716970; font-size: 11px; }
.ag-red-demo-data > p svg { width: 17px; height: 17px; color: #b51e2b; }
.ag-red-cooperation-grid { display: grid; grid-template-columns: 1fr 1.12fr; gap: 74px; align-items: center; }
.ag-red-cooperation-visual { position: relative; padding-right: 26px; padding-bottom: 58px; }
.ag-red-cooperation-visual figure { margin: 0; }
.ag-red-cooperation-visual img { display: block; width: 100%; height: 440px; object-fit: cover; }
.ag-red-cooperation-visual figcaption { margin-top: 10px; color: var(--ag-muted); font-size: 10px; }
.ag-red-cooperation-visual > div { position: absolute; right: 0; bottom: 0; min-width: 230px; padding: 24px 30px; background: #b51e2b; color: #fff; }
.ag-red-cooperation-visual > div > span { font-size: 9px; letter-spacing: 1.2px; }
.ag-red-cooperation-visual > div strong { display: block; margin-top: 11px; color: #fff; font-family: var(--ag-font-heading); font-size: 36px; font-weight: 500; line-height: 1.08; }
.aigroup-site .ag-red-cooperation-copy h2 { margin-top: 15px; font-family: var(--ag-font-heading); font-size: clamp(34px, 3.4vw, 47px); font-weight: 500; line-height: 1.12; letter-spacing: -.01em; }
.ag-red-intents { margin-block: 26px 17px; }
.ag-red-intents > a { display: flex; gap: 17px; align-items: start; padding: 19px 0; border-top: 1px solid var(--ag-line); }
.ag-red-intents > a > span { padding-top: 4px; color: var(--ag-blue); font-size: 10px; }
.ag-red-intents > a > div { flex: 1; }
.aigroup-site .ag-red-intents h3 { margin: 0 0 6px; font-family: var(--ag-font-heading); font-size: 25px; font-weight: 500; line-height: 1.2; }
.ag-red-intents p { color: var(--ag-muted); font-size: 12px; line-height: 1.8; }
.ag-red-intents > a > svg { margin-top: 5px; width: 20px; height: 20px; color: var(--ag-blue); }
.ag-red-intents > a:hover h3 { color: var(--ag-blue); }
.ag-red-guides { padding-block: 48px 64px; border-top: 1px solid var(--ag-line); background: var(--ag-paper); }
.ag-red-guides > .ag-container { display: grid; grid-template-columns: .8fr 1.3fr; gap: 90px; }
.aigroup-site .ag-red-guides h2 { margin-top: 17px; font-family: var(--ag-font-heading); font-size: 44px; font-weight: 500; line-height: 1.1; }
.ag-red-guides-heading > .ag-red-text-link { margin-top: 20px; }
.ag-red-guide { display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: 24px; padding-block: 24px; border-bottom: 1px solid var(--ag-line); }
.ag-red-guide:first-child { padding-top: 0; }
.ag-red-guide > span { margin-top: 4px; color: var(--ag-blue); font-size: 11px; }
.ag-red-guide p { margin-bottom: 8px; color: var(--ag-muted); font-size: 9px; font-weight: 500; letter-spacing: .8px; }
.aigroup-site .ag-red-guide h3 { margin: 0; font-family: var(--ag-font-heading); font-size: 27px; font-weight: 500; line-height: 1.15; }
.ag-red-guide small { display: inline-block; margin-top: 11px; color: var(--ag-muted); font-size: 10px; }
.ag-red-guide > svg { width: 20px; height: 20px; margin-top: 19px; color: var(--ag-blue); }
.ag-red-guide:hover h3 { color: var(--ag-blue); }
html[data-ag-theme="dark"] .ag-red-demo-callout { background: #32272d; color: #fff; }
html[data-ag-theme="dark"] .ag-red-demo-copy h3, html[data-ag-theme="dark"] .ag-red-demo-data strong { color: #fff; }
html[data-ag-theme="dark"] .ag-red-demo-label { color: #ffa1ab; }
html[data-ag-theme="dark"] .ag-red-demo-data > div > span, html[data-ag-theme="dark"] .ag-red-demo-data > p { color: #c6bbc2; }
html[data-ag-theme="dark"] .ag-red-demo-data > p { border-color: #58434e; }
html[data-ag-theme="dark"] .ag-red-demo-data > div:last-of-type strong { color: #ffa1ab; }
@media (max-width: 1100px) {
  .ag-red-hero-top { gap: 35px; }
  .aigroup-site .ag-red-hero h1 { font-size: 65px; }
  .ag-red-hero-intro > p { font-size: 14px; }
  .ag-red-topic-band a { gap: 10px; padding-inline: 16px; }
  .ag-red-topic-name { font-size: 21px; }
  .ag-editorial-magazine .ag-editorial-grid { gap: 0 28px; }
  .ag-editorial-magazine .ag-editorial-card:not(:first-child) { grid-template-columns: 115px minmax(0, 1fr); gap: 17px; }
  .aigroup-site .ag-editorial-magazine .ag-editorial-card:not(:first-child) h3 { font-size: 22px; }
  .ag-red-solution-layout { gap: 30px; }
  .ag-red-solution-photo { height: 340px; }
  .ag-red-cooperation-grid { gap: 40px; }
  .ag-red-guides > .ag-container { gap: 45px; }
}
@media (max-width: 767px) {
  .ag-red-hero { padding-top: 29px; }
  .ag-red-hero-top { grid-template-columns: 1fr; gap: 20px; padding-bottom: 26px; }
  .aigroup-site .ag-red-hero .ag-eyebrow { font-size: 8px; letter-spacing: 1px; }
  .aigroup-site .ag-red-hero h1 { margin-top: 16px; font-size: clamp(46px, 11.8vw, 67px); line-height: 1.05; }
  .ag-red-hero-intro { padding: 0; }
  .ag-red-hero-intro > p { font-size: 14px; line-height: 1.8; }
  .ag-red-hero-actions { gap: 15px; margin-top: 20px; }
  .ag-red-hero-actions .ag-button { min-height: 46px; padding: 11px 15px; font-size: 12px; }
  .ag-red-hero-actions .ag-red-text-link { font-size: 11px; gap: 8px; }
  .ag-red-panorama { height: 220px; }
  .ag-red-panorama figcaption { bottom: 20px; left: 20px; gap: 8px; }
  .ag-red-panorama figcaption > strong { font-size: 30px; }
  .ag-red-panorama figcaption > span { font-size: 7px; }
  .ag-red-panorama figcaption > small { max-width: 220px; font-size: 8px; }
  .ag-red-image-link { right: 18px; bottom: 20px; width: 40px; height: 40px; }
  .ag-red-image-link svg { width: 20px; height: 20px; }
  .ag-red-topic-band > .ag-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ag-red-topic-band a { min-height: 81px; padding: 18px 12px; gap: 10px; }
  .ag-red-topic-band a:nth-child(odd) { padding-left: 0; }
  .ag-red-topic-band a:nth-child(even) { border-right: 0; padding-right: 0; padding-left: 16px; }
  .ag-red-topic-band a:nth-child(-n+2) { border-bottom: 1px solid rgb(255 255 255 / 25%); }
  .ag-red-topic-name { font-size: 22px; }
  .ag-red-topic-index { padding-top: 4px; font-size: 8px; }
  .ag-red-topic-band svg { width: 15px; height: 15px; }
  .aigroup-site .ag-editorial-magazine .ag-section-head h2 { max-width: 320px; font-size: 38px; }
  .ag-editorial-magazine .ag-editorial-grid { grid-template-columns: 1fr; gap: 25px; }
  .ag-editorial-magazine .ag-editorial-card:first-child { grid-row: auto; }
  .ag-editorial-magazine .ag-editorial-card:first-child .ag-editorial-cover { aspect-ratio: 1.6; }
  .aigroup-site .ag-editorial-magazine .ag-editorial-card:first-child h3 { font-size: 30px; }
  .ag-editorial-magazine .ag-editorial-card:not(:first-child) { grid-template-columns: 100px minmax(0, 1fr); padding-block: 23px 0; border-top: 1px solid var(--ag-line); border-bottom: 0; }
  .aigroup-site .ag-editorial-magazine .ag-editorial-card:not(:first-child) h3 { font-size: 24px; }
  .ag-editorial-magazine .ag-editorial-card:not(:first-child) .ag-editorial-card-body > p { display: none; }
  .ag-editorial-magazine .ag-editorial-meta { row-gap: 5px; font-size: 9px; }
  .ag-red-solutions { padding-block: 46px; }
  .ag-red-section-top { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 26px; }
  .aigroup-site .ag-red-solutions h2 { font-size: 40px; }
  .ag-red-section-top > p { font-size: 13px; }
  .ag-red-solution-layout { grid-template-columns: 1fr; gap: 28px; }
  .ag-red-solution-photo { height: 240px; }
  .ag-red-solution-photo figcaption { inset: auto 18px 18px; }
  .ag-red-solution-photo figcaption > span { font-size: 8px; }
  .ag-red-solution summary { gap: 16px; padding-block: 21px; }
  .aigroup-site .ag-red-solution summary h3 { font-size: 27px; }
  .ag-red-solution > div { padding: 0 0 24px 30px; }
  .ag-red-solution p { font-size: 13px; }
  .ag-red-demo-callout { grid-template-columns: 1fr; gap: 28px; margin-top: 30px; padding: 27px 22px; }
  .ag-red-demo-data { gap: 12px; }
  .ag-red-demo-data strong { font-size: 48px; }
  .ag-red-demo-data > div > span { font-size: 9px; }
  .ag-red-demo-data > p { font-size: 10px; }
  .ag-red-cooperation-grid { grid-template-columns: 1fr; gap: 36px; }
  .ag-red-cooperation-visual { padding-bottom: 45px; padding-right: 20px; }
  .ag-red-cooperation-visual img { height: 290px; }
  .ag-red-cooperation-visual > div { min-width: 200px; padding: 20px 25px; }
  .ag-red-cooperation-visual > div strong { font-size: 32px; }
  .ag-red-cooperation-visual figcaption { max-width: 150px; font-size: 8px; }
  .aigroup-site .ag-red-cooperation-copy h2 { font-size: 38px; }
  .ag-red-guides { padding-block: 37px 42px; }
  .ag-red-guides > .ag-container { grid-template-columns: 1fr; gap: 29px; }
  .aigroup-site .ag-red-guides h2 { font-size: 39px; }
  .ag-red-guide { gap: 17px; padding-block: 22px; }
  .aigroup-site .ag-red-guide h3 { font-size: 26px; }
}
@media (max-width: 359px) {
  .ag-red-hero-actions { align-items: flex-start; flex-direction: column; gap: 9px; }
  .ag-red-topic-band a { grid-template-columns: 1fr auto; gap: 6px; }
  .ag-red-topic-index { display: none; }
  .ag-red-topic-name { font-size: 20px; }
  .ag-editorial-magazine .ag-editorial-card:not(:first-child) { grid-template-columns: 75px minmax(0, 1fr); gap: 14px; }
}
@media (prefers-reduced-motion: reduce) { .ag-red-topic-band a { transition: none; } }
@media print {
  .ag-red-topic-band, .ag-red-image-link { display: none; }
  .ag-red-hero-top, .ag-red-solution-layout, .ag-red-cooperation-grid { grid-template-columns: 1fr; }
  .ag-red-solutions { background: #fff; color: #242125; }
  .aigroup-site .ag-red-solutions :is(h2, h3, p, a) { color: #242125; }
  .ag-red-solution > div { display: block !important; }
}
