/* FirstShield theme: component styles on top of theme.json tokens. */
:root {
  --fs-r-sm: 10px; --fs-r-md: 16px; --fs-r-lg: 24px;
  --fs-ease: cubic-bezier(.2,.7,.2,1);
  --fs-ink: var(--wp--preset--color--ink);
  --fs-line: var(--wp--preset--color--line);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
::selection { background: #CFE1F8; color: var(--fs-ink); }
img { max-width: 100%; height: auto; }

/* ---------- Header ---------- */
.fs-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.78);
  backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .3s, box-shadow .3s, background .3s;
}
.admin-bar .fs-header { top: 32px; }
/* backdrop-filter makes the header the containing block for fixed children, which
   would trap the mobile menu overlay inside the 72px bar. Drop it while the menu is open. */
.fs-header:has(.wp-block-navigation__responsive-container.is-menu-open) { backdrop-filter: none; -webkit-backdrop-filter: none; background: #fff; }
/* Mobile menu: large, left-aligned tap targets. */
.fs-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem; }
.fs-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 3.5rem; }
.fs-header .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
.fs-header .is-menu-open .wp-block-navigation-item { border-bottom: 1px solid var(--fs-line); width: 100%; justify-content: flex-start !important; align-items: stretch !important; }
.fs-header .is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; text-align: left; padding: 1rem 0 !important; font-family: var(--wp--preset--font-family--display); font-size: 1.3rem; font-weight: 700; color: var(--wp--preset--color--navy, #022E47) !important; }
.fs-header.is-scrolled { border-bottom-color: var(--fs-line); box-shadow: 0 6px 24px -18px rgba(2,46,71,.35); background: rgba(255,255,255,.9); }
.fs-header__inner { min-height: 72px; gap: 1.5rem; }
.fs-brand { gap: .6rem; }
.fs-brand .wp-block-site-logo img { width: 40px; height: auto; }
.fs-brand__name { display: inline-flex; align-items: center; gap: .55rem; color: var(--fs-ink) !important; text-decoration: none !important; font-family: var(--wp--preset--font-family--display); line-height: 1; }
.fs-brand__name span { font-weight: 800; font-size: 1.25rem; letter-spacing: -.03em; }
.fs-brand__name small { font-weight: 600; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--primary); align-self: flex-end; padding-bottom: .1rem; }
.fs-brand__name--light { color: #fff !important; margin-bottom: 1rem; }
.fs-brand__name--light small { color: #8DB9EE; }
.fs-nav { margin-left: auto; }
.fs-nav .wp-block-navigation-item__content { color: var(--fs-ink); padding: .4rem .2rem; position: relative; }
.fs-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; border-radius: 2px; background: var(--wp--preset--color--accent); transform: scaleX(0); transition: transform .3s var(--fs-ease); }
.fs-nav .wp-block-navigation-item__content:hover { text-decoration: none; }
.fs-nav .wp-block-navigation-item__content:hover::after, .fs-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.fs-nav .wp-block-navigation__container { gap: 1.6rem; }
.fs-header__cta .wp-block-button__link { padding: .7rem 1.15rem; box-shadow: 0 8px 20px -10px rgba(226,61,79,.8); }
@media (max-width: 960px) { .fs-header__cta { display: none; } }

/* ---------- Shared bits ---------- */
.fs-eyebrow, .fs-eyebrow a { font-family: var(--wp--preset--font-family--display); font-size: .75rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--primary) !important; margin-bottom: .6rem; }
.fs-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #2FD39A; box-shadow: 0 0 0 4px rgba(47,211,154,.18); margin-right: .55rem; vertical-align: middle; }
.fs-pill { display: inline-flex; align-items: center; padding: .45rem .9rem; border-radius: 999px; font-size: .85rem; font-weight: 500; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); color: #DCE9F7; }
.fs-grad-text { background: linear-gradient(92deg, #8EC5FF 0%, #FF9BA6 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fs-section__head { margin-bottom: var(--wp--preset--spacing--60); gap: 1rem; }
.fs-section__head h2 { margin-top: 0; }
.fs-page-head { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--40); }
.fs-main { padding-bottom: var(--wp--preset--spacing--70); }
.fs-main:has(> .fs-hero), .fs-main:has(> .entry-content > .fs-hero:first-child) { padding-bottom: 0; }

/* Buttons */
.wp-element-button, .wp-block-button__link { transition: transform .2s var(--fs-ease), box-shadow .2s, background .2s, color .2s; }
.wp-block-button__link:hover { transform: translateY(-1px); text-decoration: none; }
.wp-block-button.is-style-ghost .wp-block-button__link { background: transparent; color: var(--fs-ink); box-shadow: inset 0 0 0 1.5px var(--fs-line); }
.wp-block-button.is-style-ghost .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px var(--fs-ink); background: transparent; }
.wp-block-button.is-style-light .wp-block-button__link { background: rgba(255,255,255,.1); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.28); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: rgba(255,255,255,.18); }

