/* Coatequitl public product landing. Values are defined once as local tokens. */
.ctq-home {
    --ctq-ink: #102237;
    --ctq-ink-deep: #091522;
    --ctq-ink-soft: #1b344d;
    --ctq-paper: #f7f5f0;
    --ctq-surface: #ffffff;
    --ctq-muted: #627184;
    --ctq-line: #d9e0e6;
    --ctq-accent: #0c9c8c;
    --ctq-accent-dark: #087468;
    --ctq-accent-wash: #dff5f1;
    --ctq-radius: 16px;
    --ctq-radius-small: 8px;
    --ctq-space-1: 8px;
    --ctq-space-2: 16px;
    --ctq-space-3: 24px;
    --ctq-space-4: 32px;
    --ctq-space-5: 48px;
    --ctq-space-6: 64px;
    --ctq-space-7: 96px;
    --ctq-shadow: 0 24px 64px rgba(9, 21, 34, .14);
    --ctq-transition: 180ms cubic-bezier(.2, .8, .2, 1);
    background: var(--ctq-paper);
    color: var(--ctq-ink);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    inline-size: 100vw;
    margin-inline: calc(50% - 50vw);
    overflow: clip;
}

/* The public Home is a product narrative, not the authenticated operations shell. */
body.view-home .container-header,
body.view-home .mod-breadcrumbs__wrapper {
    display: none;
}

body.view-home .site-grid {
    row-gap: 0;
}

body.view-home .container-component {
    padding: 0;
}

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

.ctq-home__container { margin-inline: auto; max-inline-size: 1320px; padding-inline: var(--ctq-space-3); }
.ctq-home h1,
.ctq-home h2,
.ctq-home h3,
.ctq-home p { margin: 0; }
.ctq-home h1,
.ctq-home h2,
.ctq-home h3 { font-family: Georgia, "Times New Roman", serif; color: inherit; }
.ctq-home h1 { font-size: clamp(3.25rem, 7vw, 6.75rem); font-weight: 400; letter-spacing: -.065em; line-height: .94; max-inline-size: 11ch; }
.ctq-home h2 { font-size: clamp(2.25rem, 4.5vw, 4.5rem); font-weight: 400; letter-spacing: -.05em; line-height: 1; max-inline-size: 16ch; }
.ctq-home h3 { font-size: clamp(1.35rem, 2vw, 1.85rem); font-weight: 400; letter-spacing: -.025em; line-height: 1.1; }
.ctq-home p { line-height: 1.65; }

