/* FIC consultancy child theme. Loaded after Classic's theme.css. Phase 25 visual authority system:
   Plus Jakarta Sans for all text, IBM Plex Mono for labels and figures (both self-hosted, SIL OFL);
   ink and white with one accent colour; amber (#b45309) only for "your move" actions. AA contrast. */
@font-face { font-family: "Plus Jakarta Sans"; src: url(../fonts/plus-jakarta-sans-latin-var.woff2) format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; src: url(../fonts/ibm-plex-mono-latin-500.woff2) format("woff2"); font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  --cs-ink: #0d1d28; --cs-text: #1f2933; --cs-muted: #4b5563; --cs-canvas: #f5f6f8; --cs-line: #e1e5ea;
  --cs-accent: #0a6f8c; --cs-accent-hover: #085a72; --cs-accent-light: #2fb5d2;
  --cs-action: #b45309; --cs-action-hover: #92400e;
  --cs-dark-bg: #06111a;
  --cs-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --cs-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
html { scroll-behavior: smooth; }
body.fic-site { font-family: var(--cs-font); color: var(--cs-text); background: #fff; font-size: 17px; line-height: 1.65; overflow-x: clip; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-feature-settings: "ss01" off; }
body.fic-site h1, body.fic-site h2, body.fic-site h3, body.fic-site h4, body.fic-site .h1, body.fic-site .h2, body.fic-site .h3, body.fic-site .h4 { font-family: var(--cs-font); color: var(--cs-ink); text-transform: none; letter-spacing: -.015em; }
body.fic-site h1, body.fic-site .h1 { font-weight: 800; letter-spacing: -.025em; }
body.fic-site input, body.fic-site select, body.fic-site textarea, body.fic-site button { font-family: inherit; }
body.fic-site a { color: var(--cs-accent); }
body.fic-site a:hover { color: var(--cs-accent-hover); }
body.fic-site :focus-visible { outline: 3px solid var(--cs-accent-light); outline-offset: 2px; }
body.fic-site #wrapper { background: #fff; padding-top: 0; box-shadow: none; }
/* Buttons: Classic's primary button is always the visitor's own action (continue, order, send), so amber */
body.fic-site .btn { text-transform: none; border-radius: 10px; font-weight: 650; letter-spacing: -.005em; }
body.fic-site .btn-primary { background: var(--cs-action); border-color: var(--cs-action); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16); }
body.fic-site .btn-primary:hover, body.fic-site .btn-primary:focus, body.fic-site .btn-primary:active { background: var(--cs-action-hover); border-color: var(--cs-action-hover); color: #fff; }
body.fic-site .btn-primary.disabled, body.fic-site .btn-primary:disabled { background: #6b7280; border-color: #6b7280; color: #fff; cursor: not-allowed; }   /* Phase 41: white text readable (4.8:1; was 2.5:1) */
body.fic-site .btn-secondary, body.fic-site .btn-tertiary { background: #fff; color: var(--cs-ink); border: 1px solid #c3ccd5; box-shadow: none; }
body.fic-site .btn-secondary:hover, body.fic-site .btn-tertiary:hover { border-color: var(--cs-ink); background: #fff; }
.fic-skip { position: absolute; left: -9999px; top: 8px; z-index: 2000; background: #fff; padding: 8px 14px; border-radius: 6px; }
.fic-skip:focus { left: 8px; }

/* Full-width pages: the module's sections run edge to edge */
.fic-bleed { width: 100%; max-width: none; padding: 0; }
.fic-bleed > .row { margin: 0; }
.fic-bleed #content-wrapper { width: 100%; max-width: none; padding: 0; float: none; }
.fic-bleed #main, .fic-bleed #content, .fic-bleed .page-content { margin: 0; padding: 0; background: transparent; box-shadow: none; border: 0; }
.fic-bleed #content.page-home { margin-bottom: 0; }

/* Header: the FIC wordmark with its descriptor, menu, sign-in, basket and the amber "Book a call".
   On the home page it starts dark, continuous with the hero, and turns white once scrolled (custom.js). */
/* Phase 27: the whole header block is sticky and remains in view at all times.
   Semi-transparent at the top (glass), solid with a shadow once scrolled.
   The logo is a transparent PNG so it works on any background. */
#header { position: sticky; top: 0; z-index: 900; background: transparent; box-shadow: none; }
.fic-header { position: relative; background: rgba(255, 255, 255, .75); border-bottom: 1px solid var(--cs-line); -webkit-backdrop-filter: saturate(1.6) blur(14px); backdrop-filter: saturate(1.6) blur(14px); transition: background-color .35s, border-color .35s, box-shadow .35s; }
.fic-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(13, 29, 40, .35); }
/* Keep the header translucent even at the top — never solid white — so the
   site's colour shows through and the header always feels like an overlay. */
.fic-header:not(.is-scrolled):not(.is-dark) { background: rgba(255, 255, 255, .75); }
/* Transparent logo: force no background/box on the brand mark so it blends
   into the header's glass effect on any page or section. */
.fic-brand__logo { background: transparent !important; mix-blend-mode: unset; display: block; }
.fic-brand { background: transparent !important; }
.fic-auth-card__brand { background: transparent !important; }
.fic-brand__logo[src*=".jpg"], .fic-brand__logo[src*=".jpeg"] { filter: drop-shadow(0 2px 4px rgba(0,0,0,.15)); }
/* FIC brand mark consistency: the same mark, wordmark and descriptor appear
   in header, footer and every consultancy page. */
.fic-brand { display: flex; align-items: center; gap: 10px; text-decoration: none !important; color: var(--cs-ink) !important; flex: none; }
.fic-brand__word { font-family: var(--cs-font); font-size: 1.55rem; font-weight: 800; letter-spacing: .02em; line-height: 1; color: inherit; display: inline-flex; align-items: baseline; }
.fic-brand__word::after { content: ""; width: 7px; height: 7px; margin-left: 3px; border-radius: 2px; background: var(--cs-accent-light); }
.fic-brand__desc { font-family: var(--cs-mono); font-size: .62rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; line-height: 1.35; color: var(--cs-muted); max-width: 17em; padding-left: 12px; border-left: 1px solid var(--cs-line); white-space: normal !important; }
.fic-header__bar { display: flex; align-items: center; gap: 20px; min-height: 72px; max-width: 1320px; }
.fic-header__bar a, .fic-header__bar summary, .fic-header__bar button { white-space: nowrap; }
.fic-brand { display: flex; align-items: center; gap: 12px; text-decoration: none !important; color: var(--cs-ink) !important; flex: none; }
.fic-brand__logo { width: auto; height: 40px; flex: none; }
.fic-brand { gap: 10px; }
.fic-footer__name .fic-brand__logo { height: 36px; }
.fic-brand__word { font-family: var(--cs-font); font-size: 1.55rem; font-weight: 800; letter-spacing: .02em; line-height: 1; color: inherit; display: inline-flex; align-items: baseline; }
.fic-brand__word::after { content: ""; width: 7px; height: 7px; margin-left: 3px; border-radius: 2px; background: var(--cs-accent-light); }
.fic-brand__desc { font-family: var(--cs-mono); font-size: .62rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; line-height: 1.35; color: var(--cs-muted); max-width: 17em; padding-left: 12px; border-left: 1px solid var(--cs-line); white-space: normal !important; }
.fic-nav { flex: 1; display: none; }
.fic-nav__list { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; align-items: center; }
.fic-nav__list > li > a, .fic-dd > summary { display: inline-flex; align-items: center; gap: 4px; padding: 10px 11px; border-radius: 8px; color: var(--cs-ink) !important; font-weight: 550; font-size: .95rem; text-decoration: none; cursor: pointer; list-style: none; transition: background .15s, color .15s; }
.fic-dd > summary::-webkit-details-marker { display: none; }
.fic-dd > summary svg { transition: transform .2s; }
.fic-dd[open] > summary svg { transform: rotate(180deg); }
.fic-nav__list > li > a:hover, .fic-dd > summary:hover, .fic-dd[open] > summary { background: var(--cs-canvas); }
.fic-dd { position: relative; }
.fic-dd__panel { position: absolute; top: calc(100% + 10px); left: 0; z-index: 950; min-width: 360px; background: #fff; border: 1px solid var(--cs-line); border-radius: 14px; box-shadow: 0 2px 4px rgba(13, 29, 40, .06), 0 24px 48px -12px rgba(13, 29, 40, .22); padding: 12px; display: flex; flex-direction: column; animation: fic-drop .18s ease-out; }
@keyframes fic-drop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.fic-dd__panel a { padding: 8px 10px; border-radius: 8px; color: var(--cs-ink) !important; text-decoration: none; font-size: .95rem; }
.fic-dd__panel a:hover { background: var(--cs-canvas); }
.fic-dd__h { margin: 12px 10px 4px; font-family: var(--cs-mono); font-size: .68rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--cs-muted); }
.fic-dd__h:first-child { margin-top: 2px; }
.fic-dd__all { margin-top: 6px; border-top: 1px solid var(--cs-line); border-radius: 0 !important; padding-top: 12px !important; font-weight: 650; color: var(--cs-accent) !important; }
.fic-header__actions { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.fic-signin, .fic-cart { display: none; color: var(--cs-ink) !important; font-weight: 550; font-size: .95rem; text-decoration: none; white-space: nowrap; }
.fic-cart span { display: inline-flex; min-width: 22px; height: 22px; border-radius: 11px; background: var(--cs-ink); color: #fff; font-family: var(--cs-mono); font-size: .74rem; align-items: center; justify-content: center; padding: 0 6px; }
.fic-header__cta { display: none; min-height: 44px; padding: 8px 18px; }
.fic-burger { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--cs-line); border-radius: 10px; padding: 8px 12px; color: var(--cs-ink); font-weight: 650; min-height: 44px; }
.fic-mobile { border-top: 1px solid var(--cs-line); background: #fff; max-height: calc(100vh - 72px); overflow-y: auto; padding: 8px 0 20px; }
.fic-mobile a { display: block; padding: 11px 0; color: var(--cs-ink) !important; text-decoration: none; border-bottom: 1px solid var(--cs-canvas); }
.fic-mobile .cs-btn { margin-top: 16px; border: 0; color: #fff !important; }
.fic-mobile__group { margin: 18px 0 2px; font-family: var(--cs-mono); font-size: .7rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--cs-muted); }
.fic-mobile__top { font-weight: 650; }
.fic-header--checkout .fic-header__bar { justify-content: space-between; }
.fic-checkout-note { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--cs-muted); font-size: .92rem; }

/* Dark header (Phase 27, any page): over a dark section, or at the top of a page that opens with one (the home
   hero, the 404). Solid ink at the top so it joins the hero; translucent ink with blur over dark sections. */
/* Phase 28 (brief: "lighten over dark content, darken over light content"): over a dark section the header is a
   lighter frosted ink than the section behind it; over light content a faint canvas tint, a little darker
   than the white page. Text contrast stays AA in both. */
.fic-header.is-dark { background: rgba(30, 62, 82, .5); border-bottom-color: rgba(255, 255, 255, .12); }
.fic-header.is-scrolled:not(.is-dark) { background: rgba(240, 243, 246, .82); border-bottom-color: #d5dbe1; }
.fic-header.is-dark:not(.is-scrolled) { background: #06111a; }
.fic-header .fic-brand, .fic-header .fic-signin, .fic-header .fic-cart, .fic-header .fic-nav__list > li > a, .fic-header .fic-dd > summary, .fic-brand__desc { transition: color .35s, background-color .15s, border-color .35s; }
.fic-header.is-dark .fic-brand, .fic-header.is-dark .fic-signin, .fic-header.is-dark .fic-cart,
.fic-header.is-dark .fic-nav__list > li > a, .fic-header.is-dark .fic-dd > summary { color: #fff !important; }
.fic-header.is-dark .fic-brand__desc { color: #a9b8c3; border-left-color: rgba(255, 255, 255, .18); }
.fic-header.is-dark .fic-nav__list > li > a:hover, .fic-header.is-dark .fic-dd > summary:hover, .fic-header.is-dark .fic-dd[open] > summary { background: rgba(255, 255, 255, .08); }
.fic-header.is-dark .fic-burger { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .3); }
.fic-header.is-dark .fic-cart span { background: #fff; color: var(--cs-ink); }
.fic-header.is-dark .fic-mobile { border-top-color: rgba(255, 255, 255, .08); }
/* Reading progress (Phase 27): the journey line's small-screen form, under the header on long pages */
.fic-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, var(--cs-accent), var(--cs-accent-light)); pointer-events: none; }
@media (min-width: 1280px) { .fic-progress { display: none; } }
html { scroll-padding-top: 96px; }

/* Breadcrumb */
.fic-crumbs { background: #fff; border-bottom: 1px solid var(--cs-canvas); }
.fic-crumbs .breadcrumb { background: transparent; padding: 10px 0; margin: 0; font-size: .88rem; }
.fic-crumbs .breadcrumb li a { color: var(--cs-muted); }

/* Page heads and prose (CMS pages, product descriptions) */
.cs-page-head { background: linear-gradient(180deg, #fff 0%, var(--cs-canvas) 100%); padding: 48px 0 32px; }
.cs-page-head h1 { font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); font-weight: 800; letter-spacing: -.02em; margin: 0; }
.cs-prose { padding-top: 40px; padding-bottom: 56px; max-width: 820px; }
.cs-prose h2:not(.cs-section *):not(.cs-cta *) { font-size: 1.6rem; margin: 2em 0 .6em; }
.cs-prose h3:not(.cs-section *):not(.cs-cta *) { font-size: 1.2rem; margin: 1.6em 0 .5em; }
/* Prose rules stop at embedded consultancysite sections, which carry their own type scale */
.cs-prose p:not(.cs-section *):not(.cs-cta *), .cs-prose li:not(.cs-section *):not(.cs-cta *) { font-size: 1.05rem; line-height: 1.7; color: var(--cs-text); }
.cs-prose ul:not(.cs-section *):not(.cs-cta *), .cs-prose ol:not(.cs-section *):not(.cs-cta *) { padding-left: 1.3em; }
.cs-prose li:not(.cs-section *):not(.cs-cta *) { margin: .35em 0; }
.cs-prose table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: .98rem; }
.cs-prose th, .cs-prose td { border-bottom: 1px solid var(--cs-line); padding: 10px 8px; text-align: left; vertical-align: top; }
.cs-prose th { color: var(--cs-ink); }
.cs-prose .cs-section, .cs-prose .cs-cta, .cs-prose .cs-trust { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.cs-prose .cs-section, .cs-prose .cs-cta { font-size: 17px; text-align: left; }
@media (max-width: 767px) { .cs-prose .cs-section, .cs-prose .cs-cta { font-size: 16px; } }
.cs-prose > :first-child { margin-top: 0; }
.cs-prose .cs-callout { background: var(--cs-canvas); border-left: 4px solid var(--cs-accent); border-radius: 8px; padding: 16px 20px; margin: 1.5em 0; }
.cs-prose .cs-callout p:last-child { margin-bottom: 0; }

/* Package page */
.cs-pkg__hero { background: linear-gradient(180deg, #fff 0%, var(--cs-canvas) 100%); padding: 40px 0 56px; }
.cs-pkg__grid { display: grid; gap: 32px; align-items: start; }
.cs-pkg__title { font-size: clamp(1.9rem, 1.2rem + 2.4vw, 2.8rem); line-height: 1.12; font-weight: 800; letter-spacing: -.02em; margin: 0 0 14px; }
.cs-panel { background: #fff; border: 1px solid var(--cs-line); border-radius: 14px; padding: 24px; box-shadow: 0 1px 2px rgba(13,29,40,.06), 0 12px 32px rgba(13,29,40,.08); display: flex; flex-direction: column; gap: 12px; }
.cs-panel__tier { margin: 0; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cs-accent); }
.cs-panel__price { margin: 0; font-size: 1.7rem; }
.cs-panel__summary ul { padding-left: 1.1em; margin: 0; }
.cs-panel__summary li { margin: 4px 0; }
.cs-panel__order { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: center; margin: 4px 0 0; font-size: .95rem; }
.cs-panel__order button { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-weight: 600; }
.cs-panel__note { margin: 0; font-size: .88rem; color: var(--cs-muted); text-align: center; }
.cs-pkg__next { display: grid; gap: 32px; align-items: start; }
.cs-vat-note { margin-top: 16px; font-size: .9rem; }
.cs-plan .mma-service-plan, .cs-plan .mma-plan { background: #fff; border-radius: 14px; padding: 8px; }
.cs-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.cs-jump a { background: #fff; border: 1px solid var(--cs-line); border-radius: 999px; padding: 6px 14px; color: var(--cs-ink) !important; text-decoration: none; font-weight: 500; }
.cs-jump a:hover { border-color: var(--cs-accent); }
.cs-hero--page { padding: 48px 0 40px; }
.cs-retired { max-width: 760px; }

/* Contact */
.fic-contact { display: grid; gap: 32px; padding: 32px 0 56px; align-items: start; }
.fic-contact .contact-form { background: #fff; padding: 0; box-shadow: none; }
#contact .page-content.card { box-shadow: none; border: 0; background: transparent; }

/* Footer */
#footer { background: #06111a; padding: 0; margin: 0; }
.fic-footer { background: #06111a; color: #c9d4dc; font-family: var(--cs-font); border-top: 1px solid rgba(255, 255, 255, .08); }
.fic-footer__grid { display: grid; gap: 32px; padding-top: 56px; padding-bottom: 40px; }
.fic-footer__name { display: flex; align-items: center; gap: 12px; color: #fff; margin: 0 0 14px; }
.fic-footer__name .fic-brand__desc { color: #a9b8c3; border-left-color: rgba(255, 255, 255, .18); }
.fic-footer__tagline { margin: 0 0 18px; color: #c9d4dc; max-width: 28em; }
.fic-footer__h { color: #fff; font-weight: 700; margin: 0 0 10px; font-size: .95rem; }
.fic-footer ul { list-style: none; padding: 0; margin: 0; }
.fic-footer li { margin: 6px 0; }
.fic-footer a { color: #c9d4dc !important; text-decoration: none; }
.fic-footer a:hover { color: #fff !important; text-decoration: underline; }
.fic-footer .cs-btn--light { color: var(--cs-ink) !important; }
.fic-footer .cs-btn--action { color: #fff !important; text-decoration: none !important; }
.fic-footer__h { font-family: var(--cs-mono); font-weight: 500 !important; font-size: .72rem !important; letter-spacing: .1em; text-transform: uppercase; color: #a9b8c3 !important; }
.fic-footer__legal { border-top: 1px solid rgba(255, 255, 255, .12); padding: 16px 0; font-size: .85rem; }

/* Cart and checkout: prices ex VAT with inc VAT beneath */
body.fic-site .cart-grid-body .card, body.fic-site .cart-grid-right .card, body.fic-site #checkout .card { box-shadow: 0 1px 2px rgba(13,29,40,.06), 0 8px 24px rgba(13,29,40,.06); border-radius: 12px; }
body.fic-site .product-line-grid .cs-price, body.fic-site .cart-summary-products .cs-price { font-size: .95rem; }
body.fic-site .product-line-grid .cs-price__inc, body.fic-site .cart-summary-products .cs-price__inc { flex-basis: 100%; }
.fic-totals .cart-total { background: transparent; font-weight: 700; }
body.fic-site .product-price-and-shipping .cs-price { justify-content: center; }

body.fic-site a.btn-primary, body.fic-site a.btn-primary:hover { color: #fff; }
/* Services have no product photos: no placeholder images in the cart and checkout */
body.fic-site .product-line-grid-left:has(img[src*="default-cart_default"]),
body.fic-site .cart-summary-products .media-left:has(img[src*="default-small_default"]),
body.fic-site .order-confirmation-table .image:has(img[src*="default-medium_default"]) { display: none; }
body.fic-site .product-line-grid-left:has(img[src*="default-cart_default"]) + .product-line-grid-body { width: 58.33%; }
/* Delivery and returns reassurance does not apply to services */
body.fic-site .blockreassurance_product { display: none; }
body.fic-site .product-line-actions .cs-price { display: flex; flex-direction: column; align-items: flex-end; gap: 0; }
body.fic-site .product-line-actions .cs-price__inc { text-align: right; }
body.fic-site .product-line-actions .price { font-size: 1rem; }
/* Third-party widgets kept on the page */
body.fic-site .ets_wa_whatsapp_block { bottom: 88px; }

@media (min-width: 768px) {
  .fic-contact { grid-template-columns: 1.5fr 1fr; }
  .fic-footer__grid { grid-template-columns: 1.4fr repeat(3, 1fr); }
  .fic-signin { display: inline; }
  .fic-header__cta { display: inline-flex; }
  .fic-cart { display: inline-flex; gap: 6px; align-items: center; }
}
@media (min-width: 1200px) {
  .fic-nav { display: block; }
  .fic-burger { display: none; }
  .fic-mobile { display: none !important; }
}
@media (min-width: 992px) {
  .cs-pkg__grid { grid-template-columns: 1.4fr 1fr; gap: 56px; }
  .cs-panel { position: sticky; top: 96px; }
  .cs-pkg__next { grid-template-columns: 1fr 1.2fr; gap: 48px; }
  body.fic-site .ets_wa_whatsapp_block { bottom: 24px; }
}
@media (min-width: 1200px) and (max-width: 1359px) { .fic-header .fic-brand__desc { display: none; } }
@media (max-width: 479px) { .fic-header .fic-brand__desc { display: none; } }
@media (max-width: 767px) {
  body.fic-site { font-size: 16px; }
}
@media print { .fic-header, .cs-sticky, .fic-footer { display: none; } }

/* Privacy notice (ets_gdpr): kept, but compact so it does not cover the first screen */
body.fic-site .gdpr_hook.gdpr_wrapper .gdpr_welcome { padding: 10px 16px !important; height: auto !important; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 16px; }
body.fic-site .gdpr_hook.gdpr_wrapper .gdpr_title { font-size: 13px !important; line-height: 1.45 !important; height: auto !important; margin: 0 !important; }
body.fic-site .gdpr_hook.gdpr_wrapper .gdpr_button { margin: 0 !important; }
body.fic-site .gdpr_hook.gdpr_wrapper .gdpr_btn_accept { padding: 6px 16px !important; font-size: 13px !important; background: var(--cs-accent) !important; border-radius: 6px; }
body.fic-site .gdpr_hook.gdpr_wrapper .gdpr_overlay { height: auto !important; }

/* Classic greys fail AA contrast on this design: paragraphs inherit the text colour; breadcrumb in muted grey */
body.fic-site p { color: inherit; }
body.fic-site .breadcrumb li a, body.fic-site .breadcrumb li a span { color: var(--cs-muted) !important; }
body.fic-site .breadcrumb li > span, body.fic-site .breadcrumb li:last-child span { color: var(--cs-ink) !important; }
body.fic-site .breadcrumb li::after { color: var(--cs-muted); }
body.fic-site .gdpr_hook.gdpr_wrapper .gdpr_welcome, body.fic-site .gdpr_hook.gdpr_wrapper .gdpr_overlay { background: rgba(13, 29, 40, .96) !important; }
body.fic-site .gdpr_hook.gdpr_wrapper .gdpr_title { color: #e8eef2 !important; }
body.fic-site .gdpr_hook.gdpr_wrapper .gdpr_viewmore { color: #8fd6e8 !important; text-decoration: underline; }
body.fic-site .mma-service-plan p, body.fic-site .mma-service-plan small { color: var(--cs-muted); }

/* Service plan on package pages: a numbered timeline of stages (your steps in amber, ours in the
   accent colour), beside what we need, what you receive, acceptance and payment. CSS only. */
body.fic-site .cs-plan .mma-service-plan { background: transparent; padding: 0; }
body.fic-site .cs-plan .mma-sp-title { font-size: 1.05rem; color: var(--cs-ink); margin: 0 0 10px; }
body.fic-site .cs-plan .mma-sp-stages { list-style: none; counter-reset: stage; padding: 0; margin: 0 0 28px; position: relative; }
body.fic-site .cs-plan .mma-sp-stages::before { content: ""; position: absolute; left: 17px; top: 18px; bottom: 18px; width: 2px; background: var(--cs-line); }
body.fic-site .cs-plan .mma-sp-stage { counter-increment: stage; position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 14px 16px 14px 56px; margin: 0 0 10px; background: #fff; border: 1px solid var(--cs-line); border-radius: 12px; }
body.fic-site .cs-plan .mma-sp-stage::before { content: counter(stage); position: absolute; left: 4px; top: 12px; width: 28px; height: 28px; border-radius: 50%; background: var(--cs-ink); color: #fff; font-weight: 700; font-size: .85rem; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 4px var(--cs-canvas); }
body.fic-site .cs-plan .mma-sp-stage.is-you::before { background: var(--cs-signal, #b45309); }
body.fic-site .cs-plan .mma-sp-stage.is-us::before { background: var(--cs-accent); }
body.fic-site .cs-plan .mma-sp-name { font-weight: 700; color: var(--cs-ink); }
body.fic-site .cs-plan .mma-sp-who, body.fic-site .cs-plan .mma-sp-days { margin: 0; border-radius: 999px; padding: 1px 10px; font-size: .8rem; font-weight: 600; background: var(--cs-canvas); color: var(--cs-muted); }
body.fic-site .cs-plan .is-you .mma-sp-who { background: #fef3c7; color: #92400e; }
body.fic-site .cs-plan .is-us .mma-sp-who { background: #e6f3f6; color: var(--cs-accent-hover); }
body.fic-site .cs-plan .mma-sp-desc { flex-basis: 100%; color: var(--cs-muted); font-size: .92rem; }
body.fic-site .cs-plan .mma-sp-summarised .mma-sp-name { font-style: italic; font-weight: 600; }
body.fic-site .cs-plan .mma-sp-list { padding-left: 1.1em; }
body.fic-site .cs-plan .mma-sp-list li { margin: 6px 0; }
@media (min-width: 992px) {
  body.fic-site .cs-plan .mma-service-plan { display: grid; grid-template-columns: 1.35fr 1fr; column-gap: 56px; align-items: start; }
  body.fic-site .cs-plan .mma-service-plan > * { grid-column: 2; }
  body.fic-site .cs-plan .mma-service-plan > .mma-sp-title:first-child { grid-column: 1; grid-row: 1; }
  body.fic-site .cs-plan .mma-service-plan > .mma-sp-stages { grid-column: 1; grid-row: 2 / span 40; }
}
body.fic-site .cs-plan .mma-service-plan > p, body.fic-site .cs-plan .mma-sp-list li { font-size: .95rem; line-height: 1.55; color: var(--cs-text); }
body.fic-site .cs-plan .mma-service-plan > .mma-sp-title { margin-top: 0; }
body.fic-site .cs-plan .mma-service-plan > p, body.fic-site .cs-plan .mma-sp-list { margin: 0 0 22px; }

/* CMS pages: Classic justifies .page-cms text; this design reads left-aligned. Showcase text sits at the top. */
body.fic-site .page-content.page-cms { text-align: left; }
body.fic-site .cs-prose .cs-showcase__grid { align-items: start; }
@media (min-width: 992px) { body.fic-site .cs-prose .cs-showcase__grid > div:first-child { position: sticky; top: 110px; } }

/* Contact form (contactform module): AA contrast for the subject and order lists, file button and field notes.
   Phase 41: the lists and notes sit on the white card, so dark text (white text made the list's options invisible
   until hovered); white text only on the dark file button. */
body.fic-site .contact-form select.form-control, body.fic-site .contact-form select.form-control option { color: var(--cs-ink); background-color: #fff; }
body.fic-site .contact-form .form-control-comment { color: var(--cs-muted); }
body.fic-site .contact-form .bootstrap-filestyle .btn, body.fic-site .contact-form .bootstrap-filestyle .btn .buttonText { color: #fff; }
body.fic-site .contact-form .bootstrap-filestyle .btn { background: var(--cs-ink); color: #fff; }
/* The upload field is positioned inside a padded column: keep it within the phone screen */
body.fic-site .contact-form input[type="file"] { max-width: calc(100% - 30px); }

/* Checkout steps and account pages (Phase 25): the brand type and colours in place of Classic's defaults */
body#checkout.fic-site section.checkout-step .step-title { text-transform: none; font-weight: 750; font-size: 1.3rem; letter-spacing: -.015em; color: var(--cs-ink); border-bottom-color: var(--cs-line); }
body#checkout.fic-site section.checkout-step.-reachable.-current .step-number { background: var(--cs-action); font-family: var(--cs-mono); font-weight: 500; }
body#checkout.fic-site section.checkout-step .done { color: var(--cs-ok, #15803d); }
body#checkout.fic-site section.checkout-step { border-radius: 14px; }
body.fic-site .fic-checkout-legal { display: inline-block; margin-top: 4px; font-size: .88rem; color: var(--cs-muted); }
body.fic-site .page-header h1, body.fic-site .h1.page-header, body.fic-site #main .page-header h1 { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem); text-transform: none; }
body.fic-site .form-control { border-radius: 10px; border-color: #c3ccd5; font-family: var(--cs-font); }
body.fic-site .form-control:focus { border-color: var(--cs-accent); box-shadow: 0 0 0 3px rgba(47, 181, 210, .25); outline: none; }
body.fic-site .custom-radio input[type="radio"]:checked + span { background: var(--cs-accent); }
body.fic-site .custom-checkbox input[type="checkbox"] + span .checkbox-checked { color: var(--cs-accent); }
body.fic-site #main > .page-header, body.fic-site #content-wrapper .page-header { margin-top: 32px; }
body.fic-site .input-group-btn .btn, body.fic-site button[data-action="show-password"] { background: #fff; color: var(--cs-ink); border: 1px solid #c3ccd5; border-left: 0; text-transform: none; font-weight: 600; }
body.fic-site .page-footer .account-link, body.fic-site .page-footer a { color: var(--cs-accent); }
body.fic-site .card, body.fic-site .card-block { border-radius: 14px; }
body.fic-site .cs-section ul[class], body.fic-site .cs-section ol[class] { list-style: none; }
body.fic-site .cs-section ul[class] > li::before { content: none; }

/* Checkout confidence (production polish): assurances under the totals, the account note, next steps */
.fic-assure { list-style: none; margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--cs-line); display: grid; gap: 12px; }
.fic-assure li { display: flex; gap: 10px; align-items: flex-start; font-size: .86rem; line-height: 1.45; color: var(--cs-muted); }
.fic-assure .cs-icon { flex: none; width: 18px; height: 18px; color: var(--cs-accent); margin-top: 1px; }
.fic-assure strong { display: block; color: var(--cs-ink); font-size: .9rem; }
.fic-why-account { margin: 20px auto 0; max-width: 560px; padding: 14px 18px; border: 1px solid var(--cs-line); border-left: 3px solid var(--cs-accent); border-radius: 10px; background: var(--cs-canvas); font-size: .95rem; }
.fic-why-account p { margin: 0; }
.fic-next-steps { margin: 20px 0 4px; padding: 20px 22px; border: 1px solid var(--cs-line); border-radius: 14px; background: #fff; }
.fic-next-steps__title { font-family: var(--cs-mono); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--cs-accent); margin: 0 0 10px; }
.fic-next-steps ol { margin: 0 0 16px; padding-left: 1.2em; }
.fic-next-steps li { margin: 6px 0; }

/* 404 (production polish) */
.fic-404 { padding: 64px 0 80px; }
.fic-404__grid { display: grid; gap: 40px; align-items: center; }
.fic-404__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.fic-404__links a { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .04); color: #fff !important; text-decoration: none; transition: border-color .2s, background .2s; }
.fic-404__links a:hover { border-color: rgba(127, 211, 230, .6); background: rgba(255, 255, 255, .07); }
.fic-404__links span { color: #a9b8c3; font-size: .9rem; }
@media (min-width: 992px) { .fic-404__grid { grid-template-columns: 1.2fr 1fr; gap: 64px; } }

/* Client Workspace presentation (production polish, theme layer only: no module file changed; remove this block
   to return to the module's own look). Stage boxes: our steps in a soft teal, the client's steps in the soft
   amber of "your move" (the renderer sets fill attributes; CSS takes precedence). Cards with more depth. */
body.fic-site .ws-flow svg rect.stage-box[fill="#fff800"] { fill: #e8f4f7; stroke: #9ccbd9; }
body.fic-site .ws-flow svg rect.stage-box[fill="#ffc107"] { fill: #fef3c7; stroke: #e7b770; }
body.fic-site .ws-flow svg rect.stage-box[stroke="#28a745"] { stroke: #15803d; stroke-width: 2; }
body.fic-site .ws-flow svg rect.stage-box[stroke="#0f766e"] { stroke: #0a6f8c; stroke-width: 2.5; }
body.fic-site .ws-flow svg .stage-text { font-family: var(--cs-font); fill: var(--cs-ink); }
body.fic-site .ws-project { border-color: var(--cs-line); border-radius: 16px; box-shadow: 0 1px 2px rgba(13, 29, 40, .05), 0 10px 28px -14px rgba(13, 29, 40, .18); padding: 1.15rem 1.4rem; }
body.fic-site .ws-flowpanel { background: var(--cs-canvas); border-color: var(--cs-line); border-radius: 12px; }
body#pagenotfound .fic-crumbs { display: none; }
body#pagenotfound #content-wrapper, body#pagenotfound #main, body#pagenotfound .page-content { margin: 0; padding: 0; }

/* ==========================================================================================================
   Phase 27 — the FIC design system across every page (presentation only). One set of tokens for depth,
   radius and motion; one button family; one card family; PrestaShop's default forms, alerts, tables,
   account pages, basket and checkout restyled to it. Remove this block to return to Phase 26.
   ========================================================================================================== */
:root {
  --fic-r-card: 16px; --fic-r-ctrl: 10px;
  --fic-elev-1: 0 1px 2px rgba(13, 29, 40, .06), 0 4px 12px -4px rgba(13, 29, 40, .08);
  --fic-elev-2: 0 1px 2px rgba(13, 29, 40, .06), 0 14px 34px -12px rgba(13, 29, 40, .18);
  --fic-elev-3: 0 2px 4px rgba(13, 29, 40, .08), 0 28px 56px -18px rgba(13, 29, 40, .3);
  --fic-glow-action: 0 0 0 4px rgba(245, 158, 11, .16);
  --fic-glow-accent: 0 0 0 4px rgba(47, 181, 210, .16);
  --fic-ease: cubic-bezier(.2, .7, .2, 1);
}

/* Typography: one hierarchy; IBM Plex Mono for labels, references, dates and figures */
body.fic-site h2, body.fic-site .h2 { font-weight: 750; letter-spacing: -.02em; }
body.fic-site h3, body.fic-site .h3, body.fic-site h4, body.fic-site .h4 { font-weight: 700; letter-spacing: -.01em; }
body.fic-site .price, body.fic-site .cs-price, body.fic-site table, body.fic-site .product-price { font-variant-numeric: tabular-nums; }
body.fic-site small, body.fic-site .small { font-size: .86em; }

/* Buttons: the amber "your move" action, the quiet secondary, the light-on-dark; lift, glow, press */
body.fic-site .btn, .cs-btn { transition: background-color .18s, border-color .18s, color .18s, box-shadow .25s, transform .18s var(--fic-ease); }
body.fic-site .btn { min-height: 46px; padding: 10px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; line-height: 1.2; }
body.fic-site .btn-primary:hover, body.fic-site .btn-primary:focus-visible, .cs-btn--action:hover, .cs-btn--primary:hover, .cs-btn--action:focus-visible, .cs-btn--primary:focus-visible {
  transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 14px 28px -12px rgba(180, 83, 9, .75), var(--fic-glow-action); }
body.fic-site .btn-secondary:hover, body.fic-site .btn-tertiary:hover, .cs-btn--secondary:hover, .cs-btn--secondary:focus-visible { transform: translateY(-1px); box-shadow: var(--fic-elev-1); }
.cs-btn--onDark:hover, .cs-btn--onDark:focus-visible, .cs-btn--ghost:hover { box-shadow: 0 0 0 4px rgba(127, 211, 230, .1), 0 0 28px -6px rgba(47, 181, 210, .55); }
body.fic-site .btn:active, .cs-btn:active { transform: translateY(0) scale(.985); box-shadow: none; transition-duration: .06s; }
body.fic-site .btn-primary:disabled, body.fic-site .btn-primary.disabled { transform: none; box-shadow: none; cursor: not-allowed; }
body.fic-site .btn .material-icons { font-size: 20px; }

/* Cards: soft border, layered shadow, lift only where the whole card is a link or an action */
.cs-tier, .cs-engage__card, .cs-case, .cs-credentials li, .cs-steps li, .cs-journey__row, .cs-panel { border-radius: var(--fic-r-card); }
.cs-tier { transition: transform .25s var(--fic-ease), box-shadow .25s, border-color .25s; }
.cs-tier:hover { transform: translateY(-2px); box-shadow: var(--fic-elev-2); border-color: var(--cs-line-strong); }
.cs-tier.is-current:hover { border-color: var(--cs-ink); }
.cs-card__link:focus-visible, .cs-tier:focus-within { box-shadow: var(--fic-elev-2), var(--fic-glow-accent); }
.cs-panel { box-shadow: var(--fic-elev-3); }
.cs-queues li { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: border-color .25s, box-shadow .25s, background-color .25s; }
.cs-queues li:hover { border-color: rgba(127, 211, 230, .45); background: rgba(255, 255, 255, .05); box-shadow: 0 0 32px -10px rgba(47, 181, 210, .45); }
body.fic-site .card { border: 1px solid var(--cs-line); border-radius: var(--fic-r-card); box-shadow: var(--fic-elev-1); }

/* Page heads on Classic's pages (templates/page.tpl, basket): eyebrow, title, a line, the page's network */
body.fic-site #wrapper:has(> .container) { background: var(--cs-canvas); }
body.fic-site .fic-head { position: relative; margin: 0 calc(50% - 50vw) 32px !important; padding: 44px calc(50vw - 50%) 36px; background: linear-gradient(180deg, #fff 0%, var(--cs-canvas) 100%); border-bottom: 1px solid var(--cs-line); }
body.fic-site .fic-head h1 { margin: 0; font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); line-height: 1.12; font-weight: 800; letter-spacing: -.025em; text-transform: none; color: var(--cs-ink); }
body.fic-site .fic-head .cs-eyebrow { margin-bottom: 12px; }
.fic-head__lead, .cs-page-head__lead { margin: 12px 0 0; max-width: 40em; color: var(--cs-muted); font-size: 1.06rem; line-height: 1.6; }
.cs-page-head .cs-eyebrow { margin-bottom: 12px; }
body.fic-site .container #content.page-content.card { border: 1px solid var(--cs-line); border-radius: var(--fic-r-card); box-shadow: var(--fic-elev-1); padding: 28px; background: #fff; }
body.fic-site .container #content.page-content.card:has(> .fic-auth) { border: 0; box-shadow: none; padding: 0; background: transparent; }
body.fic-site .fic-crumbs { background: #fff; }

/* Sign-in and registration: the form in a card beside what the account opens */
.fic-auth { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; margin-bottom: 56px; }
.fic-auth__main { background: #fff; border: 1px solid var(--cs-line); border-radius: var(--fic-r-card); padding: 28px 24px; box-shadow: var(--fic-elev-2); }
.fic-auth__main .login-form, .fic-auth__main .register-form { max-width: 560px; }
.fic-auth__aside { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--fic-r-card); padding: 32px 28px; color: var(--cs-dark-text, #e6edf2);
  background: radial-gradient(520px 300px at 100% 0%, rgba(47, 181, 210, .2), transparent 60%), linear-gradient(160deg, #0b1a24, #123044); box-shadow: var(--fic-elev-2); }
.fic-auth__title { color: #fff !important; font-size: 1.35rem; line-height: 1.3; margin: 0 0 20px; }
.fic-auth__legal { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .12); font-family: var(--cs-mono); font-size: .72rem; letter-spacing: .04em; color: #a9b8c3; }
.fic-nodes { list-style: none; margin: 0; padding: 0; position: relative; }
.fic-nodes::before { content: ""; position: absolute; left: 5px; top: 10px; bottom: 18px; width: 1px; background: rgba(127, 211, 230, .3); }
.fic-nodes li { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 0 0 18px 30px; }
.fic-nodes li::before { content: ""; position: absolute; left: 0; top: 6px; width: 11px; height: 11px; border-radius: 50%; background: #7fd3e6; box-shadow: 0 0 0 4px rgba(47, 181, 210, .18); }
.fic-nodes strong { color: #fff; font-weight: 650; }
.fic-nodes span { color: #a9b8c3; font-size: .93rem; line-height: 1.5; }
@media (min-width: 992px) { .fic-auth { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 32px; } .fic-auth__main { padding: 36px 40px; } .fic-auth__aside { position: sticky; top: 104px; padding: 40px 36px; } }
/* Phase 36: the reCAPTCHA box is a fixed 304 px; on the narrowest phones it pushed the registration page sideways */
@media (max-width: 420px) { body.fic-site .fic-auth .g-recaptcha { transform: scale(.88); transform-origin: 0 0; height: 69px; } }

/* Forms (Classic's label-beside-field grid → labels above full-width fields) */
body.fic-site .form-group.row { margin-left: 0; margin-right: 0; margin-bottom: 18px; display: flex; flex-direction: column; }
body.fic-site .form-group.row > [class*="col-"] { float: none; width: 100%; max-width: 100%; flex: none; padding-left: 0; padding-right: 0; }
body.fic-site .form-group.row > .form-control-label { text-align: left; padding-top: 0; margin-bottom: 6px; font-weight: 650; font-size: .92rem; color: var(--cs-ink); }
body.fic-site .form-group.row > .form-control-comment { padding-top: 6px; font-size: .82rem; color: var(--cs-muted); }
body.fic-site .form-control { min-height: 46px; padding: 10px 14px; background-color: #fff; color: var(--cs-text); font-size: 1rem; transition: border-color .15s, box-shadow .15s; }
body.fic-site .form-control:hover { border-color: #9aa8b5; }
body.fic-site textarea.form-control { min-height: 120px; }
body.fic-site select.form-control { -webkit-appearance: none; appearance: none; padding-right: 40px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230d1d28' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; }
body.fic-site .input-group .form-control { border-radius: var(--fic-r-ctrl) 0 0 var(--fic-r-ctrl); }
body.fic-site .input-group-btn .btn, body.fic-site button[data-action="show-password"] { min-height: 46px; border-radius: 0 var(--fic-r-ctrl) var(--fic-r-ctrl) 0; }
body.fic-site .form-control-label.required::after, body.fic-site label.required::after { content: " *"; color: var(--cs-action); }
body.fic-site .custom-checkbox input[type="checkbox"] + span, body.fic-site .custom-radio { border-color: #9aa8b5; border-radius: 5px; }
body.fic-site .custom-radio { border-radius: 50%; }
body.fic-site .form-footer, body.fic-site .forgot-password { margin-top: 8px; }
body.fic-site .form-footer .btn { min-width: 180px; }
body.fic-site .has-error .form-control, body.fic-site .form-control.is-invalid { border-color: #b91c1c; box-shadow: 0 0 0 3px rgba(185, 28, 28, .12); }
body.fic-site .help-block, body.fic-site .form-control-feedback { color: #b91c1c; font-size: .86rem; }

/* Alerts and notifications */
body.fic-site .alert { position: relative; border: 1px solid var(--cs-line); border-left-width: 4px; border-radius: 12px; padding: 14px 18px; font-size: .95rem; line-height: 1.5; color: var(--cs-text); background: #fff; box-shadow: var(--fic-elev-1); }
body.fic-site .alert-info { border-color: #b9dbe5; border-left-color: var(--cs-accent); background: #f1f8fa; }
body.fic-site .alert-success { border-color: #bbe5c8; border-left-color: #15803d; background: #f0faf3; }
body.fic-site .alert-warning { border-color: #f3d9a6; border-left-color: var(--cs-action); background: #fffaf0; }
body.fic-site .alert-danger { border-color: #f1c0c0; border-left-color: #b91c1c; background: #fdf3f3; }
body.fic-site .alert ul { margin: 0; padding-left: 1.1em; }
body.fic-site #notifications .container:has(*) { padding-top: 16px; }   /* only when there is a message: an empty container left a white strip under the header */

/* Tables (orders, order detail, invoices) */
body.fic-site .table { width: 100%; background: #fff; border: 1px solid var(--cs-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: .95rem; }
body.fic-site .table th, body.fic-site .table thead th { background: var(--cs-canvas); color: var(--cs-muted); font-family: var(--cs-mono); font-weight: 500; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; border: 0; border-bottom: 1px solid var(--cs-line); padding: 12px 16px; vertical-align: middle; }
body.fic-site .table td { border: 0; border-bottom: 1px solid var(--cs-line); padding: 14px 16px; vertical-align: middle; }
body.fic-site .table tbody tr:last-child td { border-bottom: 0; }
body.fic-site .table-striped tbody tr:nth-of-type(odd) { background: transparent; }
body.fic-site .table tbody tr:hover { background: #f8fafb; }
body.fic-site .table-bordered, body.fic-site .table-bordered th, body.fic-site .table-bordered td { border-left: 0; border-right: 0; }
body.fic-site .label-pill, body.fic-site .table .label { display: inline-block; border-radius: 999px; padding: 4px 10px; font-family: var(--cs-mono); font-size: .72rem; font-weight: 500; letter-spacing: .03em; }
body.fic-site .order-actions a, body.fic-site .table td a { font-weight: 600; }

/* Account */
body.fic-site .page-footer { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 8px 0 56px; }
body.fic-site .page-footer a { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; text-decoration: none; }
body.fic-site .page-footer a:hover { text-decoration: underline; }
.fic-back { display: inline-flex; align-items: center; gap: 2px; margin: 16px 0 0; font-weight: 600; text-decoration: none; }

/* ==========================================================================================================
   Phase 29C — Systemic Typography & Visual Harmonization (CSS only, theme layer).
   Universal corporate typography, engineering blueprint grid overlay, duplicate workspace isolation.
   ========================================================================================================== */

/* (Phase 36: 2.1 "Universal Corporate Typography" was removed. It set the brand font on every element with !important
   (body.fic-site *), which switched off the design system's IBM Plex Mono for eyebrows, labels, references and figures,
   and every icon font: Classic's Material Icons showed as empty boxes or as words such as "lock". body and the
   headings already use --cs-font.) */

/* 2.2 Technical Math-Grid Overlay (engineering blueprint feel on light panels) */
body.fic-site #main,
body.fic-site #wrapper,
body.fic-site .page-content,
body.fic-site .fic-head,
body.fic-site .card {
  background-image: radial-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 0);
  background-size: 24px 24px;
}

/* Basket and checkout: the order as the start of an engagement; the steps as a connected journey */
body.fic-site .cart-grid { margin-bottom: 56px; }
body.fic-site .cart-container { padding-top: 8px; }
body.fic-site .cart-summary .cart-summary-line .label, body.fic-site .cart-summary .cart-summary-line .value { font-size: .95rem; }
@media (min-width: 992px) { body.fic-site .cart-grid-right .cart-summary, body#checkout.fic-site #js-checkout-summary { position: sticky; top: 104px; } }
body#checkout.fic-site #checkout-process, body#checkout.fic-site .checkout-process { position: relative; }
body#checkout.fic-site section.checkout-step { position: relative; border: 1px solid var(--cs-line); box-shadow: var(--fic-elev-1); margin-bottom: 18px; background: #fff; transition: border-color .25s, box-shadow .25s; }

/* PMO: company-owned steps show deliverable outcome and what the client will receive */
.mma-step[data-owner="company"] > .panel-heading { border-left: 4px solid var(--cs-accent); }
.mma-step[data-owner="company"].is-current { border-color: rgba(10,111,140,.55); box-shadow: 0 0 0 3px rgba(47,181,210,.15), 0 8px 22px -14px rgba(13, 29, 40, .2); }
.mma-step[data-owner="company"] .mma-deliverable-outcome { font-size: .82rem; color: var(--cs-muted); margin-top: 4px; font-style: italic; }
.mma-step[data-owner="company"] .mma-client-will-see { font-size: .82rem; color: var(--cs-accent); margin-top: 2px; }

/* Company steps summary panel — quick overview of every company-owned step with its deliverable state */
.mma-company-summary { margin: 16px 0; }
.mma-company-summary .panel-heading { background: var(--cs-canvas); border-bottom: 1px solid var(--cs-line); }
.mma-company-grid { display: grid; gap: 10px; margin-top: 12px; }
@media (min-width: 992px) { .mma-company-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); } }
.mma-company-card { border: 1px solid var(--cs-line); border-radius: 10px; padding: 12px 14px; background: #fff; }
.mma-company-card .step-num { font-family: var(--cs-mono); font-size: .78rem; color: var(--cs-muted); }
.mma-company-card h5 { margin: 4px 0 6px; font-size: .95rem; color: var(--cs-ink); }
.mma-company-card .due { font-size: .8rem; color: var(--cs-muted); margin-bottom: 6px; }
.mma-company-card .deliverable { font-size: .82rem; color: var(--cs-accent); font-weight: 600; }
.mma-company-card .no-file { color: #b91c1c; }
.mma-company-card .has-file { color: #15803d; }

/* Staff-only notes panel (internal, never shown to clients). */
.mma-staff-notes { border-left: 4px solid var(--cs-accent); background: #f0f8fa; }
.mma-staff-note { border-bottom: 1px solid var(--cs-line); padding: 8px 0; font-size: .9rem; }
.mma-staff-note:last-child { border-bottom: 0; }
.mma-staff-note .note-who { font-family: var(--cs-mono); font-size: .78rem; color: var(--cs-muted); }
.mma-staff-note .note-text { margin-top: 2px; }

/* All client requests visible in one place on the PMO project page. */
.mma-requests { margin-top: 16px; }
.mma-request { border: 1px solid var(--cs-line); border-radius: 10px; padding: 12px 14px; margin-bottom: 8px; background: #fff; }
.mma-request .req-who { font-family: var(--cs-mono); font-size: .78rem; color: var(--cs-muted); }
.mma-request .req-text { margin-top: 2px; font-size: .9rem; }
.mma-request .req-answered { color: #15803d; font-weight: 600; font-size: .82rem; }
.mma-request .req-waiting { color: #b45309; font-weight: 600; font-size: .82rem; }

/* Visualisation: delivery progress donut for the project header. */
.mma-progress-ring { width: 64px; height: 64px; border-radius: 50%; background: conic-gradient(var(--cs-accent) 0deg, #eef1f4 0deg); display: flex; align-items: center; justify-content: center; font-family: var(--cs-mono); font-size: .72rem; color: var(--cs-ink); font-weight: 700; }
.mma-progress-ring .done { font-size: .95rem; }
.mma-progress-ring .total { font-size: .62rem; opacity: .6; }

/* Visualisations on service/product pages: step timeline as a connected flow. */
.cs-plan-flow { display: flex; gap: 12px; margin: 24px 0; overflow-x: auto; padding-bottom: 12px; }
.cs-plan-flow::-webkit-scrollbar { display: none; }
.cs-plan-step { flex: 0 0 150px; display: flex; flex-direction: column; align-items: center; position: relative; }
.cs-plan-step::after { content: ""; position: absolute; top: 34px; left: calc(50% + 4px); right: calc(-50% + 4px); height: 2px; background: var(--cs-line); z-index: 0; }
.cs-plan-step:last-child::after { display: none; }
.cs-plan-step__node { width: 28px; height: 28px; border-radius: 50%; background: var(--cs-canvas); border: 2px solid var(--cs-line); display: flex; align-items: center; justify-content: center; font-family: var(--cs-mono); font-size: .75rem; font-weight: 700; z-index: 1; position: relative; }
.cs-plan-step.is-company .cs-plan-step__node { border-color: var(--cs-accent); background: #e7f5f9; }
.cs-plan-step.is-client .cs-plan-step__node { border-color: var(--cs-action); background: #fffaf0; }
.cs-plan-step.is-done .cs-plan-step__node { border-color: #15803d; background: #e8f5e9; color: #15803d; }
.cs-plan-step__label { margin-top: 8px; font-size: .8rem; text-align: center; color: var(--cs-muted); font-weight: 500; line-height: 1.3; }
.cs-plan-step__owner { font-family: var(--cs-mono); font-size: .68rem; margin-top: 2px; color: var(--cs-accent); }

/* Responsive: keep the flow readable on phones. */
@media (max-width: 640px) { .cs-plan-step { flex: 0 0 120px; } .cs-plan-step__label { font-size: .72rem; } }
body#checkout.fic-site section.checkout-step:not(:last-child)::after { content: ""; position: absolute; left: 34px; bottom: -19px; height: 18px; width: 2px; background: var(--cs-line-strong); }
body#checkout.fic-site section.checkout-step.-complete:not(:last-child)::after { background: var(--cs-accent); }
body#checkout.fic-site section.checkout-step.-current { border-color: rgba(180, 83, 9, .5); box-shadow: var(--fic-elev-2), var(--fic-glow-action); }
body#checkout.fic-site section.checkout-step .step-number { display: inline-flex; width: 30px; height: 30px; border-radius: 50%; align-items: center; justify-content: center; margin-right: 10px; background: var(--cs-ink); color: #fff; font-family: var(--cs-mono); font-weight: 500; font-size: .85rem; }
body#checkout.fic-site section.checkout-step.-unreachable .step-title { color: var(--cs-muted); }
body#checkout.fic-site section.checkout-step.-unreachable .step-number { background: #e7ebef; color: var(--cs-muted); }
body#checkout.fic-site .payment-options .payment-option { padding: 14px 16px; margin-bottom: 10px; border: 1px solid var(--cs-line); border-radius: 12px; transition: border-color .2s, box-shadow .2s; }
body#checkout.fic-site .payment-options .payment-option:has(input:checked) { border-color: var(--cs-accent); box-shadow: var(--fic-glow-accent); }
body#checkout.fic-site #conditions-to-approve { padding: 14px 16px; border-radius: 12px; background: var(--cs-canvas); }
body#checkout.fic-site #payment-confirmation .btn { width: 100%; min-height: 52px; font-size: 1.05rem; }

/* Order confirmation: an "engagement confirmed" band in the brand's dark field with its network */
body#order-confirmation.fic-site #content-hook_order_confirmation { position: relative; overflow: hidden; isolation: isolate; margin-top: 32px; border: 0; color: #e6edf2;
  background: radial-gradient(800px 400px at 95% 0%, rgba(47, 181, 210, .2), transparent 60%), linear-gradient(160deg, #06111a, #123044); box-shadow: var(--fic-elev-3); }
body#order-confirmation.fic-site #content-hook_order_confirmation .card-title { color: #fff; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem); text-transform: none; font-weight: 800; letter-spacing: -.02em; }
body#order-confirmation.fic-site #content-hook_order_confirmation .card-title .material-icons { color: #4ade80; }
body#order-confirmation.fic-site #content-hook_order_confirmation p, body#order-confirmation.fic-site #content-hook_order_confirmation a:not(.cs-btn) { color: #c9d4dc; }
body#order-confirmation.fic-site .fic-next-steps { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .12); color: #e6edf2; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body#order-confirmation.fic-site .fic-next-steps__title { color: #7fd3e6; }
body#order-confirmation.fic-site .fic-next-steps strong { color: #fff; }

/* Site map */
body#sitemap.fic-site .sitemap h2 { font-family: var(--cs-mono); font-weight: 500; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--cs-muted); border-bottom: 1px solid var(--cs-line); padding-bottom: 8px; }
body#sitemap.fic-site .sitemap a { color: var(--cs-ink); font-weight: 550; }

@media (prefers-reduced-motion: reduce) {
  body.fic-site .btn, .cs-btn, .cs-tier, .fic-header, .cs-queues li { transition: none !important; }
  body.fic-site .btn:hover, .cs-btn:hover, .cs-tier:hover, body.fic-site .btn:active, .cs-btn:active { transform: none !important; }
}
/* Classic narrows sign-in and registration to 640 px; the card and its aside need the column */
body.fic-site .container #content.page-content.card:has(> .fic-auth) { max-width: none; margin: 0; }
.fic-auth__main .login-form, .fic-auth__main .register-form { margin: 0; }
body.fic-site .forgotten-password .form-fields .center-email-fields { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }

/* 404 games (Phase 27): Brickfall first, Lost in Space as the alternative; in the dark hero, under the ways forward */
.fic-play { display: grid; gap: 32px; align-items: start; margin-top: 56px; padding-top: 48px; border-top: 1px solid rgba(255, 255, 255, .1); }
.fic-play__title { color: #fff !important; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); line-height: 1.2; font-weight: 750; letter-spacing: -.02em; margin: 0 0 12px; }
.fic-play__lead { color: #a9b8c3; margin: 0 0 22px; max-width: 32em; }
.fic-play__choose { display: flex; flex-wrap: wrap; gap: 10px; }
.fic-play__choose [aria-pressed="true"] { background: rgba(127, 211, 230, .14); border-color: #7fd3e6; }
.fic-play__back { margin: 20px 0 0; font-size: .92rem; color: #a9b8c3; }
.fic-play__back a { color: #7fd3e6 !important; }
.fic-play__stage:empty { display: none; }
.fic-play__stage { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.fic-play__canvas { display: block; width: min(448px, 100%, calc((100vh - 220px) * .875)); min-width: 240px; aspect-ratio: 448 / 512; border-radius: 12px; border: 1px solid rgba(127, 211, 230, .25); background: #0b1a24; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6), 0 0 0 6px rgba(255, 255, 255, .03); touch-action: none; cursor: crosshair; }
.fic-play__canvas:focus-visible { outline: 3px solid #7fd3e6; outline-offset: 4px; }
.fic-play__keys { margin: 0; font-family: var(--cs-mono); font-size: .72rem; letter-spacing: .04em; color: #a9b8c3; text-align: center; }
.fic-play__keys .is-touch, .fic-play__pad { display: none; }
.fic-play__pad { gap: 10px; }
.fic-play__pad button { width: 76px; height: 52px; font-family: var(--cs-mono); font-weight: 500; font-size: 1rem; background: rgba(255, 255, 255, .06); color: #fff; border: 1px solid rgba(255, 255, 255, .25); border-radius: 10px; user-select: none; -webkit-user-select: none; touch-action: none; }
@media (pointer: coarse) { .fic-play__keys .is-touch { display: inline; } .fic-play__keys .is-keys { display: none; } .fic-play__pad { display: flex; } }
@media (min-width: 992px) { .fic-play.is-playing { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; } }
body.fic-site .input-group-btn > .btn[data-action="show-password"] { background: #fff; color: var(--cs-ink); border: 1px solid #c3ccd5; border-left: 0; font-size: .85rem; font-weight: 650; }
body.fic-site .input-group-btn > .btn[data-action="show-password"]:hover { background: var(--cs-canvas); }

/* Client Workspace (Phase 27, theme layer only — no module file or behaviour changed): the site's width, the
   workspace bar in the brand's dark field, project cards and tiles in the brand colours (the owner's tile
   concept is kept: hover shows the opposite theme, the status tab sits under the card), status bands and
   pills in the brand palette, the filter as a segmented control. */
body.fic-site .ws-main .mma-spacer-container { max-width: 1640px; padding: 0 20px; margin-top: 28px; }
body.fic-site .ws-main { font-family: var(--cs-font);
  --tc-bg: #0f2633; --tc-label: #f1f5f8; --tc-text: #a9b8c3; --tc-border: rgba(127, 211, 230, .18); --tc-line: #2a4556;
  --tc-shadow: 0 1px 2px rgba(13, 29, 40, .2), 0 14px 30px -12px rgba(13, 29, 40, .45), 0 0 0 1px var(--tc-border);
  --tc-h-bg: #fff; --tc-h-label: #0d1d28; --tc-h-text: #4b5563; --tc-h-line: #e1e5ea;
  --tc-h-shadow: 0 1px 2px rgba(13, 29, 40, .06), 0 18px 36px -14px rgba(13, 29, 40, .3), 0 0 0 1px #e1e5ea; }
body.fic-site .ws-main[data-theme="light"] {
  --tc-bg: #fff; --tc-label: #0d1d28; --tc-text: #4b5563; --tc-border: #e1e5ea; --tc-line: #e1e5ea;
  --tc-shadow: 0 1px 2px rgba(13, 29, 40, .06), 0 10px 26px -12px rgba(13, 29, 40, .22), 0 0 0 1px var(--tc-border);
  --tc-h-bg: #0f2633; --tc-h-label: #f1f5f8; --tc-h-text: #a9b8c3; --tc-h-line: #2a4556;
  --tc-h-shadow: 0 2px 4px rgba(13, 29, 40, .2), 0 22px 40px -14px rgba(13, 29, 40, .55); }
body.fic-site .ws-tile-inner { border-radius: 18px; }
body.fic-site .ws-tile-ref { font-family: var(--cs-mono); font-size: .74rem; letter-spacing: .04em; }
body.fic-site .ws-tile-status { font-family: var(--cs-mono); font-weight: 500; font-size: .72rem; letter-spacing: .04em; text-shadow: none; border-radius: 0 0 18px 18px; }
body.fic-site .ws-tile.is-selected .ws-tile-inner { outline-color: var(--cs-accent-light); }
body.fic-site .ws-header { max-width: 1640px; margin: 24px auto 0; padding: 0 20px; }
body.fic-site .ws-header .mma-nav-appbar { border-radius: var(--fic-r-card); padding: 18px 22px; overflow: hidden; isolation: isolate;
  background: radial-gradient(600px 220px at 100% 0%, rgba(47, 181, 210, .22), transparent 60%), linear-gradient(160deg, #06111a, #123044); box-shadow: var(--fic-elev-2); }
body.fic-site .ws-header .mma-welcome-message { margin: 0; line-height: 1.2; color: #fff; font-weight: 750; font-size: 1.25rem; letter-spacing: -.015em; }
body.fic-site .ws-header .mma-tab-link { color: #7fd3e6 !important; font-weight: 600; text-decoration: none; padding: 8px 12px; border-radius: 8px; }
body.fic-site .ws-header .mma-tab-link:hover { background: rgba(255, 255, 255, .08); color: #fff !important; }
/* Client Workspace header (mymembersarea 1.6.3): Book a call, Contact us, Sign out as buttons */
body.fic-site .ws-header .mma-nav-links { display: flex; align-items: center; gap: 10px; }
body.fic-site .ws-header .mma-nav-links li { margin: 0; padding: 0; }
body.fic-site .ws-header .ws-hbtn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 8px 18px; border-radius: var(--fic-r-ctrl, 10px);
  border: 1px solid rgba(255, 255, 255, .38); background: rgba(255, 255, 255, .04); color: #fff !important; font-weight: 650; font-size: .95rem; line-height: 1.2; text-decoration: none !important; white-space: nowrap;
  transition: background-color .15s, border-color .15s, transform .15s; }
body.fic-site .ws-header .ws-hbtn:hover, body.fic-site .ws-header .ws-hbtn:focus-visible { background: rgba(255, 255, 255, .12); border-color: #fff; }
body.fic-site .ws-header .ws-hbtn--action { background: var(--cs-action); border-color: var(--cs-action); box-shadow: 0 8px 20px -10px rgba(180, 83, 9, .8); }
body.fic-site .ws-header .ws-hbtn--action:hover, body.fic-site .ws-header .ws-hbtn--action:focus-visible { background: var(--cs-action-hover); border-color: var(--cs-action-hover); transform: translateY(-1px); }
body.fic-site .ws-main h2, body.fic-site .ws-main .ws-section > h2 { font-size: 1.35rem; font-weight: 750; letter-spacing: -.015em; color: var(--cs-ink); }
body.fic-site .ws-main .ws-meta { font-family: var(--cs-mono); font-size: .74rem; letter-spacing: .04em; color: var(--cs-muted); }
body.fic-site .ws-project { background: #fff; transition: box-shadow .25s, border-color .25s; }
body.fic-site .ws-project:hover { box-shadow: 0 1px 2px rgba(13, 29, 40, .05), 0 18px 36px -16px rgba(13, 29, 40, .26); }
body.fic-site .ws-project .ws-head h3 { font-size: 1.12rem; font-weight: 750; letter-spacing: -.01em; color: var(--cs-ink); }
body.fic-site .ws-service-logo { border-radius: 12px; }
body.fic-site .ws-status { font-family: var(--cs-mono); font-size: .72rem; font-weight: 500; letter-spacing: .04em; padding: 3px 10px; }
body.fic-site .ws-status-active { background: var(--cs-accent-soft, #e8f4f7); color: var(--cs-accent-hover); }
body.fic-site .ws-band-active .ws-band { background: var(--cs-accent); }
body.fic-site .ws-band-delivered .ws-band { background: #0f5e6e; }
body.fic-site .ws-band { border-radius: 11px 0 0 11px; }
body.fic-site .ws-band span { font-family: var(--cs-mono); font-weight: 500; letter-spacing: .04em; font-size: .72rem; }
body.fic-site .ws-filter { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: #fff; border: 1px solid var(--cs-line); }
body.fic-site .ws-filter button { border: 0; background: transparent; border-radius: 999px; padding: 6px 14px; font-weight: 600; font-size: .86rem; color: var(--cs-muted); cursor: pointer; transition: background-color .15s, color .15s; }
body.fic-site .ws-filter button:hover { color: var(--cs-ink); }
body.fic-site .ws-filter button[aria-pressed="true"] { background: var(--cs-ink); color: #fff; }
body.fic-site .ws-linkbtn { color: var(--cs-accent); }
body.fic-site .ws-strip-nav { border-color: var(--cs-line); box-shadow: var(--fic-elev-1); }
/* the "completed" stamp keeps its landing animation; lighter lines and the brand green and mono type */
body.fic-site .ws-flow svg .stage-stamp circle { stroke: #15803d; stroke-width: 2.5; }
body.fic-site .ws-flow svg .stage-stamp polyline { stroke: #15803d; stroke-width: 4; }
body.fic-site .ws-flow svg .stage-stamp text { fill: #15803d; font-family: var(--cs-mono); font-weight: 500; font-size: 10px; letter-spacing: .08em; }
@media (max-width: 767px) {
  body.fic-site .ws-header { margin-top: 16px; padding: 0 16px; }
  body.fic-site .ws-header .mma-nav-appbar { padding: 12px 14px; }
  body.fic-site .ws-header .mma-content-container { flex-wrap: wrap; gap: 4px 8px; padding: 0; }
  body.fic-site .ws-header .mma-header-left-group { width: auto; gap: 10px; }
  body.fic-site .ws-header .mma-welcome-message { font-size: 1.05rem; }
  body.fic-site .ws-header .mma-tab-link { padding: 6px 8px; }
  body.fic-site .ws-header .mma-nav-links { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; margin: 6px 0 0; padding: 0; }
  body.fic-site .ws-header .ws-hbtn { min-height: 38px; padding: 6px 12px; font-size: .88rem; }
  body.fic-site .ws-header .mma-nav-links li { margin: 0; padding: 0; width: auto; }
  body.fic-site .ws-header .ws-day-night { padding: 6px; margin: 0; }
  /* 1.0.3: the day/night switch sits top right, beside the title, not on a line of its own under the buttons */
  body.fic-site .ws-header .mma-nav-appbar { position: relative; }
  body.fic-site .ws-header .mma-nav-links li:last-child { position: absolute; top: 12px; right: 10px; }
}
/* A content page that ends with a full-width section runs straight into the closing call to action */
body.fic-site .cs-prose:has(> .cs-section:last-child) { padding-bottom: 0; }
/* Classic's page footer is empty on content pages and the home page, but its margins left a white strip above the footer */
body.fic-site .page-footer:not(:has(*)) { display: none; }
/* Order details (Phase 27): the workspace link first; the services' line note */
.fic-order-ws { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0 0 20px; padding: 18px 22px; border-radius: var(--fic-r-card); border: 1px solid var(--cs-line); border-left: 4px solid var(--cs-action); background: #fff; box-shadow: var(--fic-elev-1); }
.fic-order-ws p { margin: 0; max-width: 40em; }
.fic-line-note { font-family: var(--cs-mono); font-size: .76rem; letter-spacing: .03em; color: var(--cs-accent-hover); }

/* ==========================================================================================================
   Phase 28 — final brand implementation
   ========================================================================================================== */
/* Search results: the service cards' look for Classic's product grid */
body#search.fic-site #js-product-list-top { display: flex; align-items: center; justify-content: space-between; margin: 0 0 16px; font-family: var(--cs-mono); font-size: .74rem; letter-spacing: .04em; color: var(--cs-muted); }
body#search.fic-site .products-sort-order .select-title { border: 1px solid var(--cs-line-strong); border-radius: var(--fic-r-ctrl); background: #fff; font-family: var(--cs-font); }
body.fic-site .product-miniature .thumbnail-container { border: 1px solid var(--cs-line); border-radius: var(--fic-r-card); box-shadow: var(--fic-elev-1); overflow: hidden; background: #fff; transition: transform .25s var(--fic-ease), box-shadow .25s; }
body.fic-site .product-miniature .thumbnail-container:hover, body.fic-site .product-miniature .thumbnail-container:focus-within { transform: translateY(-3px); box-shadow: var(--fic-elev-2); }
body.fic-site .product-miniature .product-title a { font-family: var(--cs-font); font-weight: 700; color: var(--cs-ink); text-transform: none; }
body.fic-site .product-miniature .highlighted-informations, body.fic-site .product-miniature .product-flags { display: none; }   /* no quick view, no "New" flags on services */
body#search.fic-site .pagination { font-family: var(--cs-mono); font-size: .76rem; }

/* Basket: the delivery process as a connected line of steps */
.fic-process { list-style: none; display: grid; gap: 0; margin: 20px 0 0; padding: 22px 24px; border-radius: var(--fic-r-card); border: 1px solid var(--cs-line); background: #fff; box-shadow: var(--fic-elev-1); }
.fic-process li { position: relative; display: flex; gap: 12px; align-items: flex-start; padding: 0 0 16px; }
.fic-process li:last-child { padding-bottom: 0; }
.fic-process li:not(:last-child)::before { content: ""; position: absolute; left: 13px; top: 28px; bottom: 0; width: 2px; background: var(--cs-line-strong); }
.fic-process b { flex: none; display: inline-flex; width: 28px; height: 28px; border-radius: 50%; align-items: center; justify-content: center; font-family: var(--cs-mono); font-weight: 500; font-size: .8rem; color: #fff; background: var(--cs-accent); }
.fic-process li:first-child b { background: var(--cs-action); }
.fic-process span { display: flex; flex-direction: column; font-size: .9rem; color: var(--cs-muted); line-height: 1.45; }
.fic-process strong { color: var(--cs-ink); font-size: .96rem; }
@media (min-width: 768px) {
  .fic-process { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .fic-process li { flex-direction: column; padding: 0; }
  .fic-process li:not(:last-child)::before { left: 36px; right: -16px; top: 13px; bottom: auto; width: auto; height: 2px; }
}

/* Client Workspace: an application inside the website — a "Client Workspace" badge in the header, no sales call
   button, and a quiet dot-grid canvas behind the work (the website keeps its white sections) */
.fic-app-badge { display: none; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; font-family: var(--cs-mono); font-size: .7rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--cs-accent-hover); background: var(--cs-accent-soft); border: 1px solid #b9dbe5; white-space: nowrap; }
.fic-app-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, .2); }
@media (min-width: 768px) { .fic-app-badge { display: inline-flex; } }
body#module-mymembersarea-membersarea.fic-site .fic-header__cta { display: none !important; }
body#module-mymembersarea-membersarea.fic-site #wrapper { background-color: var(--cs-canvas); background-image: radial-gradient(rgba(13, 29, 40, .07) 1px, transparent 1.2px); background-size: 22px 22px; }
.fic-empty { display: block; padding: 22px 24px; }
.fic-empty p { margin: 0 0 14px; }
.fic-empty__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; }

/* =========================================
   CART & CHECKOUT VISUAL ENHANCEMENTS
   Phase 29: polished cart-to-payment flow
   ========================================= */

body.fic-site .cart-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--cs-line);
}
body.fic-site .cart-item:last-child { border-bottom: 0; }
body.fic-site .cart-item .cart-item-image {
  flex: none;
  width: 72px;
  height: 72px;
  border-radius: var(--fic-r-card);
  border: 1px solid var(--cs-line);
  background: var(--cs-canvas);
}
body.fic-site .cart-item-details { flex: 1; min-width: 0; }
body.fic-site .cart-item-name {
  font-weight: 700;
  color: var(--cs-ink);
  font-size: .96rem;
  margin: 0 0 2px;
}
body.fic-site .cart-item-ref {
  font-family: var(--cs-mono);
  font-size: .76rem;
  color: var(--cs-muted);
  margin: 0;
}
body.fic-site .cart-item-qty {
  font-family: var(--cs-mono);
  font-size: .9rem;
  color: var(--cs-ink);
}

body.fic-site .cart-summary {
  border: 1px solid var(--cs-line);
  border-radius: var(--fic-r-card);
  box-shadow: var(--fic-elev-1);
  background: #fff;
  overflow: hidden;
}
body.fic-site .cart-summary .card-block { padding: 20px 20px 0; }
body.fic-site .cart-summary .cart-summary-line {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--cs-line);
  font-size: .95rem;
}
body.fic-site .cart-summary .cart-summary-line:last-child { border-bottom: 0; }
body.fic-site .cart-summary .cart-summary-line.total {
  border-top: 2px solid var(--cs-line);
  padding-top: 14px;
  margin-top: 10px;
  font-size: 1.05rem;
}
body.fic-site .cart-summary .cart-summary-line.total .value { color: var(--cs-action); }

body.fic-site .btn-checkout {
  background: var(--cs-action);
  border-color: var(--cs-action);
  color: #fff;
  border-radius: 10px;
  font-weight: 700;
  padding: 14px 24px;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-transform: none;
}
body.fic-site .btn-checkout:hover, body.fic-site .btn-checkout:focus {
  background: var(--cs-action-hover);
  border-color: var(--cs-action-hover);
  color: #fff;
}

/* Checkout process steps: connected journey */
body#checkout.fic-site .checkout-step,
body#checkout.fic-site section.checkout-step {
  border: 1px solid var(--cs-line);
  border-radius: var(--fic-r-card);
  box-shadow: var(--fic-elev-1);
  margin-bottom: 20px;
  background: #fff;
  overflow: hidden;
  transition: border-color .25s, box-shadow .25s;
}
body#checkout.fic-site .checkout-step.is-active,
body#checkout.fic-site section.checkout-step.is-active {
  border-color: var(--cs-accent);
  box-shadow: var(--fic-elev-2);
}
body#checkout.fic-site .checkout-step .checkout-step-title,
body#checkout.fic-site section.checkout-step h3,
body#checkout.fic-site section.checkout-step .h3 {
  background: var(--cs-canvas);
  padding: 12px 16px;
  margin: 0;
  font-size: .95rem;
  font-weight: 700;
  color: var(--cs-ink);
  border-bottom: 1px solid var(--cs-line);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body#checkout.fic-site .checkout-step .checkout-step-body,
body#checkout.fic-site section.checkout-step .checkout-step-body {
  padding: 20px;
}

/* Payment method cards */
body.fic-site .payment-method {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 2px solid var(--cs-line);
  border-radius: var(--fic-r-card);
  margin-bottom: 10px;
  background: #fff;
  cursor: pointer;
  transition: all .2s;
}
body.fic-site .payment-method:hover { border-color: var(--cs-accent); }
body.fic-site .payment-method.selected {
  border-color: var(--cs-action);
  background: #f1f8fa;
  box-shadow: 0 0 0 3px rgba(47, 181, 210, .15);
}
body.fic-site .payment-method input[type="radio"] {
  width: 20px;
  height: 20px;
  accent-color: var(--cs-action);
}
body.fic-site .payment-method-label {
  font-weight: 600;
  color: var(--cs-ink);
  font-size: .95rem;
  margin: 0;
}
body.fic-site .payment-method-desc {
  font-size: .82rem;
  color: var(--cs-muted);
  margin: 2px 0 0;
}

/* Order confirmation: success moment */
body.fic-site .order-confirmation-success {
  text-align: center;
  padding: 40px 20px;
  max-width: 560px;
  margin: 0 auto;
}
body.fic-site .order-confirmation-success .checkmark {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #dcfce7;
  color: #15803d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  margin-bottom: 20px;
  box-shadow: var(--fic-elev-2);
}
body.fic-site .order-confirmation-success h1 {
  font-size: 1.5rem;
  color: var(--cs-ink);
  margin: 0 0 12px;
}
body.fic-site .order-confirmation-success p {
  color: var(--cs-muted);
  margin: 0 0 20px;
  font-size: 1rem;
}
body.fic-site .order-reference {
  font-family: var(--cs-mono);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--cs-accent);
  background: #f1f8fa;
  padding: 8px 14px;
  border-radius: 8px;
  display: inline-block;
  margin: 16px 0;
}

/* Empty cart on checkout: guide to services */
body.fic-site .fic-cart-empty-state {
  text-align: center;
  padding: 56px 20px;
}
body.fic-site .fic-cart-empty-state .fic-cart-empty-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--cs-canvas);
  color: var(--cs-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  margin-bottom: 20px;
}
body.fic-site .fic-cart-empty-state h2 {
  color: var(--cs-ink);
  font-size: 1.5rem;
  margin: 0 0 12px;
}
body.fic-site .fic-cart-empty-state p {
  color: var(--cs-text);
  margin: 0 0 28px;
  font-size: 1rem;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

/* Reassurance badges */
body.fic-site .fic-reassurance {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin: 24px 0;
  flex-wrap: wrap;
}
body.fic-site .fic-reassurance-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .85rem;
  color: var(--cs-muted);
  padding: 10px 16px;
  border: 1px solid var(--cs-line);
  border-radius: 8px;
  background: #fff;
}
body.fic-site .fic-reassurance-item i { color: var(--cs-accent); }

/* =========================================
   PHASE 29B — PREMIUM TECH-CONSULTANCY BRANDING
   Dark glassmorphism, immersive typography, asymmetrical spacing,
   HTML5 Canvas damping particle background
   ========================================= */

/* Premium colour palette extension */
:root {
  --fic-glass-bg: rgba(255, 255, 255, 0.72);
  --fic-glass-border: rgba(255, 255, 255, 0.55);
  --fic-glass-shadow: 0 8px 32px rgba(13, 29, 40, 0.12);
  --fic-dark-bg: #06111a;
  --fic-dark-surface: rgba(6, 17, 26, 0.85);
  --fic-dark-border: rgba(255, 255, 255, 0.12);
  --fic-gradient: linear-gradient(135deg, #06111a 0%, #1a2b3c 50%, #0d1d28 100%);
  --fic-accent-glow: rgba(10, 111, 140, 0.4);
  --fic-action-glow: rgba(180, 83, 9, 0.4);
}

/* Particle system canvas container */
.fic-particle-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: auto;
  overflow: hidden;
}
.fic-particle-canvas canvas {
  display: block;
  width: 100%;
  height: 100%;
}

/* Dark glassmorphism panel */
.fic-glass {
  background: var(--fic-glass-bg);
  backdrop-filter: saturate(1.8) blur(16px);
  -webkit-backdrop-filter: saturate(1.8) blur(16px);
  border: 1px solid var(--fic-glass-border);
  border-radius: 20px;
  box-shadow: var(--fic-glass-shadow);
}

/* Premium section wrapper */
.fic-section-premium {
  position: relative;
  overflow: hidden;
  padding: 100px 0;
  background: linear-gradient(180deg, #ffffff 0%, #f5f6f8 40%, #ffffff 100%);
}
.fic-section-premium.dark {
  background: var(--fic-gradient);
  color: #ffffff;
}
.fic-section-premium .container {
  position: relative;
  z-index: 1;
}

/* Asymmetrical layout grid */
.fic-asym-grid {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 48px;
  align-items: center;
}
.fic-asym-grid.reverse {
  grid-template-columns: 1fr 2fr 1fr;
}
.fic-asym-grid .col-span-2 {
  grid-column: span 2;
}

/* Immersive typography */
.fic-display {
  font-family: var(--cs-font);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
}
.fic-display-1 { font-size: clamp(3rem, 6vw, 5.5rem); }
.fic-display-2 { font-size: clamp(2.25rem, 4vw, 3.5rem); }
.fic-display-3 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.fic-lead {
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  line-height: 1.7;
  color: var(--cs-text);
  max-width: 62ch;
}

/* Premium service cards */
.fic-service-card {
  position: relative;
  background: var(--fic-glass-bg);
  backdrop-filter: saturate(1.6) blur(12px);
  border: 1px solid var(--fic-glass-border);
  border-radius: 24px;
  padding: 40px 32px;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s, box-shadow 0.3s;
  text-decoration: none;
  color: inherit;
  display: block;
}
.fic-service-card:hover {
  transform: translateY(-8px);
  border-color: var(--cs-accent);
  box-shadow: 0 20px 40px -10px rgba(10, 111, 140, 0.15);
}
.fic-service-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(10, 111, 140, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  color: var(--cs-accent);
  font-size: 1.5rem;
}
.fic-service-card__title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--cs-ink);
  margin: 0 0 12px;
  letter-spacing: -0.02em;
}
.fic-service-card__desc {
  font-size: 0.95rem;
  color: var(--cs-muted);
  line-height: 1.6;
  margin: 0;
}
.fic-service-card__arrow {
  margin-top: 24px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--cs-accent);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Premium feature highlight */
.fic-feature {
  position: relative;
  padding-left: 40px;
  margin-bottom: 20px;
}
.fic-feature::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: var(--cs-accent);
  background-image: radial-gradient(circle at 30% 30%, #2fb5d2, var(--cs-accent));
  mask-image: none;
}
.fic-feature__title {
  font-weight: 700;
  color: var(--cs-ink);
  font-size: 1.05rem;
  margin: 0 0 6px;
}
.fic-feature__text {
  font-size: 0.9rem;
  color: var(--cs-text);
  line-height: 1.55;
  margin: 0;
}

/* Buttons premium */
.fic-btn-premium {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  border-radius: 14px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  border: none;
  cursor: pointer;
}
.fic-btn-premium--primary {
  background: var(--fic-gradient);
  color: #fff;
  box-shadow: 0 4px 20px rgba(6, 17, 26, 0.3);
}
.fic-btn-premium--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(6, 17, 26, 0.45);
}
.fic-btn-premium--glass {
  background: rgba(255, 255, 255, 0.8);
  color: var(--cs-ink);
  border: 1px solid var(--fic-glass-border);
  backdrop-filter: blur(10px);
}
.fic-btn-premium--glass:hover {
  background: #fff;
  border-color: var(--cs-accent);
  transform: translateY(-2px);
}
.fic-btn-premium--dark {
  background: #06111a;
  color: #fff;
}
.fic-btn-premium--dark:hover {
  background: #1a2b3c;
  transform: translateY(-2px);
}

/* Login / Account gateway premium styling */
.fic-auth-wrapper {
  min-height: 80vh;
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, #f5f6f8 0%, #eef1f4 100%);
}
.fic-auth-card {
  position: relative;
  background: var(--fic-glass-bg);
  backdrop-filter: saturate(1.8) blur(20px);
  border: 1px solid var(--fic-glass-border);
  border-radius: 32px;
  box-shadow: var(--fic-glass-shadow);
  overflow: hidden;
  max-width: 900px;
  margin: 0 auto;
}
.fic-auth-card__bg {
  position: absolute;
  inset: 0;
  background: var(--fic-gradient);
  opacity: 0.12;
  z-index: 0;
}
.fic-auth-card__content {
  position: relative;
  z-index: 1;
  padding: 60px 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.fic-auth-card__brand {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.fic-auth-card__form {
  background: rgba(255, 255, 255, 0.45);
  padding: 40px;
  border-radius: 20px;
  border: 1px solid var(--fic-glass-border);
}
.fic-auth-card__form h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--cs-ink);
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.fic-auth-card__form p {
  color: var(--cs-muted);
  font-size: 0.95rem;
  margin: 0 0 28px;
}
.fic-auth-card__form .form-group {
  margin-bottom: 20px;
}
.fic-auth-card__form label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--cs-ink);
  margin-bottom: 8px;
}
.fic-auth-card__form input {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--fic-glass-border);
  border-radius: 10px;
  font-size: 1rem;
  font-family: inherit;
  background: rgba(255, 255, 255, 0.7);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.fic-auth-card__form input:focus {
  outline: none;
  border-color: var(--cs-accent);
  box-shadow: 0 0 0 3px rgba(10, 111, 140, 0.15);
}
.fic-auth-card__btn {
  width: 100%;
  margin-top: 8px;
}
.fic-auth-aside {
  padding: 40px 32px;
  border-left: 1px solid var(--fic-glass-border);
}
.fic-auth-aside__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--cs-ink);
  margin: 0 0 16px;
}
.fic-auth-aside__list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.fic-auth-aside__list li {
  font-size: 0.95rem;
  color: var(--cs-text);
  margin-bottom: 14px;
  padding-left: 26px;
  position: relative;
}
.fic-auth-aside__list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--cs-accent);
  font-weight: 700;
}

/* Premium PMO back-office configuration */
.fic-pmo-panel {
  background: var(--fic-glass-bg);
  backdrop-filter: saturate(1.6) blur(12px);
  border: 1px solid var(--fic-glass-border);
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 24px;
}
.fic-pmo-panel__title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--cs-ink);
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.fic-pmo-panel__title::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cs-accent);
  display: inline-block;
}

/* Member dashboard premium */
.fic-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-bottom: 32px;
}
.fic-dashboard-card {
  background: var(--fic-glass-bg);
  backdrop-filter: saturate(1.6) blur(12px);
  border: 1px solid var(--fic-glass-border);
  border-radius: 16px;
  padding: 24px;
  transition: transform 0.3s;
}
.fic-dashboard-card:hover {
  transform: translateY(-4px);
}
.fic-dashboard-card__label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--cs-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 8px;
}
.fic-dashboard-card__value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--cs-ink);
  margin: 0;
}
.fic-dashboard-card__value.accent {
  color: var(--cs-accent);
}

/* Section headers */
.fic-section-header {
  text-align: center;
  max-width: 62ch;
  margin: 0 auto 64px;
}
.fic-section-header__eyebrow {
  font-family: var(--cs-mono);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--cs-accent);
  margin: 0 0 12px;
  display: block;
}
.fic-section-header__title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--cs-ink);
  margin: 0 0 16px;
  line-height: 1.1;
}
.fic-section-header__desc {
  font-size: 1.1rem;
  color: var(--cs-muted);
  line-height: 1.7;
  margin: 0;
}

/* Divider */
.fic-divider {
  position: relative;
  margin: 64px 0;
}
.fic-divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--cs-line);
}
.fic-divider__center {
  position: relative;
  display: inline-block;
  padding: 0 32px;
  background: #ffffff;
  color: var(--cs-muted);
  font-size: 0.85rem;
  font-family: var(--cs-mono);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Responsive */
@media (max-width: 992px) {
  .fic-auth-card__content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .fic-auth-aside {
    border-left: none;
    border-top: 1px solid var(--fic-glass-border);
    padding-top: 40px;
  }
  .fic-asym-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .fic-section-premium {
    padding: 64px 0;
  }
}

/* =========================================
   PHASE 29A — PROJECT OVERVIEW & DELIVERY INTELLIGENCE
   ========================================= */

/* Project Overview Panel */
body.fic-site .mma-project-overview {
  border: 1px solid var(--cs-line);
  border-radius: var(--fic-r-card);
  box-shadow: var(--fic-elev-1);
  background: #fff;
  margin-bottom: 20px;
  overflow: hidden;
}
body.fic-site .mma-project-overview .panel-heading {
  background: var(--cs-canvas);
  border-bottom: 1px solid var(--cs-line);
  padding: 12px 16px;
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--cs-ink);
  display: flex;
  align-items: center;
  gap: 8px;
}
body.fic-site .mma-overview__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
  padding: 16px;
}
body.fic-site .mma-overview__col h4 {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cs-muted);
  margin: 0 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--cs-line);
}
body.fic-site .mma-overview__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
body.fic-site .mma-overview__item {
  font-size: 0.9rem;
  color: var(--cs-text);
  margin-bottom: 6px;
  padding: 6px 10px;
  background: #fbfcfd;
  border-radius: 6px;
  border-left: 3px solid var(--cs-accent-light);
}
body.fic-site .mma-overview__item--pending {
  border-left-color: var(--cs-action);
  background: #fffaf0;
}
body.fic-site .mma-overview__item--missing {
  border-left-color: #b91c1c;
  background: #fdf3f3;
  color: #b91c1c;
}
body.fic-site .mma-file-summary {
  margin-top: 8px;
  padding: 8px 10px;
  background: #f1f8fa;
  border-radius: 6px;
  font-size: 0.88rem;
}
body.fic-site .mma-file-count {
  font-weight: 700;
  color: var(--cs-accent);
}
body.fic-site .mma-file-missing {
  font-weight: 700;
  color: #b91c1c;
  margin-left: 8px;
}

/* Delivery Intelligence Panel */
body.fic-site .mma-delivery-intelligence {
  border: 2px solid var(--cs-accent);
  border-radius: var(--fic-r-card);
  background: #fff;
  margin-bottom: 20px;
  overflow: hidden;
}
body.fic-site .mma-delivery-intelligence .panel-heading {
  background: var(--cs-accent);
  color: #fff;
  border-bottom: none;
  padding: 12px 16px;
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}
body.fic-site .mma-delivery-intelligence .panel-heading i {
  color: #fff;
}
body.fic-site .mma-di__objective {
  padding: 16px;
  background: #f1f8fa;
  border-bottom: 1px solid var(--cs-line);
  font-size: 1rem;
}
body.fic-site .mma-di__objective strong {
  color: var(--cs-accent);
}
body.fic-site .mma-di__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  padding: 16px;
}
body.fic-site .mma-di__card {
  background: var(--cs-canvas);
  padding: 12px 16px;
  border-radius: 8px;
  text-align: center;
}
body.fic-site .mma-di__card h5 {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cs-muted);
  margin: 0 0 6px;
}
body.fic-site .mma-di__card .value {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--cs-ink);
  word-wrap: break-word;
}
body.fic-site .mma-di__actions {
  padding: 16px;
}
body.fic-site .mma-di__actions strong {
  display: block;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cs-muted);
  margin-bottom: 8px;
}
body.fic-site .mma-di__action-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
body.fic-site .mma-di__action-list li {
  margin-bottom: 6px;
}
body.fic-site .mma-di-action {
  display: block;
  padding: 8px 12px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 0.9rem;
  border: 1px solid;
  transition: all 0.2s;
}
body.fic-site .mma-di-action--company {
  background: #e3f2fd;
  color: #0a6f8c;
  border-color: #0a6f8c;
}
body.fic-site .mma-di-action--company:hover {
  background: #0a6f8c;
  color: #fff;
}
body.fic-site .mma-di-action--client {
  background: #fffaf0;
  color: #b45309;
  border-color: #b45309;
}
body.fic-site .mma-di-action--client:hover {
  background: #b45309;
  color: #fff;
}
body.fic-site .mma-di-action--missing {
  background: #fdf3f3;
  color: #b91c1c;
  border-color: #b91c1c;
}
body.fic-site .mma-di-action--missing:hover {
  background: #b91c1c;
  color: #fff;
}

/* =========================================
   PHASE 29B STAGE 1 — TECHNICAL MATH-GRID BACKGROUND
   Blueprint-style dot-matrix overlay on white content zones
   ========================================= */

.fic-blueprint-bg {
  background-color: #ffffff;
  background-image: radial-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 0);
  background-size: 24px 24px;
  background-position: 0 0, 0 0;
}

.fic-blueprint-bg-dark {
  background-color: var(--fic-dark-bg);
  background-image: radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 0);
  background-size: 24px 24px;
  background-position: 0 0, 0 0;
}

.fic-site main {
  background-image: radial-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 0);
  background-size: 24px 24px;
  background-position: 0 0, 0 0;
}

.fic-site .fic-glass,
.fic-site .fic-auth-card,
.fic-site .fic-pmo-panel,
.fic-site .fic-dashboard-card {
  background-image: radial-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 0);
  background-size: 20px 20px;
  background-position: 0 0, 0 0;
}

/* PHASE 29B STAGE 1 — Premium harmonization panel */
.fic-harmonized-page {
  background: var(--fic-glass-bg);
  backdrop-filter: saturate(1.8) blur(16px);
  -webkit-backdrop-filter: saturate(1.8) blur(16px);
  border: 1px solid var(--fic-glass-border);
  border-radius: 24px;
  box-shadow: var(--fic-glass-shadow);
  padding: 48px 40px;
  margin: 32px auto;
  max-width: 960px;
}

.fic-harmonized-page h1,
.fic-harmonized-page h2,
.fic-harmonized-page h3 {
  color: var(--cs-ink);
  font-family: var(--cs-font);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.fic-harmonized-page h1 {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  margin-bottom: 24px;
}

.fic-harmonized-page h2 {
  font-size: clamp(1.5rem, 2.5vw, 1.75rem);
  margin-bottom: 16px;
}

.fic-harmonized-page p,
.fic-harmonized-page ul,
.fic-harmonized-page ol {
  color: var(--cs-text);
  font-size: 0.95rem;
  line-height: 1.7;
  margin-bottom: 16px;
}

.fic-harmonized-page ul,
.fic-harmonized-page ol {
  padding-left: 24px;
}

.fic-harmonized-page a {
  color: var(--cs-accent);
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-decoration-color: rgba(10, 111, 140, 0.4);
}

.fic-harmonized-page a:hover {
  color: var(--cs-accent-glow);
}
/* PHASE 29B STAGE 1 — Cart & checkout checkout harmonization */
.fic-cart-page {
  background: var(--fic-glass-bg);
  backdrop-filter: saturate(1.8) blur(16px);
  -webkit-backdrop-filter: saturate(1.8) blur(16px);
  border: 1px solid var(--fic-glass-border);
  border-radius: 24px;
  box-shadow: var(--fic-glass-shadow);
  padding: 40px 32px;
  margin: 32px auto;
  max-width: 1000px;
}

.fic-cart-page h1,
.fic-cart-page h2,
.fic-harmonized-page h1,
.fic-harmonized-page h2 {
  color: var(--cs-ink);
  font-family: var(--cs-font);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 24px;
}

.fic-cart-page h1 {
  font-size: clamp(1.75rem, 4vw, 2.25rem);
}

.fic-cart-page .cart-item,
.fic-cart-page .cart-summary,
.fic-cart-page .cart-total {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid var(--fic-glass-border);
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 16px;
}

.fic-cart-page .btn,
.fic-cart-page button.btn {
  background: var(--cs-action);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 12px 24px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  transition: background 0.2s;
}

.fic-cart-page .btn:hover,
.fic-cart-page button.btn:hover {
  background: var(--cs-action-glow);
}

.fic-cart-page .btn-secondary,
.fic-cart-page button.btn-secondary {
  background: rgba(255, 255, 255, 0.7);
  color: var(--cs-ink);
  border: 1px solid var(--fic-glass-border);
}

.fic-cart-page .btn-secondary:hover,
.fic-cart-page button.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.9);
}

.fic-cart-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--fic-glass-border);
}

.fic-cart-item:last-child {
  border-bottom: none;
}

.fic-cart-item-info {
  flex: 1;
}

.fic-cart-item-name {
  font-weight: 600;
  color: var(--cs-ink);
  font-size: 0.95rem;
  margin-bottom: 4px;
}

.fic-cart-item-ref {
  font-family: var(--cs-mono);
  font-size: 0.8rem;
  color: var(--cs-muted);
}

.fic-cart-item-qty {
  font-family: var(--cs-mono);
  font-size: 0.9rem;
  color: var(--cs-ink);
}

.fic-cart-item-price {
  font-weight: 700;
  color: var(--cs-accent);
}

.fic-cart-total-row {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--fic-glass-border);
  font-size: 0.95rem;
}

.fic-cart-total-row.total {
  border-top: 2px solid var(--fic-line);
  padding-top: 14px;
  margin-top: 10px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cs-ink);
}

.fic-cart-total-row.total .value {
  color: var(--cs-action);
}

.fic-auth-page {
  min-height: 80vh;
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, #f5f6f8 0%, #eef1f4 100%);
}

.fic-auth-card {
  position: relative;
  background: var(--fic-glass-bg);
  backdrop-filter: saturate(1.8) blur(20px);
  border: 1px solid var(--fic-glass-border);
  border-radius: 32px;
  box-shadow: var(--fic-glass-shadow);
  overflow: hidden;
  max-width: 900px;
  margin: 0 auto;
}

.fic-auth-card__bg {
  position: absolute;
  inset: 0;
  background: var(--fic-gradient);
  opacity: 0.12;
  z-index: 0;
}

.fic-auth-card__content {
  position: relative;
  z-index: 1;
  padding: 60px 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.fic-auth-card__brand {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.fic-auth-card__form {
  background: rgba(255, 255, 255, 0.45);
  padding: 40px;
  border-radius: 20px;
  border: 1px solid var(--fic-glass-border);
}

.fic-auth-card__form h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--cs-ink);
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}

.fic-auth-card__form p {
  color: var(--cs-muted);
  font-size: 0.95rem;
  margin: 0 0 28px;
}

.fic-auth-card__form .form-group {
  margin-bottom: 20px;
}

.fic-auth-card__form label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--cs-ink);
  margin-bottom: 8px;
}

.fic-auth-card__form input {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--fic-glass-border);
  border-radius: 10px;
  font-size: 1rem;
  font-family: inherit;
  background: rgba(255, 255, 255, 0.7);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.fic-auth-card__form input:focus {
  outline: none;
  border-color: var(--cs-accent);
  box-shadow: 0 0 0 3px rgba(10, 111, 140, 0.15);
}

.fic-auth-card__btn {
  width: 100%;
  margin-top: 8px;
  background: var(--cs-action);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 14px 24px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.2s;
}

.fic-auth-card__btn:hover {
  background: var(--cs-action-glow);
}

.fic-auth-aside {
  padding: 40px 32px;
  border-left: 1px solid var(--fic-glass-border);
}

.fic-auth-aside__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--cs-ink);
  margin: 0 0 16px;
}

.fic-auth-aside__list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}

.fic-auth-aside__list li {
  font-size: 0.95rem;
  color: var(--cs-text);
  margin-bottom: 14px;
  padding-left: 26px;
  position: relative;
}

.fic-auth-aside__list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--cs-accent);
  font-weight: 700;
}

@media (max-width: 992px) {
  .fic-auth-card__content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .fic-auth-aside {
    border-left: none;
    border-top: 1px solid var(--fic-glass-border);
    padding-top: 40px;
  }
  .fic-cart-page,
  .fic-harmonized-page {
    margin: 24px 16px;
    padding: 32px 24px;
  }
}

/* ============================================================
   PHASE 29C: BRANDING & VISUAL AUTHORITY SYSTEM
   Graph paper backgrounds, transparent containers, premium spacing,
   tablet-responsive design
   ============================================================ */

/* --- Graph paper background variables --- */
:root {
  --fic-graph-ink: rgba(13, 29, 40, 0.06);
  --fic-graph-accent: rgba(10, 111, 140, 0.04);
  --fic-graph-grid: 24px;
  --fic-graph-major: 120px;
}

/* --- Body: graph paper background instead of flat white --- */
body.fic-site {
  background-color: var(--cs-canvas);
  background-image:
    /* Minor grid lines */
    linear-gradient(var(--fic-graph-ink) 1px, transparent 1px),
    linear-gradient(90deg, var(--fic-graph-ink) 1px, transparent 1px),
    /* Major grid lines slightly darker */
    linear-gradient(var(--fic-graph-accent) 1px, transparent 1px),
    linear-gradient(90deg, var(--fic-graph-accent) 1px, transparent 1px);
  background-size:
    var(--fic-graph-grid) var(--fic-graph-grid),
    var(--fic-graph-grid) var(--fic-graph-grid),
    var(--fic-graph-major) var(--fic-graph-major),
    var(--fic-graph-major) var(--fic-graph-major);
  background-position:
    0 0, 0 0,
    0 0, 0 0;
}

/* --- Transparent container system --- */
/* Page wrapper: transparent so graph paper shows through */
body.fic-site #wrapper {
  background: transparent !important;
}

/* Main content containers: transparent cards on graph paper */
body.fic-site .fic-bleed,
body.fic-site .cs-wrap,
body.fic-site .container {
  background: transparent !important;
}

/* White cards: keep but make them semi-transparent with subtle borders. Phase 36: not the dark "What you get" card
   (its white text was unreadable on every package page) and not the current option (it lost its ink border). */
body.fic-site .card,
body.fic-site .cs-panel,
body.fic-site .cs-tier:not(.is-current),
body.fic-site .cs-engage__card:not(.is-get),
body.fic-site .cs-case,
body.fic-site .cs-credentials li,
body.fic-site .cs-steps li,
body.fic-site .cs-journey__row {
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(13, 29, 40, 0.08) !important;
  box-shadow: 0 1px 3px rgba(13, 29, 40, 0.04), 0 4px 12px -4px rgba(13, 29, 40, 0.06) !important;
}

/* --- Sign-in & registration card: transparent instead of stark white --- */
body.fic-site .fic-auth__main {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(6px);
  border: 1px solid rgba(13, 29, 40, 0.1) !important;
  box-shadow: var(--fic-elev-2) !important;
}

/* --- Contact form: transparent card --- */
body.fic-site #contact .page-content.card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* --- Product pages: transparent cards --- */
body.fic-site .catalog .card,
body.fic-site .product-card,
body.fic-site .product-cover {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(4px);
}

/* --- Cart & checkout: transparent cards --- */
body.fic-site .cart-grid-body .card,
body.fic-site .cart-grid-right .card,
body.fic-site #checkout .card {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(4px);
}

/* --- Spacing: remove wide blank areas --- */
body.fic-site #wrapper {
  margin-top: 0 !important;
}

body.fic-site #content-wrapper {
  padding-top: 0 !important;
}

body.fic-site .page-header,
body.fic-site .fic-head {
  margin-top: 0 !important;
}

/* --- Forms: tighter spacing --- */
body.fic-site .form-group.row {
  margin-bottom: 14px !important;
}

body.fic-site .form-control {
  min-height: 44px !important;
}

/* --- Buttons: consistent sizing --- */
body.fic-site .btn,
body.fic-site .cs-btn {
  min-height: 44px !important;
  padding: 10px 24px !important;
}

/* --- Tablet (pads) responsive: 768px - 1023px --- */
@media (min-width: 768px) and (max-width: 1023px) {
  body.fic-site { font-size: 16px !important; }
  body.fic-site .fic-head,
  body.fic-site .cs-page-head {
    padding: 32px calc(50vw - 50%) 16px !important;
  }
  body.fic-site .fic-auth {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
  }
  body.fic-site .fic-auth__main {
    padding: 28px 24px !important;
  }
  body.fic-site .fic-auth__aside {
    position: static !important;
    padding: 32px 28px !important;
  }
  body.fic-site .cs-plan .mma-service-plan {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
  }
  body.fic-site .cs-plan .mma-service-plan > * { grid-column: 1 !important; }
  body.fic-site .cs-plan .mma-service-plan > .mma-sp-title:first-child { grid-column: 1 !important; grid-row: 1 !important; }
  body.fic-site .cs-plan .mma-service-plan > .mma-sp-stages { grid-column: 1 !important; grid-row: 2 !important; }
  body.fic-site .footer__grid,
  body.fic-site .fic-footer__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px !important;
  }
  body.fic-site .fic-nav { display: none !important; }
  body.fic-site .fic-burger { display: inline-flex !important; }
  body.fic-site .fic-signin { display: none !important; }
  body.fic-site .fic-header__cta { display: none !important; }
  body.fic-site .fic-cart { display: none !important; }
}

/* --- Small tablet / large phone: 600px - 767px --- */
@media (min-width: 600px) and (max-width: 767px) {
  body.fic-site { font-size: 16px !important; }
}

/* --- Phone: up to 599px --- */
@media (max-width: 599px) {
  body.fic-site { font-size: 15px !important; }
  body.fic-site .fic-head,
  body.fic-site .cs-page-head {
    padding: 28px 20px 16px !important;
  }
  body.fic-site .fic-head h1,
  body.fic-site .cs-page-head h1 {
    font-size: 1.6rem !important;
  }
  body.fic-site .legal-cta {
    padding: 24px 20px !important;
    margin: 24px 0 !important;
  }
}

/* (Phase 36: the desktop rule that boxed the page heads into 1,200 px, 20 px out of line with the sections below,
   was removed; the heads bleed full width again and their text is held by .cs-wrap and the container.) */

/* --- Print: hide graph paper --- */
@media print {
  body.fic-site {
    background-image: none !important;
    background-color: #fff !important;
  }
  body.fic-site .card,
  body.fic-site .cs-panel,
  body.fic-site .cs-tier {
    background: #fff !important;
    box-shadow: none !important;
    border: 1px solid #ddd !important;
  }
}

/* ==========================================================================================================
   Phase 36 — CMS documents (legal pages, policies, instructions): cms/page.tpl with consultancysite 1.4.1
   {cs_document}. The document is a card on the engineering grid with its contents beside it as a node list
   (the engagement card's pattern); the site's tokens only. Designed content pages keep .cs-prose.
   ========================================================================================================== */
body.fic-site .fic-doc { padding: 8px 0 72px; text-align: left; }
.fic-doc__grid { display: grid; grid-template-columns: minmax(0, 820px); justify-content: start; gap: 20px 48px; }
@media (min-width: 992px) {
  .fic-doc__grid { grid-template-columns: minmax(0, 780px) 260px; grid-template-areas: "main meta"; }
  .fic-doc__grid.has-toc { grid-template-columns: 220px minmax(0, 780px); grid-template-areas: "toc main" "toc meta"; }
  .fic-doc__toc { grid-area: toc; } .fic-doc__main { grid-area: main; } .fic-doc__meta { grid-area: meta; }
  .fic-doc__grid:not(.has-toc) .fic-doc__meta { align-self: start; position: sticky; top: 112px; flex-direction: column; }
  .fic-doc__grid:not(.has-toc) .fic-doc__meta > div { flex: none; }
  .fic-doc__grid:not(.has-toc) .fic-doc__company { text-align: left; }
  .fic-doc__grid:not(.has-toc) .fic-doc__mark { display: none; }
}
.fic-doc__label { font-family: var(--cs-mono); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cs-accent); margin: 0 0 12px; }

/* contents: a node line down the side, the current section's node lit */
.fic-doc__toc { display: none; }
@media (min-width: 992px) { .fic-doc__toc { display: block; position: sticky; top: 112px; align-self: start; padding-top: 8px; } }
.fic-doc__toc ol { list-style: none; margin: 0; padding: 0; position: relative; }
.fic-doc__toc ol::before { content: ""; position: absolute; left: 4px; top: 10px; bottom: 10px; width: 1px; background: var(--cs-line-strong, #c3ccd5); }
.fic-doc__toc li { position: relative; padding-left: 22px; margin: 0; }
.fic-doc__toc li::before { content: ""; position: absolute; left: 0; top: 11px; width: 9px; height: 9px; border-radius: 50%; background: var(--cs-canvas); border: 2px solid var(--cs-line-strong, #c3ccd5); transition: background .18s, border-color .18s, box-shadow .18s; }
body.fic-site .fic-doc__toc a { display: block; padding: 5px 0; font-size: .9rem; line-height: 1.4; color: var(--cs-muted); text-decoration: none; transition: color .18s; }
body.fic-site .fic-doc__toc a:hover { color: var(--cs-ink); }
.fic-doc__toc li.is-current::before { background: var(--cs-accent); border-color: var(--cs-accent); box-shadow: var(--fic-glow-accent); }
body.fic-site .fic-doc__toc li.is-current a { color: var(--cs-ink); font-weight: 600; }

/* the document */
.fic-doc__main { min-width: 0; }
.fic-doc__body { background: #fff; border: 1px solid var(--cs-line); border-radius: var(--fic-r-card); box-shadow: var(--fic-elev-2); padding: 56px 64px; position: relative; overflow: hidden; }
.fic-doc__body::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--cs-accent), var(--cs-accent-light) 60%, transparent); }
@media (max-width: 767px) { .fic-doc__body { padding: 32px 22px; } }
.fic-doc__body > :first-child { margin-top: 0; }
.fic-doc__body .cs-doc__title { font-family: var(--cs-mono); font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cs-muted); margin: 0 0 8px; }
.fic-doc__body .cs-eyebrow { display: none; }
.fic-doc__body .cs-page-head__lead { font-size: 1.15rem; line-height: 1.6; color: var(--cs-muted); margin: 0 0 8px; max-width: 62ch; }
.fic-doc__body h2 { font-size: 1.3rem; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; color: var(--cs-ink); margin: 32px 0 10px; padding-top: 24px; border-top: 1px solid var(--cs-line); scroll-margin-top: 112px; }
.fic-doc__body > h2:first-of-type { border-top: 0; padding-top: 0; }
.fic-doc__body .cs-doc__title + h2, .fic-doc__body .cs-page-head__lead + h2 { margin-top: 24px; }
.fic-doc__body h3 { font-size: 1.08rem; font-weight: 700; color: var(--cs-ink); margin: 28px 0 8px; }
.fic-doc__body p, .fic-doc__body li { font-size: 1.02rem; line-height: 1.75; color: var(--cs-text); max-width: 70ch; }
.fic-doc__body p { margin: 0 0 14px; }
.fic-doc__body ul, .fic-doc__body ol { padding-left: 1.3em; margin: 0 0 16px; }
.fic-doc__body ul { list-style: disc; } .fic-doc__body ol { list-style: decimal; }
.fic-doc__body li::marker { color: var(--cs-accent); }
.fic-doc__body li { margin: 6px 0; }
body.fic-site .fic-doc__body a { color: var(--cs-accent); text-decoration: underline; text-decoration-color: rgba(10, 111, 140, .35); text-underline-offset: 3px; }
body.fic-site .fic-doc__body a:hover { color: var(--cs-accent-hover); text-decoration-color: currentColor; }
.fic-doc__body strong, .fic-doc__body b { color: var(--cs-ink); font-weight: 650; }
.fic-doc__body img, .fic-doc__body video, .fic-doc__body iframe { display: block; max-width: 100%; height: auto; margin: 20px 0; border: 1px solid var(--cs-line); border-radius: 10px; }
.fic-doc__body table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: .96rem; }
.fic-doc__body th, .fic-doc__body td { border-bottom: 1px solid var(--cs-line); padding: 10px 8px; text-align: left; vertical-align: top; }
.fic-doc__body hr, .fic-doc__body .fic-section-divider { display: none; }

/* the site's own blocks inside a document (Legal & Security Notice): points and steps as node rows, the takeaway
   as the site's callout */
.fic-doc__body .fic-security-point, .fic-doc__body .fic-legal-point, .fic-doc__body .fic-compliance-point, .fic-doc__body .fic-step { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 4px 14px; margin: 18px 0; }
.fic-doc__body .fic-point__icon { width: 12px; height: 12px; margin: 7px 0 0 6px; border-radius: 50%; background: #fff; border: 2px solid var(--cs-accent); box-shadow: var(--fic-glow-accent); }
.fic-doc__body .fic-point__title, .fic-doc__body .fic-step__title, .fic-doc__body .fic-takeaway__title { font-weight: 700; color: var(--cs-ink); line-height: 1.45; }
.fic-doc__body .fic-point__text, .fic-doc__body .fic-step__text, .fic-doc__body .fic-takeaway__text { color: var(--cs-text); line-height: 1.7; max-width: 70ch; }
.fic-doc__body .fic-step__number { width: 26px; height: 26px; border-radius: 50%; background: var(--cs-ink); color: #fff; font: 600 .78rem/26px var(--cs-mono); text-align: center; }
.fic-doc__body .fic-takeaway { background: var(--cs-canvas); border-left: 4px solid var(--cs-accent); border-radius: 8px; padding: 18px 22px; margin: 32px 0 0; }
.fic-doc__body .fic-takeaway__icon { display: none; }

/* who to ask, and the company behind the document */
.fic-doc__meta { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 14px 18px; padding: 22px 26px; border: 1px solid var(--cs-line); border-radius: var(--fic-r-card); background: rgba(255, 255, 255, .86); }
.fic-doc__meta > div { flex: 1 1 260px; }
.fic-doc__meta p { margin: 0; color: var(--cs-text); line-height: 1.6; }
.fic-doc__meta .fic-doc__label { margin-bottom: 4px; }
body.fic-site .fic-doc__meta a { color: var(--cs-accent); font-weight: 600; }
.fic-doc__mark { flex: none; width: 14px; height: 14px; margin-top: 4px; border-radius: 50%; background: var(--cs-ink); border: 2px solid #fff; box-shadow: 0 0 0 1px var(--cs-line-strong, #c3ccd5); }
.fic-doc__company { flex: 0 1 auto; font-family: var(--cs-mono); font-size: .78rem; color: var(--cs-muted) !important; text-align: right; }
@media (max-width: 575px) { .fic-doc__company { text-align: left; } }
@media print { .fic-doc__toc, .fic-doc__meta { display: none; } .fic-doc__body { box-shadow: none; border: 0; padding: 0; } }

/* ==========================================================================================================
   My account (Phase 36, owner's request): every item exactly like the Client Workspace banner (.fic-order-ws) — the
   name in bold running into what it is for, the amber edge, and its own amber button on the right.
   ========================================================================================================== */
.fic-acct { display: flex; flex-direction: column; gap: 28px; margin: 4px 0 48px; }
.fic-acct__group { display: flex; flex-direction: column; gap: 12px; }
.fic-acct__eyebrow { margin: 0 0 2px; font-family: var(--cs-mono); font-size: .72rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--cs-accent); }
.fic-acct__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0; padding: 18px 22px; background: #fff; border: 1px solid var(--cs-line); border-left: 4px solid var(--cs-action); border-radius: var(--fic-r-card); box-shadow: var(--fic-elev-1); }
.fic-acct__text { flex: 1 1 320px; margin: 0; max-width: 40em; color: var(--cs-muted); line-height: 1.6; }
.fic-acct__title { font-weight: 700; color: var(--cs-ink); }
.fic-acct__btn { flex: none; white-space: nowrap; }
.fic-acct__ok { color: #15803d; font-weight: 600; }
.fic-acct__wait { color: #92400e; font-weight: 600; }
.fic-acct__signout { margin: 8px 0 0; text-align: left; }
@media (max-width: 575px) { .fic-acct__btn { width: 100%; justify-content: center; white-space: normal; } }

/* ==========================================================================================================
   Client Workspace (Phase 36, owner's request): wider on large screens — an application, up to 1,600 px of content,
   the site header aligned with it on this page — the engineering grid inside each project's flow panel, and the
   site's eyebrow line before the section headings. The steps' line: mymembersarea report2.css; the strip's line:
   workspace.css.
   ========================================================================================================== */
body#module-mymembersarea-membersarea.fic-site .fic-header__bar { max-width: 1640px; }
body.fic-site .ws-flowpanel { background-color: var(--cs-canvas); background-image: linear-gradient(var(--fic-graph-ink) 1px, transparent 1px), linear-gradient(90deg, var(--fic-graph-ink) 1px, transparent 1px); background-size: var(--fic-graph-grid) var(--fic-graph-grid); }
body.fic-site .ws-section h2 { display: inline-flex; align-items: center; gap: 12px; font-size: 1.35rem; font-weight: 750; letter-spacing: -.015em; color: var(--cs-ink); }
body.fic-site .ws-section h2::before { content: ""; flex: none; width: 22px; height: 2px; border-radius: 2px; background: var(--cs-accent); }
body.fic-site .ws-greeting { font-size: 1.15rem; color: var(--cs-muted); }

/* mymembersarea 1.6.1: a signed-in client's booked calls, counted on "Book a call" (and the phone menu button) */
.has-calls { position: relative; }
.fic-cta-badge { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 8px; padding: 0 6px; border-radius: 11px; background: #fff; color: var(--cs-action); font: 700 .78rem/1 var(--cs-font); box-shadow: 0 0 0 2px rgba(255, 255, 255, .35); }
.fic-burger { position: relative; }
.fic-cta-badge--menu { position: absolute; top: -6px; right: -6px; margin: 0; background: var(--cs-action); color: #fff; box-shadow: 0 0 0 2px #fff; }