/* Card / glass group styles */
.is-style-card { background: #fff; border: 1px solid var(--fs-line); border-radius: var(--fs-r-lg); padding: 1.5rem; box-shadow: var(--wp--preset--shadow--card); transition: transform .35s var(--fs-ease), box-shadow .35s; }
.is-style-card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); }
.is-style-glass { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: var(--fs-r-lg); padding: 1.5rem; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 30px 60px -30px rgba(0,0,0,.5); }

/* ---------- Hero ---------- */
.fs-hero { position: relative; overflow: hidden; isolation: isolate; }
.fs-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5;
  background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 56px 56px; mask-image: radial-gradient(ellipse at 70% 30%, #000 0%, transparent 70%); -webkit-mask-image: radial-gradient(ellipse at 70% 30%, #000 0%, transparent 70%); }
.fs-hero::after { content: ""; position: absolute; width: 520px; height: 520px; right: -140px; top: -160px; z-index: -1; border-radius: 50%;
  background: conic-gradient(from 200deg, rgba(31,111,209,.0), rgba(31,111,209,.45), rgba(226,61,79,.35), rgba(31,111,209,0)); filter: blur(60px); animation: fs-float 14s ease-in-out infinite alternate; }
@keyframes fs-float { to { transform: translate(-60px, 60px) rotate(40deg); } }
.fs-hero__title { margin: 1.2rem 0 1rem; }
.fs-hero__lead { color: #C3D4E6; max-width: 34rem; line-height: 1.6; }
.fs-hero__panel { color: var(--wp--preset--color--base); }
.fs-hero__panel-label { text-transform: uppercase; letter-spacing: .14em; font-weight: 700; color: #9FC3EC; margin: 0 0 .75rem; font-family: var(--wp--preset--font-family--display); }

/* ---------- Trust strip ---------- */
.fs-trust { margin-top: -2.25rem; position: relative; z-index: 2; }
.fs-trust__list { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border: 1px solid var(--fs-line); border-radius: var(--fs-r-lg); box-shadow: var(--wp--preset--shadow--lift); overflow: hidden; }
.fs-trust__list li { padding: 1.4rem 1.5rem; display: flex; flex-direction: column; gap: .2rem; }
.fs-trust__list li + li { border-left: 1px solid var(--fs-line); }
.fs-trust__list strong { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; color: var(--fs-ink); }
.fs-trust__list span { font-size: .9rem; color: var(--wp--preset--color--muted); }
@media (max-width: 860px) { .fs-trust__list { grid-template-columns: 1fr 1fr; } .fs-trust__list li:nth-child(3) { border-left: 0; } .fs-trust__list li:nth-child(n+3) { border-top: 1px solid var(--fs-line); } }

/* ---------- Services ---------- */
.fs-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.fs-service { position: relative; padding: 1.75rem; border-radius: var(--fs-r-lg); background: #fff; border: 1px solid var(--fs-line); transition: transform .35s var(--fs-ease), box-shadow .35s, border-color .35s; overflow: hidden; }
.fs-service::after { content: ""; position: absolute; inset: auto -40% -60% auto; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(31,111,209,.10), transparent 70%); opacity: 0; transition: opacity .35s; }
.fs-service:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); border-color: transparent; }
.fs-service:hover::after { opacity: 1; }
.fs-service__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--wp--preset--color--primary-soft); color: var(--wp--preset--color--primary); margin-bottom: 1.1rem; }
.fs-service:nth-child(3n+2) .fs-service__icon { background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--accent); }
.fs-service:nth-child(3n+3) .fs-service__icon { background: var(--wp--preset--color--mint); color: #0E8A6A; }
.fs-service__icon svg { width: 24px; height: 24px; }
.fs-service h3 { margin: 0 0 .45rem; font-size: 1.15rem; }
.fs-service p { margin: 0; color: var(--wp--preset--color--muted); font-size: .97rem; }
@media (max-width: 960px) { .fs-services { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .fs-services { grid-template-columns: 1fr; } }

/* ---------- Steps ---------- */
.fs-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; counter-reset: s; }
.fs-steps li { position: relative; padding: 1.75rem 1.5rem; background: #fff; border-radius: var(--fs-r-lg); border: 1px solid var(--fs-line); }
.fs-steps__n { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 2.6rem; letter-spacing: -.04em; line-height: 1; background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--accent)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fs-steps h3 { margin: .9rem 0 .4rem; }
.fs-steps p { margin: 0; color: var(--wp--preset--color--muted); font-size: .95rem; }
@media (max-width: 960px) { .fs-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .fs-steps { grid-template-columns: 1fr; } }

/* ---------- Stores ---------- */
.fs-stores { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.fs-store { display: flex; flex-direction: column; padding: 1.5rem; border-radius: var(--fs-r-lg); background: linear-gradient(180deg, #fff, #F8FBFE); border: 1px solid var(--fs-line); transition: transform .35s var(--fs-ease), box-shadow .35s; }
.fs-store:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); }
.fs-store__top { display: flex; justify-content: space-between; align-items: center; font-size: .78rem; color: var(--wp--preset--color--muted); }
.fs-store__region { font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--primary); font-family: var(--wp--preset--font-family--display); }
.fs-store__hours .fs-dot { width: 6px; height: 6px; box-shadow: 0 0 0 3px rgba(47,211,154,.18); margin-right: .4rem; }
.fs-store__name { margin: .9rem 0 .5rem; font-size: 1.3rem; }
.fs-store__addr { margin: 0 0 1rem; color: var(--wp--preset--color--muted); font-size: .95rem; flex: 1; }
.fs-store__dl { font-size: .78rem; color: var(--wp--preset--color--muted); margin: 0 0 1rem; }
.fs-store__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.fs-chip { display: inline-flex; align-items: center; padding: .5rem .85rem; border-radius: 999px; font-size: .82rem; font-weight: 600; color: var(--fs-ink) !important; background: #fff; border: 1px solid var(--fs-line); text-decoration: none !important; transition: border-color .2s, background .2s; }
.fs-chip:hover { border-color: var(--fs-ink); }
.fs-chip--solid { background: var(--fs-ink); color: #fff !important; border-color: var(--fs-ink); width: 100%; justify-content: center; }
.fs-chip--solid:hover { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); }
@media (max-width: 1100px) { .fs-stores { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .fs-stores { grid-template-columns: 1fr; } }

/* ---------- CTA band ---------- */
.fs-cta { border-radius: 32px; padding: clamp(2rem, 5vw, 3.5rem); gap: 2rem; position: relative; overflow: hidden; }
.fs-cta h2 { margin: 0 0 .6rem; }
.fs-cta__lead { color: #C3D4E6; margin: 0; }

/* ---------- Posts ---------- */
.fs-post-grid { gap: 1.25rem; }
.fs-post-card { display: flex; flex-direction: column; gap: .4rem; padding: 0 0 1.4rem; overflow: hidden; }
.fs-post-card > *:not(.wp-block-post-featured-image) { padding-left: 1.4rem; padding-right: 1.4rem; }
.fs-post-card .wp-block-post-featured-image { margin: 0 0 .8rem; }
.fs-post-card .wp-block-post-featured-image:empty, .fs-post-card .wp-block-post-featured-image:not(:has(img)) { display: none; }
.fs-post-card .wp-block-post-title { margin: 0; font-size: 1.2rem; }
.fs-post-card .wp-block-post-title a { color: var(--fs-ink); }
.fs-post-card .fs-eyebrow { margin: 1rem 0 0; }
@media (max-width: 900px) { .fs-post-grid.is-layout-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 600px) { .fs-post-grid.is-layout-grid { grid-template-columns: 1fr !important; } }

/* ---------- Content pages ---------- */
.fs-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 860px) { .fs-feature-grid { grid-template-columns: 1fr; } }
.fs-article .wp-block-post-content { font-size: 1.075rem; }
.fs-article__note { border-radius: var(--fs-r-md); margin-top: var(--wp--preset--spacing--60); }
.fs-404 { padding-top: var(--wp--preset--spacing--80); }
.fs-prose h2 { font-size: var(--wp--preset--font-size--xl); margin-top: 2.2rem; }

/* ---------- Footer ---------- */
.fs-footer { position: relative; overflow: hidden; }
.fs-footer::before { content: ""; position: absolute; width: 600px; height: 600px; left: -200px; bottom: -400px; border-radius: 50%; background: radial-gradient(circle, rgba(31,111,209,.25), transparent 70%); pointer-events: none; }
.fs-footer h4 { letter-spacing: .14em; text-transform: uppercase; font-size: .75rem !important; color: #8DB9EE !important; }
.fs-footer__muted { color: #9DB0C3; max-width: 22rem; }
.fs-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.fs-footer__links a { color: #E3ECF5; font-size: .95rem; }
.fs-footer__links a:hover { color: #fff; }
.fs-footer__stores li { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .55rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.fs-footer__stores span { color: #9DB0C3; font-size: .95rem; }
.fs-footer__rule { border-color: rgba(255,255,255,.1) !important; opacity: 1; margin: var(--wp--preset--spacing--60) 0 var(--wp--preset--spacing--40) !important; }
.fs-footer__base { color: #8296AA; gap: .5rem 2rem; }
.fs-footer__base p { margin: 0; max-width: 46rem; }
.fs-footer__base a { color: #C3D4E6; }

/* ---------- Mobile quick bar ---------- */
.fs-mobile-bar { display: none; }
@media (max-width: 782px) {
  .fs-mobile-bar { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: .5rem; position: fixed; left: .75rem; right: .75rem; bottom: .75rem; z-index: 60; padding: .5rem; border-radius: 18px; background: rgba(2,27,43,.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 16px 40px -12px rgba(0,0,0,.45); }
  .fs-mobile-bar a { display: grid; place-items: center; padding: .75rem .5rem; border-radius: 12px; color: #fff; font-weight: 600; font-size: .9rem; text-decoration: none; background: rgba(255,255,255,.08); }
  .fs-mobile-bar a.is-primary { background: var(--wp--preset--color--accent); }
  body { padding-bottom: 5.5rem; }
  .admin-bar .fs-header { top: 46px; }
}

/* ---------- Reveal on scroll ---------- */
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--fs-ease), transform .8s var(--fs-ease); }
.js .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .fs-hero::after { animation: none; }
}

/* Headings on dark backgrounds: beat the global heading colour. */
.fs-hero h1.fs-hero__title, .fs-cta h2.wp-block-heading { color: #fff !important; }
.fs-footer__rule { width: 100% !important; max-width: none !important; border-width: 1px 0 0 !important; }
@media (max-width: 960px) { .fs-header .fs-header__cta { display: none !important; } }
@media (max-width: 600px) {
  .fs-brand .wp-block-site-logo img { width: 34px; }
  .fs-trust__list li { padding: 1.1rem 1rem; }
  .fs-trust__list strong { font-size: 1.1rem; }
  .fs-trust__list span { font-size: .8rem; }
}
.fs-article .wp-block-post-content h2 { font-size: var(--wp--preset--font-size--xl); margin-top: 2.2rem; }
.fs-footer .fs-brand__name img { border-radius: 8px; }
.fs-page-head + .wp-block-post-content > .alignwide:first-child { margin-top: 0; }
.fs-main > .entry-content > .alignwide:last-child, .wp-block-post-content > .alignwide:last-child { padding-bottom: var(--wp--preset--spacing--70); }
.fs-store__hours { white-space: nowrap; }

/* ---------- Hero 3D shield (built from the logo; see scripts/shield3d) ---------- */
/* A still render shows at once; the live 3D canvas fades in over it when it loads. */
.fs-hero__shield { position: relative; width: 280px; max-width: 70%; aspect-ratio: 460 / 520; margin: -1.5rem auto -2.6rem; z-index: 2; pointer-events: none; }
.fs-hero__shield::before { content: ""; position: absolute; inset: 12% 8% 10%; border-radius: 50%; z-index: -1;
  background: radial-gradient(closest-side, rgba(31,111,209,.55), rgba(31,111,209,.18) 60%, transparent); filter: blur(18px); }
.fs-hero__shield img, .fs-hero__shield canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; max-width: none; }
.fs-hero__shield canvas { opacity: 0; transition: opacity .8s ease; }
.fs-hero__shield.is-live canvas { opacity: 1; }
.fs-hero__shield.is-live img { opacity: 0; transition: opacity .8s ease; }
.fs-hero__panel { position: relative; z-index: 1; }
@media (max-width: 781px) {
  .fs-hero__shield { width: 124px; margin: .25rem auto -1.5rem; }
}

/* Storefront animation over a photo (About): added by theme.js when motion and data allow. */
.fs-video { position: relative; }
.fs-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; opacity: 0; transition: opacity 1.2s ease; }
.fs-video video.is-playing { opacity: 1; }
.fs-video figcaption { z-index: 1; }

/* ---------- Store photos ---------- */
.fs-store-banner { margin: 0 0 var(--wp--preset--spacing--50); border-radius: var(--fs-r-lg); overflow: hidden; position: relative; box-shadow: var(--wp--preset--shadow--card); }
.fs-store-banner img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 30%; max-height: 520px; }
.fs-store-banner figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.5rem 1.25rem 1rem; color: #E6EEF6; font-size: .88rem; background: linear-gradient(0deg, rgba(1,27,43,.85), transparent); }
.fs-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: .9rem; margin: var(--wp--preset--spacing--50) 0 .5rem; }
.fs-gallery__item { margin: 0; border-radius: var(--fs-r-md); overflow: hidden; background: var(--wp--preset--color--surface); }
.fs-gallery__item img { display: block; width: 100%; height: 260px; object-fit: cover; transition: transform .6s var(--fs-ease); }
.fs-gallery__item:hover img { transform: scale(1.04); }
.fs-gallery__item figcaption { padding: .6rem .8rem; font-size: .82rem; color: var(--wp--preset--color--muted); }
.fs-gallery__note { font-size: .78rem !important; color: var(--wp--preset--color--muted); margin-top: 0; }
@media (max-width: 900px) { .fs-gallery { grid-template-columns: 1fr 1fr; } .fs-gallery__item img { height: 200px; } }

/* ---------- Know your body articles ---------- */
.fs-guide-poster { max-width: 520px; margin-left: auto !important; margin-right: auto !important; }
.fs-guide-poster img { border-radius: var(--fs-r-lg); box-shadow: var(--wp--preset--shadow--card); }
.fs-guide-alert { border-left: 4px solid var(--wp--preset--color--accent); background: var(--wp--preset--color--accent-soft); border-radius: 0 var(--fs-r-md) var(--fs-r-md) 0; padding: .25rem 1.25rem; margin: 1.5rem 0; }
.fs-article .wp-block-post-content h3 { font-size: var(--wp--preset--font-size--lg); margin-top: 1.8rem; color: var(--wp--preset--color--primary); }

/* ---------- Store name board (matches the real board design) ---------- */
@font-face { font-family: "Abril Fatface"; src: url(../fonts/abril-fatface.woff2) format("woff2"); font-display: swap; }
@font-face { font-family: "Noto Sans Tamil"; src: url(../fonts/noto-sans-tamil.woff2) format("woff2"); font-weight: 400 800; font-display: swap; unicode-range: U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC; }
.fs-board { container-type: inline-size; display: grid; grid-template-columns: 23% 77%; aspect-ratio: 2000 / 770; border-radius: 10px; overflow: hidden; margin-bottom: 1.1rem; box-shadow: 0 1px 2px rgba(2,46,71,.12), 0 10px 22px -12px rgba(2,46,71,.45); background: #2B4F9E; }
.fs-board__brand { background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 1.6cqw; gap: 1cqw; overflow: hidden; min-width: 0; }
.fs-board__mark { display: flex; align-items: center; gap: .8cqw; font-family: "Abril Fatface", Georgia, serif; color: #0F1F2E; font-size: 2.35cqw; line-height: 1.08; white-space: nowrap; }
.fs-board__mark img { width: 5.2cqw; height: auto; }
.fs-board__rule { width: 100%; height: .35cqw; background: #0F1F2E; }
.fs-board__tag { font-family: Georgia, "Times New Roman", serif; font-size: 1.2cqw; letter-spacing: .02em; color: #2C3E50; white-space: nowrap; }
.fs-board__role { font-family: Georgia, "Times New Roman", serif; font-size: 1.45cqw; color: #7B1E1E; margin-top: 1.2cqw; white-space: nowrap; }
.fs-board__main { min-width: 0; overflow: hidden; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 2.4cqw 3cqw 2.6cqw; background: linear-gradient(180deg, #2E55A8 0%, #22417F 100%); }
.fs-board__top { align-self: stretch; display: flex; justify-content: space-between; font-family: var(--wp--preset--font-family--body); font-size: 2.4cqw; font-weight: 500; }
.fs-board__top span { display: inline-flex; align-items: center; gap: 1cqw; }
.fs-board__top span:last-child { font-weight: 700; font-size: 2.6cqw; }
.fs-board svg { width: 2.6cqw; height: 2.6cqw; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.fs-board__ta { font-family: "Noto Sans Tamil", "Latha", sans-serif; font-weight: 500; font-size: 5.3cqw; line-height: 1.2; white-space: nowrap; }
.fs-board__line { width: 94%; height: .4cqw; background: #fff; border-radius: 1px; }
.fs-board__en { font-family: "Abril Fatface", Georgia, serif; font-size: 5.9cqw; line-height: 1.05; white-space: nowrap; }
.fs-board__addr { display: inline-flex; align-items: center; gap: .8cqw; font-family: var(--wp--preset--font-family--body); font-size: 1.95cqw; white-space: nowrap; }

/* ---------- Language switch and Tamil typography (inc/i18n.php) ---------- */
.fs-lang { display: inline-flex; align-items: center; padding: .45rem .85rem; border: 1px solid var(--fs-line); border-radius: 999px; font-weight: 700; font-size: .9rem; color: var(--wp--preset--color--ink, #022E47); text-decoration: none; white-space: nowrap; transition: border-color .2s, background .2s; }
.fs-lang:hover, .fs-lang:focus-visible { border-color: #1F6FD1; background: rgba(31,111,209,.06); }
.fs-lang:lang(ta) { font-family: "Noto Sans Tamil", var(--wp--preset--font-family--body); }
@media (max-width: 960px) {
  .fs-header__inner { gap: .75rem; }
  .fs-lang { margin-left: auto; padding: .38rem .7rem; font-size: .85rem; }
}
/* Tamil letters are taller and wider: no negative tracking, more line height, slightly smaller display sizes. */
:root:lang(ta) h1, :root:lang(ta) h2, :root:lang(ta) h3, :root:lang(ta) h4 { letter-spacing: 0; line-height: 1.3; }
:root:lang(ta) body { line-height: 1.75; }
:root:lang(ta) .fs-hero__title { font-size: clamp(1.85rem, 3.5vw, 2.85rem); line-height: 1.32; }
:root:lang(ta) .fs-trust__list strong { font-size: 1.1rem; letter-spacing: 0; }
:root:lang(ta) h2.wp-block-heading { font-size: clamp(1.5rem, 3vw, 2.25rem); }
:root:lang(ta) .fs-eyebrow, :root:lang(ta) .fs-hero__panel-label { letter-spacing: .02em; text-transform: none; }
:root:lang(ta) .fs-page-head h1 { font-size: clamp(2rem, 4.4vw, 3rem); }
:root:lang(ta) .fs-nav .wp-block-navigation-item__content { font-size: .88rem; white-space: nowrap; }
:root:lang(ta) .fs-nav .wp-block-navigation__container { gap: 1.05rem; flex-wrap: nowrap; }
/* The menu already links to the finder; Tamil labels need the room the duplicate button takes. */
:root:lang(ta) .fs-header .fs-header__cta { display: none !important; }
@media (max-width: 960px) { .fs-header .fs-nav { order: 3; margin-left: 0; } }
.fs-brand { flex-shrink: 0; }
.fs-footer__stores a { white-space: nowrap; }
