/* Armi — component styles. Colors/fonts come from theme.json presets. */

:root {
	--armi-navy: var(--wp--preset--color--navy);
	--armi-blue: var(--wp--preset--color--blue);
	--armi-amber: var(--wp--preset--color--amber);
	--armi-line: var(--wp--preset--color--line);
	--armi-head: var(--wp--preset--font-family--heading);
}

body { overflow-x: hidden; }
.wp-site-blocks { position: relative; }
.wp-site-blocks > * { margin-block-start: 0; }
:where(.armi-main) > * { margin-block-start: 0; }
a { text-decoration: none; }
.armi-section p a:not(.wp-element-button), .wp-block-post-content p a { text-decoration: underline; }

/* ---------- Header ---------- */
.armi-header-overlay { position: absolute; top: 0; inset-inline: 0; z-index: 50; }
.armi-header { padding-block: 28px; color: #fff; }
.armi-header__inner { gap: 20px; }
.armi-logo { margin: 0; }
.armi-logo img { height: 46px; width: auto; display: block; }
.armi-footer .armi-logo img { height: 44px; }
.armi-nav { gap: 4px; font-size: 16px; font-weight: 500; }
.armi-nav .wp-block-navigation-item__content { padding: 10px 16px; border-radius: 999px; color: var(--wp--preset--color--mist); }
.armi-nav .wp-block-navigation-item__content:hover { color: #fff; }
.armi-nav .current-menu-item > .wp-block-navigation-item__content { color: #fff; background: rgba(255, 255, 255, .12); }
.armi-nav .wp-block-navigation__responsive-container-open { color: #fff; }
.armi-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--armi-navy); color: #fff; padding: 32px 24px; }
.armi-nav .is-menu-open .wp-block-navigation-item__content { font-size: 20px; }
@media (max-width: 599px) {
	.armi-header__cta { display: none; }
}

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; transition: background .15s, color .15s; }
.is-style-armi-navy .wp-block-button__link { background: var(--armi-navy); color: #fff; }
.is-style-armi-navy .wp-block-button__link:hover { background: var(--armi-blue); color: #fff; }
.is-style-armi-outline-light .wp-block-button__link { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .45); }
.is-style-armi-outline-light .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.is-style-armi-large .wp-block-button__link { min-height: 56px; padding-inline: 36px; font-size: 18px; }
.wp-block-buttons { gap: 14px; }

/* ---------- Heroes ---------- */
.armi-hero { background-color: var(--armi-navy); color: #fff; padding-top: 158px; padding-bottom: 96px; }
.armi-hero > * + * { margin-block-start: 20px; }
.armi-waves { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 420' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%232E6FB0' stroke-opacity='.23'%3E%3Cpath d='M0 300C300 220 520 400 860 300S1260 150 1440 210'/%3E%3Cpath d='M0 340C300 260 520 440 860 340S1260 190 1440 250'/%3E%3Cpath d='M0 380C300 300 520 480 860 380S1260 230 1440 290'/%3E%3C/g%3E%3C/svg%3E"); background-size: 100% 100%; background-repeat: no-repeat; }
.armi-hero__title { color: #fff; font-size: var(--wp--preset--font-size--huge); max-width: 760px; text-wrap: balance; }
.armi-hero__title--xl { font-size: var(--wp--preset--font-size--hero); max-width: 600px; }
.armi-hero > .armi-hero__title, .armi-hero > .armi-hero__lead { margin-inline-start: max(0px, (100% - var(--wp--style--global--content-size)) / 2) !important; margin-inline-end: auto !important; }
.armi-hero > .armi-hero__title { max-width: 760px; }
.armi-hero > .armi-hero__lead { max-width: 620px; }
.armi-hero__lead { font-size: 19px; line-height: 1.9; color: var(--wp--preset--color--mist); max-width: 620px; text-wrap: pretty; }
.armi-hero .armi-eyebrow { color: var(--armi-amber); }
.armi-hero .wp-block-post-date { color: var(--armi-amber); font-weight: 600; }
.armi-hero--overlap { padding-bottom: 150px; }

.armi-hero-home { padding: 0; min-height: 0; color: #fff; align-items: flex-start; padding-bottom: 200px; }
.armi-hero-home .wp-block-cover__image-background { object-position: left center; }
.armi-hero-home .wp-block-cover__inner-container { padding-top: 192px; padding-inline: 24px; }
.armi-hero-home__content { gap: 28px; align-items: flex-start; }
.armi-hero-home__content > * { max-width: 600px; }
.armi-hero-home__content .armi-hero__lead { max-width: 520px; }
.armi-pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; font-size: 15px; color: #DCE8F5; line-height: 1.5; }
.armi-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--armi-amber); flex: none; }

/* ---------- Sections ---------- */
.armi-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: 24px; }
.armi-section--tight { padding-top: 72px; }
.armi-section--contact { padding-top: 96px; padding-bottom: var(--wp--preset--spacing--70); }
.armi-section--cta { padding-top: 80px; padding-bottom: var(--wp--preset--spacing--70); }
.armi-section--stack > * + * { margin-block-start: 28px; }
.armi-section--overlap { position: relative; margin-top: -90px !important; padding-top: 0; padding-bottom: 96px; }
.armi-section-head { gap: 14px; }
.armi-section-head > * { max-width: 760px; }
.armi-section-head > .armi-lead { max-width: 640px; }
.armi-section > .armi-section-head { margin-bottom: 48px; }
.armi-eyebrow { font-weight: 600; color: var(--armi-blue); font-size: 16px; }
.armi-lead { font-size: 18px; color: var(--wp--preset--color--slate); }
.armi-head-row { gap: 24px; margin-bottom: 44px; }
.armi-head-row .armi-section-head { margin: 0; }
.armi-text { color: var(--wp--preset--color--slate); font-size: 16px; }
.armi-text--lg { font-size: 17px; }
.armi-prose { font-size: 18px; line-height: 2; color: var(--wp--preset--color--slate-dark); }
.armi-prose + .armi-prose { margin-top: 20px; }
.armi-num { font-family: var(--armi-head); font-size: 15px; color: var(--wp--preset--color--muted); direction: ltr; }
.armi-grid { gap: 22px; }

/* ---------- Cards ---------- */
.armi-card { border: 1px solid var(--armi-line); border-radius: 24px; padding: 32px; transition: transform .2s, box-shadow .2s; position: relative; }
.armi-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(10, 46, 82, .12); }
.armi-service-card { gap: 16px; }
.armi-service-card h3, .armi-step h3, .armi-value__title { margin: 0; }
.armi-card__top { width: 100%; }
.armi-icon { width: 56px; height: 56px; border-radius: 16px; flex: none; padding: 0; }
.armi-icon__img { margin: 0; }
.armi-icon__img img { width: 28px; height: 28px; display: block; }
.armi-service-card .armi-icon__img img { width: 26px; height: 26px; }

.armi-quick-wrap { position: relative; z-index: 2; margin-top: -72px !important; }
.armi-quick-grid { gap: 20px; }
.armi-quick { padding: 26px 28px; border-radius: 22px; gap: 18px; align-items: center; }
.armi-quick__title { font-family: var(--armi-head); font-weight: 600; font-size: 19px; }
.armi-quick__title a { color: inherit; text-decoration: none !important; }
.armi-quick__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }

.armi-logos { gap: 16px; }
.armi-logo-card { padding: 0; border-radius: 18px; overflow: hidden; aspect-ratio: 1 / 1; display: flex; }
.armi-logo-card .wp-block-image { margin: 0; width: 100%; height: 100%; }
.armi-logo-card img { width: 100%; height: 100%; object-fit: cover; display: block; }

.armi-project { padding: 0; margin: 0; overflow: hidden; background: #fff; border-radius: 24px; display: flex; flex-direction: column; }
.armi-project img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.armi-project figcaption { margin: 0; padding: 18px 22px; font-family: var(--armi-head); font-weight: 600; font-size: 17px; border-top: 1px solid var(--armi-line); text-align: start; color: var(--wp--preset--color--ink); }

.armi-step { border-top: 3px solid var(--armi-navy); padding-top: 22px; gap: 10px; }
.armi-step--accent { border-top-color: var(--armi-amber); }
.armi-step .armi-num { text-align: right; }

.armi-value { padding: 36px; gap: 14px; }
.armi-dot { font-size: 0; line-height: 0; }
.armi-dot::before { content: ""; display: block; width: 12px; height: 12px; border-radius: 50%; background: currentColor; }

/* ---------- Stats ---------- */
.armi-stats { margin-top: var(--wp--preset--spacing--70) !important; padding-top: 72px; padding-bottom: 72px; }
.armi-stats__title { color: #fff; font-size: 36px; margin-bottom: 44px; }
.armi-stats__grid { gap: 28px; }
.armi-stat { gap: 8px; align-items: center; text-align: center; }
.armi-stat__num { font-family: var(--armi-head); font-size: 52px; font-weight: 700; color: var(--armi-amber); line-height: 1.1; direction: ltr; }
.armi-stat__label { color: var(--wp--preset--color--mist); font-size: 16px; }

/* ---------- Services page ---------- */
.armi-service { padding: 40px; border-radius: 28px; }
.armi-service:hover { transform: none; box-shadow: none; }
.armi-service__cols { gap: 40px; margin: 0; }
.armi-service__body { gap: 18px; align-items: flex-start; }
.armi-service__title { font-size: var(--wp--preset--font-size--x-large); line-height: 1.35; margin: 0; }
.armi-tile { min-height: 320px; border-radius: 22px; align-items: center; }
.armi-tile .armi-icon__img img { width: 120px; height: 120px; }
.armi-check { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.armi-check li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.7; color: var(--wp--preset--color--slate-dark); }
.armi-check li::before { content: ""; flex: none; width: 8px; height: 8px; margin-top: 10px; border-radius: 50%; background: var(--armi-amber); }

/* ---------- CTA band ---------- */
.armi-cta { border-radius: 32px; padding: 64px 48px; gap: 32px; align-items: center; }
.armi-cta__text { gap: 12px; max-width: 640px; }
.armi-cta h2 { color: #fff; font-size: 38px; line-height: 1.35; margin: 0; }
.armi-cta p { font-size: 18px; color: #E3EDF8; }
@media (max-width: 600px) { .armi-cta { padding: 40px 24px; } .armi-cta h2 { font-size: 28px; } }

/* ---------- Contact ---------- */
.armi-contact-cols { gap: 48px; margin: 0; }
.armi-section--overlap .armi-contact-cols { gap: 24px; }
.armi-info-list { gap: 16px; margin-top: 32px; }
.armi-info { gap: 4px; }
.armi-info__label { font-size: 14px; color: var(--wp--preset--color--muted); }
.armi-info__value { font-size: 18px; font-weight: 500; }
.armi-form-card { border: 1px solid var(--armi-line); border-radius: 28px; padding: 40px; gap: 22px; box-shadow: 0 24px 50px rgba(10, 46, 82, .08); align-items: stretch; }
.armi-form-card__title { font-size: 24px; margin: 0; }
.armi-section--overlap .armi-form-card__title { font-size: 28px; }
.armi-info-card { border-radius: 28px; padding: 40px; gap: 26px; }
.armi-info-card__title { color: #fff; font-size: 26px; margin: 0; }
.armi-info-card .armi-info { gap: 6px; }
.armi-info-card .armi-info__label { color: #9FB6D1; }
.armi-info-card__note { border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 22px; font-size: 15px; color: var(--wp--preset--color--mist); width: 100%; }
@media (max-width: 600px) { .armi-form-card, .armi-info-card, .armi-service { padding: 24px; } }

.armi-form { display: flex; flex-direction: column; gap: 20px; }
.armi-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 18px; }
.armi-fld { display: flex; flex-direction: column; gap: 8px; font-weight: 500; font-size: 15px; color: var(--wp--preset--color--slate-dark); }
.armi-fld input, .armi-fld select, .armi-fld textarea { font-family: inherit; font-size: 16px; min-height: 48px; box-sizing: border-box; padding: 12px 16px; border: 1.5px solid #C5D2E0; border-radius: 14px; background: #fff; color: var(--wp--preset--color--ink); width: 100%; }
.armi-fld input[dir="ltr"] { text-align: right; }
.armi-fld textarea { min-height: 130px; resize: vertical; }
.armi-fld input:focus, .armi-fld select:focus, .armi-fld textarea:focus { outline: 2px solid var(--armi-blue); border-color: var(--armi-blue); }
.armi-form__submit { min-height: 54px; font-size: 17px; border: 0; cursor: pointer; width: 100%; }
.armi-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.armi-thanks { background: #E6F4EA; border-radius: 18px; padding: 28px; color: #14532D; }
.armi-thanks h3 { font-size: 20px; color: #14532D; margin: 0 0 8px; }
.armi-form-error { background: #FDECEC; color: #8A1C1C; border-radius: 14px; padding: 14px 18px; margin-bottom: 16px; font-size: 15px; }

/* ---------- Footer ---------- */
.armi-footer { background: var(--wp--preset--color--navy-deep); color: #fff; padding-top: 64px; padding-bottom: 32px; }
.armi-footer__cols { gap: 40px; padding-bottom: 32px; }
.armi-footer__about { gap: 18px; }
.armi-footer__title { color: #fff; font-size: 17px; font-weight: 600; margin: 0 0 8px; }
.armi-footer__text { font-size: 15px; color: #9FB6D1; max-width: 300px; }
.armi-footer .wp-block-group.is-vertical { gap: 6px; }
.armi-footer__about.is-vertical { gap: 18px; }
.armi-footer__links { list-style: none; padding: 0; margin: 0; }
.armi-footer__links li { padding: 6px 0; }
.armi-footer__links a { color: #9FB6D1; font-size: 15px; text-decoration: none; }
.armi-footer__links a:hover { color: #fff; }
.armi-footer__copy { border-top: 1px solid rgba(255, 255, 255, .12); padding-top: 24px; font-size: 14px; color: #9FB6D1; }

/* ---------- Blog lists ---------- */
.armi-post-card { padding: 0 0 24px; overflow: hidden; background: #fff; gap: 12px; }
.armi-post-card > :not(.wp-block-post-featured-image) { padding-inline: 24px; }
.armi-post-card .wp-block-post-title a { color: inherit; }
.wp-block-post-featured-image img { border-radius: inherit; }

/* Editor: keep overlay header visible on light canvas. */
.editor-styles-wrapper .armi-header-overlay { position: relative; background: var(--armi-navy); }
