/*
 * SAS Global Service — Aviation editorial redesign
 * Presentation only: all content, media, links and brand colours are retained in the CMS.
 * Loaded after the existing shared components and catalogue stylesheet.
 */
:root {
  --paper: #f7f9fa;
  --surface: #fff;
  --bg: #eef2f4;
  --line: #dbe3e9;
  --muted: #546579;
  --accent-ink: #805b18;
  --container: 1320px;
  --section-space: clamp(76px, 8.3vw, 130px);
  --shadow-sm: 0 12px 36px rgba(6, 28, 47, .07);
  --shadow-md: 0 22px 65px rgba(6, 28, 47, .16);
}
body.studio-site {background:var(--surface);color:var(--ink);line-height:1.65}
.container {width:min(var(--container),calc(100% - clamp(36px,6.2vw,112px)))}
:where(.studio-site) h1,
:where(.studio-site) h2,
:where(.studio-site) h3 {text-wrap:balance}
:where(.studio-site) .section {padding-block:var(--section-space)}
:where(.studio-site) .eyebrow {color:var(--accent-ink);font-weight:800;letter-spacing:.18em;font-size:11px;margin-bottom:22px}
:where(.studio-site) .eyebrow:before {width:24px;height:2px;border-radius:0;background:var(--gold)}
:where(.studio-site) .eyebrow.light {color:#f1d49b}
:where(.studio-site) .eyebrow.light:before {background:var(--gold)}
:where(.studio-site) .section-heading {align-items:end;grid-template-columns:minmax(0,1fr) auto;gap:36px;margin-bottom:48px}
:where(.studio-site) .section-heading>div {max-width:850px}
:where(.studio-site) .section-heading h2 {max-width:870px;font-size:clamp(38px,4.3vw,65px);font-weight:750;line-height:1.08;letter-spacing:-.055em;margin-bottom:20px}
:where(.studio-site) .section-heading p {font-size:15px;color:var(--muted);max-width:590px;line-height:1.85}
:where(.studio-site) .text-link {font-size:12px;letter-spacing:.035em;text-transform:uppercase;border-bottom:1px solid currentColor;gap:24px;padding-bottom:4px;transition:color .2s ease}
:where(.studio-site) .text-link .icon {width:17px;height:17px}
:where(.studio-site) .text-link:hover {color:var(--accent-ink)}
:where(.studio-site) .button {min-height:54px;padding:15px 23px;font-size:12px;letter-spacing:.02em;font-weight:800;line-height:1.4;border-radius:2px;gap:30px;box-shadow:none;transition:background .25s ease,color .25s ease,border .25s ease,transform .25s ease}
:where(.studio-site) .button .icon {width:19px;height:19px}
:where(.studio-site) .button:hover {transform:translateY(-2px)}
:where(.studio-site) .button-gold {background:var(--gold);color:var(--deep);border-color:var(--gold)}
:where(.studio-site) .button-gold:hover {background:#f1ca82;border-color:#f1ca82;color:var(--deep)}
:where(.studio-site) .button-navy {background:var(--navy);color:#fff;border-color:var(--navy)}
:where(.studio-site) .button-navy:hover {background:var(--deep);border-color:var(--deep)}

/* Restrained two-level business navigation. Existing CMS menu stays the source. */
.utility-bar {background:var(--deep);color:#c3cbd3;border-bottom:1px solid rgba(255,255,255,.11)}
.utility-inner {min-height:39px}
.utility-location {text-transform:uppercase;font-weight:700;letter-spacing:.11em;font-size:10px}
.utility-bar .icon {color:var(--gold);width:13px;height:13px}
.utility-links {gap:25px}
.utility-links a {font-size:11px;letter-spacing:.025em;transition:color .2s}
.utility-links a:hover {color:#fff}
.site-header {z-index:80;background:#fff;border-bottom:1px solid #e6ebef;transition:box-shadow .25s ease}
.site-header.is-sticky {box-shadow:0 12px 32px rgba(8,30,52,.08)}
.header-inner {min-height:87px;gap:24px}
.site-brand {gap:14px;flex-shrink:1}
.brand-image {width:60px;height:65px;display:grid;place-items:center}
.brand-image img {display:block;object-fit:contain;width:57px;height:59px}
.brand-copy {gap:5px}
.brand-name {font-size:13px;font-weight:900;letter-spacing:-.025em;max-width:255px;line-height:1.25;color:var(--deep)}
.brand-subtitle {color:#697c8c;letter-spacing:.135em;font-size:9px;font-weight:700;line-height:1.4}
.main-nav {gap:clamp(17px,2.3vw,33px);align-items:center}
.nav-link {font-size:12px;letter-spacing:.018em;font-weight:750;min-height:87px;color:#2c3c4c;transition:color .2s}
.nav-link:after {bottom:0;height:3px;background:var(--gold)}
.nav-link:hover,.nav-link.is-current {color:var(--deep)}
.nav-group {gap:2px}
.nav-submenu-toggle {height:37px;width:23px;color:var(--navy)}
.nav-submenu-toggle .icon {width:14px;height:14px}
.nav-submenu-toggle:hover {background:#f1f4f6}
.nav-dropdown {left:-30px;top:calc(100% - 1px);width:min(385px,90vw);border:1px solid #e7edf1;border-top:3px solid var(--gold);padding:14px;background:#fff;border-radius:0 0 3px 3px;box-shadow:var(--shadow-md)}
.dropdown-link {border-radius:0;padding:13px 12px;line-height:1.4;color:var(--ink);font-weight:650;font-size:12px}
.dropdown-link+.dropdown-link {border-top:1px solid #edf1f3}
.dropdown-link:hover,.dropdown-link:focus-visible {background:#f2f5f7}
.dropdown-icon {color:var(--accent-ink)}
.dropdown-icon .icon {width:19px;height:19px}
.dropdown-all {font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:var(--deep);margin-bottom:4px}
.dropdown-arrow {font-size:17px;color:var(--accent-ink)}
.header-cta {white-space:nowrap;min-height:43px!important;padding:13px 17px!important;font-size:11px!important;gap:18px!important;flex:none}
.header-cta .icon {width:17px!important;height:17px!important}
.menu-toggle {border:1px solid #d9e2e9;border-radius:2px;background:#f6f8f9}
.mobile-nav {border-top:1px solid var(--line)}
.mobile-nav>a {color:var(--ink)}
.mobile-nav .mobile-categories {border-left:2px solid var(--gold);border-radius:0}
.mobile-nav-cta {background:var(--gold);color:var(--deep)!important}

/* Full-bleed, photographic aviation hero: no dependencies and no image duplication. */
.hero-slider {position:relative;display:grid;isolation:isolate;overflow:hidden;background:var(--deep);color:#fff;border:0}
.hero-slide {grid-area:1/1;position:relative;display:flex;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .75s ease,visibility .75s ease;overflow:hidden}
.hero-slide.active {opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hero-slide .hero-photo {position:absolute;inset:0;left:0;top:0;bottom:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 47%;clip-path:none;transform:scale(1.018);filter:saturate(.85) contrast(1.07);transition:transform 9s linear;will-change:auto}
.hero-slide.active .hero-photo {transform:scale(1.07)}
.hero-shade {position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(4,19,34,.97) 0%,rgba(5,23,41,.95) 29%,rgba(6,27,47,.75) 52%,rgba(4,18,32,.31) 78%,rgba(4,18,32,.31) 100%),linear-gradient(0deg,rgba(1,11,22,.50),transparent 35%);opacity:1}
.hero-technical-grid {position:absolute;inset:0;pointer-events:none;opacity:.42;background:linear-gradient(90deg,transparent calc(100% - 1px),rgba(255,255,255,.16) calc(100% - 1px)) 50% 0/26% 100%,linear-gradient(transparent calc(100% - 1px),rgba(255,255,255,.07) calc(100% - 1px)) 0 80%/100% 36%;mask-image:linear-gradient(90deg,transparent 10%,black 60%)}
.hero-inner {position:relative;z-index:2;display:flex;align-items:center;min-height:clamp(640px,56vw,810px)}
.hero-copy {color:#fff;max-width:780px;padding:105px 0 147px}
.hero-kicker {color:#ead9b7;display:flex;align-items:center;gap:16px;margin-bottom:31px;font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.kicker-rule {width:37px;height:2px;background:var(--gold)}
.hero-copy h1,.hero-copy .hero-title {max-width:820px;font-size:clamp(58px,6.5vw,102px);font-weight:750;letter-spacing:-.064em;line-height:1.02;margin:0 0 29px;color:#fff;text-wrap:balance}
.hero-desc {max-width:535px;margin:0 0 34px;color:#d6e0e9;font-size:16px;line-height:1.84;font-weight:450}
.hero-actions {display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.hero-actions .button {min-height:58px;padding:17px 23px;min-width:184px}
.hero-actions .button-outline {background:rgba(255,255,255,.035);color:#fff;border:1px solid rgba(255,255,255,.54);padding:17px 23px;min-height:58px}
.hero-actions .button-outline:hover {background:#fff;color:var(--deep);border-color:#fff}
.hero-edge-type {position:absolute;right:clamp(16px,3vw,55px);top:50%;transform:translateY(-50%) rotate(90deg) translateY(-50%);transform-origin:right center;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.73);font-weight:750;white-space:nowrap}
.hero-navigation {position:absolute;z-index:4;bottom:0;left:50%;transform:translateX(-50%);color:#fff;display:flex;align-items:center;gap:25px;min-height:80px;border-top:1px solid rgba(255,255,255,.25)}
.slide-count {gap:11px;letter-spacing:.11em;font-variant-numeric:tabular-nums;font-weight:800;font-size:12px}
.slide-count [data-current-slide] {font-size:23px;line-height:1}
.divider-slash {color:#9fafbe}
.hero-dots {display:flex;gap:3px}
.hero-dot {width:30px;height:36px}
.hero-dot:after {background:rgba(255,255,255,.47);height:2px;width:19px}
.hero-dot.active:after {background:var(--gold);width:27px}
.hero-arrows {margin-left:0;display:flex;gap:6px}
.hero-arrows button {background:rgba(255,255,255,.08);color:#fff;min-width:42px;height:42px;border:1px solid rgba(255,255,255,.32);transition:background .2s ease,color .2s ease}
.hero-arrows button:hover {background:var(--gold);color:var(--deep)}
.hero-arrows button .icon {width:18px;height:18px}
.hero-side-label {position:static;margin-left:auto;max-width:35%;font-size:10px;letter-spacing:.18em;font-weight:750;text-align:right;color:#d7e1eb}
.hero-slider .hero-slide:not(.active) * {visibility:inherit}

/* Sector directory is tied to active categories, not hardcoded labels or queries. */

/* Trust strip uses actual editable benefit text. */
.benefits-strip {background:#f7f9fa;border-bottom:1px solid #e7ecef}
.benefits-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:27px 0;counter-reset:none;gap:0}
.benefit-item,.benefit-item:first-child,.benefit-item:last-child {display:flex;align-items:flex-start;gap:17px;padding:7px 30px;border-right:1px solid var(--line);counter-increment:none}
.benefit-item:first-child {padding-left:0}
.benefit-item:last-child {border:0;padding-right:0}
.benefit-item:before {display:none}
.benefit-icon {display:grid;place-items:center;flex:none;width:48px;height:48px;color:var(--navy);border:1px solid #dce3e8;background:#fff}
.benefit-icon .icon {height:25px;width:25px}
.benefit-item strong {display:block;color:var(--deep);font-size:13px;font-weight:850;margin:0 0 2px}
.benefit-item p {font-size:12px;line-height:1.7;color:var(--muted);margin:0}

/* Photographic category mosaic: category order and images are CMS-managed. */
.categories-home {background:#fff}
.categories-home .section-heading {margin-bottom:46px}
.category-grid {display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);grid-auto-rows:320px;gap:16px;border:0}
.category-card,.category-card:nth-child(even) {position:relative;display:block;min-width:0;min-height:0;padding:0;margin:0;background:var(--deep);border:0;border-radius:2px;overflow:hidden;isolation:isolate;transform:none}
.category-card:first-child {grid-row:span 2}
.category-card:hover {transform:none;box-shadow:none}
.category-card .category-visual,.category-card:nth-child(even) .category-visual {position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;overflow:hidden;background:#1c3549;order:initial;clip-path:none}
.category-card .category-visual:after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,14,25,.97) 0%,rgba(5,21,36,.78) 40%,rgba(8,31,52,.07) 100%);transition:opacity .3s}
.category-card .category-visual img {width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.83);transition:transform .9s var(--ease),filter .5s ease}
.category-card:hover .category-visual img {transform:scale(1.065);filter:saturate(1)}
.category-card .category-card-info {position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:start;justify-content:flex-end;gap:0;width:100%;height:100%;padding:30px 33px 30px;color:#fff}
.category-card:first-child .category-card-info {padding:42px 46px}
.category-card-top {display:flex;justify-content:space-between;align-items:start;gap:16px;position:absolute;top:29px;left:33px;right:33px}
.category-card:first-child .category-card-top {top:37px;left:46px;right:46px}
.category-index {font-family:var(--font);font-weight:850;color:#fff;font-size:12px;letter-spacing:.15em;margin:0;border-bottom:2px solid var(--gold);padding-bottom:6px}
.category-card .category-visual-label {position:static;display:inline;max-width:65%;background:rgba(6,23,40,.68);border:1px solid rgba(255,255,255,.37);color:#f1d397;padding:7px 10px;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;line-height:1.4;text-align:right}
.category-card .category-card-symbol {display:none}
.category-card .category-card-info h3 {color:#fff;margin:0 0 10px;font-size:clamp(22px,2vw,33px);font-weight:750;letter-spacing:-.034em;line-height:1.18;max-width:440px}
.category-card:first-child .category-card-info h3 {font-size:clamp(32px,3.15vw,50px);max-width:530px;margin-bottom:16px}
.category-card .category-card-info p {color:#d3e0e9;font-size:12px;line-height:1.65;margin:0 0 15px;max-width:400px}
.category-card:first-child .category-card-info p {font-size:14px;margin-bottom:25px}
.category-card .category-card-action {display:inline-flex;align-items:center;justify-content:space-between;gap:25px;width:auto;border:0;border-bottom:1px solid rgba(255,255,255,.56);color:#fff;margin:0;padding:8px 0;font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:850}
.category-card .category-action-icon {display:grid;place-items:center;width:auto;height:auto;border:0;border-radius:0;color:#f0cc83;background:transparent;transition:transform .25s}
.category-card .category-action-icon .icon {width:17px;height:17px}
.category-card:hover .category-action-icon {background:transparent;transform:translate(4px,-4px)}

/* Product grid is a technical catalogue, not a second category mosaic. */
.featured-products,.related-products {background:#f1f4f6}
.product-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 24px}
.product-card {background:transparent;border:0;border-radius:0;overflow:visible;display:flex;flex-direction:column;min-width:0;transition:none}
.product-card:hover {box-shadow:none;transform:none}
.product-card-image {position:relative;display:block;overflow:hidden;aspect-ratio:1.52;background:#dce4e9}
.product-card-image:after {content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(6,29,48,.08);pointer-events:none}
.product-card-image img {width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82);transition:transform .85s var(--ease),filter .6s ease}
.product-card:hover .product-card-image img {transform:scale(1.055);filter:saturate(1)}
.product-image-arrow {position:absolute;right:0;bottom:0;z-index:1;display:grid;place-items:center;width:49px;height:49px;background:var(--gold);color:var(--deep);transform:translateY(0);transition:background .25s}
.product-image-arrow .icon {width:20px;height:20px}
.product-card:hover .product-image-arrow {background:#efc77a}
.product-card-body {display:flex;flex:1;flex-direction:column;min-width:0;padding:21px 0 0;border-bottom:1px solid #bdcad3}
.product-category-link {width:fit-content;display:inline-block;margin-bottom:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);font-weight:850}
.product-card-body h3 {font-size:clamp(23px,2.15vw,31px);letter-spacing:-.035em;font-weight:750;line-height:1.2;color:var(--deep);margin:0 0 11px}
.product-reference {color:#697a89;font-size:11px;margin-bottom:9px;font-weight:750}
.product-card-body p {color:#546579;font-size:13px;line-height:1.8;max-width:540px;margin:0 0 12px}
.product-card-more {font-size:11px;text-transform:uppercase;letter-spacing:.075em;font-weight:850;color:var(--deep);border:0;margin-top:auto;padding:18px 0 17px}
.product-card-more .icon {width:18px;height:18px;transition:transform .2s ease}
.product-card-more:hover .icon {transform:translateX(4px)}

/* Company introduction: generous typography against dark aviation blue. */
.about-home {position:relative;background:var(--navy);color:#fff;overflow:hidden}
.about-home:before {content:"";position:absolute;right:-14%;top:-170px;width:min(55vw,900px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 100px rgba(255,255,255,.017),0 0 0 200px rgba(255,255,255,.012);pointer-events:none}
.about-grid {display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);align-items:center;gap:clamp(55px,8vw,125px)}
.about-photo-wrap {position:relative;max-width:none;margin:0;min-width:0}
.about-photo {display:block;aspect-ratio:.95;width:100%;height:auto;object-fit:cover;filter:saturate(.76);border-radius:2px}
.about-photo-wrap:after {content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid rgba(224,183,102,.75);pointer-events:none}
.about-photo-mark {position:absolute;right:-16px;bottom:-16px;z-index:2;display:flex;flex-direction:column;align-items:start;gap:6px;background:var(--gold);color:var(--deep);min-width:160px;max-width:70%;padding:22px 27px;border:0;font-size:13px;line-height:1.2;letter-spacing:.015em}
.about-photo-mark>span {color:var(--deep);font-size:24px;line-height:1}
.about-photo-mark strong {font-weight:900;overflow-wrap:anywhere}
.about-content {position:relative;max-width:650px}
.about-home .about-content .eyebrow {color:#f3d394}
.about-content h2 {font-size:clamp(39px,4.1vw,65px);font-weight:750;letter-spacing:-.055em;line-height:1.09;margin:0 0 27px;color:inherit}
.about-content .about-lead {color:#f3f5f6;font-weight:550;font-size:19px;line-height:1.6;margin:0 0 24px}
.about-content p {color:#b8c9d7;font-size:14px;line-height:1.9}
.about-content .button {margin-top:24px}

/* Editorial approach panel over technical photography. */
.approach-section {position:relative;overflow:hidden;isolation:isolate;background:#cdd8e0;min-height:560px}
.approach-image {position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.approach-image:after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,47,.22),transparent 70%)}
.approach-image img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 53%;filter:saturate(.8);transform:scale(1.025)}
.approach-grid {position:relative;min-height:560px;display:flex;align-items:center;justify-content:flex-end;width:min(var(--container),calc(100% - clamp(36px,6.2vw,112px)));max-width:var(--container);padding:66px 0;gap:0}
.approach-copy {width:min(540px,53%);position:relative;z-index:2;margin:0;padding:48px clamp(32px,4.4vw,64px);border-top:4px solid var(--gold);background:#fff;box-shadow:0 22px 72px rgba(8,34,54,.16)}
.approach-copy h2 {font-size:clamp(35px,3.4vw,49px);font-weight:750;line-height:1.12;letter-spacing:-.055em;color:var(--deep);margin:0 0 20px}
.approach-copy p {color:var(--muted);font-size:14px;line-height:1.9;margin:0 0 17px}
.approach-copy .text-link {margin-top:10px}

/* Three-step specification-led process. */
.process-section {background:#fff}
.process-section .section-heading {margin-bottom:52px}
.process-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--deep)}
.process-card,.process-card+.process-card {position:relative;display:block;padding:34px clamp(20px,3.3vw,44px) 16px 0;border:0;border-right:1px solid var(--line)}
.process-card+.process-card {padding-left:clamp(20px,3.3vw,44px)}
.process-card:last-child {border-right:0}
.process-card>span {color:#ced9e0;display:block;font-weight:850;font-size:clamp(58px,6vw,93px);line-height:1;letter-spacing:-.07em;margin-bottom:26px}
.process-card-copy {position:relative;padding-top:18px}
.process-card-copy:before {content:"";position:absolute;top:0;left:0;width:33px;height:3px;background:var(--gold)}
.process-card h3 {font-size:clamp(19px,1.9vw,25px);font-weight:800;line-height:1.25;color:var(--deep);letter-spacing:-.03em;margin:0 0 12px}
.process-card p {font-size:13px;line-height:1.85;color:var(--muted);max-width:340px}

/* Conversion moment — photographic, focused and CMS editable. */
.cta-panel {position:relative;overflow:hidden;isolation:isolate;background:var(--deep);color:#fff}
.cta-panel:before {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,19,34,.99),rgba(4,22,39,.94) 49%,rgba(5,25,44,.68) 74%,rgba(4,19,33,.45));z-index:-1}
.cta-background {position:absolute;inset:0;z-index:-2;right:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;opacity:1;mix-blend-mode:normal;filter:saturate(.68)}
.cta-inner {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:70px;padding-block:clamp(90px,10vw,150px)}
.cta-inner>div {max-width:820px}
.cta-inner .eyebrow {color:#e8c78a}
.cta-inner .eyebrow:before {background:var(--gold)}
.cta-inner h2 {color:#fff;font-size:clamp(39px,4.8vw,72px);font-weight:750;letter-spacing:-.056em;line-height:1.07;margin:0 0 24px}
.cta-inner p {color:#cbd7e1;max-width:610px;font-size:15px;line-height:1.85;margin:0}
.cta-inner .button {color:var(--deep);background:var(--gold);border-color:var(--gold);padding:19px 24px;min-width:198px;min-height:65px;align-self:end}
.cta-inner .button:hover {background:#f1ca82;border-color:#f1ca82}

/* Footer is an architectural finish rather than a generic multi-card grid. */
.site-footer {background:#071b2d;color:#c2cfdc;border:0}
.footer-signature {padding-top:52px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.15)}
.footer-signature span {font-size:clamp(38px,7.3vw,115px);font-weight:850;letter-spacing:-.065em;line-height:1;max-width:87%;color:#e8edf0}
.footer-signature .icon {width:clamp(38px,6vw,84px);height:clamp(38px,6vw,84px);color:var(--gold)}
.footer-grid {display:grid;grid-template-columns:1.45fr .75fr 1fr 1.2fr;gap:clamp(26px,3.7vw,55px);padding:56px 0 68px}
.footer-logo {align-items:center;gap:13px;margin-bottom:21px}
.footer-logo img {background:#fff;padding:4px;width:56px;height:56px;object-fit:contain}
.footer-logo strong {color:#fff;font-weight:850;font-size:12px}
.footer-logo small {color:#b2c1cf;letter-spacing:.09em}
.footer-grid h3 {color:#fff;font-size:13px;font-weight:800;letter-spacing:.03em;margin-bottom:24px}
.footer-grid p,.footer-links,.footer-products-link {font-size:12px;line-height:1.9}
.footer-grid p {color:#b4c3d0}
.footer-links {gap:14px}
.footer-products-link {font-weight:800;color:#e9c785}
.footer-contact .icon {color:var(--gold)}
.footer-links a:hover,.footer-contact a:hover {color:#f4d39a}
.social-links a {border-color:rgba(218,184,114,.7)}
.footer-bottom {color:#a4b5c4;border-top:1px solid rgba(255,255,255,.13);padding:22px 0;font-size:11px}
.footer-bottom a {color:#efcc88}

/* Inner pages inherit the same new visual language, with no controller changes. */
.page-hero {position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:#fff;border:0}
.page-hero-image {position:absolute;inset:0;left:auto;right:0;top:0;z-index:-2;width:65%;height:100%;object-fit:cover;object-position:center;clip-path:none;filter:saturate(.76)}
.page-hero-overlay {display:block;position:absolute;inset:0;width:100%;height:100%;z-index:-1;background:linear-gradient(90deg,rgba(5,22,39,1) 5%,rgba(5,22,39,.96) 39%,rgba(5,22,39,.4) 100%)}
.page-hero-copy {min-height:405px;padding:66px 0 55px;display:flex;flex-direction:column;justify-content:center}
.page-hero h1 {max-width:740px;font-size:clamp(48px,6vw,82px);font-weight:750;letter-spacing:-.06em;line-height:1.06;color:#fff;margin:0 0 22px}
.page-hero p {max-width:630px;color:#d1dfeb;font-size:16px;line-height:1.8;margin:0}
.page-hero .eyebrow {color:#f0d29a}
.page-hero .breadcrumbs {max-width:750px;margin-top:27px;color:#b4c6d4;font-size:12px}
.page-hero .breadcrumbs span:last-child {color:#fff}
.page-hero .breadcrumbs a:hover {color:#f4d390}
.about-page-body,.contact-section,.generic-content,.categories-page {background:#fff}
.about-page-body .about-grid {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(50px,7vw,100px)}
.about-page-body .about-photo-wrap {position:sticky;top:115px;max-width:none}
.about-page-body .about-photo {aspect-ratio:.88;object-fit:cover}
.about-page-body .about-content {color:var(--deep)}
.about-page-body .about-content h2 {font-size:clamp(33px,3.3vw,49px);font-weight:750;color:var(--deep)}
.about-page-body .about-content p {color:var(--muted)}
.about-page-body .about-content .about-lead {color:var(--ink)}
.contact-grid {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,7vw,100px);align-items:start}
.contact-left {position:sticky;top:118px}
.contact-left h2 {font-size:clamp(30px,3vw,43px);font-weight:750;letter-spacing:-.045em;color:var(--deep)}
.contact-lead {font-size:14px;line-height:1.9;color:var(--muted)}
.contact-info-card {padding:23px 0;border-top:1px solid var(--line);gap:16px}
.contact-info-card h3 {font-size:14px;font-weight:850;color:var(--deep)}
.contact-info-card p,.contact-info-card a {font-size:13px;line-height:1.8}
.contact-info-icon {color:var(--accent-ink)}
.enquiry-panel {padding:0 0 0 40px;border:0;border-left:1px solid var(--line);background:transparent}
.form-heading h2 {font-size:clamp(30px,3vw,42px);font-weight:750;letter-spacing:-.045em;color:var(--deep)}
.form-heading p {font-size:13px;line-height:1.8}
.field label {font-weight:800;font-size:12px;color:var(--deep)}
.field input,.field select,.field textarea {min-height:52px;background:#f7f9fa;border:1px solid #d6e0e8;padding:12px 14px;font-size:13px;border-radius:2px;color:var(--ink);transition:border-color .2s ease,background .2s ease}
.field :is(input,select,textarea):focus {background:#fff;border-color:var(--navy);outline-offset:2px}
.field .input-error {border-color:#ae2e3d}
.upload-shell {background:#f7f9fa;border:1px dashed #aabcc9}
.form-finish {border-top:1px solid var(--line)}
.generic-paper {border-left:3px solid var(--gold);padding-left:clamp(20px,4vw,48px);max-width:900px}
.generic-paper p {color:var(--muted);line-height:1.95}
.detail-inquiry {background:#f1f5f7;border-top:3px solid var(--gold);padding:34px}
.detail-inquiry h3 {color:var(--deep);font-weight:800}

/* Product routes / category / search / product detail. */
.catalog-heading {background:var(--deep);color:#fff;border-bottom:0;position:relative;overflow:hidden}
.catalog-heading:before {content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(12,39,61,.4),transparent 70%);pointer-events:none}
.catalog-head-grid {position:relative;min-height:350px;padding:65px 0;align-items:center;gap:45px}
.catalog-heading .catalog-breadcrumb {color:#b7c7d5;font-size:11px;font-weight:650;letter-spacing:.02em}
.catalog-heading .catalog-breadcrumb a {color:#c4d1dd}
.catalog-heading .catalog-breadcrumb a:hover {color:#f3d595}
.catalog-heading .eyebrow {color:#f1d49b}
.catalog-heading h1 {font-size:clamp(47px,5.6vw,77px);font-weight:750;line-height:1.08;letter-spacing:-.06em;color:#fff;max-width:830px}
.catalog-heading p {color:#c6d7e4;font-size:15px;line-height:1.85;max-width:580px}
.catalog-heading-image {max-width:35%;width:360px;height:246px;object-fit:cover;border:5px solid rgba(255,255,255,.1)}
.catalog-content {background:#fff}
.catalog-introduction {border-left:3px solid var(--gold);padding:8px 0 8px 24px;margin-bottom:45px;color:var(--muted);font-size:14px;line-height:1.8;max-width:900px}
.catalog-toolbar {border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:27px}
.catalog-categories {gap:5px}
.catalog-chip {color:#687b8b;font-size:12px;font-weight:750;margin-right:16px;border-bottom:2px solid transparent}
.catalog-chip.active {color:var(--deep);border-color:var(--gold)}
.catalog-chip:hover {color:var(--deep);border-color:var(--gold)}
.catalog-search {border:1px solid #cbd9e2;border-radius:2px;background:#fff}
.catalog-search input {border:0;background:#fff;color:var(--deep)}
.catalog-search button {background:var(--gold);color:var(--deep)}
.catalog-results {color:#6a7d8c;font-size:12px;border-bottom:1px solid var(--line);margin-bottom:29px}
.product-heading {padding:17px 0;background:#edf2f5}
.product-detail {background:#fff;padding:75px 0 110px}
.product-detail-layout {gap:clamp(42px,6vw,92px)}
.product-gallery {top:119px}
.product-main-photo {background:#e8eef1;aspect-ratio:1.1}
.product-main-photo img {object-fit:cover}
.product-thumbnail {border:1px solid #d7e2e8;background:#fff;border-radius:2px}
.product-thumbnail.is-selected {border-color:var(--gold)}
.product-info h1 {font-size:clamp(40px,4.3vw,61px);font-weight:750;letter-spacing:-.06em;color:var(--deep)}
.product-info h2 {font-weight:750;color:var(--deep)}
.product-info .product-subtitle {color:#536679}
.product-request {border-top:2px solid var(--gold);background:#f1f5f7;padding:28px;margin-top:38px}
.product-request h3 {font-weight:750;color:var(--deep);font-size:24px}
.product-request .button {width:100%}
.related-products {background:#eff3f5}

@media (max-width:1200px) {
  .header-inner {gap:14px}
  .main-nav {gap:20px}
  .brand-name {max-width:190px;font-size:12px}
  .brand-subtitle {font-size:8px}
}
@media (max-width:1100px) {
  .main-nav,.header-cta {display:none}
  .menu-toggle {display:flex}
  .header-inner {min-height:78px}
  .mobile-nav {display:grid}
  .mobile-nav[hidden] {display:none!important}
  .hero-inner {min-height:650px}
  .hero-copy {max-width:680px;padding:90px 0 134px}
  .hero-copy h1,.hero-copy .hero-title {font-size:clamp(55px,7vw,82px)}
  .hero-shade {background:linear-gradient(90deg,rgba(4,18,32,.98),rgba(5,21,37,.91) 42%,rgba(4,18,32,.47) 100%)}
  .footer-grid {grid-template-columns:1.4fr .9fr;gap:35px}
  .about-grid {gap:55px}
}
@media (max-width:760px) {
  .container {width:calc(100% - 36px)}
  .utility-location {display:none}
  .utility-inner {justify-content:center;min-height:36px}
  .utility-links {flex-wrap:wrap;gap:6px 18px;justify-content:center;padding-block:7px}
  .utility-links a {font-size:10px}
  .header-inner {min-height:72px}
  .brand-image {width:49px;height:53px}
  .brand-image img {width:47px;height:50px}
  .brand-name {max-width:245px;font-size:12px}
  .brand-subtitle {font-size:8px}
  .hero-inner {min-height:650px}
  .hero-slide {padding-bottom:0}
  .hero-slide .hero-photo {left:0;top:0;bottom:0;inset:0;width:100%;height:100%;clip-path:none;object-position:67% center}
  .hero-shade {display:block;background:linear-gradient(90deg,rgba(4,18,32,.95),rgba(4,18,32,.75) 65%,rgba(4,18,32,.52)),linear-gradient(0deg,rgba(4,18,32,.6),transparent 60%)}
  .hero-technical-grid {opacity:.2}
  .hero-copy {max-width:100%;padding:75px 0 125px}
  .hero-copy h1,.hero-copy .hero-title {font-size:clamp(46px,9vw,73px);line-height:1.05;margin-bottom:22px}
  .hero-desc {color:#d6e1e9;max-width:510px;font-size:14px;line-height:1.8}
  .hero-kicker {font-size:10px;letter-spacing:.13em;line-height:1.7;margin-bottom:23px}
  .hero-actions .button {width:auto;min-height:53px;padding:14px 17px;min-width:0}
  .hero-actions .button-outline {min-height:53px;padding:14px 17px}
  .hero-navigation {min-height:65px;bottom:0;gap:11px}
  .hero-side-label {display:none}
  .hero-arrows {margin-left:auto}
  .hero-navigation .hero-dots {display:flex}
  .hero-edge-type {display:none}
  .benefits-grid {grid-template-columns:1fr;padding-block:8px}
  .benefit-item,.benefit-item:first-child,.benefit-item:last-child {padding:14px 0;border:0;border-bottom:1px solid var(--line)}
  .benefit-item:last-child {border-bottom:0}
  :where(.studio-site) .section-heading {display:flex;flex-direction:column;align-items:start;gap:12px;margin-bottom:33px}
  :where(.studio-site) .section-heading h2 {font-size:clamp(34px,7.2vw,50px);margin-bottom:14px}
  :where(.studio-site) .section-heading p {font-size:14px}
  .category-grid {grid-template-columns:1fr;grid-auto-rows:auto;gap:14px}
  .category-card,.category-card:nth-child(even),.category-card:first-child {grid-row:auto;min-height:355px}
  .category-card:first-child {min-height:445px}
  .category-card .category-visual {aspect-ratio:auto}
  .category-card .category-card-info,.category-card:first-child .category-card-info {padding:25px}
  .category-card-top,.category-card:first-child .category-card-top {top:24px;left:25px;right:25px}
  .category-card:first-child .category-card-info h3 {font-size:clamp(30px,7vw,44px)}
  .category-card .category-card-info h3 {font-size:clamp(25px,6vw,32px)}
  .category-card .category-card-info p {font-size:13px}
  .product-grid {gap:32px 18px}
  .product-card-body h3 {font-size:24px}
  .about-grid,.about-page-body .about-grid {grid-template-columns:1fr;gap:48px}
  .about-photo-wrap {width:min(85%,470px);max-width:470px;margin:0}
  .about-photo {aspect-ratio:1.15}
  .about-content h2 {font-size:clamp(37px,7vw,51px)}
  .about-page-body .about-photo-wrap {position:static;max-width:100%;width:100%}
  .about-page-body .about-photo {aspect-ratio:1.5}
  .approach-section {min-height:0;display:flex;flex-direction:column;background:#e6ebef}
  .approach-image {position:relative;inset:auto;width:100%;height:345px;overflow:hidden}
  .approach-image img {object-position:center;transform:none}
  .approach-grid {min-height:0;width:calc(100% - 36px);padding:0 0 60px;display:block;margin-top:-55px}
  .approach-copy {width:min(100%,590px);margin:0 0 0 auto;padding:30px;border-top:4px solid var(--gold)}
  .approach-copy h2 {font-size:clamp(32px,7vw,46px)}
  .process-grid {grid-template-columns:1fr;border-top:2px solid var(--deep)}
  .process-card,.process-card+.process-card {display:grid;grid-template-columns:90px minmax(0,1fr);gap:22px;padding:25px 0;border:0;border-bottom:1px solid var(--line)}
  .process-card:last-child {border:0}
  .process-card>span {grid-row:auto;margin:0;font-size:65px}
  .process-card-copy {padding-top:13px}
  .process-card h3 {font-size:22px}
  .process-card p {grid-column:auto}
  .cta-inner {display:flex;flex-direction:column;align-items:start;gap:28px;padding-block:72px}
  .cta-inner h2 {font-size:clamp(39px,7.5vw,55px)}
  .cta-inner .button {min-height:56px;min-width:180px;align-self:start}
  .footer-signature {padding-block:35px}
  .footer-signature span {font-size:clamp(30px,8vw,65px)}
  .footer-grid {grid-template-columns:1fr 1fr;gap:32px}
  .page-hero-image {position:absolute;inset:0;width:100%;height:100%;clip-path:none}
  .page-hero-overlay {display:block;background:linear-gradient(90deg,rgba(5,22,39,.95),rgba(5,22,39,.7))}
  .page-hero-copy {min-height:355px;padding:55px 0}
  .page-hero h1 {max-width:100%;font-size:clamp(42px,8vw,62px)}
  .page-hero p,.page-hero .breadcrumbs {max-width:100%}
  .contact-grid {grid-template-columns:1fr;gap:42px}
  .contact-left {position:static}
  .enquiry-panel {padding:35px 0 0;border:0;border-top:1px solid var(--line)}
  .catalog-head-grid {min-height:300px;padding-block:56px}
  .catalog-heading-image {max-width:33%;height:210px}
  .catalog-heading h1 {font-size:clamp(41px,7.5vw,60px)}
  .catalog-toolbar {display:block}
  .catalog-categories {margin-bottom:22px}
  .catalog-search {max-width:none}
  .product-detail-layout {grid-template-columns:1fr;gap:45px}
  .product-gallery {position:static}
  .product-info h1 {font-size:clamp(36px,8vw,52px)}
  .product-detail {padding-block:45px 70px}
}
@media (max-width:560px) {
  .brand-copy {gap:3px}
  .brand-name {font-size:10px;max-width:185px}
  .brand-subtitle {font-size:7px;letter-spacing:.055em}
  .menu-toggle {width:42px;height:42px}
  .hero-inner {min-height:620px}
  .hero-copy {padding:58px 0 114px}
  .hero-copy h1,.hero-copy .hero-title {font-size:clamp(42px,11.1vw,57px);letter-spacing:-.055em;line-height:1.04}
  .hero-desc {font-size:13px;margin-bottom:24px}
  .hero-actions {gap:9px}
  .hero-actions .button {width:auto;min-height:50px;padding:12px 15px;font-size:11px;gap:15px}
  .hero-actions .button-outline {padding:12px 15px}
  .hero-actions .button .icon {width:16px;height:16px}
  .hero-navigation .hero-dots {display:none}
  .hero-arrows button {min-width:38px;height:38px}
  .slide-count [data-current-slide] {font-size:18px}
  .benefit-icon {width:43px;height:43px}
  .category-card,.category-card:nth-child(even),.category-card:first-child {min-height:350px}
  .category-card .category-card-info,.category-card:first-child .category-card-info {padding:23px}
  .category-card-top,.category-card:first-child .category-card-top {top:22px;left:23px;right:23px}
  .category-card .category-card-info h3 {font-size:27px}
  .category-card:first-child .category-card-info h3 {font-size:31px}
  .product-grid {grid-template-columns:1fr;gap:33px}
  .product-card-image {aspect-ratio:1.4}
  .product-card-body h3 {font-size:25px}
  .about-photo-wrap {width:90%}
  .about-photo-mark {min-width:0;padding:16px 20px;font-size:11px}
  .about-content .about-lead {font-size:17px}
  .process-card,.process-card+.process-card {grid-template-columns:65px minmax(0,1fr);gap:16px}
  .process-card>span {font-size:54px}
  .cta-inner h2 {font-size:clamp(37px,9vw,50px)}
  .footer-grid {grid-template-columns:1fr;gap:32px}
  .footer-brand-col,.footer-contact {grid-column:auto}
  .footer-signature span {font-size:clamp(30px,8vw,44px)}
  .footer-bottom {gap:10px;align-items:start;flex-direction:column}
  .page-hero h1 {font-size:clamp(39px,9vw,54px)}
  .catalog-heading-image {display:none}
  .catalog-head-grid {min-height:0;padding:52px 0}
  .catalog-heading h1 {font-size:clamp(39px,9vw,53px)}
  .catalog-categories {flex-wrap:nowrap;overflow-x:auto}
  .form-cols {grid-template-columns:1fr}
  .form-finish {display:flex;flex-direction:column;align-items:stretch}
}
@media (prefers-reduced-motion:reduce) {
  .hero-slide .hero-photo,.hero-slide.active .hero-photo {transform:none!important;transition:none!important}
  .hero-copy>* {animation:none!important}
  .category-card:hover .category-visual img,.product-card:hover .product-card-image img {transform:none}
}
