/* September review: shared composition, spacing and interaction refinements. */
.section { border-top: 0; }
.section-intro { max-width: 58rem; margin-inline: auto; text-align: center; }
.section-intro p { max-width: 50rem; margin-inline: auto; }
.section-intro + * { margin-top: 3rem; }
.safeguards__list { border: 0; }
.safeguard:last-child { border-bottom: 0; }
.safeguards__partners { border: 0; padding-top: 0; margin-top: 2.5rem; text-align: center; }
.safeguards__partners .logo-row { justify-content: center; }
.logo-row--partners li { width: 10rem; height: 5rem; overflow: visible; }
.logo-row--partners img,
.logo-row--partners img[src*="memon"],.logo-row--partners img[src*="domin"],
.logo-row--partners img[src*="zam_"],.logo-row--partners img[src*="alphaventure"] {
    max-width: 100%; max-height: 4.5rem; width: auto; height: auto; object-fit: contain;
}
.logo-row--partners img[src*="memon"] { max-height: 5rem; }
.logo-row img { transition: opacity 240ms ease-out, transform 240ms var(--ease-out); }
.logo-row img.logo-loaded { animation: logo-arrive 320ms var(--ease-out); }
@keyframes logo-arrive { from { opacity: .6; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.connections__grid { grid-template-columns: 1fr; gap: 2.5rem; text-align: center; }
.connections__copy { max-width: 54rem; margin-inline: auto; }
.connections__copy p { max-width: 50rem; margin: 1rem auto 0; }
.connections__logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: min(100%,48rem); margin: 0 auto; gap: 2rem; justify-items: center; }
.connections__logos li { width: 100%; height: 4rem; display: flex; justify-content: center; align-items: center; }
.connections__logos img { max-width: 9rem; max-height: 2.75rem; width: 100%; height: auto; object-fit: contain; }
.connections__logos img[alt="SAP"] { max-width: 5.5rem; }
.setup__steps { border: 0; gap: 1.5rem; }
.setup__step,.setup__step:first-child,.setup__step:last-child { border: 0; padding: 1.75rem; background: var(--paper-soft); border-radius: 12px; }
.setup__num { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-bottom: 1.5rem; background: var(--c-teal-ultra); border-radius: 50%; font-size: 1rem; }
.setup__step h3 { min-height: 2.7em; margin-bottom: .75rem; }
.setup__step p { line-height: 1.7; }
.faq-list { width: 100%; max-width: none; border-top: 0; }
.faq-item { padding-inline: .25rem; }
.faq-item:last-child { border-bottom: 0; }
.faq-answer { padding-bottom: 1.5rem; }
.faq-answer p { max-width: 80ch; }
.faq-item summary:focus:not(:focus-visible) { outline: none; }
.cta__inner { max-width: 54rem; margin-inline: auto; text-align: center; justify-items: center; }
.cta__actions { justify-content: center; }
.page-hero__inner { margin-inline: auto; text-align: center; justify-items: center; max-width: 60rem; }
.page-hero__lead { margin-inline: auto; }
.page-hero .hero__actions { justify-content: center; }

/* Text links stay quiet until interaction; navigation has no noisy underline. */
a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
.site-nav a,.nav-item__toggle,.site-nav a:hover,.nav-item__toggle:hover,
.nav-submenu a,.nav-submenu a:hover { text-decoration: none; }
.site-nav > a,.nav-item__toggle { transition: color 160ms ease; }
.site-nav > a:hover,.nav-item__toggle:hover { color: var(--accent-ink); }
.nav-submenu { border: 0; border-radius: 10px; padding: .5rem; box-shadow: 0 12px 32px -8px rgba(38,50,56,.18); }
.nav-submenu a { border-radius: 6px; padding: .75rem 1rem; transition: background-color 160ms ease, color 160ms ease; }
.nav-submenu a:hover { background: #f1f6f5; color: var(--accent-press); }
.footer-col a,.footer-bottom a { text-decoration: underline; text-decoration-color: transparent; transition: color 160ms ease,text-decoration-color 160ms ease; }
.footer-col a:hover,.footer-bottom a:hover { color: var(--c-teal-light); text-decoration-color: currentColor; }
main p a:not(.btn):not(.st-btn),.st-content p a:not(.btn):not(.st-btn) { color: var(--accent-ink); text-decoration-color: rgba(26,125,116,.35); }
main p a:not(.btn):not(.st-btn):hover,.st-content p a:not(.btn):not(.st-btn):hover { color: var(--accent-press); text-decoration-color: currentColor; }
.section--dark p a:not(.btn),.demo p a:not(.btn) { color: var(--c-teal-light); }

/* The article wrapper is the sticky boundary, ending before related/CTA rows. */
.st-page--guide { display: block; }
.st-reading-layout { margin-top: 2.75rem; }
.st-reading-layout > .st-content { margin-top: 0; }
.st-page--guide .st-reading-layout { display: grid; grid-template-columns: minmax(0,1fr) 16rem; gap: 3.5rem; align-items: stretch; }
.st-page--guide .st-content { grid-column: 1; grid-row: 1; max-width: none; min-width: 0; }
.st-toc { grid-column: 2; grid-row: 1; position: static; align-self: stretch; margin: 0; padding: 0; max-height: none; overflow: visible; }
.st-toc details { position: sticky; top: calc(var(--header-h) + 1.5rem); max-height: calc(100dvh - var(--header-h) - 3rem); overflow-y: auto; }
.st-toc summary { padding-top: 0; }
.st-toc a { padding-block: .6rem; }
.st-page--guide .st-content > section:first-child > h2:first-child { margin-top: 0; }
.st-page--tool_hub .st-page__head,.st-page--guide_hub .st-page__head,.st-page--tool .st-page__head { text-align: center; margin-inline: auto; max-width: 60rem; }
.st-page--tool_hub .st-page__head h1,.st-page--guide_hub .st-page__head h1,.st-page--tool .st-page__head h1,.st-page__head .st-lead { margin-inline: auto; }
.st-page--tool_hub .st-content > section:not(:first-child) { text-align: center; }
.st-page--tool_hub .st-content > section p { max-width: 55rem; margin-inline: auto; }
.st-page--tool_hub .faq-list { text-align: left; }
.st-related { border: 0; padding-top: 0; margin-top: 4rem; }
.st-related ul { margin-top: 1.5rem; }
.st-content > section + section { margin-top: 3.5rem; }
.st-content .faq-list { margin-top: 1rem; }
.st-content > section.iris-assistant:first-child { margin-top: 0; padding: 2rem; }
.iris-assistant h2 { margin: 0; line-height: 1.3; }
.iris-assistant .iris-stage { margin-top: 1.75rem; }
.iris-assistant .iris-stage__title { margin-top: 0; }
.iris-assistant__controls { display: none; }
.iris-assistant__controls:has(button:not([hidden])) { display: flex; border: 0; padding-top: 0; margin-top: 1.5rem; }
.iris-choices { gap: .75rem; }
.st-content .iv-panel { padding: 2rem 2.5rem; margin-top: 2rem; }
.iv-panel:focus { outline: none; }
.st-content .iv-panel h2 { margin-top: 0; font-size: clamp(1.5rem,2vw,2rem); line-height: 1.2; }
.iv-panel > p { max-width: 70ch; margin-top: 1rem; }
.iv-panel .iv-official { margin-top: 1.5rem; }
.iv-official .iv-inline-note { margin-top: .65rem; }
.iv-more { margin-top: 1.5rem; }
.iv-more summary { min-height: 2.75rem; }
.iv-workbench { display: block; }
.iv-qr { padding-top: 0; }
.iv-qr h3 { margin-top: 0; }
.iv-actions { margin-top: 1.25rem; }
.iv-outcomes { gap: 2.5rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.iv-outcome p { line-height: 1.7; }
.hs-pagination { justify-content: flex-end; border: 0; gap: 1rem; }
.hs-pagination ul { gap: .4rem; }
.hs-pagination a,.hs-pagination__current { min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; justify-content: center; align-items: center; border: 0; border-radius: 8px; background: var(--paper-soft); padding: .5rem .8rem; text-decoration: none; }
.hs-pagination__current { background: var(--accent-ink); color: white; }
.hs-pagination a:hover { background: var(--c-teal-ultra); }
.hs-pagination__label { margin-right: .5rem; }
.st-topic-nav { justify-content: center; gap: .75rem; margin: 0; }
.st-topic-nav a { padding: .65rem 1.1rem; border-radius: 999px; background: var(--paper-soft); border: 1px solid var(--rule); font-size: .875rem; font-weight: 600; color: var(--ink-2); text-decoration: none; }
.st-topic-nav a:hover,.st-topic-nav a.is-current { background: var(--c-teal-ultra); border-color: transparent; color: var(--accent-press); }
.st-featured { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(15rem,1fr); gap: 2rem; padding: 2.5rem; margin-top: 2rem; border-radius: 14px; background: var(--c-teal-ultra); align-items: center; }
.st-featured h2 { margin: 0; font-size: clamp(1.75rem,2.4vw,2.5rem); }
.st-featured p { margin-top: 1rem; }
.st-featured .st-btn { margin-top: 1.5rem; }
.st-featured__visual { padding: 1.5rem; background: var(--paper); border-radius: 10px; }
.st-featured__visual p { margin: 0; padding-block: .8rem; font-weight: 600; display: flex; align-items: center; gap: .75rem; }
.st-featured__visual .icon { color: var(--accent-ink); width: 1.2rem; height: 1.2rem; flex: 0 0 1.2rem; }

/* Native dialog supplies focus containment, Escape and background inertness. */
.demo-dialog { width: min(60rem,calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 0; border-radius: 18px; color: var(--ink); background: var(--paper); overflow: auto; box-shadow: 0 24px 80px -16px rgba(0,0,0,.3); }
.demo-dialog::backdrop { background: rgba(22,38,41,.6); backdrop-filter: blur(3px); }
.demo-dialog[open] { animation: dialog-in 180ms var(--ease-out); }
@keyframes dialog-in { from { opacity: .5; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: none; } }
.demo-dialog__layout { display: grid; grid-template-columns: .9fr 1.1fr; }
.demo-dialog__pitch { padding: 3rem 2.5rem; background: var(--c-teal-ultra); display: flex; flex-direction: column; }
.demo-dialog__pitch h2 { font-size: clamp(1.8rem,2.5vw,2.5rem); line-height: 1.15; }
.demo-dialog__pitch > p { margin-top: 1.25rem; color: var(--ink-2); line-height: 1.65; }
.demo-dialog__benefits { list-style: none; padding: 0; margin: 2rem 0; display: grid; gap: 1rem; }
.demo-dialog__benefits li { display: flex; align-items: start; gap: .65rem; font-size: .9375rem; }
.demo-dialog__benefits .icon { flex: 0 0 1.2rem; width: 1.2rem; height: 1.2rem; margin-top: .15rem; color: var(--accent-ink); }
.demo-dialog__pitch .demo-dialog__call { margin-top: auto; padding-top: 1.5rem; font-size: .875rem; }
.demo-dialog__call a { display: inline-block; margin-top: .4rem; color: var(--accent-press); font-weight: 600; font-size: 1.125rem; }
.demo-dialog__form { padding: 3rem 2.5rem 2rem; }
.demo-dialog__form > h3 { font-size: 1.35rem; margin-bottom: 1.5rem; }
.demo-dialog .demo-form { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.demo-dialog .form-grid { gap: 1rem; }
.demo-dialog .form-field textarea { min-height: 5.5rem; height: 5.5rem; }
.demo-dialog .submit-button { margin-top: 1.5rem; }
.demo-dialog__close { position: absolute; top: .75rem; right: .75rem; width: 2.5rem; height: 2.5rem; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--paper-soft); color: var(--ink-2); cursor: pointer; }
.demo-dialog__close:hover { background: var(--c-teal-ultra); color: var(--accent-press); }
.demo-dialog__close .icon { width: 1.2rem; height: 1.2rem; }
html.demo-open { overflow: hidden; }
@media (min-width:62rem) {
    #features { padding-top: var(--section-y); padding-bottom: var(--section-y); }
    #features .section-intro + .spec { margin-top: 2rem; }

}
@media (max-width:55.99rem) {
    .st-page--guide .st-reading-layout { display: flex; flex-direction: column; gap: 1.5rem; }
    .st-toc { padding: .75rem 1rem; background: var(--paper-soft); border-radius: 8px; }
    .st-toc details { position: static; max-height: none; }
    .st-toc summary { padding: .25rem 0; }

    .demo-dialog__layout { grid-template-columns: 1fr; }
    .demo-dialog__pitch { padding: 2rem 1.75rem 1.5rem; }
    .demo-dialog__pitch h2 { max-width: 23ch; padding-right: 1rem; }
    .demo-dialog__benefits,.demo-dialog__call { display: none; }
    .demo-dialog__form { padding: 1.5rem 1.75rem; }
}
@media (max-width:40rem) {
    .section-intro { text-align: center; }
    .section-intro + * { margin-top: 2rem; }
    .connections__logos { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 2rem; }
    .setup__steps { display: grid; gap: 1rem; }
    .setup__step h3 { min-height: 0; }
    .iv-outcomes { grid-template-columns: 1fr; gap: 1.75rem; }
    .st-content .iv-panel { padding: 1.5rem; }
    .st-content > section.iris-assistant:first-child { padding: 1.5rem; }
    .hs-pagination { flex-wrap: wrap; gap: .5rem; }
    .hs-pagination__label { flex-basis: 100%; text-align: right; }
    .st-featured { grid-template-columns: 1fr; padding: 1.5rem; }
    .st-featured__visual { display: none; }
    .st-topic-nav { justify-content: flex-start; }
    .demo-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); border-radius: 12px; }
    .demo-dialog .form-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .logo-row img.logo-loaded,.demo-dialog[open] { animation: none; } }

/* Owner corrections: preserve the ledger, stable feature pin, article cards. */
#record .section-intro { margin-inline: 0; text-align: left; }
#record .section-intro p { margin-inline: 0; }
.hero { min-height: 100svh; display: flex; align-items: center; }
.hero__grid { row-gap: clamp(2rem,6vh,5rem); }
.st-page--tool_hub .faq-answer p { margin-inline: 0; text-align: left; max-width: 80ch; }
.faq-item summary:focus { outline: none; }
.faq-item summary:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 5px; border-radius: 4px; }
.st-content .st-cards--posts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; margin-top: 1.75rem; }
.st-content .st-card--post { border: 1px solid var(--rule); border-radius: 12px; padding: 1.75rem; background: var(--paper); display: flex; flex-direction: column; gap: .75rem; transition: border-color 180ms ease, box-shadow 180ms ease; }
.st-card--post .st-card__text { margin: 0; }
.st-card--post .st-card__action { margin-top: auto; padding-top: .75rem; }
.st-card--post:hover { border-color: rgba(26,125,116,.45); box-shadow: 0 8px 24px -18px rgba(38,50,56,.35); }
.partner-groups { display: block; }
.partner-group > h3 { display: none; }
.partner-groups .logo-row--partners { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: 100%; max-width: 60rem; margin-inline: auto; gap: 2.5rem; align-items: center; }
.partner-groups .logo-row--partners li { width: 100%; height: 6rem; justify-content: center; }
.partner-groups .logo-row--partners img { max-width: 10rem; max-height: 5rem; }
@media(min-width:62rem) {
 .spec--pinned { height: calc(var(--spec-panel-height,480px) + 5 * 65svh); }
 .spec--pinned .spec__stage { height: var(--spec-panel-height,480px); top: var(--spec-top,120px); }
 .spec--pinned .spec__panels { height: 100%; }
 .spec--pinned .spec__panel { align-content: center; padding: 0; }
 .spec--pinned .spec__panel > .spec__entry,.spec--pinned .spec__panel > .spec__plate { translate: none; }
}
@media(max-width:40rem) {
 .hero { min-height: 100svh; }
 .st-content .st-cards--posts { grid-template-columns: 1fr; }
 .partner-groups .logo-row--partners { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
 .partner-groups .logo-row--partners img { max-width: 100%; }
}
/* Shared navigation state and first-screen separation. */
.site-nav .nav-submenu a[aria-current='page'],.site-nav .nav-submenu a:hover { text-decoration: none; background: #f1f6f5; color: var(--accent-press); }
.site-nav .nav-item__toggle.is-current { color: var(--accent-ink); font-weight: 600; text-decoration: none; }
.page-hero { min-height: 100svh; display: grid; align-content: center; }
.page-hero + .section { padding-top: var(--section-y); }
.st-card__action a { display: inline-flex; align-items: center; gap: .5rem; }
.st-card__action .icon { width: 1rem; height: 1rem; }
.hero { background: radial-gradient(ellipse at 86% 44%,rgba(128,203,196,.34),transparent 55%),linear-gradient(125deg,#fff 25%,#f6fbfa 65%,#eaf6f3 100%); }
.hero .exhibit { border-radius: var(--radius); box-shadow: 0 24px 60px -35px rgba(20,94,88,.35); }
.hero .record-line { border-color: rgba(26,125,116,.2); }

.page-hero,.product-hero { background: radial-gradient(ellipse at 86% 44%,rgba(128,203,196,.34),transparent 55%),linear-gradient(125deg,#fff 25%,#f6fbfa 65%,#eaf6f3 100%); }
.section[aria-labelledby="why-title"] .section-intro { max-width: none; text-align: left; margin-inline: 0; }
.section[aria-labelledby="why-title"] .section-intro p { max-width: none; margin-inline: 0; }
/* Equal natural spacing before the first frame and after the last frame. */
#features { --feature-boundary-gap: clamp(4.5rem,7vw,7rem); padding-bottom: var(--feature-boundary-gap); }
#features .section-intro + .spec { margin-top: var(--feature-boundary-gap); }
.st-page--tool_hub .st-content .faq-answer p { margin-inline: 0; text-align: left; }
.st-page--guide .st-page__head { max-width: none; width: 100%; text-align: left; }
.st-page--guide .st-page__head h1 { max-width: none; width: 100%; }
.st-page--guide .st-page__head .st-lead { max-width: none; width: 100%; margin: 1rem 0 0; font-size: 1.0625rem; line-height: 1.7; }
.st-article-meta { margin-top: 1.25rem; }
.st-article-meta__category { display: inline-flex; align-items: center; padding: .35rem .75rem; border-radius: 6px; background: var(--c-teal-ultra); color: var(--accent-press); font-size: .8125rem; font-weight: 600; }
.product-tour__caption,.product-hero__caption,.spec__plate figcaption { width: 100%; text-align: center; }
.product-hero__frame { padding: 0; border: 0; background: transparent; border-radius: 12px; overflow: hidden; }
.product-tour__frame { padding: 0; border: 0; }
/* Final visual pass: readable tool explanations and a fixed mobile close control. */
.st-cta { text-align: center; }
.st-cta h2,.st-cta p { margin-inline: auto; }
.st-cta p { max-width: 65ch; }
.st-cta__actions { justify-content: center; }
.st-content > section[aria-labelledby="iv-outcomes-title"] > h2,.st-content > section[aria-labelledby="iv-outcomes-title"] > p { text-align: center; margin-inline: auto; }
.st-content .iv-panel { max-width: 54rem; margin-inline: auto; }
.demo-dialog { overflow: hidden; max-width: calc(100% - 1rem); }
.demo-dialog__layout { max-height: calc(100dvh - 2rem); overflow-y: auto; border-radius: inherit; }
.demo-dialog__close { z-index: 2; }
@media(max-width:40rem) { .demo-dialog__layout { max-height: calc(100dvh - 1rem); } }
.product-hero__frame { overflow: visible; }
.product-hero__frame img { border-radius: 12px; }

/* HS lookup uses one consistent, full-width content frame. */
body[data-page-id="hs-code-finder"] .st-page__head,
body[data-page-id="hs-code-finder"] .st-page__head h1,
body[data-page-id="hs-code-finder"] .st-page__head .st-lead,
body[data-page-id="hs-code-finder"] .st-content > section,
body[data-page-id="hs-code-finder"] .st-content p,
body[data-page-id="hs-code-finder"] .st-content li,
body[data-page-id="hs-code-finder"] .hs-faq__answer,
body[data-page-id="hs-code-finder"] .hs-result__desc { max-width: none; }
body[data-page-id="hs-code-finder"] .st-content > section { width: 100%; margin-inline: 0; }
/* Authority-panel rhythm: title/copy, action, supporting note, details. */
body[data-page-id="invoice-verification"] .iv-panel { padding: clamp(1.5rem,3vw,2.5rem); }
body[data-page-id="invoice-verification"] .iv-panel > * { margin-block: 0; }
body[data-page-id="invoice-verification"] .iv-panel > p { margin-top: .85rem; }
body[data-page-id="invoice-verification"] .iv-panel > .iv-official { padding: 0; margin-top: 1.5rem; }
body[data-page-id="invoice-verification"] .iv-official .iv-inline-note { margin-top: .6rem; }
body[data-page-id="invoice-verification"] .iv-panel > .iv-inline-note { margin-top: 1.25rem; }
body[data-page-id="invoice-verification"] .iv-panel > .iv-more { margin-top: 1.5rem; }
body[data-page-id="invoice-verification"] .iv-more summary { padding: .6rem 0; line-height: 1.5; }
body[data-page-id="invoice-verification"] .iv-more summary:focus { outline: none; }
body[data-page-id="invoice-verification"] .iv-more summary:focus-visible { text-decoration: underline; text-underline-offset: .25em; }
body[data-page-id="invoice-verification"] :is(.iv-more,.iv-more > .accordion-content) > h3 { margin: 1.75rem 0 .75rem; font-size: 1.0625rem; color: var(--ink); }
body[data-page-id="invoice-verification"] :is(.iv-more,.iv-more > .accordion-content) > h3 + ul,
body[data-page-id="invoice-verification"] :is(.iv-more,.iv-more > .accordion-content) > h3 + p,
body[data-page-id="invoice-verification"] :is(.iv-more,.iv-more > .accordion-content) > h3 + .st-table-wrap { margin-top: 0; }
body[data-page-id="invoice-verification"] :is(.iv-more,.iv-more > .accordion-content) > ul { margin-bottom: 1.25rem; }
body[data-page-id="invoice-verification"] :is(.iv-more,.iv-more > .accordion-content) > p { margin-top: 1rem; }
body[data-page-id="invoice-verification"] .iv-more li + li { margin-top: .65rem; }
.contact-channels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.contact-channels .safeguard { display: flex; flex-direction: column; gap: 1rem; padding: 2rem 1.5rem; border: 0; border-radius: 12px; background: var(--paper-soft); text-align: center; }
.contact-channels .safeguard__body { display: flex; flex: 1; flex-direction: column; align-items: center; gap: 1.25rem; }
.contact-channels .safeguard__body p { margin: 0; }
.contact-channels .contact-link { margin-top: auto; font-weight: 600; overflow-wrap: anywhere; }
@media(max-width:48rem) { .contact-channels { grid-template-columns: 1fr; } }
/* Shared branded form controls, consistent in-page and in the demo dialog. */
.demo-form .form-field label { color: var(--ink); font-size: .875rem; font-weight: 600; margin-bottom: .55rem; }
.demo-form .form-field input,.demo-form .form-field select,.demo-form .form-field textarea {
    width: 100%; border: 1px solid #c8d9d6; border-radius: 9px; background-color: #f7fbfa; color: var(--ink);
    padding: .9rem 1rem; font-family: inherit; font-size: 1rem; line-height: 1.4;
    box-shadow: inset 0 1px 2px rgba(38,50,56,.025); transition: border-color 160ms ease,background-color 160ms ease,box-shadow 160ms ease;
}
.demo-form .form-field input,.demo-form .form-field select { min-height: 3.35rem; }
.demo-form .form-field input:hover,.demo-form .form-field select:hover,.demo-form .form-field textarea:hover { border-color: #8fb9b1; background-color: #f0f8f5; }
.demo-form .form-field input:focus,.demo-form .form-field select:focus,.demo-form .form-field textarea:focus { outline: none; border-color: var(--accent-ink); background-color: white; box-shadow: 0 0 0 3px rgba(38,166,154,.17); }
.demo-form .form-field input::placeholder,.demo-form .form-field textarea::placeholder { color: #647d79; opacity: 1; }
.demo-form .form-field select { appearance: none; padding-right: 3rem; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 7 5 5 5-5' stroke='%231a7d74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; }
.demo-form .form-field select option { background: white; color: var(--ink); }
.demo-form .form-field input:user-invalid,.demo-form .form-field textarea:user-invalid { border-color: var(--danger); }
.demo-form .form-grid { gap: 1.35rem 1.25rem; }
.demo-dialog .form-grid { gap: 1rem; }
.demo-form .form-status:empty { display: none; }
.demo-form .form-note { margin-top: 1.25rem; }
/* IRIS articles: clear reading rhythm and genuine, attributed screenshots. */
.iris-section { padding-top: 0; }
.st-content > .iris-section + .iris-section { margin-top: 3.25rem; }
.iris-section > h2 { margin: 0 0 1rem; }
.iris-section > p,.iris-section > ul,.iris-section > ol,.iris-section > .st-table-wrap { margin: 1rem 0 0; }
.iris-section p,.iris-section li { line-height: 1.75; }
.iris-section li + li { margin-top: .65rem; }
.iris-section > .iris-action { margin-top: 1.25rem; }
.iris-action { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
.iris-section .st-link-list { padding-left: 1.25rem; }
.iris-section .st-table th { text-transform: none; letter-spacing: 0; font-size: .875rem; }
.iris-section .st-table th,.iris-section .st-table td { padding: 1rem; }
.iris-screenshot { margin: 1.75rem 0; }
.iris-screenshot > a { display: block; }
.iris-screenshot img { display: block; width: 100%; height: auto; border-radius: 9px; border: 1px solid var(--rule); }
.iris-screenshot figcaption { margin-top: .75rem; font-size: .8125rem; line-height: 1.6; color: var(--ink-2); text-align: center; }
.form-select { position: relative; width: 100%; }
.form-select__control { width: 100%; min-height: 3.35rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .9rem 1rem; border: 1px solid #c8d9d6; border-radius: 9px; background: #f7fbfa; color: var(--ink); font-family: inherit; font-size: 1rem; line-height: 1.4; text-align: left; cursor: pointer; transition: border-color 160ms ease,background-color 160ms ease,box-shadow 160ms ease; }
.form-select__control:hover { border-color: #8fb9b1; background: #f0f8f5; }
.form-select__control:focus-visible,.form-select__control[aria-expanded="true"] { outline: none; border-color: var(--accent-ink); background: white; box-shadow: 0 0 0 3px rgba(38,166,154,.17); }
.form-select__arrow { color: var(--accent-ink); display: flex; flex: 0 0 1.25rem; }
.form-select__arrow svg { width: 1.25rem; height: 1.25rem; transition: transform 160ms ease; }
.form-select__control[aria-expanded="true"] .form-select__arrow svg { transform: rotate(180deg); }
.form-select__control.is-empty .form-select__value { color: #647d79; }
.form-select__options { position: fixed; inset: auto; z-index: 200; margin: 0; padding: .4rem; list-style: none; border: 1px solid #d3e2de; border-radius: 10px; background: white; color: var(--ink); box-shadow: 0 12px 32px -10px rgba(38,50,56,.25); overflow-y: auto; overscroll-behavior: contain; font: 1rem/1.4 var(--font-sans); }
.form-select__options::backdrop { background: transparent; }
.form-select__options .form-select__option { position: relative; margin: 0; padding: .7rem 2rem .7rem .8rem; border-radius: 6px; cursor: pointer; min-height: 2.75rem; }
.form-select__option.is-highlighted { background: #f0f7f5; }
.form-select__option[aria-selected="true"] { background: var(--c-teal-ultra); color: var(--accent-press); font-weight: 600; }
.form-select__option[aria-selected="true"]::after { content: ''; position: absolute; right: .85rem; top: 1rem; width: .65rem; height: .35rem; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.form-select__option[aria-disabled="true"] { opacity: .5; cursor: default; }
/* FAQ answers fill their available row; only normal viewport wrapping remains. */
body main :is(.faq-list,.hs-faq,.faq-answer,.hs-faq__answer) { width: 100%; max-width: none !important; }
body main :is(.faq-answer,.hs-faq__answer) :is(p,ul,ol,div) { width: 100%; max-width: none !important; margin-inline: 0 !important; }
.hs-result__meta .hs-badge { margin-right: .65rem; vertical-align: baseline; font-size: .75rem; padding: .15rem .45rem; }
@media(min-width:56rem) {
 .demo-dialog { width: min(72rem,calc(100% - 2rem)); }
 .demo-dialog__layout { grid-template-columns: .7fr 1.3fr; }
}
@media(min-width:62rem) {
 .demo__grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(3rem,5vw,4.5rem); }
}

/* Keep the contact routes readable against the dark demo section. */
.demo p.demo__contact a:not(.btn):not(.st-btn) { color: #80cbc4; text-decoration-color: rgba(128,203,196,.6); }

/* Let fields stack before their contents become cramped. */
.demo-form { container-type: inline-size; }
.demo .form-grid,.demo-dialog .form-grid { grid-template-columns: minmax(0,1fr); }
@container (min-width:32rem) {
 .demo .form-grid,.demo-dialog .form-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
}

.demo-form .form-field :is(input,textarea),.demo-form .form-select__control { font-size: 16px; }
@media(max-width:40rem) {
 .safeguards__partners .logo-row--partners { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
 .safeguards__partners .logo-row--partners li { width: 100%; height: 4.5rem; min-width: 0; }
 .safeguards__partners .logo-row--partners img { max-height: 4rem; }
}

/* Preserve readable columns within a contained mobile scroll area. */
@media(max-width:40rem) {
 .st-table-wrap:has(th:nth-child(3)) { position: relative; }
 .st-table-wrap:has(th:nth-child(3))::before { content: "Swipe to see all columns"; display: block; position: sticky; left: 0; padding: .5rem 0 .75rem; color: var(--ink-2); font-size: .8125rem; }
 .st-table-wrap:has(th:nth-child(3)) table { min-width: 36rem; }
}

/* Keep tool actions aligned despite different description lengths. */
.st-cards--tools .st-card--tool { display: flex; flex-direction: column; }
.st-cards--tools .st-card--tool .st-card__action { margin-top: auto; margin-inline: 0; padding-top: 1.25rem; align-self: stretch; text-align: left; }

.privacy-controls { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }

@media(min-width:72rem) { .st-cards--tools { grid-template-columns: repeat(3,minmax(0,1fr)); } }

/* Center the stacked phone footer. */
@media(max-width:39.99rem) {
 .site-footer { text-align: center; }
 .footer-grid { justify-items: center; }
 .footer-brand { justify-items: center; margin-inline: auto; }
 .footer-brand p { margin-inline: auto; }
 .footer-col { width: 100%; }
 .footer-col ul { justify-items: center; }
 .footer-bottom { justify-content: center; flex-direction: column; align-items: center; }
}

@media(max-width:39.99rem) {
 body[data-page-id="tools-index"] [aria-labelledby="st-tools-help"],body[data-page-id="tools-index"] [aria-labelledby="st-tools-help"] :is(h2,p) { text-align: left; margin-inline: 0; }
}

/* Google permits hiding the badge when this notice remains visible in the form. */
.grecaptcha-badge { visibility: hidden; }
.demo-form .recaptcha-notice { margin: .75rem 0 0; font-size: .75rem; line-height: 1.6; color: var(--ink-2); }

/* Prose callouts have the same breathing room above and below, including at section boundaries. */
.st-content :is(.st-callout, .st-notice, .st-guide-note) { margin-block: 1.5rem; }
.st-content :is(.st-callout, .st-notice, .st-guide-note) > :first-child { margin-top: 0; }
.st-content :is(.st-callout, .st-notice, .st-guide-note) > :last-child { margin-bottom: 0; }
.st-content :is(.st-callout, .st-notice, .st-guide-note) + * { margin-top: 0; }
.st-content > section:has(> :is(.st-callout, .st-notice, .st-guide-note):last-child) + section { margin-top: 0; padding-top: 0; }

/* One native link fills each guide card, including its padding. */
.st-content .st-card--post:has(> .st-guide-card-link) { padding: 0; }
body .st-content .st-guide-card-link { display: flex; flex-direction: column; gap: .75rem; flex: 1; padding: 1.75rem; border-radius: inherit; text-decoration: none; color: var(--ink); }
.st-guide-card-link .st-card__title,.st-guide-card-link .st-card__action { color: var(--accent-ink); }
.st-guide-card-link .st-card__action { display: flex; align-items: center; gap: .5rem; }
.st-guide-card-link .st-card__action .icon { transition: transform 180ms ease; }
.st-guide-card-link:hover .st-card__action .icon { transform: translateX(3px); }
.st-guide-card-link:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .st-guide-card-link .st-card__action .icon { transition: none; } }