.ctq-home__hero { background: var(--ctq-ink-deep); color: #edf5f3; min-block-size: max(760px, 100dvh); overflow: hidden; padding-block: 0 var(--ctq-space-4); position: relative; }
.ctq-home__masthead { align-items: center; border-block-end: 1px solid rgba(229, 240, 237, .16); display: flex; justify-content: space-between; min-block-size: 88px; position: relative; z-index: 2; }
.ctq-home__wordmark,
.ctq-home__mastnav { align-items: center; display: flex; }
.ctq-home__wordmark { color: var(--ctq-paper); font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 700; gap: 10px; letter-spacing: .03em; text-decoration: none; }
.ctq-home__wordmark img { block-size: 38px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(229, 240, 237, .32); inline-size: 38px; object-fit: cover; object-position: center; }
.ctq-home__mastnav { gap: clamp(16px, 2vw, 30px); }
.ctq-home__mastnav a { color: rgba(229, 240, 237, .76); font-size: .77rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.ctq-home__mastnav a:last-child { border: 1px solid rgba(229, 240, 237, .32); border-radius: var(--ctq-radius-small); color: var(--ctq-paper); padding: 10px 13px; }
.ctq-home__mastnav a:hover,
.ctq-home__mastnav a:focus-visible { color: #a8dcd5; }
.ctq-home__grid { background-image: linear-gradient(rgba(223, 245, 241, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(223, 245, 241, .08) 1px, transparent 1px); background-size: 64px 64px; inset: 0; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .75), transparent 78%); pointer-events: none; position: absolute; }
.ctq-home__orb { border-radius: 50%; filter: blur(1px); opacity: .48; pointer-events: none; position: absolute; }
.ctq-home__orb--cyan { background: radial-gradient(circle, rgba(12, 156, 140, .5), transparent 68%); block-size: 640px; inline-size: 640px; inset: -280px -210px auto auto; }
.ctq-home__orb--copper { background: radial-gradient(circle, rgba(68, 126, 164, .28), transparent 68%); block-size: 520px; inline-size: 520px; inset: auto auto -310px -170px; }
.ctq-home__hero-layout { align-items: center; display: grid; gap: var(--ctq-space-5); grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); min-block-size: 640px; position: relative; }
.ctq-home__hero-copy { padding-block: var(--ctq-space-5); position: relative; z-index: 2; }
.ctq-home__eyebrow { align-items: center; color: #a8dcd5; display: flex; font-size: .75rem; font-weight: 700; gap: var(--ctq-space-1); letter-spacing: .12em; line-height: 1.2; margin-block-end: var(--ctq-space-3); text-transform: uppercase; }
.ctq-home__eyebrow span { background: currentColor; block-size: 1px; inline-size: 32px; }
.ctq-home__eyebrow--dark { color: var(--ctq-accent-dark); }
.ctq-home__hero-lead { color: #d3e3e1; font-size: clamp(1.15rem, 2vw, 1.45rem); margin-block-start: var(--ctq-space-4); max-inline-size: 44ch; }
.ctq-home__hero-detail { color: #a8bec3; font-size: 1rem; margin-block-start: var(--ctq-space-2); max-inline-size: 50ch; }
.ctq-home__hero-actions { display: flex; flex-wrap: wrap; gap: var(--ctq-space-2); margin-block-start: var(--ctq-space-4); }
.ctq-home__button { align-items: center; border: 1px solid transparent; border-radius: 999px; display: inline-flex; font-size: .95rem; font-weight: 700; gap: 10px; justify-content: center; min-block-size: 48px; padding-inline: var(--ctq-space-3); text-decoration: none; transition: background var(--ctq-transition), border-color var(--ctq-transition), color var(--ctq-transition), transform var(--ctq-transition); }
.ctq-home__button:focus-visible,
.ctq-home__text-link:focus-visible,
.ctq-home summary:focus-visible { outline: 3px solid #e3fff9; outline-offset: 4px; }
.ctq-home__button--primary { background: var(--ctq-accent); color: #05241f; }
.ctq-home__button--primary:hover { background: #25baa9; color: #031816; transform: translateY(-2px); }
.ctq-home__button--primary:active { transform: translateY(0); }
.ctq-home__button--secondary { border-color: rgba(237, 245, 243, .42); color: #edf5f3; }
.ctq-home__button--secondary:hover { background: rgba(237, 245, 243, .1); border-color: #edf5f3; color: #ffffff; }
.ctq-home__button--ghost { border-color: rgba(223, 245, 241, .38); color: #edf5f3; margin-block-start: var(--ctq-space-4); }
.ctq-home__button--ghost:hover { background: #edf5f3; color: var(--ctq-ink-deep); }

.ctq-home__hero-visual { aspect-ratio: 1; justify-self: end; max-inline-size: 540px; position: relative; inline-size: min(42vw, 540px); }
.ctq-home__compass-ring { border: 1px solid rgba(207, 241, 235, .28); border-radius: 50%; inset: 50%; pointer-events: none; position: absolute; transform: translate(-50%, -50%); }
.ctq-home__compass-ring--outer { block-size: 100%; inline-size: 100%; }
.ctq-home__compass-ring--middle { block-size: 74%; inline-size: 74%; }
.ctq-home__compass-ring--inner { block-size: 48%; inline-size: 48%; }
.ctq-home__compass-ring--outer::before,
.ctq-home__compass-ring--outer::after { background: rgba(223, 245, 241, .42); content: ""; inset: 50% auto auto 0; block-size: 1px; inline-size: 100%; position: absolute; }
.ctq-home__compass-ring--outer::after { inset: 0 auto auto 50%; block-size: 100%; inline-size: 1px; }
.ctq-home__seal { background: radial-gradient(circle, #29415a, #102237); border: 1px solid rgba(223, 245, 241, .45); border-radius: 50%; box-shadow: 0 0 0 16px rgba(12, 156, 140, .05), 0 32px 80px rgba(0, 0, 0, .45); inset: 50%; overflow: hidden; padding: 6%; position: absolute; transform: translate(-50%, -50%); block-size: 48%; inline-size: 48%; }
.ctq-home__seal img { block-size: 100%; border-radius: 50%; inline-size: 100%; object-fit: cover; }
.ctq-home__coordinate { color: #b9d7d2; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .7rem; letter-spacing: .08em; position: absolute; }
.ctq-home__coordinate--one { inset: 12% auto auto 7%; }
.ctq-home__coordinate--two { inset: auto 3% 17% auto; }
.ctq-home__signal { border: 1px solid var(--ctq-accent); border-radius: 50%; block-size: 12px; box-shadow: 0 0 0 8px rgba(12, 156, 140, .1), 0 0 32px rgba(12, 156, 140, .7); inline-size: 12px; position: absolute; }
.ctq-home__signal--one { inset: 23% 9% auto auto; }
.ctq-home__signal--two { inset: auto auto 18% 19%; }
.ctq-home__hero-foot { align-items: center; border-block-start: 1px solid rgba(223, 245, 241, .18); color: #a8bec3; display: flex; gap: var(--ctq-space-3); justify-content: flex-start; padding-block-start: var(--ctq-space-2); position: relative; }
.ctq-home__hero-foot span { align-items: center; display: inline-flex; font-size: .72rem; font-weight: 700; gap: 8px; letter-spacing: .1em; text-transform: uppercase; }
.ctq-home__hero-foot span::before { background: var(--ctq-accent); border-radius: 50%; block-size: 6px; content: ""; inline-size: 6px; }

.ctq-home__flow-section { background: var(--ctq-paper); padding-block: var(--ctq-space-7); }
.ctq-home__section-intro { margin-block-end: var(--ctq-space-5); max-inline-size: 68ch; }
.ctq-home__section-intro > p:not(.ctq-home__eyebrow) { color: var(--ctq-muted); font-size: 1.1rem; margin-block-start: var(--ctq-space-3); }
.ctq-home__section-intro--split { align-items: end; display: grid; gap: var(--ctq-space-5); grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr); max-inline-size: none; }
.ctq-home__section-intro--split > p { margin-block-end: var(--ctq-space-1); }
.ctq-home__flow { counter-reset: flow; display: grid; gap: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; position: relative; }
.ctq-home__flow::before { background: var(--ctq-line); content: ""; inset: 38px 10% auto; block-size: 1px; position: absolute; }
.ctq-home__flow-item { min-block-size: 300px; padding: 0 var(--ctq-space-2); position: relative; }
.ctq-home__flow-index { color: var(--ctq-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .72rem; letter-spacing: .1em; margin-block-end: var(--ctq-space-2); }
.ctq-home__flow-icon { align-items: center; background: var(--ctq-ink); border: 6px solid var(--ctq-paper); border-radius: 50%; color: #dcfff8; display: flex; block-size: 64px; inline-size: 64px; justify-content: center; margin-block-end: var(--ctq-space-3); position: relative; }
.ctq-home__flow-domain { color: var(--ctq-accent-dark); font-size: .68rem; font-weight: 800; letter-spacing: .09em; margin-block-end: var(--ctq-space-1); text-transform: uppercase; }
.ctq-home__flow-item h3 { font-size: 1.5rem; margin-block-end: var(--ctq-space-1); }
.ctq-home__flow-item > p:last-child { color: var(--ctq-muted); font-size: .92rem; }

.ctq-home__domains-section { background: #eaf0ef; padding-block: var(--ctq-space-7); }
.ctq-home__domains { display: grid; gap: var(--ctq-space-2); grid-template-columns: repeat(12, minmax(0, 1fr)); }
.ctq-home__domain { background: var(--ctq-surface); border: 1px solid rgba(16, 34, 55, .1); display: flex; flex-direction: column; min-block-size: 320px; padding: var(--ctq-space-4); position: relative; transition: box-shadow var(--ctq-transition), transform var(--ctq-transition); }
.ctq-home__domain::before { background: var(--ctq-accent); content: ""; inset: 0 auto auto 0; block-size: 3px; inline-size: 64px; position: absolute; }
.ctq-home__domain:hover { box-shadow: var(--ctq-shadow); transform: translateY(-4px); }
.ctq-home__domain:nth-child(1) { grid-column: span 7; min-block-size: 380px; }
.ctq-home__domain:nth-child(2) { grid-column: span 5; }
.ctq-home__domain:nth-child(3) { grid-column: span 4; }
.ctq-home__domain:nth-child(4) { grid-column: span 4; }
.ctq-home__domain:nth-child(5) { grid-column: span 4; }
.ctq-home__domain:nth-child(6) { grid-column: span 12; min-block-size: 280px; }
.ctq-home__domain-topline { align-items: center; color: var(--ctq-muted); display: flex; font-size: .72rem; font-weight: 800; gap: var(--ctq-space-1); letter-spacing: .09em; text-transform: uppercase; }
.ctq-home__domain-icon { align-items: center; background: var(--ctq-accent-wash); border-radius: 50%; color: var(--ctq-accent-dark); display: inline-flex; block-size: 40px; inline-size: 40px; justify-content: center; }
.ctq-home__domain h3 { margin-block: var(--ctq-space-4) var(--ctq-space-2); max-inline-size: 17ch; }
.ctq-home__domain-description { font-size: 1rem; max-inline-size: 60ch; }
.ctq-home__domain-detail { color: var(--ctq-muted); font-size: .88rem; margin-block-start: var(--ctq-space-2); max-inline-size: 65ch; }
.ctq-home__text-link { align-items: center; color: var(--ctq-accent-dark); display: inline-flex; font-size: .88rem; font-weight: 800; gap: var(--ctq-space-1); margin-block-start: auto; padding-block-start: var(--ctq-space-3); text-decoration: none; }
.ctq-home__text-link i { transition: transform var(--ctq-transition); }
.ctq-home__text-link:hover { color: var(--ctq-ink); }
.ctq-home__text-link:hover i { transform: translateX(4px); }

.ctq-home__actors-section { background: var(--ctq-ink); color: #e7f1ef; padding-block: var(--ctq-space-7); }
.ctq-home__actors-layout { align-items: start; display: grid; gap: var(--ctq-space-6); grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); }
.ctq-home__actors-copy > p:not(.ctq-home__eyebrow) { color: #adc2c1; font-size: 1.08rem; margin-block-start: var(--ctq-space-3); max-inline-size: 38ch; }
.ctq-home__actors-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); background: rgba(223, 245, 241, .22); }
.ctq-home__actor { background: var(--ctq-ink); min-block-size: 220px; padding: var(--ctq-space-3); }
.ctq-home__actor > i { color: #7ce4d7; font-size: 1.35rem; margin-block-end: var(--ctq-space-4); }
.ctq-home__actor h3 { font-size: 1.55rem; }
.ctq-home__actor p { color: #adc2c1; font-size: .9rem; margin-block-start: var(--ctq-space-1); }

.ctq-home__trust-section { background: var(--ctq-surface); padding-block: var(--ctq-space-7); }
.ctq-home__trust-grid { display: grid; gap: var(--ctq-space-5); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ctq-home__trust-grid article { border-block-start: 1px solid var(--ctq-ink); padding-block-start: var(--ctq-space-3); }
.ctq-home__trust-grid i { color: var(--ctq-accent-dark); font-size: 1.2rem; }
.ctq-home__trust-grid h3 { font-size: 1.65rem; margin-block: var(--ctq-space-3) var(--ctq-space-1); }
.ctq-home__trust-grid p { color: var(--ctq-muted); font-size: .95rem; max-inline-size: 32ch; }

.ctq-home__faq-section { background: #edf2f1; padding-block: var(--ctq-space-7); }
.ctq-home__faq-layout { align-items: start; display: grid; gap: var(--ctq-space-6); grid-template-columns: minmax(280px, .7fr) minmax(0, 1fr); }
.ctq-home__faq-layout > div > p:not(.ctq-home__eyebrow) { color: var(--ctq-muted); margin-block-start: var(--ctq-space-3); max-inline-size: 34ch; }
.ctq-home__faq-list { border-block-start: 1px solid var(--ctq-line); }
.ctq-home__faq-list details { border-block-end: 1px solid var(--ctq-line); }
.ctq-home__faq-list summary { align-items: center; cursor: pointer; display: flex; font-size: 1.08rem; font-weight: 750; gap: var(--ctq-space-2); justify-content: space-between; list-style: none; padding-block: var(--ctq-space-3); }
.ctq-home__faq-list summary::-webkit-details-marker { display: none; }
.ctq-home__faq-list summary i { color: var(--ctq-accent-dark); font-size: .9rem; transition: transform var(--ctq-transition); }
.ctq-home__faq-list details[open] summary i { transform: rotate(45deg); }
.ctq-home__faq-list details p { color: var(--ctq-muted); max-inline-size: 64ch; padding-block: 0 var(--ctq-space-3); }

.ctq-home__close-section { background: var(--ctq-paper); padding-block: var(--ctq-space-6); }
.ctq-home__close-card { align-items: center; background: var(--ctq-accent-wash); display: grid; gap: var(--ctq-space-4); grid-template-columns: minmax(0, 1fr) auto; padding: var(--ctq-space-5); }
.ctq-home__close-card .ctq-home__eyebrow { color: var(--ctq-accent-dark); }
.ctq-home__close-card h2 { font-size: clamp(2rem, 4vw, 3.75rem); max-inline-size: 18ch; }
.ctq-home__close-card > div:first-child > p:last-child { color: var(--ctq-muted); margin-block-start: var(--ctq-space-2); max-inline-size: 58ch; }
.ctq-home__close-actions { display: flex; flex-wrap: wrap; gap: var(--ctq-space-2); justify-content: end; }
.ctq-home__close-card .ctq-home__button--secondary { border-color: var(--ctq-ink); color: var(--ctq-ink); }
.ctq-home__close-card .ctq-home__button--secondary:hover { background: var(--ctq-ink); color: #edf5f3; }

@media (max-width: 991px) {
    .ctq-home__hero-layout,
    .ctq-home__actors-layout,
    .ctq-home__faq-layout { grid-template-columns: 1fr; }
    .ctq-home__hero-visual { grid-row: 1; inline-size: min(72vw, 460px); justify-self: center; }
    .ctq-home__hero-copy { padding-block: 0 var(--ctq-space-5); }
    .ctq-home__flow { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--ctq-space-4); }
    .ctq-home__flow::before { display: none; }
    .ctq-home__flow-item { min-block-size: auto; padding-inline: 0 var(--ctq-space-2); }
    .ctq-home__domains { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ctq-home__domain,
    .ctq-home__domain:nth-child(n) { grid-column: span 1; min-block-size: 320px; }
    .ctq-home__domain:nth-child(1),
    .ctq-home__domain:nth-child(6) { grid-column: span 2; }
}

@media (max-width: 680px) {
    .ctq-home__container { padding-inline: var(--ctq-space-2); }
    .ctq-home__masthead { min-block-size: 72px; }
    .ctq-home__wordmark { font-size: 1.1rem; }
    .ctq-home__wordmark img { block-size: 32px; inline-size: 32px; }
    .ctq-home__mastnav a:not(:last-child) { display: none; }
    .ctq-home__hero { min-block-size: auto; padding-block: 0 var(--ctq-space-3); }
    .ctq-home__hero-layout { gap: var(--ctq-space-4); min-block-size: auto; }
    .ctq-home__hero-visual { inline-size: min(86vw, 380px); }
    .ctq-home__coordinate { font-size: .58rem; }
    .ctq-home__hero-foot { align-items: flex-start; flex-direction: column; gap: var(--ctq-space-1); }
    .ctq-home__section-intro--split,
    .ctq-home__close-card { grid-template-columns: 1fr; }
    .ctq-home__flow { grid-template-columns: 1fr; }
    .ctq-home__flow-item { border-block-start: 1px solid var(--ctq-line); padding-block: var(--ctq-space-2); }
    .ctq-home__flow-icon { margin-block-end: var(--ctq-space-2); }
    .ctq-home__domains { grid-template-columns: 1fr; }
    .ctq-home__domain:nth-child(1),
    .ctq-home__domain:nth-child(6),
    .ctq-home__domain,
    .ctq-home__domain:nth-child(n) { grid-column: span 1; min-block-size: auto; }
    .ctq-home__actors-grid,
    .ctq-home__trust-grid { grid-template-columns: 1fr; }
    .ctq-home__close-actions { justify-content: start; }
}

@media (prefers-reduced-motion: reduce) {
    .ctq-home *,
    .ctq-home *::before,
    .ctq-home *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
