/* Approved ChatGPT homepage prototype styles, ported to WordPress. */

:root {
  --page: #090a0c;
  --page-alt: #101216;
  --card: #15171c;
  --card-2: #1a1d22;
  --ink: #f7f4ee;
  --muted: #a2a4aa;
  --line: rgba(255,255,255,.11);
  --accent: #ff2c91;
  --accent-ink: #090a0c;
  --signal: #b8ff36;
  --heading: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --body: 'Barlow', Arial, sans-serif;
  --shadow: 0 24px 80px rgba(0,0,0,.32);
  --radius: 18px;
  --background: #090a0c;
  --foreground: #f7f4ee;
  --primary: #ff2c91;
  --primary-foreground: #090a0c;
  --secondary: #1a1d22;
  --secondary-foreground: #f7f4ee;
  --muted-foreground: #a2a4aa;
  --border: rgba(255,255,255,.11);
  --input: rgba(255,255,255,.16);
  --ring: #ff2c91;
  --popover: #15171c;
  --popover-foreground: #f7f4ee;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; background: #090a0c; }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: #090a0c; color: var(--ink); font-family: var(--body); }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }

.site-shell { min-height: 100vh; overflow: hidden; background: var(--page); color: var(--ink); transition: background .25s ease, color .25s ease; }
.elementor-widget-shortcode > .elementor-widget-container > .elementor-shortcode { width: 100%; }
.hero-track { position: relative; min-height: clamp(610px, 69vw, 755px); }
.hero-slide { position: absolute; inset: 0; visibility: hidden; opacity: 0; transition: opacity .55s ease, visibility .55s ease; }
.hero-slide.is-active { position: relative; visibility: visible; opacity: 1; }
.nav-mega.is-open .mega-panel { visibility: visible; transform: translate(-50%,0); opacity: 1; }
.department-arrow svg { width: 20px; height: 20px; }
.promo-icon svg { width: 100%; height: 100%; }
.product-tabs-list button[aria-selected='true'] { color: var(--ink) !important; box-shadow: inset 0 -3px var(--accent); }
.product-tabs [hidden] { display: none !important; }
.product-buy .icon-cart { display: grid; place-items: center; }
.site-shell + .site-footer { margin-top: 0; }
.site-shell[data-theme='pink'] { --accent: #ff2c91; --signal: #b8ff36; }
.site-shell[data-theme='acid'] { --accent: #b8ff36; --signal: #ff2c91; }
.site-shell[data-theme='light'] { --page: #f4f0e8; --page-alt: #ece6dc; --card: #fffdf8; --card-2: #e6dfd5; --ink: #111216; --muted: #64656a; --line: rgba(17,18,22,.14); --accent: #f32188; --accent-ink: #fff; --signal: #7cc600; --shadow: 0 22px 60px rgba(28,21,15,.14); --background: #f4f0e8; --foreground: #111216; --secondary: #e6dfd5; --secondary-foreground: #111216; --muted-foreground: #64656a; --border: rgba(17,18,22,.14); --input: rgba(17,18,22,.15); --popover: #fffdf8; --popover-foreground: #111216; }

.page-width { width: min(1420px, calc(100% - 64px)); margin-inline: auto; }
.section { padding-block: 110px; }
.kicker { margin: 0 0 12px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.section-heading h2, .livestock-header h2, .services-content h2, .lead-inner h2 { margin: 0; font-family: var(--heading); font-size: clamp(46px, 5.3vw, 78px); font-weight: 800; letter-spacing: -.035em; line-height: .86; text-transform: uppercase; }
.split-heading > p { width: min(480px, 100%); margin: 0; color: var(--muted); font-size: 17px; line-height: 1.55; }
.text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 700; }
.text-link svg { width: 17px; transition: transform .2s ease; }
.text-link:hover svg { transform: translateX(4px); }

.theme-switcher { position: fixed; z-index: 90; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 6px; padding: 6px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(8,9,11,.88); box-shadow: 0 14px 45px rgba(0,0,0,.35); backdrop-filter: blur(16px); color: #fff; }
.theme-switcher > span { padding: 0 8px; color: #b7b8bb; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.theme-switcher button { display: flex; align-items: center; gap: 7px; min-height: 34px; padding: 0 11px; border: 0; border-radius: 999px; background: transparent; color: #b7b8bb; font-size: 11px; font-weight: 700; }
.theme-switcher button:hover, .theme-switcher button.active { background: rgba(255,255,255,.11); color: #fff; }
.swatch { width: 10px; height: 10px; border-radius: 50%; border: 1px solid rgba(255,255,255,.5); }
.swatch-pink { background: #ff2c91; }.swatch-acid { background: #b8ff36; }.swatch-light { background: #eee5d8; }

.announcement { background: var(--accent); color: var(--accent-ink); }
.announcement-inner { min-height: 37px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.announcement-inner span { display: inline-flex; align-items: center; gap: 8px; }
.announcement-inner svg { width: 14px; height: 14px; }
.announcement-links { gap: 22px !important; }
.announcement-links a:hover { text-decoration: underline; }

.site-header { position: relative; z-index: 50; display: block; background: color-mix(in srgb, var(--page) 95%, transparent); border-bottom: 1px solid var(--line); }
.header-main { min-height: 91px; display: grid; grid-template-columns: 245px minmax(260px, 1fr) auto; align-items: center; gap: 38px; }
.wordmark { display: inline-flex; width: max-content; flex-direction: column; line-height: 1; }
.wordmark > span { color: var(--accent); font-family: var(--heading); font-size: 31px; font-weight: 800; letter-spacing: -.025em; }
.wordmark small { margin-top: 4px; color: var(--ink); font-size: 8px; font-weight: 800; letter-spacing: .24em; }
.wordmark-compact > span { font-size: 26px; }
.site-search { height: 46px; display: flex; align-items: center; gap: 12px; padding-left: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); }
.site-search svg { width: 18px; color: var(--muted); }
.site-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 13px; }
.site-search input::placeholder { color: color-mix(in srgb, var(--muted) 82%, transparent); }
.site-search button { height: 100%; padding: 0 21px; border: 0; border-radius: 0 9px 9px 0; background: var(--card-2); color: var(--ink); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.header-actions { display: flex; align-items: center; gap: 22px; }
.header-actions a { position: relative; display: flex; align-items: center; flex-direction: column; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.header-actions a:hover { color: var(--accent); }
.header-actions svg { width: 21px; height: 21px; }
.cart-link b { position: absolute; top: -8px; right: 0; display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: var(--accent); color: var(--accent-ink); font-size: 9px; }
.mobile-menu-button { display: none; border: 0; background: transparent; color: var(--ink); }

.desktop-nav { border-top: 1px solid var(--line); }
.nav-row { min-height: 50px; display: flex; align-items: center; gap: clamp(20px, 2.6vw, 42px); }
.nav-row > a, .nav-mega > button { display: inline-flex; min-height: 50px; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--ink); font-size: 12px; font-weight: 700; white-space: nowrap; }
.nav-row > a:hover, .nav-mega > button:hover { color: var(--accent); }
.nav-mega > button svg { width: 14px; }
.nav-pill { padding: 3px 6px; border-radius: 999px; background: var(--signal); color: #111; font-size: 8px; font-weight: 900; }
.nav-sale { margin-left: auto; color: var(--accent) !important; }
.nav-mega { position: static; }
.mega-panel { position: absolute; z-index: 40; top: 100%; left: 50%; width: min(1200px, calc(100% - 64px)); display: grid; grid-template-columns: 260px 1fr; gap: 42px; padding: 36px; transform: translate(-50%, 12px); visibility: hidden; border: 1px solid var(--line); border-radius: 0 0 18px 18px; background: var(--card); box-shadow: var(--shadow); opacity: 0; transition: .18s ease; }
.nav-mega:hover .mega-panel, .nav-mega:focus-within .mega-panel { visibility: visible; transform: translate(-50%, 0); opacity: 1; }
.mega-panel h3 { margin: 0 0 10px; font-family: var(--heading); font-size: 32px; text-transform: uppercase; }
.mega-panel p { margin: 0 0 22px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.mega-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mega-links a { display: flex; align-items: center; gap: 13px; padding: 15px; border-radius: 12px; background: var(--page-alt); }
.mega-links a:hover { background: color-mix(in srgb, var(--accent) 12%, var(--page-alt)); }
.mega-links svg { width: 22px; color: var(--accent); }
.mega-links span { display: flex; flex-direction: column; gap: 3px; }
.mega-links strong { font-size: 13px; }.mega-links small { color: var(--muted); font-size: 10px; }

.hero-section { position: relative; background: #08090b; color: #fff; }
.hero-track { margin-left: 0 !important; }
.hero-item { padding-left: 0 !important; }
.hero-slide { position: relative; min-height: clamp(610px, 69vw, 755px); display: flex; align-items: center; overflow: hidden; }
.hero-slide > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,8,.95) 0%, rgba(5,6,8,.87) 33%, rgba(5,6,8,.38) 63%, rgba(5,6,8,.2) 100%), linear-gradient(0deg, rgba(5,6,8,.7), transparent 46%); }
.hero-content { position: relative; z-index: 2; min-height: inherit; display: flex; align-items: center; justify-content: space-between; padding-block: 100px 135px; }
.hero-copy { width: min(700px, 63%); }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow span { width: 30px; height: 2px; background: var(--accent); }
.hero-copy h1, .hero-copy h2 { margin: 0; color: var(--ink); font-family: var(--heading); font-size: clamp(64px, 8.2vw, 122px); font-weight: 800; letter-spacing: -.045em; line-height: .77; text-transform: uppercase; }
.hero-lead { width: min(570px, 100%); margin: 28px 0 0; color: #d4d4d6; font-size: clamp(16px, 1.5vw, 20px); line-height: 1.48; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.btn { min-height: 51px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 24px; border: 1px solid transparent; border-radius: 9px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: transform .18s ease, background .18s ease, border .18s ease; }
.btn:hover { transform: translateY(-2px); }.btn svg { width: 17px; }
.btn-primary { background: var(--accent); color: var(--accent-ink); }
.btn-primary:hover { background: color-mix(in srgb, var(--accent) 88%, white); }
.btn-glass { border-color: rgba(255,255,255,.35); background: rgba(8,9,11,.22); color: #fff; backdrop-filter: blur(10px); }
.btn-glass:hover { border-color: #fff; background: rgba(255,255,255,.12); }
.btn-dark { background: #0b0c0f; color: #fff; }.btn-outline { border-color: var(--line); color: var(--ink); }
.btn-outline:hover { border-color: var(--accent); color: var(--accent); }
.hero-note { align-self: flex-end; width: 280px; display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(8,9,11,.5); backdrop-filter: blur(12px); cursor: pointer; transition: border-color .2s ease, transform .2s ease; }
.hero-note:hover { transform: translateY(-2px); border-color: var(--accent); }
.hero-note > span { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: var(--signal); color: #0c0d0f; }
.hero-note svg { width: 21px; }.hero-note div { display: flex; flex-direction: column; gap: 4px; }.hero-note strong { font-size: 12px; }.hero-note small { color: #b9b9bd; font-size: 10px; line-height: 1.35; }
.hero-controls { position: absolute; z-index: 5; right: 0; bottom: 38px; left: 0; display: flex; align-items: center; justify-content: space-between; pointer-events: none; }
.hero-controls button { pointer-events: auto; }
.hero-dots { display: flex; align-items: center; gap: 8px; }
.hero-dots button { width: 42px; height: 14px; display: grid; place-items: center; border: 0; background: transparent; }
.hero-dots span { width: 100%; height: 2px; background: rgba(255,255,255,.35); }.hero-dots button.active span { background: var(--accent); }
.hero-arrows { display: flex; align-items: center; gap: 14px; }
.hero-arrows button { display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(8,9,11,.24); color: #fff; }
.hero-arrows button:hover { border-color: var(--accent); color: var(--accent); }.hero-arrows svg { width: 17px; }.hero-arrows span { font-size: 10px; font-weight: 800; letter-spacing: .12em; }

.service-strip { border-bottom: 1px solid var(--line); background: var(--page-alt); }
.service-strip-grid { min-height: 94px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.service-strip-grid > div { min-height: 46px; display: flex; align-items: center; gap: 13px; padding-inline: 25px; border-right: 1px solid var(--line); }
.service-strip-grid > .jak-chat-trigger { border-radius: 12px; transition: background-color .2s ease; }
.service-strip-grid > .jak-chat-trigger:hover { background: rgba(255,44,145,.08); }
.service-strip-grid > div:first-child { padding-left: 0; }.service-strip-grid > div:last-child { padding-right: 0; border-right: 0; }
.service-strip-grid svg { width: 25px; color: var(--accent); }.service-strip-grid span { display: flex; flex-direction: column; gap: 4px; }.service-strip-grid strong { font-size: 12px; }.service-strip-grid small { color: var(--muted); font-size: 10px; }

.departments-section { padding-bottom: 92px; }
.department-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 310px 235px; gap: 16px; }
.department-card { position: relative; min-width: 0; display: block; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.department-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.05); transition: transform .45s ease, filter .3s ease; }
.department-card:hover img { transform: scale(1.05); filter: saturate(1.08) contrast(1.05); }
.department-scrim { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,8,10,.94), rgba(7,8,10,.08) 72%); }
.department-icon { position: absolute; top: 18px; left: 18px; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; background: var(--accent); color: var(--accent-ink); box-shadow: 0 10px 25px rgba(0,0,0,.25); }
.department-icon svg { width: 22px; }
.department-copy { position: absolute; right: 18px; bottom: 18px; left: 18px; display: flex; flex-direction: column; gap: 4px; color: #fff; }
.department-copy strong { font-family: var(--heading); font-size: 31px; font-weight: 700; line-height: 1; text-transform: uppercase; }.department-copy small { color: #c7c7ca; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.department-arrow { position: absolute; right: 18px; bottom: 24px; width: 20px; color: var(--accent); transform: translateX(-5px); opacity: 0; transition: .2s ease; }.department-card:hover .department-arrow { transform: translateX(0); opacity: 1; }
.department-card:hover .department-copy { padding-right: 28px; }

.brand-section { padding: 28px 0 36px; border-block: 1px solid var(--line); background: var(--card); }
.brand-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 25px; }
.brand-heading > span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }.brand-heading a { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 700; }.brand-heading svg { width: 15px; }
.brand-marquee { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.brand-track { width: max-content; display: flex; align-items: center; gap: 60px; animation: brand-scroll 26s linear infinite; }
.brand-track span { color: var(--ink); font-family: var(--heading); font-size: 24px; font-weight: 800; letter-spacing: .04em; white-space: nowrap; opacity: .76; }
@keyframes brand-scroll { to { transform: translateX(-50%); } }

.promo-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.promo-card { position: relative; min-height: 400px; display: flex; align-items: flex-start; flex-direction: column; justify-content: center; overflow: hidden; padding: clamp(34px, 5vw, 68px); border-radius: 24px; }
.promo-card h2 { position: relative; z-index: 2; margin: 0; font-family: var(--heading); font-size: clamp(54px, 6vw, 87px); font-weight: 800; letter-spacing: -.04em; line-height: .81; }
.promo-card > p:not(.kicker) { position: relative; z-index: 2; width: min(500px, 78%); margin: 22px 0 30px; font-size: 15px; line-height: 1.55; }
.promo-card .btn, .promo-card .kicker { position: relative; z-index: 2; }
.promo-primary { background: var(--accent); color: var(--accent-ink); }.promo-primary .kicker { color: var(--accent-ink); }.promo-primary h2 { max-width: 670px; }.promo-primary .promo-artwork { position: absolute; z-index: 1; right: -2px; bottom: -2px; width: min(32%,320px); height: auto; display: block; opacity: .34; pointer-events: none; }.promo-gridlines { position: absolute; inset: 0; background-image: linear-gradient(rgba(8,9,11,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(8,9,11,.08) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(120deg, #000, transparent 72%); }
.promo-secondary { border: 1px solid var(--line); background: var(--card); }.promo-secondary > p:not(.kicker) { width: min(420px, 75%); color: var(--muted); }.promo-secondary h2 { font-size: clamp(52px, 5vw, 72px); }
.advisor-badge { position: absolute; right: 40px; bottom: 36px; display: flex; align-items: center; gap: 11px; transform: rotate(-5deg); }.advisor-badge > span { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 50%; background: var(--signal); color: #111; font-family: var(--heading); font-size: 23px; font-weight: 800; }.advisor-badge small { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }

.product-section { background: var(--page-alt); }
.product-section > .page-width { display: grid; gap: 0; }
.product-heading { align-items: flex-end; margin-bottom: 18px; }
.product-heading > div { display: grid; align-content: end; }
.product-heading .text-link { align-self: flex-end; margin-bottom: 5px; }
.product-tabs { display: grid; gap: 0; }
.product-tabs-list { height: auto !important; gap: 34px !important; margin: 0 0 4px !important; padding: 0 !important; border-bottom: 1px solid var(--line); }
.woo-source { display: inline-flex; align-items: center; gap: 8px; margin: 17px 0 0; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.woo-source > span { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent); }
.woo-source.woo-live > span { background: var(--signal); box-shadow: 0 0 0 4px color-mix(in srgb, var(--signal) 14%, transparent); }
.product-tabs-list button { min-height: 50px; padding-inline: 0 !important; color: var(--muted) !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .08em; text-transform: uppercase; }.product-tabs-list button[data-active] { color: var(--ink) !important; }.product-tabs-list button::after { bottom: -1px !important; height: 3px !important; background: var(--accent) !important; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.product-card { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--card); transition: transform .2s ease, border .2s ease; }.product-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--accent) 50%, var(--line)); }
.product-media { position: relative; height: auto; aspect-ratio: 1 / 1; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 60% 35%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 43%), linear-gradient(135deg, var(--card-2), var(--page)); }
.product-media-2 { background: radial-gradient(circle at 45% 45%, color-mix(in srgb, var(--signal) 17%, transparent), transparent 46%), linear-gradient(145deg, var(--card-2), var(--page)); }.product-media-3 { background: radial-gradient(circle at 55% 45%, rgba(30,144,255,.25), transparent 47%), linear-gradient(135deg, var(--card-2), var(--page)); }.product-media-4 { background: radial-gradient(circle at 45% 40%, rgba(232,177,94,.22), transparent 45%), linear-gradient(145deg, var(--card-2), var(--page)); }
.product-symbol { position: relative; z-index: 2; width: 92px; height: 92px; color: var(--ink); stroke-width: 1; opacity: .9; }.product-orbit { position: absolute; width: 180px; height: 180px; border: 1px solid var(--line); border-radius: 50%; box-shadow: inset 0 0 45px rgba(255,255,255,.025); }.product-orbit::after { position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); content: ''; }
.product-photo,
.woocommerce .product-media img.product-photo { position: absolute; inset: 0; width: 100% !important; max-width: none !important; height: 100% !important; display: block; margin: 0 !important; object-fit: cover !important; object-position: center; transition: transform .35s ease; }
.product-card:hover .product-photo { transform: scale(1.035); }
.product-tag { position: absolute; z-index: 3; top: 16px; left: 16px; padding: 6px 9px; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.wishlist { position: absolute; z-index: 3; top: 13px; right: 13px; width: 38px; height: 38px; min-height: 38px; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: color-mix(in srgb, var(--card) 70%, transparent); color: var(--ink); line-height: 0; }.wishlist:hover { color: var(--accent); }.wishlist svg { width: 17px; height: 17px; display: block; margin: 0; transform: translateY(.25px); }
.product-body { padding: 20px; }.product-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.product-body h3 { min-height: 44px; margin: 10px 0 8px; font-size: 18px; line-height: 1.25; }.product-rating { color: var(--accent); font-size: 10px; letter-spacing: 1px; }.product-rating small { color: var(--muted); letter-spacing: 0; }
.product-buy { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; }.product-buy > strong { font-family: var(--heading); font-size: 23px; }.icon-cart { width: 42px !important; height: 42px !important; padding: 0 !important; border-radius: 10px !important; background: var(--accent) !important; color: var(--accent-ink) !important; }.icon-cart:hover { filter: brightness(1.08); }.icon-cart svg { width: 18px; }
.icon-enquiry { display: grid; place-items: center; background: var(--signal) !important; color: #111 !important; }
.fulfilment { display: flex; align-items: center; gap: 7px; margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; line-height: 1.3; }.fulfilment svg { width: 14px; flex: 0 0 auto; color: var(--signal); }
.catalogue-note { display: flex; align-items: center; justify-content: center; gap: 9px; margin: 26px 0 0; color: var(--muted); font-size: 11px; text-align: center; }.catalogue-note svg { width: 15px; color: var(--signal); }

.livestock-section { background: var(--page); }
.livestock-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 42px; }.livestock-intro { width: min(520px, 100%); display: flex; gap: 12px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); }.livestock-intro p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.live-dot { width: 9px; height: 9px; flex: 0 0 auto; margin-top: 4px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 5px color-mix(in srgb, var(--signal) 15%, transparent); }
.livestock-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }.livestock-card { overflow: hidden; border-radius: 16px; background: var(--card); }.livestock-image { position: relative; height: 360px; overflow: hidden; }.livestock-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88); transition: .4s ease; }.livestock-card:hover img { transform: scale(1.04); filter: saturate(1.06); }
.stock-badge { position: absolute; top: 15px; left: 15px; padding: 7px 10px; border-radius: 999px; color: #111; font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }.stock-green { background: var(--signal); }.stock-pink { background: var(--accent); color: var(--accent-ink); }.stock-neutral { background: #fff; }
.livestock-body { padding: 19px; }.livestock-body p { margin: 0 0 7px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.livestock-body h3 { margin: 0 0 18px; font-family: var(--heading); font-size: 27px; line-height: 1; }.livestock-body a { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); font-size: 11px; font-weight: 800; text-transform: uppercase; }.livestock-body svg { width: 15px; }.livestock-actions { display: flex; justify-content: center; gap: 12px; margin-top: 34px; }

.services-section { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(55px, 7vw, 110px); align-items: center; }
.services-visual { position: relative; min-height: 730px; overflow: hidden; border-radius: 24px; background: var(--card); }.services-visual > img { width: 100%; height: 100%; min-height: 730px; object-fit: cover; filter: saturate(.85) contrast(1.04); }.services-stamp { position: absolute; top: 28px; right: 28px; display: flex; align-items: center; gap: 9px; padding: 15px 17px; transform: rotate(4deg); background: var(--signal); color: #111; }.services-stamp svg { width: 24px; }.services-stamp span { font-family: var(--heading); font-size: 16px; font-weight: 800; line-height: .85; }.services-caption { position: absolute; right: 25px; bottom: 25px; left: 25px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 13px; background: rgba(8,9,11,.65); backdrop-filter: blur(12px); color: #fff; }.services-caption span { color: #c8c8ca; font-size: 10px; font-weight: 700; text-transform: uppercase; }.services-caption strong { max-width: 260px; font-size: 11px; text-align: right; }
.services-lead { width: min(590px, 100%); margin: 26px 0 32px; color: var(--muted); font-size: 17px; line-height: 1.58; }.services-list { margin-bottom: 30px; border-top: 1px solid var(--line); }.services-list article { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--line); }.services-list article > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 12px; background: var(--card); color: var(--accent); }.services-list article > span svg { width: 23px; }.services-list h3 { margin: 0 0 5px; font-size: 15px; }.services-list p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }.services-list article > svg { width: 18px; color: var(--muted); }

.guides-section { background: var(--page-alt); }
.guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.guide-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--card); }.guide-image { position: relative; height: 310px; display: block; overflow: hidden; }.guide-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); transition: .4s ease; }.guide-card:hover img { transform: scale(1.04); filter: saturate(1); }.guide-image::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,9,11,.55), transparent 55%); content: ''; }.guide-image span { position: absolute; z-index: 2; left: 16px; bottom: 16px; padding: 7px 10px; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.guide-body { padding: 22px; }.guide-body small { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.guide-body h3 { margin: 10px 0 22px; font-family: var(--heading); font-size: clamp(26px, 2.4vw, 35px); line-height: 1.03; }.guide-body > a { display: inline-flex; align-items: center; gap: 8px; color: var(--accent); font-size: 11px; font-weight: 800; text-transform: uppercase; }.guide-body svg { width: 15px; }

.lead-section { padding-block: 85px; background: var(--accent); color: var(--accent-ink); }.lead-inner { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 90px; }.lead-inner .kicker { color: var(--accent-ink); }.lead-form-wrap > p { max-width: 650px; margin: 0 0 24px; font-size: 16px; line-height: 1.55; }.lead-form { height: 62px; display: flex; align-items: center; gap: 12px; padding-left: 18px; background: #fff; border-radius: 10px; }.lead-form > svg { width: 20px; color: #696a70; }.lead-form input { min-width: 0; flex: 1; border: 0; outline: 0; color: #111; }.lead-form button { align-self: stretch; display: flex; align-items: center; gap: 9px; padding: 0 23px; border: 0; border-radius: 0 9px 9px 0; background: #0a0b0d; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.lead-form button:hover { background: #22242a; }.lead-form button svg { width: 16px; }.lead-form-wrap > small { display: block; margin-top: 11px; font-size: 9px; line-height: 1.4; opacity: .78; }

.site-footer { padding-top: 75px; background: #07080a; color: #f7f4ee; }.footer-main { display: grid; grid-template-columns: 1.7fr repeat(3, .75fr); gap: 65px; padding-bottom: 65px; }.footer-brand .wordmark small { color: #f7f4ee; }.footer-brand > p { max-width: 460px; margin: 24px 0; color: #9b9da3; font-size: 13px; line-height: 1.6; }.footer-contact { display: flex; flex-wrap: wrap; gap: 16px 22px; }.footer-contact a, .footer-contact span { display: inline-flex; align-items: center; gap: 7px; color: #c2c3c6; font-size: 10px; }.footer-contact svg { width: 15px; color: var(--accent); }.footer-main > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }.footer-main h3 { margin: 0 0 8px; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.footer-main > div:not(.footer-brand) a { color: #9b9da3; font-size: 11px; }.footer-main > div:not(.footer-brand) a:hover { color: var(--accent); }.footer-bottom { min-height: 61px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.1); color: #707278; font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.footer-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: 20px 0 0; }
.footer-actions a { min-height: 43px; display: inline-flex; align-items: center; gap: 8px; padding: 0 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: var(--accent); color: #090a0c; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.footer-actions a:last-child { background: transparent; color: #f7f4ee; }
.footer-actions svg { width: 16px; height: 16px; }

/* Elementor's reset is loaded after component styles. Keep the approved prototype
   authoritative inside the single homepage shortcode. */
.elementor .site-shell svg,
.elementor-location-header svg,
.elementor-location-footer svg { fill: none !important; stroke: currentColor !important; }
.elementor-location-header .site-header,
.elementor-location-footer .site-footer { width: 100% !important; max-width: none !important; margin: 0 !important; padding-inline: 0 !important; }
.elementor .hero-slide { position: absolute !important; inset: 0; min-height: clamp(610px, 69vw, 755px); }
.elementor .hero-slide.is-active { position: relative !important; display: flex !important; visibility: visible !important; opacity: 1 !important; }
.elementor .hero-slide > img { position: absolute !important; inset: 0 !important; width: 100% !important; max-width: none !important; height: 100% !important; object-fit: cover !important; }
.elementor .hero-content,
.elementor .hero-copy { position: relative !important; z-index: 3 !important; visibility: visible !important; opacity: 1 !important; }
.elementor .hero-copy h1, .elementor .hero-copy h2 { color: #fff !important; }
.elementor .hero-lead { color: #d4d4d6 !important; }
.elementor .service-strip-grid svg { width: 25px !important; height: 25px !important; color: var(--accent) !important; }
.elementor .department-icon svg { width: 22px !important; height: 22px !important; }
.elementor .promo-primary,
.elementor .promo-primary h2,
.elementor .promo-primary .kicker,
.elementor .promo-primary > p { color: #090a0c !important; }
.elementor .promo-primary h2,
.elementor .promo-secondary h2 { text-transform: uppercase; }
.elementor .promo-primary .btn-dark { color: #fff !important; }
.elementor .promo-primary .promo-artwork { position: absolute !important; right: -2px !important; bottom: -2px !important; width: min(32%,320px) !important; height: auto !important; }
.elementor .product-tabs-list { display: flex !important; gap: 34px !important; }
.elementor .product-tabs-list button { flex: 0 0 auto !important; width: auto !important; min-height: 50px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.elementor .product-tabs-list button[aria-selected='true'] { color: var(--ink) !important; box-shadow: inset 0 -3px var(--accent) !important; }
.elementor .lead-section,
.elementor .lead-inner,
.elementor .lead-inner h2,
.elementor .lead-inner .kicker,
.elementor .lead-form-wrap > p,
.elementor .lead-form-wrap > small { color: #090a0c !important; }
.elementor .lead-form { background: #fff !important; }
.elementor .lead-form input { background: transparent !important; color: #111 !important; box-shadow: none !important; }
.elementor .lead-form button { background: #0a0b0d !important; color: #fff !important; }
.elementor .lead-form button svg { color: #fff !important; }
.elementor .lead-section { background: #ff2c91 !important; background-image: none !important; }

.mobile-sheet { background: var(--page) !important; color: var(--ink) !important; width: min(430px, 92vw) !important; padding: 25px !important; border-color: var(--line) !important; }.sheet-close { position: absolute; top: 21px; right: 21px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); }.sheet-close svg { width: 18px; }.mobile-search { height: 48px; display: flex; align-items: center; gap: 10px; margin-top: 25px; padding-inline: 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--card); }.mobile-search svg { width: 18px; color: var(--muted); }.mobile-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--ink); }.mobile-nav-links { margin-top: 12px; }.mobile-nav-links a { display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 12px; padding: 16px 3px; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 700; }.mobile-nav-links a > svg:first-child { color: var(--accent); }.mobile-nav-links a > svg:last-child { width: 16px; color: var(--muted); }.mobile-secondary-links { display: grid; gap: 13px; margin-top: 25px; }.mobile-secondary-links a { color: var(--muted); font-size: 12px; }

@media (max-width: 1120px) {
  .header-main { grid-template-columns: 210px 1fr auto; gap: 22px; }
  .header-actions a:nth-child(1) { display: none; }
  .desktop-nav .nav-row { gap: 20px; }
  .nav-row > a, .nav-mega > button { font-size: 10px; }
  .hero-copy { width: 72%; }
  .hero-note { display: none; }
  .department-grid { grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 250px); }
  .department-card:last-child { grid-column: span 2; }
  .product-grid, .livestock-grid { grid-template-columns: repeat(2, 1fr); }
  .product-media { height: 320px; }
  .footer-main { grid-template-columns: 1.5fr repeat(3, .8fr); gap: 35px; }
}

@media (max-width: 860px) {
  .page-width { width: min(100% - 36px, 720px); }
  .section { padding-block: 78px; }
  .theme-switcher { right: 10px; bottom: 10px; }
  .theme-switcher > span, .theme-switcher button { font-size: 0; }
  .theme-switcher button { width: 32px; padding: 0; justify-content: center; }
  .swatch { width: 12px; height: 12px; }
  .announcement-inner { justify-content: center; text-align: center; }
  .announcement-links { display: none !important; }
  .header-main { min-height: 72px; grid-template-columns: 42px 1fr auto; gap: 10px; }
  .mobile-menu-button { display: grid; width: 38px; height: 38px; place-items: center; }
  .header-main > .wordmark { justify-self: center; }
  .wordmark > span { font-size: 25px; }
  .wordmark small { font-size: 6px; }
  .site-search, .header-actions a:not(.cart-link), .desktop-nav { display: none; }
  .header-actions { gap: 0; }
  .cart-link span { display: none; }
  .cart-link svg { width: 23px; height: 23px; }
  .hero-track { min-height: 720px; }
  .hero-slide.is-active { min-height: 720px; display: block; padding-top: 320px; background: #08090b; }
  .hero-slide > img { height: 345px; object-position: center !important; }
  .hero-content { min-height: 400px; align-items: flex-start; padding-block: 54px 112px; }
  .hero-copy { width: 100%; }
  .hero-overlay { height: 346px; bottom: auto; background: linear-gradient(0deg, #08090b 0%, rgba(8,9,11,.18) 38%, rgba(8,9,11,.08) 100%); }
  .hero-copy h1, .hero-copy h2 { font-size: clamp(58px, 13vw, 84px); }
  .hero-lead { max-width: 570px; font-size: 16px; }
  .hero-controls { bottom: 28px; }
  .service-strip { overflow: hidden; }
  .service-strip-grid { width: 100%; display: flex; gap: 0; overflow-x: auto; padding: 12px 18px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .service-strip-grid::-webkit-scrollbar { display: none; }
  .service-strip-grid > div { min-width: min(340px, 62vw); flex: 0 0 min(340px, 62vw); padding: 12px 22px; border-right: 1px solid var(--line); scroll-snap-align: start; }
  .service-strip-grid > div:first-child { padding-left: 12px; }
  .service-strip-grid > div:last-child { padding-right: 22px; border-right: 0; }
  .section-heading, .livestock-header { align-items: flex-start; flex-direction: column; gap: 20px; }
  .split-heading > p { width: 100%; }
  .department-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: auto; }
  .department-card { aspect-ratio: 1 / 1; }
  .department-card:last-child { grid-column: auto; }
  .promo-grid { grid-template-columns: 1fr; }
  .promo-card { min-height: 380px; }
  .promo-secondary > p:not(.kicker) { width: 70%; }
  .services-section { grid-template-columns: 1fr; }
  .services-visual { min-height: 560px; }
  .services-visual > img { min-height: 560px; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-card { display: grid; grid-template-columns: .8fr 1.2fr; }
  .guide-image { height: 250px; }
  .lead-inner { grid-template-columns: 1fr; gap: 35px; }
  .footer-main { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .page-width { width: calc(100% - 28px); }
  .section { padding-block: 64px; }
  .announcement-inner { min-height: 42px; font-size: 9px; line-height: 1.25; }
  .wordmark > span { font-size: 22px; }
  .hero-track { min-height: 660px; }
  .hero-slide.is-active { min-height: 660px; padding-top: 245px; }
  .hero-slide > img { height: 270px; }
  .hero-overlay { height: 271px; }
  .hero-content { min-height: 415px; padding-block: 42px 100px; }
  .hero-copy h1, .hero-copy h2 { font-size: clamp(50px, 15.6vw, 68px); line-height: .8; }
  .hero-lead { margin-top: 20px; font-size: 14px; }
  .hero-buttons { margin-top: 25px; }
  .btn { min-height: 48px; padding-inline: 17px; font-size: 10px; }
  .hero-dots button { width: 26px; }
  .hero-arrows span { display: none; }
  .service-strip-grid { padding-inline: 12px; }
  .service-strip-grid > div { min-width: 78vw; flex-basis: 78vw; min-height: 62px; padding: 8px 17px; border-bottom: 0; }
  .service-strip-grid > div:first-child { padding-left: 8px; }
  .section-heading h2, .livestock-header h2, .services-content h2, .lead-inner h2 { font-size: clamp(45px, 16vw, 65px); }
  .department-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; gap: 10px; }
  .department-card { aspect-ratio: 1 / 1; }
  .department-icon { top: 10px; left: 10px; width: 34px; height: 34px; border-radius: 9px; }
  .department-icon svg { width: 18px; }
  .department-copy { right: 10px; bottom: 11px; left: 10px; }
  .department-copy strong { font-size: clamp(20px, 6vw, 27px); }
  .department-copy small { max-width: 92%; font-size: 7px; line-height: 1.3; }
  .brand-heading a { display: none; }
  .promo-card { min-height: 420px; padding: 32px 26px; }
  .promo-card h2 { font-size: 56px; }
  .promo-card > p:not(.kicker), .promo-secondary > p:not(.kicker) { width: 100%; }
  .promo-primary .promo-artwork { width: 190px; }
  .advisor-badge { right: 25px; bottom: 25px; }
  .product-heading .text-link { display: none; }
  .product-tabs-list { gap: 20px !important; width: 100% !important; overflow-x: auto; }
  .product-tabs-list button { flex: 0 0 auto !important; }
  .product-grid, .livestock-grid { grid-template-columns: 1fr; }
  .product-media { height: 285px; }
  .livestock-image { height: 360px; }
  .livestock-actions { align-items: stretch; flex-direction: column; }
  .livestock-actions .btn { width: 100%; }
  .services-visual, .services-visual > img { min-height: 490px; }
  .services-caption { align-items: flex-start; flex-direction: column; }
  .services-caption strong { text-align: left; }
  .services-list article { grid-template-columns: 48px 1fr; }
  .services-list article > svg { display: none; }
  .guide-card { display: block; }
  .guide-image { height: 270px; }
  .lead-section { padding-block: 65px; }
  .lead-form { height: auto; flex-wrap: wrap; padding: 14px; }
  .lead-form input { min-height: 40px; }
  .lead-form button { width: 100%; min-height: 48px; justify-content: center; border-radius: 8px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 40px 25px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-main > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 18px; }
  .catalogue-note { align-items: flex-start; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 620px) {
  /* Homepage-only card rails. The WooCommerce shop grid intentionally remains unchanged. */
  .site-shell .product-grid,
  .site-shell .livestock-grid,
  .site-shell .guide-grid { display: flex; overflow-x: auto; gap: 12px; padding: 2px 2px 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .site-shell .product-grid::-webkit-scrollbar,
  .site-shell .livestock-grid::-webkit-scrollbar,
  .site-shell .guide-grid::-webkit-scrollbar { display: none; }
  .site-shell .product-grid > *,
  .site-shell .livestock-grid > *,
  .site-shell .guide-grid > * { width: min(78vw,310px); min-width: min(78vw,310px); flex: 0 0 min(78vw,310px); scroll-snap-align: start; }
  .site-shell .product-media,
  .site-shell .livestock-image { height: auto; aspect-ratio: 1; }
  .site-shell .guide-image { height: auto; aspect-ratio: 4/3; }
  .footer-actions a { flex: 1 1 132px; justify-content: center; }
}

/* Coming soon route */
.coming-page { min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; background: #08090b; color: #f7f4ee; font-family: var(--body); }
.coming-header { position: relative; z-index: 5; width: min(1540px, calc(100% - 72px)); min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-inline: auto; border-bottom: 1px solid rgba(255,255,255,.13); }
.coming-wordmark { display: inline-flex; flex-direction: column; line-height: 1; }
.coming-wordmark span { color: #ff2c91; font-family: var(--heading); font-size: 31px; font-weight: 800; letter-spacing: -.025em; }
.coming-wordmark small { margin-top: 4px; color: #f7f4ee; font-size: 8px; font-weight: 800; letter-spacing: .24em; }
.coming-header-contact { display: flex; align-items: center; gap: 26px; }
.coming-header-contact a { display: inline-flex; align-items: center; gap: 8px; color: #b3b4b8; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.coming-header-contact a:hover { color: #b8ff36; }
.coming-header-contact svg { width: 16px; }
.coming-layout { width: min(1540px, calc(100% - 72px)); display: grid; grid-template-columns: minmax(0, .94fr) minmax(520px, 1.06fr); gap: clamp(45px, 6vw, 110px); align-items: center; margin: 34px auto; }
.coming-copy { position: relative; z-index: 2; padding-block: 45px; }
.coming-kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: #b8ff36; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.coming-kicker svg { width: 16px; }
.coming-copy h1 { margin: 0; font-family: var(--heading); font-size: clamp(72px, 8vw, 128px); font-weight: 800; letter-spacing: -.052em; line-height: .77; }
.coming-lead { width: min(670px, 100%); margin: 30px 0 26px; color: #c0c1c5; font-size: clamp(16px, 1.3vw, 20px); line-height: 1.55; }
.coming-departments { display: flex; flex-wrap: wrap; gap: 8px; }
.coming-departments span { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 0 11px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: #d0d1d4; font-size: 9px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.coming-departments svg { width: 14px; color: #ff2c91; }
.coming-signup { width: min(670px, 100%); margin-top: 34px; padding: 20px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: #121419; }
.coming-signup > div { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.coming-signup strong { font-size: 13px; }.coming-signup small { color: #8f9197; font-size: 10px; }
.coming-signup form { min-height: 56px; display: flex; align-items: center; gap: 11px; padding-left: 15px; border-radius: 9px; background: #fff; }
.coming-signup form > svg { width: 18px; color: #676970; }
.coming-signup input { min-width: 0; flex: 1; border: 0; outline: 0; color: #111; font-size: 13px; }
.coming-signup button { align-self: stretch; display: inline-flex; align-items: center; gap: 8px; padding: 0 19px; border: 0; border-radius: 0 8px 8px 0; background: #ff2c91; color: #08090b; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.coming-signup button:hover { background: #b8ff36; }.coming-signup button svg { width: 15px; }
.coming-form-note { display: block; margin-top: 10px; line-height: 1.4; }
.coming-store-note { width: min(670px, 100%); display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; color: #92949a; font-size: 10px; }
.coming-store-note a { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; color: #b8ff36; font-weight: 800; text-transform: uppercase; }
.coming-store-note svg { width: 14px; }
.coming-visual { position: relative; min-height: min(730px, calc(100svh - 180px)); overflow: hidden; border-radius: 25px; background: #15171c; }
.coming-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.92) contrast(1.05); }
.coming-image-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,8,10,.88), transparent 50%), linear-gradient(110deg, rgba(7,8,10,.18), transparent 55%); }
.coming-visual::before { position: absolute; z-index: 2; top: 0; right: 0; width: 130px; height: 130px; background: #ff2c91; clip-path: polygon(100% 0, 100% 100%, 0 0); content: ''; }
.coming-visual-label { position: absolute; z-index: 3; right: 32px; bottom: 30px; left: 32px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.coming-visual-label span { color: #c7c8cb; font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.coming-visual-label strong { max-width: 310px; font-family: var(--heading); font-size: clamp(30px, 3vw, 48px); line-height: .9; text-align: right; text-transform: uppercase; }
.coming-status { position: absolute; z-index: 3; top: 25px; left: 25px; display: flex; align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(8,9,11,.55); backdrop-filter: blur(12px); color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.coming-status i { width: 8px; height: 8px; border-radius: 50%; background: #b8ff36; box-shadow: 0 0 0 4px rgba(184,255,54,.16); }
.coming-watermark { position: absolute; z-index: 2; right: -8px; bottom: 54px; color: rgba(255,255,255,.1); font-family: var(--heading); font-size: clamp(140px, 18vw, 280px); font-weight: 800; line-height: .6; }
.coming-footer { width: min(1540px, calc(100% - 72px)); min-height: 57px; display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-inline: auto; border-top: 1px solid rgba(255,255,255,.13); color: #696b71; font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }

@media (max-width: 1050px) {
  .coming-layout { grid-template-columns: 1fr; }
  .coming-copy { padding-bottom: 10px; }
  .coming-visual { min-height: 620px; }
}

@media (max-width: 620px) {
  .coming-header, .coming-layout, .coming-footer { width: calc(100% - 28px); }
  .coming-header { min-height: 76px; }
  .coming-wordmark span { font-size: 23px; }.coming-wordmark small { font-size: 6px; }
  .coming-header-contact a { font-size: 0; }.coming-header-contact a:last-child { display: none; }.coming-header-contact svg { width: 21px; height: 21px; }
  .coming-layout { gap: 28px; margin-block: 16px 28px; }
  .coming-copy { padding-block: 32px 0; }
  .coming-copy h1 { font-size: clamp(61px, 19vw, 86px); }
  .coming-lead { margin-top: 24px; font-size: 15px; }
  .coming-departments { gap: 6px; }.coming-departments span { min-height: 31px; padding-inline: 9px; font-size: 8px; }
  .coming-signup { padding: 14px; }.coming-signup > div { align-items: flex-start; flex-direction: column; gap: 4px; }
  .coming-signup form { flex-wrap: wrap; padding: 12px; }.coming-signup input { min-height: 38px; }.coming-signup button { width: 100%; min-height: 47px; justify-content: center; border-radius: 8px; }
  .coming-store-note { align-items: flex-start; flex-direction: column; gap: 9px; }
  .coming-visual { min-height: 470px; border-radius: 18px; }
  .coming-visual-label { right: 18px; bottom: 18px; left: 18px; align-items: flex-start; flex-direction: column; gap: 8px; }.coming-visual-label strong { font-size: 35px; text-align: left; }
  .coming-status { top: 16px; left: 16px; }
  .coming-footer { min-height: 78px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; }
}

/* Expanded client concept routes */
.concept-site {
  --c-page: #090a0c;
  --c-page-2: #0f1115;
  --c-panel: #15171c;
  --c-panel-2: #1a1d22;
  --c-ink: #f7f4ee;
  --c-muted: #9ea0a7;
  --c-line: rgba(255,255,255,.12);
  --c-pink: #ff2c91;
  --c-green: #b8ff36;
  --c-accent: var(--c-pink);
  --c-accent-ink: #090a0c;
  min-height: 100vh;
  overflow: hidden;
  background: var(--c-page);
  color: var(--c-ink);
}
.concept-site[data-theme='acid'] { --c-accent: var(--c-green); }
.concept-site[data-theme='light'] { --c-page: #f2eee7; --c-page-2: #e9e3da; --c-panel: #fffdf9; --c-panel-2: #e7dfd4; --c-ink: #111216; --c-muted: #65666b; --c-line: rgba(17,18,22,.16); --c-accent: #ed2a80; --c-green: #75bd00; --c-accent-ink: #fff; }
.concept-site button, .concept-site input, .concept-site textarea, .concept-site select { font: inherit; }
.concept-width { width: min(1450px, calc(100% - 64px)); margin-inline: auto; }
.concept-theme-control { position: fixed; z-index: 120; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 5px; padding: 6px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(8,9,11,.9); box-shadow: 0 16px 45px rgba(0,0,0,.4); backdrop-filter: blur(14px); color: #fff; }
.concept-theme-control > span { padding-inline: 8px; color: #a7a8ad; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.concept-theme-control button { min-height: 32px; display: flex; align-items: center; gap: 6px; padding-inline: 10px; border: 0; border-radius: 999px; background: transparent; color: #aaa; font-size: 10px; font-weight: 700; }
.concept-theme-control button.active { background: rgba(255,255,255,.12); color: #fff; }
.review-bar { min-height: 48px; background: #08090b; color: #fff; border-bottom: 1px solid rgba(255,255,255,.13); }
.review-bar-inner { width: min(1540px, calc(100% - 40px)); min-height: 48px; display: flex; align-items: center; gap: 22px; margin-inline: auto; }
.review-label { display: inline-flex; align-items: center; gap: 7px; color: #b8ff36; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.review-label svg { width: 14px; }
.review-bar nav { min-width: 0; display: flex; align-items: center; align-self: stretch; overflow-x: auto; scrollbar-width: none; }
.review-bar nav::-webkit-scrollbar { display: none; }
.review-bar nav a { min-height: 48px; display: inline-flex; align-items: center; padding-inline: 14px; border-bottom: 2px solid transparent; color: #9d9fa5; font-family: var(--heading); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.review-bar nav a:hover, .review-bar nav a.active { border-color: #ff2c91; color: #fff; }
.review-note { margin-left: auto; color: #6e7077; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.concept-announcement { background: var(--c-accent); color: var(--c-accent-ink); }
.concept-announcement > div { min-height: 36px; display: flex; align-items: center; justify-content: space-between; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.concept-announcement span { display: inline-flex; align-items: center; gap: 7px; }
.concept-announcement svg { width: 14px; }
.concept-header { position: relative; z-index: 60; background: var(--c-page); border-bottom: 1px solid var(--c-line); }
.concept-header-main { min-height: 90px; display: grid; grid-template-columns: 245px minmax(300px, 1fr) auto; align-items: center; gap: 35px; }
.concept-wordmark { display: inline-flex; width: max-content; flex-direction: column; line-height: 1; }
.concept-wordmark span { color: var(--c-accent); font-family: var(--heading); font-size: 31px; font-weight: 800; letter-spacing: -.025em; }
.concept-wordmark small { margin-top: 4px; color: var(--c-ink); font-size: 7px; font-weight: 800; letter-spacing: .24em; }
.concept-search { height: 48px; display: flex; align-items: center; gap: 12px; padding-left: 15px; border: 1px solid var(--c-line); border-radius: 2px; background: var(--c-panel); }
.concept-search svg { width: 17px; color: var(--c-muted); }
.concept-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--c-ink); font-size: 12px; }
.concept-search button { align-self: stretch; padding-inline: 22px; border: 0; background: var(--c-panel-2); color: var(--c-ink); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.concept-header-actions { display: flex; align-items: center; gap: 22px; }
.concept-header-actions a { position: relative; display: flex; align-items: center; flex-direction: column; gap: 4px; color: var(--c-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.concept-header-actions a:hover { color: var(--c-accent); }
.concept-header-actions svg { width: 20px; }
.concept-header-actions b { position: absolute; top: -8px; right: 0; display: grid; width: 16px; height: 16px; place-items: center; background: var(--c-accent); color: var(--c-accent-ink); font-size: 8px; }
.concept-mobile-trigger { display: none; border: 0; background: transparent; color: var(--c-ink); }
.concept-main-nav { border-top: 1px solid var(--c-line); }
.concept-main-nav > .concept-width { min-height: 50px; display: flex; align-items: center; gap: clamp(18px, 2.5vw, 40px); }
.concept-main-nav a, .concept-main-nav button { min-height: 50px; display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--c-ink); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.concept-main-nav a:hover, .concept-main-nav button:hover, .concept-main-nav button.active { color: var(--c-accent); }
.concept-main-nav button svg { width: 14px; }
.concept-main-nav i { padding: 3px 5px; background: var(--c-green); color: #0b0c0e; font-size: 7px; font-style: normal; }
.concept-mega { position: absolute; z-index: 60; right: 0; left: 0; border-top: 2px solid var(--c-accent); background: var(--c-panel); box-shadow: 0 28px 70px rgba(0,0,0,.5); }
.concept-mega-inner { display: grid; grid-template-columns: repeat(5, 1fr) 1.25fr; gap: 28px; padding-block: 34px; }
.concept-mega h3 { min-height: 50px; display: flex; align-items: flex-start; gap: 9px; margin: 0 0 12px; border-bottom: 1px solid var(--c-line); font-family: var(--heading); font-size: 17px; line-height: 1; text-transform: uppercase; }
.concept-mega h3 svg { width: 18px; flex: 0 0 auto; color: var(--c-accent); }
.concept-mega div > a { min-height: 32px; display: flex; justify-content: space-between; color: var(--c-muted); font-size: 10px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.concept-mega div > a svg { width: 13px; }
.concept-mega-feature { position: relative; min-height: 210px !important; display: flex !important; align-items: flex-start !important; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 18px; color: #fff !important; white-space: normal !important; }
.concept-mega-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.concept-mega-feature::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,8,10,.95), rgba(7,8,10,.1)); content: ''; }
.concept-mega-feature > *:not(img) { position: relative; z-index: 2; }
.concept-mega-feature span { color: var(--c-green); font-size: 8px; letter-spacing: .12em; }
.concept-mega-feature strong { margin-block: 5px 10px; font-family: var(--heading); font-size: 24px; line-height: .9; text-transform: uppercase; }
.concept-mega-feature small { display: inline-flex; align-items: center; gap: 6px; font-size: 8px; }
.concept-mega-feature svg { width: 13px; }
.concept-drawer-backdrop { position: fixed; z-index: 150; inset: 0; background: rgba(0,0,0,.65); }
.concept-drawer { width: min(390px, 94vw); height: 100%; overflow-y: auto; background: var(--c-page); color: var(--c-ink); box-shadow: 20px 0 70px rgba(0,0,0,.55); }
.concept-drawer-head { min-height: 82px; display: flex; align-items: center; justify-content: space-between; padding-inline: 20px; border-bottom: 1px solid var(--c-line); }
.concept-drawer-head button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--c-line); background: transparent; color: var(--c-ink); }
.concept-drawer-search { min-height: 48px; display: flex; align-items: center; gap: 10px; margin: 14px; padding-inline: 13px; border: 1px solid var(--c-line); background: var(--c-panel); }
.concept-drawer-search svg { width: 17px; color: var(--c-muted); }
.concept-drawer-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--c-ink); font-size: 12px; }
.concept-drawer nav > a, .concept-mobile-group > button { width: 100%; min-height: 51px; display: flex; align-items: center; justify-content: space-between; padding-inline: 17px; border: 0; border-bottom: 1px solid var(--c-line); background: transparent; color: var(--c-ink); font-family: var(--heading); font-size: 14px; font-weight: 800; text-transform: uppercase; }
.concept-mobile-group > div a { min-height: 45px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px 0 28px; border-bottom: 1px solid var(--c-line); color: var(--c-muted); font-size: 11px; }
.concept-mobile-group > div svg { width: 14px; }
.concept-drawer-actions { display: grid; gap: 8px; padding: 18px; }
.concept-drawer-actions a { min-height: 48px; display: grid; place-items: center; background: var(--c-accent); color: var(--c-accent-ink); font-family: var(--heading); font-size: 13px; font-weight: 800; text-transform: uppercase; }
.concept-drawer-actions a:last-child { border: 1px solid var(--c-line); background: transparent; color: var(--c-ink); }
.concept-breadcrumbs { min-height: 55px; display: flex; align-items: center; gap: 9px; overflow-x: auto; border-bottom: 1px solid var(--c-line); color: var(--c-muted); font-size: 9px; white-space: nowrap; scrollbar-width: none; }
.concept-breadcrumbs a:last-child { color: var(--c-ink); font-weight: 700; }
.concept-page-intro { display: grid; grid-template-columns: 1fr minmax(350px, .7fr); align-items: end; gap: 40px; padding-block: 54px; }
.concept-page-intro p, .animal-kicker { margin: 0 0 10px; color: var(--c-accent); font-size: 9px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.concept-page-intro h1 { grid-column: 1; margin: 0; font-family: var(--heading); font-size: clamp(60px, 6.5vw, 94px); font-weight: 800; letter-spacing: -.045em; line-height: .8; text-transform: uppercase; }
.concept-page-intro > span { grid-column: 2; grid-row: 1 / 3; color: var(--c-muted); font-size: 15px; line-height: 1.6; }
.concept-footer { margin-top: 100px; border-top: 1px solid var(--c-line); background: #08090b; color: #f7f4ee; }
.concept-footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); gap: 65px; padding-block: 70px; }
.concept-footer-grid > div { display: flex; align-items: flex-start; flex-direction: column; gap: 11px; }
.concept-footer-grid p { width: min(350px, 100%); color: #97999f; font-size: 12px; line-height: 1.55; }
.concept-footer-grid strong { margin-bottom: 7px; color: #b8ff36; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.concept-footer-grid a, .concept-footer-grid span { color: #a9aab0; font-size: 11px; line-height: 1.5; }

/* Showcase overview */
.concept-showcase-page { padding-bottom: 10px; }
.concept-showcase-hero { min-height: 470px; display: grid; grid-template-columns: 1fr 360px; align-items: center; gap: 80px; padding-block: 70px; }
.concept-showcase-hero > div > p { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--c-green); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.concept-showcase-hero > div > p svg { width: 15px; }
.concept-showcase-hero h1 { margin: 0; font-family: var(--heading); font-size: clamp(72px, 8vw, 122px); font-weight: 800; letter-spacing: -.05em; line-height: .76; text-transform: uppercase; }
.concept-showcase-hero h1 em { color: var(--c-accent); font-style: normal; }
.concept-showcase-hero > div > span { width: min(680px, 100%); display: block; margin-top: 28px; color: var(--c-muted); font-size: 17px; line-height: 1.55; }
.concept-showcase-hero aside { display: flex; align-items: stretch; flex-direction: column; padding: 24px; border: 1px solid var(--c-line); background: var(--c-panel); }
.concept-showcase-hero aside strong { margin-bottom: 16px; font-family: var(--heading); font-size: 25px; text-transform: uppercase; }
.concept-showcase-hero aside span { display: flex; align-items: center; gap: 10px; padding-block: 12px; border-top: 1px solid var(--c-line); color: var(--c-muted); font-size: 10px; text-transform: uppercase; }
.concept-showcase-hero aside i { width: 28px; height: 28px; border: 1px solid var(--c-line); }
.colour-pink { background: #ff2c91; }.colour-green { background: #b8ff36; }.colour-cream { background: #f7f4ee; }
.concept-showcase-hero aside small { margin-top: 15px; color: var(--c-green); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.concept-showcase-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
.concept-showcase-card { position: relative; min-height: 420px; display: flex; align-items: flex-end; grid-column: span 4; overflow: hidden; padding: 26px; border: 1px solid var(--c-line); background: var(--c-panel); color: #fff; }
.concept-showcase-card:nth-child(1), .concept-showcase-card:nth-child(2) { min-height: 500px; grid-column: span 6; }
.concept-showcase-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); transition: transform .45s ease, filter .35s ease; }
.concept-showcase-card:hover img { transform: scale(1.04); filter: saturate(1); }
.concept-showcase-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,8,10,.96), rgba(7,8,10,.06) 75%); }
.concept-showcase-card > small { position: absolute; z-index: 2; top: 19px; left: 19px; color: var(--c-green); font-size: 8px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.concept-showcase-card > div { position: relative; z-index: 2; }
.concept-showcase-card h2 { margin: 0; font-family: var(--heading); font-size: 45px; line-height: .87; text-transform: uppercase; }
.concept-showcase-card p { max-width: 420px; margin-block: 12px 18px; color: #b7b8bd; font-size: 12px; line-height: 1.55; }
.concept-showcase-card b { display: inline-flex; align-items: center; gap: 8px; color: var(--c-accent); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.concept-showcase-card b svg { width: 14px; }
.concept-principles { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 15px; border: 1px solid var(--c-line); }
.concept-principles > div { display: grid; grid-template-columns: 42px 1fr; gap: 5px 15px; padding: 28px; border-right: 1px solid var(--c-line); }
.concept-principles > div:last-child { border-right: 0; }
.concept-principles span { grid-row: span 2; color: var(--c-accent); font-family: var(--heading); font-size: 29px; }
.concept-principles strong { font-family: var(--heading); font-size: 20px; text-transform: uppercase; }
.concept-principles p { margin: 0; color: var(--c-muted); font-size: 11px; line-height: 1.5; }

/* WooCommerce archive */
.concept-content-page { min-height: 100vh; }
.archive-layout { display: grid; grid-template-columns: 270px 1fr; border: 1px solid var(--c-line); background: var(--c-panel); }
.archive-filters { padding: 26px 20px; border-right: 1px solid var(--c-line); background: var(--c-page-2); }
.archive-filter-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.archive-filter-head strong { font-family: var(--heading); font-size: 20px; text-transform: uppercase; }
.archive-filter-head button { display: none; border: 0; background: transparent; color: var(--c-ink); }
.archive-filter-group { padding-block: 20px; border-top: 1px solid var(--c-line); }
.archive-filter-group h3 { display: flex; justify-content: space-between; margin: 0 0 15px; font-family: var(--heading); font-size: 14px; letter-spacing: .05em; text-transform: uppercase; }
.archive-filter-group label { min-height: 31px; display: grid; grid-template-columns: 18px 1fr auto; align-items: center; gap: 8px; color: var(--c-muted); font-size: 10px; cursor: pointer; }
.archive-filter-group input { position: absolute; opacity: 0; }
.archive-filter-group label i { width: 15px; height: 15px; border: 1px solid var(--c-line); background: var(--c-panel); }
.archive-filter-group input:checked + i { border-color: var(--c-accent); background: var(--c-accent); box-shadow: inset 0 0 0 3px var(--c-panel); }
.archive-filter-group label small { color: color-mix(in srgb, var(--c-muted) 68%, transparent); }
.fake-range { position: relative; height: 3px; margin-top: 22px; background: var(--c-accent); }
.fake-range i { position: absolute; top: 50%; width: 14px; height: 14px; transform: translateY(-50%); background: var(--c-ink); }
.fake-range i:first-child { left: 10%; }.fake-range i:last-child { right: 10%; }
.range-copy { display: flex; justify-content: space-between; margin-top: 11px; color: var(--c-muted); font-size: 9px; }
.archive-results { min-width: 0; padding: 28px; }
.archive-toolbar { min-height: 46px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--c-line); color: var(--c-muted); font-size: 10px; }
.archive-toolbar label { display: flex; align-items: center; gap: 9px; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.archive-toolbar select { height: 36px; padding-inline: 10px; border: 1px solid var(--c-line); background: var(--c-page); color: var(--c-ink); font-size: 10px; }
.mobile-filter-button { display: none; }
.archive-active-filters { display: flex; flex-wrap: wrap; gap: 7px; padding-block: 16px; }
.archive-active-filters span { display: inline-flex; align-items: center; gap: 8px; padding: 7px 9px; background: var(--c-page); color: var(--c-ink); font-size: 9px; }
.archive-active-filters button { border: 0; background: transparent; color: var(--c-muted); }
.archive-active-filters > button { margin-left: auto; font-size: 9px; }
.archive-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--c-line); border-left: 1px solid var(--c-line); }
.archive-product-card { min-width: 0; border-right: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); background: var(--c-panel); }
.archive-product-image { position: relative; height: 285px; display: block; overflow: hidden; background: var(--c-panel-2); }
.archive-product-image > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) brightness(.82); transition: .35s ease; }
.archive-product-card:hover .archive-product-image > img { transform: scale(1.035); filter: saturate(.95) brightness(.9); }
.archive-product-image > span { position: absolute; top: 0; left: 0; padding: 7px 9px; background: #08090b; color: #fff; font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.archive-product-image > button { position: absolute; top: 12px; right: 12px; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255,255,255,.2); background: rgba(8,9,11,.65); color: #fff; }
.archive-product-image button svg { width: 16px; }
.archive-product-copy { padding: 18px; }
.archive-product-copy > p { margin: 0 0 7px; color: var(--c-accent); font-size: 7px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.archive-product-copy h3 { min-height: 42px; margin: 0; font-family: var(--heading); font-size: 20px; line-height: 1.05; text-transform: uppercase; }
.archive-product-copy > span { display: block; margin-top: 10px; color: var(--c-green); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.archive-product-copy > span.low { color: #ffb329; }
.archive-product-copy > div { display: flex; align-items: baseline; gap: 8px; margin-block: 8px 15px; }
.archive-product-copy > div strong { font-size: 17px; }.archive-product-copy del { color: var(--c-muted); font-size: 10px; }
.archive-product-copy > button { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: space-between; padding-inline: 14px; border: 0; background: var(--c-accent); color: var(--c-accent-ink); font-family: var(--heading); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.archive-product-copy > button svg { width: 15px; }
.archive-pagination { display: flex; gap: 6px; margin-top: 26px; }
.archive-pagination button { min-width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; gap: 6px; padding-inline: 12px; border: 1px solid var(--c-line); background: transparent; color: var(--c-ink); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.archive-pagination button.active { border-color: var(--c-accent); background: var(--c-accent); color: var(--c-accent-ink); }
.archive-pagination svg { width: 13px; }
.filter-backdrop { display: none; }

/* Single WooCommerce product */
.fulfilment-demo { margin-top: 28px; padding: 15px 17px; border: 1px dashed color-mix(in srgb, var(--c-accent) 60%, var(--c-line)); background: color-mix(in srgb, var(--c-accent) 5%, var(--c-panel)); }
.fulfilment-demo > span { display: block; margin-bottom: 10px; color: var(--c-accent); font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.fulfilment-demo > div { display: flex; flex-wrap: wrap; gap: 6px; }
.fulfilment-demo button { min-height: 32px; padding-inline: 10px; border: 1px solid var(--c-line); background: var(--c-page); color: var(--c-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.fulfilment-demo button.active { border-color: var(--c-accent); background: var(--c-accent); color: var(--c-accent-ink); }
.fulfilment-demo small { display: block; margin-top: 9px; color: var(--c-muted); font-size: 9px; line-height: 1.5; }
.product-detail-shell { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(470px, .98fr); border: 1px solid var(--c-line); background: var(--c-panel); }
.product-gallery { min-width: 0; padding: 28px; border-right: 1px solid var(--c-line); }
.product-main-image { position: relative; height: 670px; overflow: hidden; background: var(--c-panel-2); }
.product-main-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.02); }
.fulfilment-badge { position: absolute; top: 0; left: 0; padding: 9px 11px; background: #0b0c0f; color: #fff; font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.fulfilment-badge::before { width: 7px; height: 7px; display: inline-block; margin-right: 7px; background: #388fe8; content: ''; }.fulfilment-badge.pink::before { background: var(--c-pink); }.fulfilment-badge.neutral::before { background: #888b92; }
.product-thumbnails { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; margin-top: 7px; }
.product-thumbnails button { height: 108px; overflow: hidden; padding: 0; border: 1px solid var(--c-line); background: var(--c-panel-2); }
.product-thumbnails button.active { border: 2px solid var(--c-accent); }
.product-thumbnails img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.5); }
.product-gallery > p { margin: 12px 0 0; color: var(--c-muted); font-size: 8px; line-height: 1.5; }
.product-summary { min-width: 0; padding: 40px; }
.product-eyebrow { margin: 0 0 9px; color: var(--c-accent); font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.product-summary h1 { margin: 0; font-family: var(--heading); font-size: clamp(49px, 4.5vw, 70px); letter-spacing: -.035em; line-height: .88; text-transform: uppercase; }
.product-lead { margin-block: 19px; color: var(--c-muted); font-size: 13px; line-height: 1.55; }
.product-price { display: flex; align-items: center; gap: 11px; padding-block: 17px; border-block: 1px solid var(--c-line); }
.product-price strong { font-size: 30px; }.product-price del { color: var(--c-muted); font-size: 12px; }.product-price span { padding: 5px 8px; background: var(--c-green); color: #111; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.product-options { padding-block: 18px; }
.product-options fieldset { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 13px; padding: 0; border: 0; }
.product-options legend { width: 100%; margin-bottom: 7px; color: var(--c-muted); font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.product-options button { min-height: 37px; padding-inline: 13px; border: 1px solid var(--c-line); background: transparent; color: var(--c-ink); font-size: 9px; font-weight: 800; }
.product-options button.active { border-color: var(--c-ink); background: var(--c-ink); color: var(--c-page); }
.fulfilment-panel { margin-bottom: 16px; padding: 17px; border: 1px solid var(--c-line); background: var(--c-page-2); }
.fulfilment-panel > div { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 10px; }
.fulfilment-panel strong { font-family: var(--heading); font-size: 17px; text-transform: uppercase; }.fulfilment-panel > div span { color: #388fe8; font-size: 8px; font-weight: 800; text-transform: uppercase; }.fulfilment-panel.pink > div span { color: var(--c-pink); }.fulfilment-panel.neutral > div span { color: var(--c-muted); }
.fulfilment-panel p { display: flex; align-items: center; gap: 7px; margin: 7px 0; color: var(--c-muted); font-size: 10px; }.fulfilment-panel p svg { width: 13px; color: var(--c-green); }
.product-primary-action { display: flex; gap: 8px; margin-bottom: 22px; }
.product-primary-action > div { display: flex; border: 1px solid var(--c-line); }
.product-primary-action > div button, .product-primary-action > div span { width: 40px; display: grid; place-items: center; border: 0; background: transparent; color: var(--c-ink); font-size: 11px; }
.product-primary-action > button { min-height: 52px; flex: 1; display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; background: var(--c-accent); color: var(--c-accent-ink); font-family: var(--heading); font-size: 15px; font-weight: 800; text-transform: uppercase; }
.product-primary-action > button.contact { border: 1px solid var(--c-line); background: var(--c-ink); color: var(--c-page); }
.product-primary-action svg { width: 15px; }
.product-enquiry { display: grid; gap: 8px; margin-bottom: 22px; padding: 17px; border: 1px solid var(--c-pink); background: color-mix(in srgb, var(--c-pink) 5%, var(--c-page)); }
.product-enquiry > strong { font-family: var(--heading); text-transform: uppercase; }.product-enquiry > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.product-enquiry input, .product-enquiry textarea { width: 100%; min-height: 39px; padding: 10px; border: 1px solid var(--c-line); outline: 0; background: var(--c-panel); color: var(--c-ink); font-size: 10px; }.product-enquiry textarea { min-height: 75px; resize: vertical; }.product-enquiry button { min-height: 44px; border: 0; background: var(--c-pink); color: #08090b; font-family: var(--heading); font-weight: 800; text-transform: uppercase; }.product-enquiry small { color: var(--c-muted); font-size: 8px; line-height: 1.4; }
.product-specs { margin: 0; border-top: 1px solid var(--c-line); }
.product-specs > div { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--c-line); }
.product-specs dt { color: var(--c-muted); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }.product-specs dd { margin: 0; font-size: 9px; font-weight: 700; text-align: right; }
.before-buy { margin-top: 18px; padding: 18px; background: #08090b; color: #fff; }
.before-buy strong { color: #b8ff36; font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }.before-buy p { margin-block: 9px; color: #b6b7bc; font-size: 10px; line-height: 1.5; }.before-buy a { display: inline-flex; align-items: center; gap: 7px; color: #b8ff36; font-size: 8px; font-weight: 800; text-transform: uppercase; }.before-buy svg { width: 13px; }
.product-information { grid-column: 1 / -1; border-top: 1px solid var(--c-line); }
.product-information > nav { display: flex; overflow-x: auto; border-bottom: 1px solid var(--c-line); }
.product-information > nav button { min-height: 53px; padding-inline: 26px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--c-muted); font-family: var(--heading); font-size: 12px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.product-information > nav button.active { border-color: var(--c-accent); color: var(--c-accent); }
.product-info-grid { display: grid; grid-template-columns: 1.5fr .75fr; gap: 65px; padding: 38px; }
.product-info-grid h2 { margin: 0 0 8px; font-family: var(--heading); font-size: 25px; text-transform: uppercase; }.product-info-grid p, .product-info-grid li { color: var(--c-muted); font-size: 11px; line-height: 1.65; }.product-info-grid ul { padding-left: 18px; }
.related-guide { display: flex; flex-direction: column; align-items: flex-start; }.related-guide img { width: 100%; height: 170px; object-fit: cover; filter: saturate(.7); }.related-guide small { margin-top: 13px; color: var(--c-accent); font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }.related-guide strong { margin-block: 7px; font-family: var(--heading); font-size: 23px; line-height: 1; text-transform: uppercase; }.related-guide span { display: inline-flex; align-items: center; gap: 6px; color: var(--c-muted); font-size: 8px; text-transform: uppercase; }.related-guide svg { width: 13px; }
.pairs-section { margin-top: 70px; }.pairs-section > p { margin: 0; color: var(--c-accent); font-size: 8px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }.pairs-section > h2 { margin: 5px 0 24px; font-family: var(--heading); font-size: 56px; line-height: .9; text-transform: uppercase; }.pairs-section > div { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--c-line); border-left: 1px solid var(--c-line); }

/* Livestock and species */
.animal-detail-page, .species-detail-page { min-height: 100vh; background: #08090b; color: #f7f4ee; }
.animal-detail-page .concept-breadcrumbs, .species-detail-page .concept-breadcrumbs { border-color: rgba(255,255,255,.12); color: #84868e; }
.animal-page-label { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.animal-page-label p { margin: 0; color: #b8ff36; font-size: 9px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }.animal-page-label span { color: #777982; font-size: 9px; }
.animal-detail-shell { display: grid; grid-template-columns: 1.1fr .9fr; border: 1px solid rgba(255,255,255,.12); }
.animal-gallery { min-width: 0; padding: 28px; border-right: 1px solid rgba(255,255,255,.12); }
.animal-main-image { position: relative; height: 810px; overflow: hidden; background: #15171c; }
.animal-main-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.03); }
.animal-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px; background: #137c46; color: #fff; font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }.animal-status i { width: 6px; height: 6px; background: #b8ff36; }.animal-status.amber { background: #b56b00; color: #090a0c; }.animal-status.amber i { background: #090a0c; }.animal-status.blue { background: #246ca7; }.animal-status.blue i { background: #fff; }
.animal-main-image > .animal-status, .species-visual > div > .animal-status { position: absolute; top: 0; left: 0; }
.photo-proof { position: absolute; right: 18px; bottom: 18px; padding: 8px 10px; background: rgba(8,9,11,.75); color: #d2d2d5; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.animal-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 6px; }
.animal-thumbs button { position: relative; height: 130px; overflow: hidden; padding: 0; border: 1px solid rgba(255,255,255,.12); background: #15171c; color: #fff; }.animal-thumbs button.active { border: 2px solid #ff2c91; }.animal-thumbs img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.5) brightness(.65); }.animal-thumbs span { position: absolute; inset: auto 0 10px; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.animal-gallery > p { display: flex; gap: 8px; margin: 14px 0 0; color: #82848c; font-size: 8px; line-height: 1.5; }.animal-gallery > p svg { width: 14px; flex: 0 0 auto; color: #b8ff36; }
.animal-summary { min-width: 0; padding: 42px; }
.animal-summary .animal-kicker, .species-summary .animal-kicker { color: #b8ff36; }
.animal-summary h1, .species-summary h1 { margin: 0; font-family: var(--heading); font-size: clamp(56px, 5vw, 78px); letter-spacing: -.04em; line-height: .82; text-transform: uppercase; }.animal-summary > em, .species-summary > em { display: block; margin-top: 7px; color: #999ba2; font-size: 16px; }
.animal-record, .species-requirements { margin-top: 27px; border: 1px solid rgba(255,255,255,.12); border-left: 2px solid #b8ff36; }
.animal-record > div, .species-requirements > strong { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding-inline: 17px; border-bottom: 1px solid rgba(255,255,255,.12); color: #b8ff36; font-size: 8px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.animal-record dl, .species-requirements dl { margin: 0; padding: 4px 17px 10px; }
.animal-record dl > div, .species-requirements dl > div { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid rgba(255,255,255,.08); }
.animal-record dt, .species-requirements dt { color: #666972; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }.animal-record dd, .species-requirements dd { margin: 0; font-size: 9px; font-weight: 700; text-align: right; }
.reserved-notice { margin-top: 18px; padding: 18px; border: 1px solid #b56b00; background: rgba(181,107,0,.13); }.reserved-notice strong { color: #ffb329; font-family: var(--heading); font-size: 18px; text-transform: uppercase; }.reserved-notice p { margin: 8px 0 0; color: #aaa; font-size: 10px; line-height: 1.55; }
.animal-actions { display: flex; gap: 8px; margin-top: 17px; }.animal-actions button { min-height: 49px; display: flex; align-items: center; justify-content: center; gap: 8px; padding-inline: 18px; border: 1px solid rgba(255,255,255,.2); background: transparent; color: #fff; font-family: var(--heading); font-size: 13px; font-weight: 800; text-transform: uppercase; }.animal-actions button:first-child { border-color: #ff2c91; background: #ff2c91; color: #08090b; }.animal-actions svg { width: 15px; }
.licence-note { display: flex; gap: 13px; margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); }.licence-note > svg { width: 22px; flex: 0 0 auto; color: #b8ff36; }.licence-note strong { color: #8b8d94; font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }.licence-note p { margin: 7px 0 0; color: #92949a; font-size: 9px; line-height: 1.55; }
.animal-lower-grid { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr .9fr; gap: 45px; padding: 38px; border-top: 1px solid rgba(255,255,255,.12); }.animal-lower-grid h2 { margin: 0; font-family: var(--heading); font-size: 28px; text-transform: uppercase; }.animal-lower-grid p, .animal-lower-grid li { color: #92949a; font-size: 10px; line-height: 1.6; }.animal-lower-grid ul { padding-left: 17px; }
.animal-guide-card { display: flex; align-items: flex-start; flex-direction: column; }.animal-guide-card img { width: 100%; height: 145px; object-fit: cover; filter: saturate(.7); }.animal-guide-card > span { margin-top: 11px; color: #ff2c91; font-size: 7px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }.animal-guide-card strong { margin-block: 6px; font-family: var(--heading); font-size: 22px; text-transform: uppercase; }.animal-guide-card small { display: flex; align-items: center; gap: 6px; color: #8f9197; font-size: 8px; text-transform: uppercase; }.animal-guide-card svg { width: 13px; }
.species-detail-shell { display: grid; grid-template-columns: .9fr 1.1fr; border: 1px solid rgba(255,255,255,.12); }
.species-visual { min-width: 0; padding: 28px; border-right: 1px solid rgba(255,255,255,.12); }.species-visual > div { position: relative; height: 650px; overflow: hidden; }.species-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); }.species-visual > p { display: flex; gap: 8px; margin: 0; padding: 14px; background: #15171c; color: #999ba2; font-size: 9px; line-height: 1.5; }.species-visual > p svg { width: 15px; flex: 0 0 auto; color: #b8ff36; }.species-visual > small { display: block; margin-top: 12px; color: #6d6f77; font-size: 8px; text-align: right; text-transform: uppercase; }
.species-summary { min-width: 0; padding: 42px; }.species-availability { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-block: 19px; padding-block: 14px; border-block: 1px solid rgba(255,255,255,.12); }.species-availability > span { font-size: 10px; font-weight: 700; }.species-lead { color: #a3a4aa; font-size: 12px; line-height: 1.6; }
.species-enquiry { display: grid; gap: 8px; margin-top: 18px; padding: 18px; border: 1px solid #ff2c91; background: rgba(255,44,145,.05); }.species-enquiry > strong { color: #ff2c91; font-family: var(--heading); font-size: 18px; text-transform: uppercase; }.species-enquiry > p { margin: 0 0 5px; color: #999ba2; font-size: 9px; }.species-enquiry > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.species-enquiry input, .species-enquiry textarea { width: 100%; min-height: 40px; padding: 10px; border: 1px solid rgba(255,255,255,.12); outline: 0; background: #15171c; color: #fff; font-size: 10px; }.species-enquiry textarea { min-height: 72px; resize: vertical; }.species-enquiry button { min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; background: #ff2c91; color: #08090b; font-family: var(--heading); font-size: 13px; font-weight: 800; text-transform: uppercase; }.species-enquiry button svg { width: 14px; }.species-enquiry small { color: #777982; font-size: 8px; line-height: 1.4; }
.species-guidance { grid-column: 1 / -1; display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 35px; padding: 38px; border-top: 1px solid rgba(255,255,255,.12); }.species-guidance .before-buy { margin: 0; }.species-guidance h2 { margin: 0; font-family: var(--heading); font-size: 27px; text-transform: uppercase; }.species-guidance > div > p:last-child { color: #92949a; font-size: 10px; line-height: 1.6; }.species-guidance > a { display: flex; flex-direction: column; }.species-guidance > a img { height: 135px; object-fit: cover; filter: saturate(.7); }.species-guidance > a span { margin-top: 10px; color: #ff2c91; font-size: 7px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }.species-guidance > a strong { margin-block: 5px; font-family: var(--heading); font-size: 20px; text-transform: uppercase; }.species-guidance > a small { display: flex; align-items: center; gap: 6px; color: #92949a; font-size: 8px; text-transform: uppercase; }.species-guidance svg { width: 13px; }

/* Services and GHL booking */
.services-hero { min-height: 620px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border-bottom: 1px solid var(--c-line); }
.services-hero > div { display: flex; align-items: flex-start; flex-direction: column; justify-content: center; padding-right: clamp(30px, 7vw, 110px); }.services-hero h1 { margin: 0; font-family: var(--heading); font-size: clamp(70px, 7vw, 105px); letter-spacing: -.05em; line-height: .76; text-transform: uppercase; }.services-hero h1 em { color: var(--c-accent); font-style: normal; }.services-hero > div > span { margin-top: 25px; color: var(--c-muted); font-size: 15px; line-height: 1.6; }.services-hero > div > div { display: flex; gap: 9px; margin-top: 28px; }.services-hero > div > div a { min-height: 48px; display: inline-flex; align-items: center; gap: 8px; padding-inline: 18px; border: 1px solid var(--c-line); font-size: 9px; font-weight: 900; text-transform: uppercase; }.services-hero > div > div a:first-child { border-color: var(--c-accent); background: var(--c-accent); color: var(--c-accent-ink); }.services-hero svg { width: 14px; }.services-hero > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.04); }
.service-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 80px; border-top: 1px solid var(--c-line); border-left: 1px solid var(--c-line); }.service-card-grid article { padding: 25px; border-right: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); background: var(--c-panel); }.service-card-grid article > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 35px; background: var(--c-accent); color: var(--c-accent-ink); }.service-card-grid article.green > span { background: var(--c-green); color: #111; }.service-card-grid svg { width: 23px; }.service-card-grid article > p:first-of-type { color: var(--c-accent); font-size: 7px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }.service-card-grid article.green > p:first-of-type { color: var(--c-green); }.service-card-grid h2 { min-height: 54px; margin: 8px 0 12px; font-family: var(--heading); font-size: 28px; line-height: .92; text-transform: uppercase; }.service-card-grid article > p:nth-of-type(2) { min-height: 66px; color: var(--c-muted); font-size: 10px; line-height: 1.55; }.service-card-grid article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-block: 15px; border-top: 1px solid var(--c-line); }.service-card-grid article > div strong { font-size: 18px; }.service-card-grid article > div small { display: flex; align-items: center; gap: 5px; color: var(--c-muted); font-size: 8px; }.service-card-grid article > div svg { width: 12px; }.service-card-grid article > a { min-height: 43px; display: flex; align-items: center; justify-content: space-between; padding-inline: 14px; background: var(--c-accent); color: var(--c-accent-ink); font-family: var(--heading); font-size: 12px; font-weight: 800; text-transform: uppercase; }.service-card-grid article.green > a { background: var(--c-green); color: #111; }.service-card-grid article > a svg { width: 15px; }
.booking-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; margin-top: 100px; padding: 55px; border: 1px solid var(--c-line); background: var(--c-panel); }.booking-explainer h2 { margin: 0; font-family: var(--heading); font-size: 58px; letter-spacing: -.035em; line-height: .85; text-transform: uppercase; }.booking-explainer > p:not(.animal-kicker) { color: var(--c-muted); font-size: 12px; line-height: 1.65; }.booking-explainer ol { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0; list-style: none; }.booking-explainer li { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--c-line); color: var(--c-muted); font-size: 9px; text-transform: uppercase; }.booking-explainer li span { width: 25px; height: 25px; display: grid; flex: 0 0 auto; place-items: center; background: var(--c-green); color: #111; font-weight: 900; }.service-boundary { display: flex; gap: 11px; margin-top: 24px; padding: 16px; background: var(--c-page); }.service-boundary svg { width: 21px; flex: 0 0 auto; color: var(--c-green); }.service-boundary p { margin: 0; color: var(--c-muted); font-size: 9px; line-height: 1.5; }.service-boundary strong { display: block; margin-bottom: 4px; color: var(--c-ink); }
.booking-demo { display: grid; gap: 12px; padding: 25px; border: 1px solid var(--c-accent); background: color-mix(in srgb, var(--c-accent) 4%, var(--c-page)); }.booking-demo-head { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--c-line); }.booking-demo-head span { color: var(--c-accent); font-family: var(--heading); font-size: 18px; font-weight: 800; text-transform: uppercase; }.booking-demo-head small { color: var(--c-muted); font-size: 8px; }.booking-demo label { display: grid; gap: 6px; color: var(--c-muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.booking-demo input, .booking-demo select { width: 100%; min-height: 43px; padding-inline: 11px; border: 1px solid var(--c-line); outline: 0; background: var(--c-panel); color: var(--c-ink); font-size: 10px; }.booking-date-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.booking-demo > button { min-height: 49px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; background: var(--c-accent); color: var(--c-accent-ink); font-family: var(--heading); font-size: 14px; font-weight: 800; text-transform: uppercase; }.booking-demo button svg { width: 15px; }.booking-demo > p { display: flex; gap: 7px; margin: 0; color: var(--c-muted); font-size: 8px; line-height: 1.4; }.booking-demo > p svg { width: 13px; flex: 0 0 auto; color: var(--c-green); }
.service-faq { display: grid; grid-template-columns: .6fr 1.4fr; gap: 80px; margin-top: 100px; }.service-faq > h2 { margin: 25px 0 0; font-family: var(--heading); font-size: 55px; text-transform: uppercase; }.service-faq > div { grid-column: 2; grid-row: 1 / 3; }.service-faq details { border-top: 1px solid var(--c-line); }.service-faq details:last-child { border-bottom: 1px solid var(--c-line); }.service-faq summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; font-family: var(--heading); font-size: 18px; font-weight: 800; text-transform: uppercase; cursor: pointer; list-style: none; }.service-faq summary span { color: var(--c-accent); }.service-faq details p { margin: 0; padding: 0 35px 20px 0; color: var(--c-muted); font-size: 10px; line-height: 1.6; }

@media (max-width: 1180px) {
  .review-note { display: none; }
  .concept-header-main { grid-template-columns: 215px 1fr auto; gap: 22px; }
  .concept-header-actions a:first-child { display: none; }
  .concept-main-nav > .concept-width { gap: 20px; }
  .concept-mega-inner { grid-template-columns: repeat(3, 1fr); }
  .concept-mega-feature { display: none !important; }
  .archive-product-image { height: 235px; }
  .product-detail-shell { grid-template-columns: 1fr 1fr; }
  .product-main-image { height: 550px; }
  .product-summary { padding: 30px; }
  .animal-main-image { height: 660px; }
  .service-card-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .concept-width { width: calc(100% - 34px); }
  .review-bar-inner { width: 100%; padding-left: 15px; }
  .review-label { display: none; }
  .concept-announcement > div { justify-content: center; }.concept-announcement span:not(:first-child) { display: none; }
  .concept-header-main { min-height: 74px; grid-template-columns: 40px 1fr auto; gap: 10px; }
  .concept-mobile-trigger { display: grid; width: 38px; height: 38px; place-items: center; }
  .concept-wordmark { justify-self: center; }.concept-wordmark span { font-size: 25px; }.concept-wordmark small { font-size: 6px; }
  .concept-search, .concept-header-actions a:not(:last-child), .concept-main-nav { display: none; }
  .concept-header-actions a span { display: none; }
  .concept-showcase-hero { min-height: auto; grid-template-columns: 1fr; gap: 40px; padding-block: 65px; }
  .concept-showcase-hero aside { width: min(500px, 100%); }
  .concept-showcase-card, .concept-showcase-card:nth-child(1), .concept-showcase-card:nth-child(2) { min-height: 420px; grid-column: span 6; }
  .concept-showcase-card:last-child { grid-column: span 12; }
  .concept-principles { grid-template-columns: 1fr; }.concept-principles > div { border-right: 0; border-bottom: 1px solid var(--c-line); }
  .concept-page-intro { grid-template-columns: 1fr; }.concept-page-intro > span { grid-column: 1; grid-row: auto; }
  .archive-layout { grid-template-columns: 1fr; }.archive-filters { position: fixed; z-index: 180; top: 0; bottom: 0; left: 0; width: min(340px, 92vw); overflow-y: auto; transform: translateX(-102%); border-right: 1px solid var(--c-line); transition: transform .2s ease; }.archive-filters.mobile-open { transform: translateX(0); }.archive-filter-head button { display: grid; }.filter-backdrop { position: fixed; z-index: 170; inset: 0; display: block; background: rgba(0,0,0,.68); }.mobile-filter-button { min-height: 36px; display: inline-flex; align-items: center; padding-inline: 12px; border: 1px solid var(--c-line); background: transparent; color: var(--c-ink); font-size: 9px; font-weight: 800; text-transform: uppercase; }
  .product-detail-shell, .animal-detail-shell, .species-detail-shell { grid-template-columns: 1fr; }.product-gallery, .animal-gallery, .species-visual { border-right: 0; border-bottom: 1px solid var(--c-line); }.product-main-image { height: min(680px, 85vw); }.product-information { grid-column: 1; }.pairs-section > div { grid-template-columns: repeat(2, 1fr); }
  .animal-main-image { height: min(820px, 110vw); }.animal-lower-grid, .species-guidance { grid-template-columns: 1fr 1fr; }.animal-guide-card, .species-guidance > a { grid-column: 1 / -1; }
  .species-visual > div { height: min(650px, 82vw); }
  .services-hero { min-height: auto; grid-template-columns: 1fr; }.services-hero > div { padding-block: 70px; padding-right: 0; }.services-hero > img { height: 520px; }.booking-section { grid-template-columns: 1fr; gap: 40px; padding: 35px; }.service-faq { grid-template-columns: 1fr; gap: 10px; }.service-faq > div { grid-column: 1; grid-row: auto; }
  .concept-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }.concept-footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 590px) {
  .concept-width { width: calc(100% - 24px); }
  .review-bar nav a { padding-inline: 11px; font-size: 10px; }
  .concept-theme-control { right: 8px; bottom: 8px; }.concept-theme-control > span { display: none; }.concept-theme-control button { width: 31px; padding: 0; justify-content: center; font-size: 0; }
  .concept-breadcrumbs { min-height: 47px; }
  .concept-page-intro { gap: 19px; padding-block: 42px; }.concept-page-intro h1 { font-size: 58px; }.concept-page-intro > span { font-size: 13px; }
  .concept-showcase-hero { padding-block: 48px; }.concept-showcase-hero h1 { font-size: clamp(60px, 18vw, 86px); }.concept-showcase-hero > div > span { font-size: 14px; }
  .concept-showcase-grid { grid-template-columns: 1fr; }.concept-showcase-card, .concept-showcase-card:nth-child(1), .concept-showcase-card:nth-child(2), .concept-showcase-card:last-child { min-height: 390px; grid-column: 1; }.concept-showcase-card h2 { font-size: 38px; }
  .archive-results { padding: 12px; }.archive-toolbar { flex-wrap: wrap; gap: 10px; padding-block: 10px; }.archive-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.archive-product-image { height: 190px; }.archive-product-copy { padding: 12px; }.archive-product-copy h3 { min-height: 50px; font-size: 18px; }.archive-product-copy > p { min-height: 18px; }.archive-product-copy > button { min-height: 39px; font-size: 10px; }
  .fulfilment-demo { overflow-x: auto; }.fulfilment-demo > div { width: max-content; flex-wrap: nowrap; }.fulfilment-demo small { min-width: 420px; }
  .product-gallery, .animal-gallery, .species-visual { padding: 12px; }.product-main-image { height: 95vw; }.product-thumbnails { grid-template-columns: repeat(4, 1fr); }.product-thumbnails button { height: 78px; }.product-thumbnails button:last-child { display: none; }.product-summary, .animal-summary, .species-summary { padding: 24px 18px; }.product-summary h1, .animal-summary h1, .species-summary h1 { font-size: 50px; }.product-lead { font-size: 12px; }.product-primary-action { flex-direction: column; }.product-primary-action > div { min-height: 44px; }.product-enquiry > div, .species-enquiry > div { grid-template-columns: 1fr; }.product-info-grid { grid-template-columns: 1fr; gap: 35px; padding: 24px 18px; }.pairs-section > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }.pairs-section > h2 { font-size: 44px; }
  .animal-page-label { min-height: 75px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 5px; }.animal-page-label span { line-height: 1.4; }.animal-main-image { height: 125vw; }.animal-thumbs { grid-template-columns: repeat(2, 1fr); }.animal-thumbs button { height: 105px; }.animal-record dl > div, .species-requirements dl > div { min-height: 43px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; }.animal-record dd, .species-requirements dd { text-align: left; }.animal-actions { flex-direction: column; }.animal-lower-grid, .species-guidance { grid-template-columns: 1fr; gap: 30px; padding: 24px 18px; }.animal-guide-card, .species-guidance > a { grid-column: 1; }.species-visual > div { height: 90vw; }.species-availability { align-items: flex-start; flex-direction: column; }
  .services-hero h1 { font-size: 66px; }.services-hero > div { padding-block: 55px; }.services-hero > div > div { align-items: stretch; flex-direction: column; width: 100%; }.services-hero > div > div a { justify-content: center; }.services-hero > img { height: 420px; }.service-card-grid { grid-template-columns: 1fr; margin-top: 50px; }.service-card-grid article > p:nth-of-type(2) { min-height: auto; }.booking-section { width: 100%; margin-top: 65px; padding: 28px 18px; border-inline: 0; }.booking-explainer h2 { font-size: 46px; }.booking-explainer ol { grid-template-columns: 1fr; }.booking-demo { padding: 18px 13px; }.booking-date-row { grid-template-columns: 1fr; }.service-faq { margin-top: 65px; }.service-faq > h2 { margin-top: 0; font-size: 44px; }
  .concept-footer { margin-top: 70px; }.concept-footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 20px; padding-block: 50px; }.concept-footer-grid > div:first-child { grid-column: 1 / -1; }
}
