@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-border-style: solid; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-duration: initial; --tw-ease: initial; --tw-content: ""; --tw-animation-delay: 0s; --tw-animation-direction: normal; --tw-animation-duration: initial; --tw-animation-fill-mode: none; --tw-animation-iteration-count: 1; --tw-enter-blur: 0; --tw-enter-opacity: 1; --tw-enter-rotate: 0; --tw-enter-scale: 1; --tw-enter-translate-x: 0; --tw-enter-translate-y: 0; --tw-exit-blur: 0; --tw-exit-opacity: 1; --tw-exit-rotate: 0; --tw-exit-scale: 1; --tw-exit-translate-x: 0; --tw-exit-translate-y: 0; }
}
}
@layer theme {
  :root { --font-sans: "Montserrat", sans-serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace; --color-black: #000; --spacing: .25rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: calc(1.5 / 1); --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-7xl: 4.5rem; --text-7xl--line-height: 1; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --tracking-tight: -.025em; --tracking-widest: .1em; --leading-relaxed: 1.625; --radius-sm: calc(var(--radius) - 4px); --radius-xl: .75rem; --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: "Montserrat", sans-serif; --default-mono-font-family: var(--font-mono); --font-display: "Montserrat",sans-serif; --color-border: var(--border); }
}
@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings, normal); font-variation-settings: var(--default-font-variation-settings, normal); -webkit-tap-highlight-color: transparent; }
  h1, h2, h3 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code { font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings, normal); font-variation-settings: var(--default-mono-font-variation-settings, normal); font-size: 1em; }
  small { font-size: 80%; }
  sub { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  summary { display: list-item; }
   ul, menu { list-style: none; }
  img, video, iframe, embed { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
  ::placeholder { color: currentcolor; }
  @supports (color: color-mix(in lab, red, red)) {
  ::placeholder { color: color-mix(in oklab, currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
}
@layer components;
@layer utilities {
  .relative { position: relative; }
  .z-10 { z-index: 10; }
  .mr-2 { margin-right: calc(var(--spacing) * 2); }
  .block { display: block; }
  .flex { display: flex; }
  .grid { display: grid; }
  .hidden { display: none; }
  .table { display: table; }
  .h-10 { height: calc(var(--spacing) * 10); }
  .min-h-screen { min-height: 100vh; }
  .grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .flex-wrap { flex-wrap: wrap; }
  .items-center { align-items: center; }
  .justify-between { justify-content: space-between; }
  .gap-3 { gap: calc(var(--spacing) * 3); }
  .gap-4 { gap: calc(var(--spacing) * 4); }
  .gap-5 { gap: calc(var(--spacing) * 5); }
  .gap-8 { gap: calc(var(--spacing) * 8); }
  .gap-12 { gap: calc(var(--spacing) * 12); }
  .bg-background { background-color: var(--background); }
  .p-6 { padding: calc(var(--spacing) * 6); }
  .py-12 { padding-block: calc(var(--spacing) * 12); }
  .py-20 { padding-block: calc(var(--spacing) * 20); }
  .text-base { font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); }
  .text-xs { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
  .text-foreground { color: var(--foreground); }
}
@property --tw-animation-delay { syntax: "*"; inherits: false; initial-value: 0s; }
@property --tw-animation-direction { syntax: "*"; inherits: false; initial-value: normal; }
@property --tw-animation-duration { syntax: "*"; inherits: false; }
@property --tw-animation-fill-mode { syntax: "*"; inherits: false; initial-value: none; }
@property --tw-animation-iteration-count { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-enter-blur { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-enter-opacity { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-enter-rotate { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-enter-scale { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-enter-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-enter-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-exit-blur { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-exit-opacity { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-exit-rotate { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-exit-scale { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-exit-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-exit-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
:root { --radius: .5rem; --background: oklch(98.5% .006 100); --foreground: oklch(18% .015 145); --card: oklch(100% 0 0); --card-foreground: oklch(18% .015 145); --primary: oklch(48% .15 150); --primary-foreground: oklch(99% 0 0); --secondary: oklch(94% .025 105); --secondary-foreground: oklch(23% .03 145); --muted: oklch(95% .008 120); --muted-foreground: oklch(50% .025 145); --accent: oklch(88% .19 100); --accent-foreground: oklch(20% .025 135); --border: oklch(88% .02 135); --input: oklch(88% .02 135); --ring: oklch(58% .16 145); --footer-muted: oklch(75% .02 145); --deep: oklch(20% .035 150); --green-dark: oklch(35% .11 150); --whatsapp: oklch(72% .19 145); }
* { border-color: var(--border); box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--background); color: var(--foreground); font-family: var(--font-sans); letter-spacing: 0px; margin: 0px; }
a { text-decoration: none; }
button, a { transition: 0.25s; }
img { display: block; }
.site-container { width: min(1180px, 100% - 40px); margin-inline: auto; }
.topbar { background: var(--primary); color: var(--primary-foreground); }
.site-header { z-index: 50; background: var(--background); position: sticky; top: 0px; }
@supports (color: color-mix(in lab, red, red)) {
  .site-header { background: color-mix(in oklab,var(--background) 94%,transparent); }
}
.site-header { backdrop-filter: blur(18px); border-bottom: 1px solid var(--border); }
.nav-link { text-transform: uppercase; color: var(--foreground); align-items: center; padding: 0.75rem 0.8rem; font-size: 0.79rem; font-weight: 700; display: inline-flex; }
.nav-link:hover, .nav-link-active { color: var(--primary); }
.mega-trigger { position: relative; }
.mega-panel { opacity: 0; visibility: hidden; background: var(--card); border: 1px solid var(--border); width: 940px; box-shadow: 0 24px 70px var(--foreground); position: absolute; top: calc(100% + 26px); left: 50%; transform: translate(-50%, 12px); }
@supports (color: color-mix(in lab, red, red)) {
  .mega-panel { box-shadow: 0 24px 70px color-mix(in oklab,var(--foreground) 18%,transparent); }
}
.mega-panel { border-radius: var(--radius); transition: 0.25s; }
.mega-trigger:hover .mega-panel { opacity: 1; visibility: visible; transform: translate(-50%); }
.mega-item { border-radius: var(--radius-sm); color: var(--foreground); align-items: center; gap: 0.7rem; padding: 0.55rem; display: flex; }
.mega-item:hover { background: var(--muted); color: var(--primary); }
.mega-item i { text-align: center; width: 28px; color: var(--primary); }
.mega-item span { font-size: 0.74rem; font-weight: 700; }
.mega-item small { color: var(--muted-foreground); margin-top: 2px; font-size: 0.62rem; display: block; }
.mega-cta { background: var(--deep); color: var(--primary-foreground); justify-content: space-between; align-items: center; gap: 20px; padding: 18px 28px; display: flex; }
.mega-cta span { color: var(--footer-muted); font-size: 0.75rem; display: block; }
.button { border-radius: var(--radius-sm); cursor: pointer; border: 0px; justify-content: center; align-items: center; gap: 0.6rem; min-height: 44px; padding: 0.75rem 1.15rem; font-size: 0.82rem; font-weight: 800; display: inline-flex; }
.button-primary { background: var(--primary); color: var(--primary-foreground); }
.button-accent { background: var(--accent); color: var(--accent-foreground); }
.button-ghost { background: var(--background); }
@supports (color: color-mix(in lab, red, red)) {
  .button-ghost { background: color-mix(in oklab,var(--background) 12%,transparent); }
}
.button-ghost { color: var(--primary-foreground); border: 1px solid var(--background); }
@supports (color: color-mix(in lab, red, red)) {
  .button-ghost { border: 1px solid color-mix(in oklab,var(--background) 35%,transparent); }
}
.button-whatsapp { background: var(--whatsapp); color: var(--primary-foreground); }
.button:hover { filter: brightness(0.96); transform: translateY(-2px); }
.menu-toggle { border: 1px solid var(--border); background: var(--card); border-radius: var(--radius-sm); width: 44px; height: 44px; }
.mobile-menu { background: var(--card); border-top: 1px solid var(--border); max-height: calc(-120px + 100vh); overflow: auto; }
.mobile-menu .nav-link { border-top: 0px; border-right: 0px; border-left: 0px; border-image: initial; border-bottom: 1px solid var(--border); background: none; justify-content: space-between; width: 100%; padding: 13px 0px; font-size: 0.85rem; font-weight: 700; display: flex; }
.mobile-submenu { border-left: 2px solid var(--accent); padding: 8px 0px 8px 14px; }
.mobile-submenu a { color: var(--muted-foreground); padding: 8px; font-size: 0.75rem; display: block; }
.hero-slider { background: var(--deep); position: relative; overflow: hidden; }
.hero-bg { object-fit: cover; opacity: 0; width: 100%; height: 100%; transition: opacity 1s, transform 7s; position: absolute; inset: 0px; transform: scale(1.08); }
.hero-bg-active { opacity: 1; transform: scale(1); }
.hero-overlay { background: linear-gradient(90deg,var(--deep) 0%,var(--deep) 55%,var(--deep) 100%); position: absolute; inset: 0px; }
@supports (color: color-mix(in lab, red, red)) {
  .hero-overlay { background: linear-gradient(90deg,color-mix(in oklab,var(--deep) 94%,transparent) 0%,color-mix(in oklab,var(--deep) 65%,transparent) 55%,color-mix(in oklab,var(--deep) 22%,transparent) 100%); }
}
.hero-grid-lines { background-image: linear-gradient(var(--background) 1px,transparent 1px),linear-gradient(90deg,var(--background) 1px,transparent 1px); position: absolute; inset: 0px; }
@supports (color: color-mix(in lab, red, red)) {
  .hero-grid-lines { background-image: linear-gradient(color-mix(in oklab,var(--background) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklab,var(--background) 7%,transparent) 1px,transparent 1px); }
}
.hero-grid-lines { background-size: 60px 60px; mask-image: linear-gradient(90deg, rgb(0, 0, 0), rgba(0, 0, 0, 0)); }
.hero-copy { max-width: 720px; color: var(--primary-foreground); animation: 0.7s ease 0s 1 normal both running hero-in; }
.hero-copy h1, .page-hero h1 { font: 800 clamp(3.2rem,7vw,6.4rem)/.88 var(--font-display); text-transform: uppercase; letter-spacing: 0px; margin: 18px 0px; }
.hero-copy p { max-width: 600px; color: var(--primary-foreground); font-size: 1.05rem; line-height: 1.8; }
@supports (color: color-mix(in lab, red, red)) {
  .hero-copy p { color: color-mix(in oklab,var(--primary-foreground) 78%,transparent); }
}
.hero-copy p { margin-bottom: 28px; }
.eyebrow { color: var(--primary); text-transform: uppercase; letter-spacing: 0.16em; align-items: center; gap: 8px; font-size: 0.7rem; font-weight: 800; display: inline-flex; }
.eyebrow::before { content: ""; background: var(--accent); width: 32px; height: 3px; }
.eyebrow.light { color: var(--accent); }
.hero-controls { z-index: 5; color: var(--primary-foreground); align-items: center; gap: 12px; font-size: 0.75rem; font-weight: 700; display: flex; position: absolute; bottom: 35px; right: max(20px, -590px + 50vw); }
.hero-controls button { border: 1px solid var(--background); width: 42px; height: 42px; }
@supports (color: color-mix(in lab, red, red)) {
  .hero-controls button { border: 1px solid color-mix(in oklab,var(--background) 35%,transparent); }
}
.hero-controls button { background: var(--deep); }
@supports (color: color-mix(in lab, red, red)) {
  .hero-controls button { background: color-mix(in oklab,var(--deep) 45%,transparent); }
}
.hero-controls button { color: var(--primary-foreground); border-radius: var(--radius-sm); }
.quick-band { background: var(--primary); color: var(--primary-foreground); }
.quick-band .site-container > div { border-right: 1px solid var(--background); align-items: center; gap: 15px; padding: 24px; display: flex; }
@supports (color: color-mix(in lab, red, red)) {
  .quick-band .site-container > div { border-right: 1px solid color-mix(in oklab,var(--background) 18%,transparent); }
}
.quick-band i { color: var(--accent); font-size: 1.6rem; }
.quick-band span, .quick-band small { display: block; }
.quick-band b { font-size: 0.82rem; }
.quick-band small { color: var(--primary-foreground); margin-top: 3px; }
@supports (color: color-mix(in lab, red, red)) {
  .quick-band small { color: color-mix(in oklab,var(--primary-foreground) 70%,transparent); }
}
.quick-band small { font-size: 0.68rem; }
.section { padding: 90px 0px; }
.section-heading { justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 40px; display: flex; }
.section h2, .about-band h2, .quote-panel h2, .contact-layout h2 { font: 700 clamp(2.3rem,4vw,4rem)/1 var(--font-display); text-transform: uppercase; letter-spacing: 0px; margin: 12px 0px; }
.section-heading h2 { max-width: 680px; }
.text-link { color: var(--primary); white-space: nowrap; font-size: 0.78rem; font-weight: 800; }
.service-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); color: var(--foreground); box-shadow: 0 8px 30px var(--foreground); overflow: hidden; }
@supports (color: color-mix(in lab, red, red)) {
  .service-card { box-shadow: 0 8px 30px color-mix(in oklab,var(--foreground) 5%,transparent); }
}
.service-card:hover { box-shadow: 0 20px 50px var(--foreground); transform: translateY(-6px); }
@supports (color: color-mix(in lab, red, red)) {
  .service-card:hover { box-shadow: 0 20px 50px color-mix(in oklab,var(--foreground) 12%,transparent); }
}
.service-card:hover { border-color: var(--primary); }
.card-image { height: 190px; position: relative; overflow: hidden; }
.card-image img { object-fit: cover; width: 100%; height: 100%; transition: 0.5s; }
.service-card:hover img { transform: scale(1.06); }
.card-image span { background: var(--accent); width: 56px; height: 56px; color: var(--accent-foreground); place-items: center; font-size: 1.2rem; display: grid; position: absolute; bottom: 0px; right: 0px; }
.service-card small { color: var(--primary); text-transform: uppercase; font-size: 0.65rem; font-weight: 800; }
.service-card h3 { font: 700 1.45rem/1.05 var(--font-display); text-transform: uppercase; margin: 10px 0px; }
.service-card p { color: var(--muted-foreground); min-height: 62px; font-size: 0.78rem; line-height: 1.7; }
.service-card b { color: var(--primary); margin-top: 18px; font-size: 0.72rem; display: block; }
.about-band { background: var(--secondary); padding: 90px 0px; }
.about-band p, article p { color: var(--muted-foreground); line-height: 1.9; }
.about-image { position: relative; }
.about-image img { object-fit: cover; width: 100%; height: 500px; }
.experience-badge { background: var(--accent); color: var(--accent-foreground); align-items: center; gap: 12px; padding: 22px; display: flex; position: absolute; bottom: -18px; right: -18px; }
.experience-badge strong { font: 800 3rem var(--font-display); }
.experience-badge span { font-size: 0.72rem; font-weight: 700; }
.check-list { margin: 24px 0px; padding: 0px; list-style: none; }
.check-list li { padding: 7px 0px; font-size: 0.82rem; font-weight: 600; }
.check-list li::before { content: "✓"; background: var(--primary); width: 22px; height: 22px; color: var(--primary-foreground); border-radius: 50%; place-items: center; margin-right: 10px; font-size: 0.65rem; display: inline-grid; }
.stats { background: var(--accent); }
.stats div > div { text-align: center; }
.stats strong, .stats span { display: block; }
.stats strong { font: 800 3.6rem var(--font-display); }
.stats span { text-transform: uppercase; font-size: 0.7rem; font-weight: 800; }
.product-grid { grid-template-columns: repeat(4, 1fr); gap: 15px; display: grid; }
.product-card { background: var(--deep); min-height: 310px; color: var(--primary-foreground); position: relative; overflow: hidden; }
.product-card > img { object-fit: cover; opacity: 0.66; width: 100%; height: 100%; transition: 0.5s; position: absolute; }
.product-card::after { content: ""; background: linear-gradient(transparent 30%,var(--deep)); position: absolute; inset: 0px; }
.product-card > div { z-index: 2; gap: 12px; padding: 22px; display: flex; position: absolute; bottom: 0px; }
.product-card > div > i { color: var(--accent); font-size: 1.3rem; }
.product-card h3 { font: 700 1.4rem var(--font-display); text-transform: uppercase; margin: 0px; }
.product-card p { color: var(--footer-muted); font-size: 0.67rem; }
.product-card:hover img { opacity: 0.85; transform: scale(1.08); }
.reference-band { background: var(--deep); color: var(--primary-foreground); padding: 80px 0px; overflow: hidden; }
.text-link.light { color: var(--accent); }
.reference-marquee { border-block: 1px solid var(--background); overflow: hidden; }
@supports (color: color-mix(in lab, red, red)) {
  .reference-marquee { border-block: 1px solid color-mix(in oklab,var(--background) 13%,transparent); }
}
.reference-marquee > div { width: max-content; animation: 28s linear 0s infinite normal none running marquee; display: flex; }
.reference-marquee span { font: 700 1.25rem var(--font-display); border-right: 1px solid var(--background); padding: 27px 35px; }
@supports (color: color-mix(in lab, red, red)) {
  .reference-marquee span { border-right: 1px solid color-mix(in oklab,var(--background) 13%,transparent); }
}
.quote-panel { background: var(--primary); color: var(--primary-foreground); justify-content: space-between; align-items: center; gap: 30px; padding: 55px; display: flex; position: relative; overflow: hidden; }
.quote-panel::after { content: ""; border: 50px solid var(--accent); width: 250px; height: 250px; position: absolute; }
@supports (color: color-mix(in lab, red, red)) {
  .quote-panel::after { border: 50px solid color-mix(in oklab,var(--accent) 24%,transparent); }
}
.quote-panel::after { top: -120px; right: -100px; transform: rotate(45deg); }
.quote-panel > div { z-index: 1; position: relative; }
.quote-panel h2 { max-width: 740px; }
.quote-panel p { color: var(--primary-foreground); }
@supports (color: color-mix(in lab, red, red)) {
  .quote-panel p { color: color-mix(in oklab,var(--primary-foreground) 72%,transparent); }
}
.quote-actions { flex-direction: column; gap: 10px; min-width: 180px; display: flex; }
.page-hero { background: var(--deep); color: var(--primary-foreground); position: relative; overflow: hidden; }
.page-hero > img { object-fit: cover; width: 100%; height: 100%; position: absolute; inset: 0px; }
.page-hero-shade { background: linear-gradient(90deg,var(--deep),var(--deep)); position: absolute; inset: 0px; }
@supports (color: color-mix(in lab, red, red)) {
  .page-hero-shade { background: linear-gradient(90deg,color-mix(in oklab,var(--deep) 96%,transparent),color-mix(in oklab,var(--deep) 45%,transparent)); }
}
.page-hero h1 { max-width: 900px; font-size: clamp(3rem, 6vw, 5.7rem); }
.page-hero p { max-width: 650px; color: var(--primary-foreground); }
@supports (color: color-mix(in lab, red, red)) {
  .page-hero p { color: color-mix(in oklab,var(--primary-foreground) 75%,transparent); }
}
.article-grid { grid-template-columns: minmax(0px, 2fr) minmax(260px, 1fr); gap: 60px; display: grid; }
.article-grid article h2 { margin-top: 35px; font-size: 2.5rem; }
.side-panel { background: var(--deep); color: var(--primary-foreground); align-self: start; padding: 30px; position: sticky; top: 130px; }
.side-panel h3 { font: 700 1.8rem var(--font-display); text-transform: uppercase; }
.side-panel p { color: var(--footer-muted); font-size: 0.78rem; line-height: 1.7; }
.side-panel .text-link { color: var(--accent); margin-top: 20px; display: block; }
.side-icon { color: var(--accent); font-size: 2rem; }
.process-row { border: 1px solid var(--border); grid-template-columns: repeat(4, 1fr); margin-top: 35px; display: grid; }
.process-row span { border-right: 1px solid var(--border); padding: 20px; font-size: 0.7rem; font-weight: 700; }
.process-row b { font: 800 2rem var(--font-display); color: var(--primary); display: block; }
.reference-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; display: grid; }
.reference-grid div { background: var(--card); border: 1px solid var(--border); justify-content: center; align-items: center; min-height: 150px; display: flex; position: relative; }
.reference-grid span { color: var(--primary); font-size: 0.65rem; position: absolute; top: 12px; left: 14px; }
.reference-grid strong { font: 700 1.55rem var(--font-display); }
.contact-layout { grid-template-columns: 1fr 1.1fr; gap: 60px; display: grid; }
.contact-cards { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 30px; display: grid; }
.contact-cards a { background: var(--card); border: 1px solid var(--border); color: var(--foreground); align-items: center; gap: 13px; padding: 18px; display: flex; }
.contact-cards i { color: var(--primary); font-size: 1.2rem; }
.contact-cards small, .contact-cards b { display: block; }
.contact-cards small { text-transform: uppercase; color: var(--muted-foreground); font-size: 0.6rem; }
.contact-cards b { margin-top: 4px; font-size: 0.75rem; }
.address-box { background: var(--secondary); gap: 16px; margin-top: 12px; padding: 20px; display: flex; }
.address-box i { color: var(--primary); }
.address-box p { margin: 0px; font-size: 0.78rem; }
.quote-form { background: var(--card); border: 1px solid var(--border); padding: 35px; }
.form-grid { grid-template-columns: 1fr 1fr; gap: 15px; display: grid; }
.quote-form label { margin-bottom: 15px; font-size: 0.7rem; font-weight: 700; display: block; }
.quote-form input, .quote-form select, .quote-form textarea { border: 1px solid var(--input); background: var(--background); width: 100%; font: inherit; margin-top: 7px; padding: 13px; display: block; }
.form-success { background: var(--secondary); padding: 12px; font-size: 0.75rem; }
.footer { background: var(--deep); color: var(--primary-foreground); }
.footer h3 { font: 700 1.2rem var(--font-display); text-transform: uppercase; color: var(--accent); }
.footer a, .footer p { color: var(--footer-muted); margin: 10px 0px; font-size: 0.74rem; line-height: 1.6; display: block; }
.footer a:hover { color: var(--accent); }
.footer-bottom { border-top: 1px solid var(--background); }
@supports (color: color-mix(in lab, red, red)) {
  .footer-bottom { border-top: 1px solid color-mix(in oklab,var(--background) 12%,transparent); }
}
.footer-bottom { color: var(--footer-muted); }
.floating-actions { z-index: 60; flex-direction: column; gap: 10px; display: flex; position: fixed; bottom: 18px; right: 18px; }
.floating-actions a { width: 52px; height: 52px; color: var(--primary-foreground); box-shadow: 0 8px 30px var(--foreground); border-radius: 50%; place-items: center; display: grid; }
@supports (color: color-mix(in lab, red, red)) {
  .floating-actions a { box-shadow: 0 8px 30px color-mix(in oklab,var(--foreground) 25%,transparent); }
}
.floating-actions a { font-size: 1.25rem; }
.float-whatsapp { background: var(--whatsapp); }
.float-phone { background: var(--primary); }
@keyframes hero-in { 
  0% { opacity: 0; transform: translateY(24px); }
  100% { opacity: 1; transform: none; }
}
@keyframes marquee { 
  100% { transform: translateX(-50%); }
}
@media (width <= 1023px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .article-grid, .contact-layout { grid-template-columns: 1fr; }
  .side-panel { position: static; }
  .quote-panel { flex-direction: column; align-items: flex-start; }
  .quote-actions { flex-direction: row; }
  .mega-panel { display: none; }
}
@media (width <= 767px) {
  .site-container { width: min(100% - 28px, 1180px); }
  .topbar .site-container { height: 36px; }
  .site-header .site-container { height: 72px; }
  .site-header img { height: 52px; }
  .hero-slider .site-container { min-height: 590px; }
  .hero-copy h1 { font-size: 3.5rem; }
  .hero-controls { bottom: 18px; }
  .quick-band .site-container > div { border-right: 0px; border-bottom: 1px solid var(--background); }
  @supports (color: color-mix(in lab, red, red)) {
  .quick-band .site-container > div { border-bottom: 1px solid color-mix(in oklab,var(--background) 18%,transparent); }
}
  .section, .about-band { padding: 65px 0px; }
  .section-heading { flex-direction: column; align-items: flex-start; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card { min-height: 280px; }
  .about-image img { height: 360px; }
  .experience-badge { right: 0px; }
  .stats .site-container { grid-template-columns: 1fr 1fr; }
  .quote-panel { padding: 30px; }
  .quote-actions { flex-direction: column; width: 100%; }
  .process-row, .reference-grid { grid-template-columns: 1fr 1fr; }
  .contact-cards, .form-grid { grid-template-columns: 1fr; }
  .page-hero .site-container { padding-block: 55px; }
  .page-hero h1 { font-size: 3rem; }
  .footer .site-container { grid-template-columns: 1fr 1fr; }
  .floating-actions a { width: 46px; height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
.detail-list { gap: 10px; padding: 0px; list-style: none; display: grid; }
.detail-list li { background: var(--card); border: 1px solid var(--border); padding: 14px 16px 14px 44px; font-size: 0.82rem; line-height: 1.6; position: relative; }
.detail-list li::before { content: "✓"; color: var(--primary); font-weight: 800; position: absolute; left: 16px; }
.detail-list.standards li::before { content: "§"; }
.faq-list { gap: 10px; display: grid; }
.faq-list details { background: var(--card); border: 1px solid var(--border); padding: 18px; }
.faq-list summary { cursor: pointer; font-size: 0.9rem; font-weight: 800; }
.faq-list details p { margin: 14px 0px 0px; }
@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-rotate-x { syntax: "*"; inherits: false; }
@property --tw-rotate-y { syntax: "*"; inherits: false; }
@property --tw-rotate-z { syntax: "*"; inherits: false; }
@property --tw-skew-x { syntax: "*"; inherits: false; }
@property --tw-skew-y { syntax: "*"; inherits: false; }
@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-leading { syntax: "*"; inherits: false; }
@property --tw-font-weight { syntax: "*"; inherits: false; }
@property --tw-tracking { syntax: "*"; inherits: false; }
@property --tw-ordinal { syntax: "*"; inherits: false; }
@property --tw-slashed-zero { syntax: "*"; inherits: false; }
@property --tw-numeric-figure { syntax: "*"; inherits: false; }
@property --tw-numeric-spacing { syntax: "*"; inherits: false; }
@property --tw-numeric-fraction { syntax: "*"; inherits: false; }
@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-shadow-color { syntax: "*"; inherits: false; }
@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-ring-color { syntax: "*"; inherits: false; }
@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-ring-color { syntax: "*"; inherits: false; }
@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-ring-inset { syntax: "*"; inherits: false; }
@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-blur { syntax: "*"; inherits: false; }
@property --tw-brightness { syntax: "*"; inherits: false; }
@property --tw-contrast { syntax: "*"; inherits: false; }
@property --tw-grayscale { syntax: "*"; inherits: false; }
@property --tw-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-invert { syntax: "*"; inherits: false; }
@property --tw-opacity { syntax: "*"; inherits: false; }
@property --tw-saturate { syntax: "*"; inherits: false; }
@property --tw-sepia { syntax: "*"; inherits: false; }
@property --tw-drop-shadow { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
@property --tw-duration { syntax: "*"; inherits: false; }
@property --tw-ease { syntax: "*"; inherits: false; }
@property --tw-content { syntax: "*"; inherits: false; initial-value: ""; }
@keyframes pulse { 
  50% { opacity: 0.5; }
}
@keyframes enter { 
  0% { opacity: var(--tw-enter-opacity, 1); transform: translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0)scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1))rotate(var(--tw-enter-rotate, 0)); filter: blur(var(--tw-enter-blur, 0)); }
}
@keyframes exit { 
  100% { opacity: var(--tw-exit-opacity, 1); transform: translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0)scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1))rotate(var(--tw-exit-rotate, 0)); filter: blur(var(--tw-exit-blur, 0)); }
}
@keyframes accordion-down { 
  0% { height: 0px; }
  100% { height: var(--radix-accordion-content-height, var(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto))))); }
}
@keyframes accordion-up { 
  0% { height: var(--radix-accordion-content-height, var(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto))))); }
  100% { height: 0px; }
}
@keyframes caret-blink { 
  0%, 70%, 100% { opacity: 1; }
  20%, 50% { opacity: 0; }
}

/* Production refinements */
:root { --font-sans:"Montserrat",sans-serif; --font-display:"Montserrat",sans-serif; --default-font-family:"Montserrat",sans-serif; }
html,body,button,input,textarea,select,h1,h2,h3,.eyebrow,.nav-link { font-family:"Montserrat",sans-serif; }
.site-header { overflow:visible; box-shadow:0 10px 35px rgba(7,34,55,.07); }
.desktop-header { height:104px; display:grid; grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr); align-items:center; gap:20px; }
.desktop-nav { display:flex; align-items:center; gap:4px; }
.desktop-nav-left { justify-content:flex-end; }
.desktop-nav-right { justify-content:flex-start; }
.desktop-nav .nav-link { white-space:nowrap; font-size:.83rem; letter-spacing:-.02em; padding:12px 13px; }
.brand-stage { align-self:stretch; position:relative; display:grid; place-items:center; background:#fff; padding:9px 22px 12px; border-inline:1px solid rgba(12,51,76,.1); box-shadow:0 15px 38px rgba(5,36,58,.14); isolation:isolate; }
.brand-stage::after { content:""; width:72px; height:3px; position:absolute; bottom:0; left:50%; transform:translateX(-50%); background:linear-gradient(90deg,#f5ca00,#24a84a); border-radius:99px 99px 0 0; }
.brand-stage img { display:block; width:190px; height:86px; object-fit:contain; filter:drop-shadow(0 5px 8px rgba(5,30,48,.13)); }
.menu-toggle,.mobile-menu { display:none; }
.hero-controls { z-index:30; pointer-events:auto; }
.hero-controls button { position:relative; z-index:31; cursor:pointer; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.hero-controls button:hover { transform:translateY(-2px); background:var(--accent); border-color:var(--accent); }
.hero-copy>* { transition:opacity .28s ease,transform .28s ease; }
.hero-copy.is-changing>* { opacity:0; transform:translateY(10px); }
.footer { position:relative; overflow:hidden; background:#061c2d; border-top:4px solid #e4be00; }
.footer::before { content:""; position:absolute; inset:0; opacity:.2; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to bottom,#000,transparent 72%); }
.footer-glow { position:absolute; width:460px; height:460px; border-radius:50%; right:-170px; top:-260px; background:rgba(24,171,72,.16); filter:blur(70px); pointer-events:none; }
.footer-main { position:relative; display:grid; grid-template-columns:1.35fr .65fr 1fr 1.1fr; gap:56px; padding-top:72px; padding-bottom:52px; }
.footer h3 { color:#fff; font-size:.84rem; text-transform:uppercase; letter-spacing:.12em; margin:0 0 22px; }
.footer-brand>a { display:inline-block; background:#fff; border-radius:8px; padding:8px 16px; box-shadow:0 12px 32px rgba(0,0,0,.18); }
.footer-brand img { display:block; width:154px; height:76px; object-fit:contain; }
.footer-brand p { max-width:420px; margin:22px 0; color:#a9bcc9; font-size:.88rem; line-height:1.85; }
.footer-badges { display:flex; flex-wrap:wrap; gap:8px; }
.footer-badges span { color:#dbe5ea; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); border-radius:999px; padding:8px 11px; font-size:.7rem; }
.footer-badges i { color:#e4be00; margin-right:5px; }
.footer-links a { display:block; width:fit-content; color:#a9bcc9; font-size:.82rem; padding:6px 0; transition:.2s ease; }
.footer-links a:hover { color:#fff; transform:translateX(4px); }
.footer-contact>a,.footer-contact>p { display:flex; align-items:flex-start; gap:12px; color:#dbe5ea; font-size:.8rem; margin:0 0 16px; line-height:1.55; }
.footer-contact i { display:grid; place-items:center; flex:0 0 34px; height:34px; color:#092338; background:#e4be00; border-radius:50%; }
.footer-contact span { padding-top:2px; }.footer-contact small { display:block; color:#7f99a9; font-size:.67rem; margin-top:2px; }
.footer-expertise { position:relative; border-top:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.025); color:#829baa; font-size:.68rem; line-height:1.7; }
.footer-expertise .site-container { padding-top:15px; padding-bottom:15px; }.footer-expertise strong { color:#b9cad4; }
.footer-bottom { position:relative; border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom>.site-container { min-height:70px; display:flex; justify-content:space-between; align-items:center; gap:24px; font-size:.72rem; }
.grafx-credit { display:flex; align-items:center; gap:11px; color:#8fa4b1; }.grafx-credit img { width:146px; height:40px; object-fit:contain; transition:.2s ease; }.grafx-credit:hover img { transform:translateY(-2px); opacity:.9; }
@media(max-width:1100px){.desktop-header{grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr);gap:8px}.desktop-nav .nav-link{padding-inline:8px;font-size:.75rem}.brand-stage img{width:170px}.footer-main{grid-template-columns:1.25fr .7fr 1fr}.footer-contact{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.footer-contact h3{grid-column:1/-1}}
@media(max-width:900px){.desktop-header{height:78px;grid-template-columns:1fr auto}.desktop-nav{display:none}.brand-stage{justify-self:start;width:170px;padding:5px 15px;border-inline:0}.brand-stage img{width:150px;height:64px}.menu-toggle{display:grid;place-items:center;justify-self:end;width:44px;height:44px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--deep);cursor:pointer}.mobile-menu{position:absolute;inset:78px 0 auto;padding:14px max(20px,calc((100vw - 1180px)/2));background:#fff;border-top:1px solid var(--border);box-shadow:0 18px 35px rgba(7,34,55,.14)}.mobile-menu.is-open{display:grid;gap:4px}.mobile-menu .nav-link{padding:12px;border-bottom:1px solid #edf1f3}.mobile-menu .button{margin-top:8px}.footer-main{grid-template-columns:1fr 1fr;gap:38px}.footer-brand,.footer-contact{grid-column:1/-1}}
@media(max-width:600px){.site-header .site-container{height:76px}.mobile-menu{inset-block-start:76px}.footer-main{grid-template-columns:1fr;padding-top:52px}.footer-brand,.footer-contact{grid-column:auto}.footer-contact{display:block}.footer-bottom>.site-container{padding-block:18px;flex-direction:column;align-items:flex-start}.grafx-credit{width:100%;justify-content:space-between}}

/* User-requested scale and navigation restoration */
.hero-copy h1 { font-size:clamp(2.55rem,4vw,4.1rem); line-height:1; max-width:680px; }
.page-hero h1 { font-size:clamp(2.4rem,4.5vw,4.25rem); line-height:1; }
.section h2,.about-band h2,.quote-panel h2,.contact-layout h2 { font-size:clamp(1.85rem,3vw,3rem); line-height:1.08; }
.article-grid article h2 { font-size:2rem; line-height:1.15; }
.side-panel h3 { font-size:1.45rem; }
.service-card h3 { font-size:1.2rem; line-height:1.15; }
.product-card h3 { font-size:1.15rem; }
.stats strong { font-size:clamp(2.2rem,4vw,3.5rem); }

.desktop-header { grid-template-columns:minmax(0,1fr) 250px minmax(0,1fr); position:relative; }
.brand-stage { background:var(--background); padding:5px 15px 7px; border-inline:1px solid var(--border); box-shadow:none; }
.brand-stage img { width:220px; height:96px; }
.desktop-nav .fa-chevron-down { margin-left:6px; font-size:.62rem; }
.mega-trigger { position:static; }
.mega-panel { z-index:80; width:min(1060px,calc(100vw - 40px)); top:100%; left:50%; transform:translate(-50%,12px); overflow:hidden; }
.mega-trigger:hover .mega-panel,.mega-trigger:focus-within .mega-panel { opacity:1; visibility:visible; transform:translate(-50%,0); }
.mega-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px 20px; padding:22px; max-height:min(620px,70vh); overflow:auto; }
.mega-item { min-height:54px; }

@media(max-width:1100px){.desktop-header{grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr)}.brand-stage img{width:200px;height:92px}.hero-copy h1{font-size:3.35rem}.mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.brand-stage{background:var(--background);width:190px}.brand-stage img{width:178px;height:66px}.hero-copy h1{font-size:clamp(2.35rem,9vw,3.4rem)}.page-hero h1{font-size:clamp(2.2rem,8vw,3.2rem)}.section h2,.about-band h2,.quote-panel h2,.contact-layout h2{font-size:clamp(1.7rem,6vw,2.5rem)}}
@media(max-width:600px){.hero-copy h1{font-size:clamp(2rem,10vw,2.75rem);line-height:1.02}.page-hero h1{font-size:clamp(2rem,10vw,2.8rem)}.article-grid article h2{font-size:1.65rem}.service-card h3,.product-card h3{font-size:1.05rem}}

/* Compact editorial hierarchy for content pages */
.page-hero h1 { max-width:820px; font-size:clamp(2rem,3.5vw,3.35rem); line-height:1.06; letter-spacing:-.025em; }
.page-hero p { max-width:700px; font-size:.98rem; line-height:1.65; }
.section-heading h2,.about-band h2,.quote-panel h2,.contact-layout h2,.reference-band h2 { font-size:clamp(1.65rem,2.45vw,2.45rem); line-height:1.14; letter-spacing:-.02em; }
.article-grid article h2 { font-size:clamp(1.35rem,2vw,1.75rem); line-height:1.25; text-transform:none; letter-spacing:-.015em; margin-top:32px; }
.article-grid article h3 { font-size:1.18rem; line-height:1.35; }
.side-panel h3 { font-size:1.2rem; line-height:1.25; }
.service-card h3 { font-size:1.05rem; line-height:1.25; text-transform:none; }
.product-card h3 { font-size:1.05rem; line-height:1.2; }
.quote-panel h2 { max-width:650px; }

.reference-logo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.reference-logo-card { min-height:150px; display:grid; place-items:center; padding:24px; background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:0 8px 26px rgba(7,34,55,.05); }
.reference-logo-card img { width:100%; max-width:220px; height:110px; object-fit:contain; opacity:1; transition:.25s ease; }
.reference-logo-card:hover img { transform:scale(1.03); }
.reference-logo-marquee { overflow:hidden; }
.reference-logo-marquee>div { display:flex; align-items:center; gap:18px; width:max-content; animation:marquee 34s linear infinite; }
.reference-logo-chip { width:190px; height:100px; display:flex; align-items:center; justify-content:center; flex:0 0 190px; box-sizing:border-box; padding:10px; background:rgba(255,255,255,.96); border:1px solid rgba(255,255,255,.2); border-radius:8px; }
.reference-logo-chip img { display:block; width:100%; max-width:170px; height:80px; margin:0 auto; object-fit:contain; object-position:center center; opacity:1; }

@media(max-width:900px){.page-hero h1{font-size:clamp(1.9rem,6vw,2.8rem)}.reference-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.page-hero h1{font-size:clamp(1.75rem,8vw,2.35rem)}.section-heading h2,.about-band h2,.quote-panel h2,.contact-layout h2,.reference-band h2{font-size:clamp(1.45rem,7vw,2rem)}.article-grid article h2{font-size:1.35rem}.reference-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reference-logo-card{min-height:110px;padding:12px}}

/* Bilingual corporate video showcase */
.video-showcase { position:relative; padding:84px 0 92px; overflow:hidden; background:var(--deep); color:var(--primary-foreground); }
.video-showcase::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(90deg,#000,transparent 80%); }
.video-showcase::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; right:-160px; top:-230px; background:rgba(30,169,75,.18); filter:blur(70px); pointer-events:none; }
.video-showcase>.site-container { position:relative; z-index:1; }
.video-heading { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-items:end; gap:48px; margin-bottom:34px; }
.video-heading h2 { max-width:650px; margin:12px 0 0; font-size:clamp(1.75rem,2.7vw,2.75rem); line-height:1.12; letter-spacing:-.025em; text-transform:uppercase; }
.video-heading p { margin:0; color:var(--footer-muted); font-size:.88rem; line-height:1.8; }
.video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.video-card { min-width:0; }
.video-card h3 { display:flex; align-items:center; gap:10px; margin:0 0 12px; color:#fff; font-size:.78rem; letter-spacing:.09em; }
.video-card h3 span { display:grid; place-items:center; width:34px; height:26px; border-radius:4px; background:var(--accent); color:var(--accent-foreground); font-size:.65rem; letter-spacing:.04em; }
.video-player { appearance:none; display:block; position:relative; width:100%; aspect-ratio:16/9; padding:0; overflow:hidden; cursor:pointer; border:1px solid rgba(255,255,255,.16); border-radius:10px; background:#03131f; box-shadow:0 18px 50px rgba(0,0,0,.28); }
.video-player>img,.video-player>iframe { width:100%; height:100%; object-fit:cover; border:0; display:block; }
.video-player::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 55%,rgba(3,19,31,.42)); transition:.25s ease; }
.video-player:hover::after { background:rgba(3,19,31,.12); }
.video-play { position:absolute; z-index:2; left:50%; top:50%; display:grid; place-items:center; width:68px; height:68px; transform:translate(-50%,-50%); border-radius:50%; background:var(--accent); color:var(--accent-foreground); box-shadow:0 12px 35px rgba(0,0,0,.35); transition:.25s ease; }
.video-play i { margin-left:4px; }
.video-player:hover .video-play { transform:translate(-50%,-50%) scale(1.08); }
.video-player.is-loaded::after,.video-player.is-loaded .video-play,.video-player.is-loaded>img { display:none; }
@media(max-width:800px){.video-showcase{padding:64px 0 70px}.video-heading{grid-template-columns:1fr;gap:14px}.video-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:600px){.video-heading h2{font-size:1.65rem}.video-play{width:58px;height:58px}}

/* About page — search-friendly editorial structure */
.about-page-hero img { object-position:center 52%; }
.about-story .article-grid { align-items:start; }
.about-story article a:not(.button) { color:var(--primary); font-weight:700; text-decoration:underline; text-decoration-color:rgba(22,121,57,.28); text-underline-offset:3px; }
.about-lead { margin:0 0 34px; padding:22px 24px; border-left:4px solid var(--accent); background:var(--secondary); color:var(--foreground)!important; font-size:1.05rem; line-height:1.8!important; }
.about-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:24px 0 34px; }
.about-pillars>div { padding:22px 20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--card); }
.about-pillars b { display:block; margin-bottom:15px; color:var(--accent); font-size:.72rem; letter-spacing:.12em; }
.about-pillars strong { display:block; color:var(--foreground); font-size:.95rem; }
.about-pillars p { margin:8px 0 0; font-size:.78rem; line-height:1.65; }
.about-side-panel { position:sticky; top:136px; }
.about-side-panel .eyebrow { margin-bottom:10px; }
.about-side-panel .text-link { display:inline-flex; margin-top:18px; color:var(--primary-foreground); }
.narrow-container { max-width:920px; }
.about-faq { background:var(--secondary); }
.about-faq .section-heading { margin-bottom:24px; }
.about-faq .faq-list details { background:var(--card); }
@media(max-width:900px){.about-pillars{grid-template-columns:1fr}.about-side-panel{position:static}.about-lead{font-size:.95rem}}

/* Homepage motion system */
.motion-item { opacity:0; transform:translate3d(0,28px,0) scale(.985); filter:blur(4px); transition:opacity .72s cubic-bezier(.2,.75,.2,1),transform .72s cubic-bezier(.2,.75,.2,1),filter .72s ease; transition-delay:calc(var(--motion-order,0) * 65ms); }
.motion-item.motion-visible { opacity:1; transform:none; filter:none; }
.section-heading .eyebrow::before { transform-origin:left center; animation:accent-line 2.8s cubic-bezier(.2,.8,.2,1) infinite alternate; }
.quick-band .site-container>div { position:relative; overflow:hidden; transition:background-color .3s ease,transform .3s ease; }
.quick-band .site-container>div::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.17) 48%,transparent 72%); transform:translateX(-120%); }
.quick-band .site-container>div:hover { background:rgba(255,255,255,.075); transform:translateY(-3px); }
.quick-band .site-container>div:hover::after { animation:info-sheen .8s ease; }
.quick-band i { transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .38s ease; }
.quick-band .site-container>div:hover i { transform:translateY(-4px) rotate(-7deg) scale(1.12); filter:drop-shadow(0 7px 8px rgba(0,0,0,.2)); }
.service-card { transform-style:preserve-3d; transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease,border-color .35s ease; }
.service-card:hover { transform:translateY(-9px); box-shadow:0 24px 46px rgba(6,35,55,.16); border-color:rgba(30,169,75,.42); }
.service-card .card-image::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.25) 49%,transparent 66%); transform:translateX(-130%); transition:transform .75s ease; }
.service-card:hover .card-image::after { transform:translateX(130%); }
.service-card .card-image img { transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .5s ease; }
.service-card:hover .card-image img { transform:scale(1.075); filter:saturate(1.08) contrast(1.03); }
.service-card .card-image span { transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .3s ease; }
.service-card:hover .card-image span { transform:rotate(-8deg) scale(1.08); }
.product-card { isolation:isolate; transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease; }
.product-card::before { content:""; position:absolute; z-index:1; inset:-80% -30%; pointer-events:none; background:linear-gradient(110deg,transparent 43%,rgba(255,255,255,.22) 50%,transparent 57%); transform:translateX(-55%) rotate(8deg); transition:transform .85s cubic-bezier(.2,.75,.2,1); }
.product-card:hover { transform:translateY(-10px) scale(1.015); box-shadow:0 25px 50px rgba(3,20,32,.28); }
.product-card:hover::before { transform:translateX(55%) rotate(8deg); }
.product-card>div { transition:transform .45s cubic-bezier(.2,.75,.2,1); }
.product-card:hover>div { transform:translateY(-7px); }
.product-card>div>i { transition:transform .4s cubic-bezier(.2,.8,.2,1),text-shadow .4s ease; }
.product-card:hover>div>i { transform:rotate(-9deg) scale(1.18); text-shadow:0 8px 18px rgba(255,221,41,.35); }
.product-card p { transition:color .3s ease; }
.product-card:hover p { color:#fff; }
.about-image { overflow:visible; }
.about-image>img { transition:transform .9s cubic-bezier(.2,.75,.2,1),filter .6s ease; }
.about-image:hover>img { transform:scale(1.025); filter:saturate(1.06) contrast(1.03); }
.experience-badge { animation:badge-float 3.6s ease-in-out infinite; }
.stats .site-container>div { position:relative; transition:transform .35s ease; }
.stats .site-container>div:hover { transform:translateY(-6px); }
.stats strong { transition:transform .4s cubic-bezier(.2,.8,.2,1),text-shadow .35s ease; }
.stats .site-container>div:hover strong { transform:scale(1.08); text-shadow:0 9px 18px rgba(0,0,0,.16); }
.button i,.text-link i { transition:transform .28s ease; }
.button:hover i,.text-link:hover i { transform:translateX(5px); }
@keyframes accent-line { from{transform:scaleX(.55)} to{transform:scaleX(1.18)} }
@keyframes info-sheen { to{transform:translateX(120%)} }
@keyframes badge-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@media(max-width:900px){.product-card:hover,.service-card:hover{transform:translateY(-5px)}.motion-item{transform:translate3d(0,20px,0)}}
@media(prefers-reduced-motion:reduce){.motion-item{opacity:1;transform:none;filter:none}.experience-badge,.section-heading .eyebrow::before{animation:none}.product-card::before,.quick-band .site-container>div::after{display:none}}

/* Premium mobile header and navigation */
html,body { max-width:100%; overflow-x:hidden; }
@media(max-width:900px){
  .topbar { display:none; }
  .site-header { position:sticky; top:0; background:rgba(248,247,242,.96); backdrop-filter:blur(18px); box-shadow:0 8px 30px rgba(7,34,55,.09); }
  .site-header .site-container.desktop-header { width:100%; height:74px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:0 20px; }
  .brand-stage { order:1; align-self:auto; justify-self:auto; flex:0 1 auto; width:auto; height:auto; min-width:0; padding:0; border:0; background:transparent; box-shadow:none; isolation:auto; }
  .brand-stage::after { display:none; }
  .brand-stage img { width:175px; max-width:55vw; height:64px; object-fit:contain; object-position:left center; filter:none; }
  .menu-toggle { order:2; flex:0 0 46px; display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid rgba(8,36,60,.14); border-radius:12px; background:var(--deep); color:#fff; box-shadow:0 8px 20px rgba(8,36,60,.16); font-size:1.05rem; }
  .menu-toggle[aria-expanded="true"] { border-color:var(--primary); background:var(--primary); color:var(--accent); box-shadow:0 10px 24px rgba(30,169,75,.34); transform:rotate(2deg); }
  .menu-toggle[aria-expanded="true"] i { color:var(--accent); font-size:1.18rem; }
  body.mobile-nav-open { overflow:hidden; }
  .mobile-menu { display:grid; visibility:hidden; opacity:0; position:fixed; z-index:90; inset:74px 0 auto; align-content:start; gap:7px; width:100%; height:calc(100dvh - 74px); max-height:none; padding:18px 18px 28px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; background:linear-gradient(165deg,#fff 0%,#f4f7f2 72%,#edf4ed 100%); border:0; box-shadow:0 22px 44px rgba(7,34,55,.2); transform:translateY(-12px); pointer-events:none; transition:opacity .28s ease,transform .28s ease,visibility .28s; }
  .mobile-menu.is-open { visibility:visible; opacity:1; display:grid; transform:none; pointer-events:auto; }
  .mobile-menu>.nav-link,.mobile-nav-head { min-height:52px; border:1px solid rgba(8,36,60,.09); border-radius:12px; background:rgba(255,255,255,.84); box-shadow:0 5px 16px rgba(8,36,60,.045); }
  .mobile-menu>.nav-link { width:100%; padding:0 16px; justify-content:space-between; font-size:.78rem; letter-spacing:.025em; }
  .mobile-menu>.nav-link::after { content:"\f054"; font-family:"Font Awesome 6 Free"; font-weight:900; color:var(--primary); font-size:.65rem; }
  .mobile-menu>.nav-link.active { border-color:rgba(30,169,75,.34); background:rgba(30,169,75,.08); }
  .mobile-nav-group { display:grid; gap:0; }
  .mobile-nav-head { display:grid; grid-template-columns:minmax(0,1fr) 50px; overflow:hidden; }
  .mobile-nav-head .nav-link { width:100%; min-width:0; justify-content:flex-start; padding:0 16px; border:0; font-size:.78rem; letter-spacing:.025em; }
  .mobile-submenu-toggle { display:grid; place-items:center; border:0; border-left:1px solid rgba(8,36,60,.09); background:rgba(30,169,75,.08); color:var(--primary); cursor:pointer; }
  .mobile-submenu-toggle i { transition:transform .3s ease; }
  .mobile-nav-group.is-expanded .mobile-submenu-toggle i { transform:rotate(180deg); }
  .mobile-submenu { display:block; max-height:0; margin:0 8px; padding:0; border:0; overflow:hidden; opacity:0; transition:max-height .48s cubic-bezier(.2,.75,.2,1),padding .38s ease,opacity .25s ease; }
  .mobile-nav-group.is-expanded .mobile-submenu { max-height:min(58dvh,680px); padding:10px 0 4px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--primary) rgba(8,36,60,.08); opacity:1; }
  .mobile-submenu::-webkit-scrollbar { width:5px; }
  .mobile-submenu::-webkit-scrollbar-track { background:rgba(8,36,60,.06); border-radius:999px; }
  .mobile-submenu::-webkit-scrollbar-thumb { background:var(--primary); border-radius:999px; }
  .mobile-submenu-meta { position:sticky; z-index:3; top:0; display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:9px 13px; border-bottom:1px solid rgba(8,36,60,.1); border-radius:11px 11px 0 0; background:var(--deep); color:#fff; box-shadow:0 8px 18px rgba(8,36,60,.14); }
  .mobile-submenu-meta span,.mobile-submenu-meta small { display:block; }
  .mobile-submenu-meta b { color:var(--accent); font-size:.72rem; letter-spacing:.035em; text-transform:uppercase; }
  .mobile-submenu-meta small { margin-top:2px; color:rgba(255,255,255,.7); font-size:.58rem; }
  .mobile-submenu-meta>i { color:var(--accent); font-size:.75rem; animation:mobile-menu-hint 1.4s ease-in-out infinite alternate; }
  .mobile-submenu-link { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:10px; min-height:50px; padding:8px 12px; color:var(--foreground); border-bottom:1px solid rgba(8,36,60,.08); background:rgba(255,255,255,.72); }
  .mobile-submenu-link:first-of-type { border-radius:11px 11px 0 0; }
  .mobile-submenu-link:last-child { border-bottom:0; border-radius:0 0 11px 11px; }
  .mobile-submenu-link>i { display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:var(--deep); color:var(--accent); font-size:.76rem; }
  .mobile-submenu-link span { min-width:0; font-size:.72rem; line-height:1.25; font-weight:700; }
  .mobile-submenu-link small { display:block; margin-top:3px; color:var(--muted-foreground); font-size:.6rem; font-weight:500; }
  .mobile-menu>.button { width:100%; min-height:50px; margin-top:6px; border-radius:12px; }
  .topbar .site-container { width:100%; padding-inline:16px; }
}
@keyframes mobile-menu-hint { from{transform:translateY(-2px)} to{transform:translateY(3px)} }
@media(max-width:600px){
  .topbar .site-container { height:34px; }
  .topbar .site-container>div:first-child { min-width:0; }
  .topbar a { white-space:nowrap; font-size:.66rem; }
  .topbar .site-container>div:last-child>span { display:none; }
  .site-header .site-container.desktop-header { height:70px; padding-inline:15px; }
  .brand-stage img { width:160px; max-width:58vw; height:60px; }
  .menu-toggle { width:44px; height:44px; border-radius:11px; }
  .mobile-menu { inset-block-start:70px; height:calc(100dvh - 70px); padding:14px 14px 24px; }
}

/* Branded 404 page */
.error-page-body { margin:0; background:var(--deep); color:#fff; }
.error-page { position:relative; display:grid; grid-template-rows:auto 1fr auto auto; min-height:100svh; overflow:hidden; isolation:isolate; }
.error-page-bg,.error-page-overlay,.error-grid { position:absolute; inset:0; width:100%; height:100%; }
.error-page-bg { z-index:-3; object-fit:cover; object-position:center; filter:saturate(.75) contrast(1.05); }
.error-page-overlay { z-index:-2; background:linear-gradient(90deg,rgba(3,23,37,.97) 0%,rgba(3,23,37,.88) 48%,rgba(3,23,37,.54) 100%),linear-gradient(0deg,rgba(3,23,37,.88),transparent 60%); }
.error-grid { z-index:-1; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,#000,transparent 78%); }
.error-header { width:min(1180px,calc(100% - 40px)); min-height:112px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.14); }
.error-header>a:first-child { display:block; padding:7px 14px; border-radius:8px; background:rgba(255,255,255,.94); }
.error-header img { width:154px; height:72px; object-fit:contain; }
.error-contact { display:flex; align-items:center; gap:11px; color:#fff; font-size:.8rem; font-weight:700; letter-spacing:.03em; }
.error-contact i { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:var(--accent); }
.error-content { width:min(1180px,calc(100% - 40px)); margin:auto; padding:48px 0 40px; }
.error-code { display:flex; align-items:center; gap:10px; width:max-content; margin-bottom:20px; color:rgba(255,255,255,.11); font:800 clamp(5rem,13vw,10rem)/.72 var(--font-display); letter-spacing:-.09em; user-select:none; }
.error-code i { color:var(--accent); font-size:.46em; filter:drop-shadow(0 0 28px rgba(255,221,41,.26)); animation:error-pulse 2.2s ease-in-out infinite; }
.error-status { display:inline-flex; align-items:center; gap:9px; margin-bottom:18px; color:var(--accent); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.error-content h1 { max-width:760px; margin:0; color:#fff; font:800 clamp(2.45rem,5.4vw,5.2rem)/.96 var(--font-display); letter-spacing:-.045em; text-transform:uppercase; }
.error-content p { max-width:680px; margin:24px 0 30px; color:#b9c7cf; font-size:.92rem; line-height:1.8; }
.error-actions { display:flex; flex-wrap:wrap; gap:12px; }
.error-outline-button { border:1px solid rgba(255,255,255,.28); color:#fff; background:rgba(255,255,255,.06); backdrop-filter:blur(10px); }
.error-outline-button:hover { color:#fff; background:rgba(255,255,255,.12); }
.error-shortcuts { width:min(1180px,calc(100% - 40px)); margin:0 auto 34px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.error-shortcuts>a { min-width:0; display:grid; grid-template-columns:42px minmax(0,1fr) 22px; align-items:center; gap:13px; padding:16px; border:1px solid rgba(255,255,255,.13); border-radius:8px; color:#fff; background:rgba(255,255,255,.07); backdrop-filter:blur(14px); transition:transform .3s ease,background .3s ease,border-color .3s ease; }
.error-shortcuts>a:hover { transform:translateY(-5px); border-color:rgba(255,221,41,.46); background:rgba(255,255,255,.12); }
.error-shortcuts>a>i:first-child { display:grid; place-items:center; width:42px; height:42px; border-radius:7px; background:var(--accent); color:var(--deep); }
.error-shortcuts>a>i:last-child { color:var(--accent); font-size:.75rem; transition:transform .3s ease; }
.error-shortcuts>a:hover>i:last-child { transform:translateX(4px); }
.error-shortcuts b,.error-shortcuts small { display:block; }
.error-shortcuts b { font-size:.8rem; }
.error-shortcuts small { margin-top:4px; overflow:hidden; color:#9eb1bc; font-size:.63rem; white-space:nowrap; text-overflow:ellipsis; }
.error-footer { width:min(1180px,calc(100% - 40px)); min-height:58px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid rgba(255,255,255,.12); color:#879da9; font-size:.65rem; }
@keyframes error-pulse { 0%,100%{transform:scale(1);filter:drop-shadow(0 0 18px rgba(255,221,41,.18))}50%{transform:scale(1.1);filter:drop-shadow(0 0 34px rgba(255,221,41,.5))} }
@media(max-width:760px){
  .error-header { min-height:82px; }
  .error-header>a:first-child { padding:4px 9px; }
  .error-header img { width:126px; height:54px; }
  .error-contact span { display:none; }
  .error-content { padding:38px 0 30px; }
  .error-code { margin-bottom:17px; font-size:5.2rem; }
  .error-content h1 { font-size:clamp(2.1rem,11vw,3.4rem); }
  .error-content p { margin-block:20px 25px; font-size:.83rem; }
  .error-actions { display:grid; grid-template-columns:1fr; }
  .error-actions .button { width:100%; }
  .error-shortcuts { grid-template-columns:1fr; margin-bottom:24px; }
  .error-footer { min-height:70px; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; }
}
@media(prefers-reduced-motion:reduce){.error-code i{animation:none}}

/* Legal pages */
.legal-hero { position:relative; overflow:hidden; padding:90px 0 78px; color:#fff; background:linear-gradient(120deg,var(--deep),#0c4932); }
.legal-hero::after { content:""; position:absolute; width:420px; height:420px; right:-90px; top:-250px; border:65px solid rgba(255,221,41,.16); border-radius:50%; }
.legal-hero .site-container { position:relative; z-index:1; }
.legal-hero h1 { margin:12px 0 14px; font-size:clamp(2.25rem,4vw,4rem); line-height:1; text-transform:uppercase; }
.legal-hero p { max-width:720px; color:#bed0d7; font-size:.9rem; line-height:1.75; }
.legal-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; align-items:start; gap:70px; }
.legal-article { min-width:0; }
.legal-lead { margin:0 0 40px; padding:22px 24px; border-left:4px solid var(--accent); background:var(--secondary); color:var(--foreground)!important; font-size:1rem!important; }
.legal-article h2 { margin:38px 0 14px; color:var(--deep); font-size:clamp(1.25rem,2vw,1.7rem); text-transform:none; }
.legal-article p,.legal-article li { color:var(--muted-foreground); font-size:.88rem; line-height:1.85; }
.legal-article a { color:var(--primary); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.legal-article ul { display:grid; gap:8px; padding-left:20px; }
.legal-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--border); border-radius:8px; }
.legal-table { width:100%; min-width:660px; border-collapse:collapse; background:#fff; }
.legal-table th,.legal-table td { padding:15px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; font-size:.75rem; line-height:1.6; }
.legal-table th { color:#fff; background:var(--deep); }
.legal-table code { font-size:.72rem; }
.legal-nav { position:sticky; top:135px; display:grid; gap:5px; padding:20px; border:1px solid var(--border); border-radius:10px; background:#fff; box-shadow:0 14px 38px rgba(7,34,55,.07); }
.legal-nav>span { margin-bottom:10px; color:var(--deep); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.legal-nav a,.legal-nav button { padding:12px 13px; border:0; border-radius:6px; color:var(--foreground); background:var(--secondary); text-align:left; font:700 .72rem var(--font-sans); cursor:pointer; }
.legal-nav a:hover,.legal-nav button:hover { color:#fff; background:var(--primary); }
.footer-legal-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px 15px; }
.footer-legal-links a,.footer-legal-links button { padding:0; border:0; color:#8fa4b1; background:transparent; font:500 .66rem var(--font-sans); cursor:pointer; }
.footer-legal-links a:hover,.footer-legal-links button:hover { color:var(--accent); }

/* Cookie consent */
.cookie-layer { position:relative; z-index:200; }
.cookie-banner { visibility:hidden; opacity:0; position:fixed; z-index:200; right:24px; bottom:24px; left:24px; display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:18px; width:min(1120px,calc(100% - 48px)); margin:auto; padding:18px 20px; border:1px solid rgba(255,255,255,.13); border-radius:14px; color:#fff; background:rgba(4,29,45,.97); box-shadow:0 24px 70px rgba(0,0,0,.28); backdrop-filter:blur(18px); transform:translateY(24px); transition:.35s ease; pointer-events:none; }
.cookie-banner.is-visible { visibility:visible; opacity:1; transform:none; pointer-events:auto; }
.cookie-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:12px; color:var(--deep); background:var(--accent); font-size:1.25rem; }
.cookie-copy h2 { margin:0 0 6px; color:#fff; font-size:.95rem; text-transform:none; }
.cookie-copy p { margin:0; color:#b6c7cf; font-size:.72rem; line-height:1.6; }
.cookie-copy a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:flex; gap:8px; }
.cookie-actions button,.cookie-preference-actions button { min-height:42px; padding:0 15px; border:1px solid rgba(255,255,255,.22); border-radius:7px; color:#fff; background:rgba(255,255,255,.07); font:700 .68rem var(--font-sans); cursor:pointer; }
.cookie-actions button:hover,.cookie-preference-actions button:hover { border-color:var(--accent); color:var(--deep); background:var(--accent); }
.cookie-actions [data-cookie-accept],.cookie-preference-actions [data-cookie-accept-all] { border-color:var(--accent); color:var(--deep); background:var(--accent); }
.cookie-preferences { position:fixed; z-index:210; inset:0; display:grid; place-items:center; padding:20px; background:rgba(3,18,29,.72); backdrop-filter:blur(8px); }
.cookie-preferences[hidden] { display:none; }
.cookie-preferences-card { position:relative; width:min(560px,100%); max-height:calc(100dvh - 40px); overflow:auto; padding:32px; border-radius:14px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.34); }
.cookie-preferences-card h2 { margin:10px 0; font-size:1.75rem; }
.cookie-preferences-card>p { color:var(--muted-foreground); font-size:.78rem; line-height:1.65; }
.cookie-close { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:50%; color:#fff; background:var(--deep); cursor:pointer; }
.cookie-option { display:grid; grid-template-columns:minmax(0,1fr) 46px; align-items:center; gap:18px; margin-top:12px; padding:16px; border:1px solid var(--border); border-radius:9px; cursor:pointer; }
.cookie-option b,.cookie-option small { display:block; }
.cookie-option b { color:var(--deep); font-size:.8rem; }
.cookie-option small { margin-top:5px; color:var(--muted-foreground); font-size:.66rem; line-height:1.5; }
.cookie-option input { position:absolute; opacity:0; }
.cookie-option>i { position:relative; width:44px; height:24px; border-radius:99px; background:#cad2d6; transition:.25s; }
.cookie-option>i::after { content:""; position:absolute; width:18px; height:18px; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.2); transition:.25s; }
.cookie-option input:checked+i { background:var(--primary); }
.cookie-option input:checked+i::after { transform:translateX(20px); }
.cookie-option input:disabled+i { opacity:.65; }
.cookie-preference-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }
.cookie-preference-actions button:first-child { border-color:var(--deep); color:var(--deep); }
.cookie-preferences-card>a { display:block; margin-top:18px; color:var(--primary); font-size:.7rem; font-weight:700; text-align:center; }
body.cookie-modal-open { overflow:hidden; }
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:34px}.legal-nav{position:static}.footer-bottom>.site-container{flex-wrap:wrap}.footer-legal-links{order:3;width:100%}}
@media(max-width:760px){.legal-hero{padding:64px 0 54px}.legal-section{padding-block:54px}.cookie-banner{right:12px;bottom:12px;left:12px;grid-template-columns:40px minmax(0,1fr);gap:12px;width:calc(100% - 24px);padding:15px}.cookie-icon{width:40px;height:40px}.cookie-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.cookie-actions button{padding-inline:6px}.cookie-preferences-card{padding:27px 20px}.cookie-preference-actions{grid-template-columns:1fr}.footer-legal-links{justify-content:flex-start}}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/montserrat-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/montserrat-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.hero-slider:not(.is-ready) .hero-bg{transition:none}

/* Responsive utility restoration: these escaped Tailwind-style selectors are
   used directly by the static HTML and must not be removed during CSS purging. */
@media (min-width:640px){
  .sm\:block{display:block}
}
@media (min-width:768px){
  .md\:block{display:block}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1024px){
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Keep service cards aligned and resilient at every breakpoint. */
.site-container.grid>.service-card{min-width:0;height:100%;display:flex;flex-direction:column}
.service-card>.p-6{min-width:0;flex:1;display:flex;flex-direction:column}
.service-card>.p-6>b{margin-top:auto;padding-top:18px}
.service-card h3,.service-card p{overflow-wrap:anywhere}
@media (max-width:767px){
  .page-hero h1{max-width:100%;overflow-wrap:anywhere}
  .site-container.grid>.service-card{width:100%}
}
