:root {
  --navy: #0b2e6d;
  --navy-900: #071f4c;
  --navy-800: #09265d;
  --navy-700: #123e83;
  --blue-100: #eaf0fb;
  --blue-50: #f5f8fd;
  --gold: #f4b400;
  --gold-600: #d99f00;
  --gold-100: #fff4cb;
  --white: #ffffff;
  --ink: #333333;
  --muted: #667085;
  --line: #dde3ec;
  --surface: #f6f8fb;
  --surface-2: #eef3f9;
  --success: #18794e;
  --danger: #c83532;
  --warning: #9b6400;
  --shadow-sm: 0 2px 12px rgba(7, 31, 76, 0.08);
  --shadow-md: 0 14px 38px rgba(7, 31, 76, 0.12);
  --shadow-lg: 0 24px 70px rgba(7, 31, 76, 0.18);
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-pill: 999px;
  --container: 1240px;
  --heading: Montserrat, Poppins, "Segoe UI", Arial, sans-serif;
  --body: "Open Sans", Lato, Inter, "Segoe UI", Arial, sans-serif;
  --transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: light; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.no-scroll { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 {
  color: var(--navy-900);
  font-family: var(--heading);
  line-height: 1.15;
  letter-spacing: -0.02em;
}
h1 { font-size: clamp(2.4rem, 5vw, 4.8rem); }
h2 { font-size: clamp(1.9rem, 3.2vw, 3.1rem); }
h3 { font-size: 1.25rem; }
small { font-size: .82em; }
[hidden] { display: none !important; }
.icon { flex: 0 0 auto; }
.container { width: min(calc(100% - 36px), var(--container)); margin-inline: auto; }
.narrow { width: min(calc(100% - 36px), 860px); margin-inline: auto; }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 9999;
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--gold);
  color: var(--navy-900);
  font-weight: 800;
  transform: translateY(-200%);
}
.skip-link:focus { transform: translateY(0); }

/* Buttons and common controls */
.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 22px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font-family: var(--heading);
  font-size: .94rem;
  font-weight: 750;
  line-height: 1;
  transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition);
}
.button:hover { transform: translateY(-2px); }
.button:focus-visible, .icon-button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible {
  outline: 3px solid rgba(244, 180, 0, .45);
  outline-offset: 3px;
}
.button-primary { background: var(--navy); color: var(--white); box-shadow: 0 9px 24px rgba(11, 46, 109, .2); }
.button-primary:hover { background: var(--navy-900); box-shadow: 0 13px 30px rgba(11, 46, 109, .28); }
.button-gold { background: var(--gold); color: var(--navy-900); box-shadow: 0 9px 24px rgba(244, 180, 0, .23); }
.button-gold:hover { background: #ffc21a; box-shadow: 0 13px 30px rgba(244, 180, 0, .3); }
.button-secondary { border-color: var(--line); background: var(--white); color: var(--navy); }
.button-secondary:hover { border-color: var(--navy); background: var(--blue-50); }
.button-light { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.12); color: var(--white); backdrop-filter: blur(10px); }
.button-light:hover { background: var(--white); color: var(--navy); }
.button-small { min-height: 40px; padding: 9px 15px; font-size: .85rem; }
.button-block { width: 100%; }
.icon-button {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--navy);
}
.icon-button:hover { background: var(--blue-100); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  color: var(--navy);
  font-family: var(--heading);
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.eyebrow::before { width: 28px; height: 3px; border-radius: 99px; background: var(--gold); content: ""; }
.eyebrow.light { color: var(--white); }
.section { padding-block: 82px; }
.section-sm { padding-block: 56px; }
.section-muted { background: var(--surface); }
.section-navy { color: var(--white); background: var(--navy-900); }
.section-navy h2, .section-navy h3 { color: var(--white); }
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 34px;
}
.section-heading > div { max-width: 720px; }
.section-heading h2 { margin-bottom: 12px; }
.section-heading p { margin-bottom: 0; color: var(--muted); font-size: 1.04rem; }
.section-navy .section-heading p { color: rgba(255,255,255,.72); }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--navy); font-family: var(--heading); font-weight: 750; }
.text-link:hover { color: var(--gold-600); }
.tag { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: var(--radius-pill); background: var(--blue-100); color: var(--navy); font-size: .79rem; font-weight: 750; }
.notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 18px;
  border: 1px solid #f2d77d;
  border-radius: var(--radius-sm);
  background: #fff9e8;
  color: #755000;
  font-size: .9rem;
}
.notice p { margin: 0; }

/* Header */
.announcement-bar { color: var(--white); background: var(--navy-900); font-size: .78rem; }
.announcement-inner { display: flex; min-height: 36px; align-items: center; justify-content: space-between; gap: 18px; }
.announcement-inner p { margin: 0; }
.announcement-links { display: flex; align-items: center; gap: 22px; }
.announcement-links a { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.88); }
.announcement-links a:hover { color: var(--gold); }
.business-hours { white-space: pre-line; }
.site-header { position: sticky; top: 0; z-index: 100; isolation: isolate; background: rgba(255,255,255,.97); box-shadow: 0 1px 0 rgba(7,31,76,.09); backdrop-filter: blur(14px); }
.header-main { display: grid; min-height: 80px; grid-template-columns: 230px minmax(320px, 1fr) auto; align-items: center; gap: 28px; }
.brand img { width: 220px; height: auto; }
.header-search { position: relative; display: flex; min-height: 48px; align-items: center; border: 1px solid #ccd5e3; border-radius: var(--radius-pill); background: var(--surface); transition: box-shadow var(--transition), border-color var(--transition); }
.header-search:focus-within { border-color: var(--navy); box-shadow: 0 0 0 4px rgba(11,46,109,.08); background: var(--white); }
.header-search > .icon { margin-left: 17px; color: var(--muted); }
.header-search input { min-width: 0; flex: 1; padding: 0 13px; border: 0; outline: 0; background: transparent; color: var(--ink); }
.header-search button { align-self: stretch; padding: 0 24px; border: 0; border-radius: 0 var(--radius-pill) var(--radius-pill) 0; background: var(--gold); color: var(--navy-900); font-family: var(--heading); font-weight: 800; }
.search-suggestions { position: absolute; top: calc(100% + 10px); right: 0; left: 0; z-index: 130; overflow: hidden; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-lg); }
.search-suggestions a { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; }
.search-suggestions a:hover { background: var(--surface); }
.search-suggestions img { width: 54px; height: 42px; object-fit: contain; border-radius: 8px; background: var(--surface); }
.search-suggestions span { display: flex; min-width: 0; flex-direction: column; }
.search-suggestions strong { overflow: hidden; color: var(--navy-900); font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
.search-suggestions small { color: var(--muted); }
.header-actions { display: flex; align-items: center; gap: 18px; }
.header-action { position: relative; display: flex; align-items: center; gap: 8px; color: var(--navy); font-family: var(--heading); font-size: .87rem; font-weight: 750; line-height: 1.15; white-space: nowrap; }
.header-action small { display: block; margin-bottom: 2px; color: var(--muted); font-family: var(--body); font-size: .68rem; font-weight: 500; }
.header-action:hover { color: var(--gold-600); }
.cart-count { position: absolute; top: -11px; left: 15px; display: grid; min-width: 21px; height: 21px; place-items: center; padding: 0 5px; border: 2px solid var(--white); border-radius: 99px; background: var(--gold); color: var(--navy-900); font-size: .68rem; }
.mobile-menu-button { display: none; }
.header-nav-wrap { border-top: 1px solid #edf0f5; }
.header-nav { position: relative; display: flex; min-height: 46px; align-items: center; gap: 27px; font-family: var(--heading); font-size: .85rem; font-weight: 700; }
.header-nav > a { position: relative; display: inline-flex; min-height: 46px; align-items: center; color: #3f4b5e; }
.header-nav > a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--gold); content: ""; transform: scaleX(0); transition: transform var(--transition); }
.header-nav > a:hover, .header-nav > a.active { color: var(--navy); }
.header-nav > a:hover::after, .header-nav > a.active::after { transform: scaleX(1); }
.category-trigger { display: inline-flex; min-height: 46px; align-items: center; gap: 9px; padding: 0 18px; border: 0; background: var(--navy); color: var(--white); font-family: var(--heading); font-size: .84rem; font-weight: 750; }
.category-trigger span { margin-left: 6px; }
.category-menu { position: absolute; top: 46px; left: 0; z-index: 120; width: 330px; padding: 10px; border: 1px solid var(--line); border-radius: 0 0 var(--radius-md) var(--radius-md); background: var(--white); box-shadow: var(--shadow-lg); }
.category-menu a { display: grid; grid-template-columns: 50px 1fr auto; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 12px; color: var(--navy-900); }
.category-menu a:hover { background: var(--surface); }
.category-menu img { width: 50px; height: 40px; object-fit: contain; border-radius: 8px; }
.nav-deal { margin-left: auto; color: var(--navy) !important; font-weight: 800 !important; }
.nav-deal::before { width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--gold); content: ""; box-shadow: 0 0 0 4px rgba(244,180,0,.15); }
.mobile-drawer-backdrop { position: fixed; inset: 0; z-index: 200; background: rgba(4,18,44,.58); backdrop-filter: blur(3px); }
.mobile-drawer { position: fixed; top: 0; bottom: 0; left: 0; z-index: 210; width: min(88vw, 390px); overflow-y: auto; padding: 20px; background: var(--white); box-shadow: var(--shadow-lg); transform: translateX(-105%); transition: transform 260ms ease; }
.mobile-drawer.open { transform: translateX(0); }
.mobile-drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.mobile-drawer-head img { width: 210px; }
.mobile-search { display: flex; align-items: center; overflow: hidden; margin-bottom: 20px; border: 1px solid var(--line); border-radius: var(--radius-pill); background: var(--surface); }
.mobile-search .icon { margin-left: 14px; }
.mobile-search input { min-width: 0; flex: 1; padding: 11px; border: 0; outline: 0; background: transparent; }
.mobile-search button { align-self: stretch; padding-inline: 17px; border: 0; background: var(--gold); font-weight: 800; }
.mobile-drawer nav { display: grid; }
.mobile-drawer nav a { display: flex; min-height: 49px; align-items: center; justify-content: space-between; border-bottom: 1px solid #edf0f4; color: var(--navy-900); font-family: var(--heading); font-weight: 700; }
.mobile-drawer nav a.active { color: var(--gold-600); }
.mobile-contact { display: grid; gap: 9px; margin-top: 26px; padding: 18px; border-radius: var(--radius-md); background: var(--navy-900); color: var(--white); }
.mobile-contact a { display: flex; align-items: center; gap: 8px; color: var(--gold); font-weight: 750; }
.mobile-contact span { color: rgba(255,255,255,.72); font-size: .84rem; }

/* Hero and page heroes */
.hero { position: relative; min-height: 650px; overflow: hidden; color: var(--white); background: var(--navy-900); }
.hero::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,31,76,.95) 0%, rgba(7,31,76,.82) 39%, rgba(7,31,76,.36) 72%, rgba(7,31,76,.18) 100%), url("../images/storefront-hero-clean.webp") center center/cover no-repeat; content: ""; }
.hero::after { position: absolute; right: -10%; bottom: -50%; width: 620px; height: 620px; border: 90px solid rgba(244,180,0,.12); border-radius: 50%; content: ""; }
.hero-inner { position: relative; z-index: 1; display: grid; min-height: 650px; grid-template-columns: minmax(0, 760px) 1fr; align-items: center; gap: 30px; padding-block: 88px; }
.hero-copy h1 { max-width: 760px; margin-bottom: 24px; color: var(--white); }
.hero-copy h1 span { color: var(--gold); }
.hero-copy > p { max-width: 630px; margin-bottom: 32px; color: rgba(255,255,255,.82); font-size: clamp(1rem, 1.8vw, 1.18rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 19px; margin-top: 35px; color: rgba(255,255,255,.84); font-size: .84rem; }
.hero-meta span { display: inline-flex; align-items: center; gap: 7px; }
.hero-card { align-self: end; justify-self: end; width: 285px; padding: 20px; border: 1px solid rgba(255,255,255,.23); border-radius: var(--radius-md); background: rgba(255,255,255,.12); box-shadow: var(--shadow-lg); backdrop-filter: blur(14px); }
.hero-card strong { display: block; margin-bottom: 5px; color: var(--gold); font-family: var(--heading); font-size: 1.1rem; }
.hero-card p { margin: 0; color: rgba(255,255,255,.78); font-size: .85rem; }
.trust-strip { position: relative; z-index: 3; margin-top: -1px; border-bottom: 1px solid var(--line); background: var(--white); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { display: flex; min-height: 95px; align-items: center; gap: 14px; padding: 18px 26px; border-right: 1px solid var(--line); }
.trust-item:last-child { border-right: 0; }
.trust-icon { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border-radius: 14px; background: var(--gold-100); color: var(--navy); }
.trust-item strong { display: block; color: var(--navy-900); font-family: var(--heading); font-size: .92rem; }
.trust-item small { color: var(--muted); }
.page-hero { position: relative; overflow: hidden; padding-block: 74px; color: var(--white); background: linear-gradient(135deg, var(--navy-900), var(--navy)); }
.page-hero::after { position: absolute; top: -170px; right: -100px; width: 460px; height: 460px; border: 72px solid rgba(244,180,0,.13); border-radius: 50%; content: ""; }
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { max-width: 880px; margin-bottom: 16px; color: var(--white); font-size: clamp(2.25rem, 4.5vw, 4rem); }
.page-hero p { max-width: 720px; margin-bottom: 0; color: rgba(255,255,255,.78); font-size: 1.08rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 20px; color: rgba(255,255,255,.72); font-size: .83rem; }
.breadcrumbs a:hover { color: var(--gold); }

/* Categories */
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.category-card { position: relative; overflow: hidden; min-height: 255px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition); }
.category-card:hover { border-color: rgba(11,46,109,.3); box-shadow: var(--shadow-md); transform: translateY(-5px); }
.category-card img { width: 100%; height: 137px; margin-bottom: 17px; object-fit: contain; border-radius: 14px; background: var(--surface); }
.category-card h3 { margin-bottom: 6px; font-size: 1rem; }
.category-card p { margin-bottom: 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.category-card .icon { position: absolute; right: 18px; bottom: 18px; color: var(--gold-600); transition: transform var(--transition); }
.category-card:hover .icon { transform: translateX(4px); }

/* Product cards */
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.product-card { position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition); }
.product-card:hover { border-color: rgba(11,46,109,.28); box-shadow: var(--shadow-md); transform: translateY(-4px); }
.product-media { position: relative; overflow: hidden; aspect-ratio: 1.25; padding: 16px; background: var(--surface); }
.product-media > a { display: block; width: 100%; height: 100%; }
.product-media img { width: 100%; height: 100%; object-fit: contain; transition: transform 260ms ease; }
.product-card:hover .product-media img { transform: scale(1.035); }
.product-badge { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 6px 9px; border-radius: var(--radius-pill); background: var(--gold); color: var(--navy-900); font-size: .66rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.wishlist-button { position: absolute; top: 11px; right: 11px; z-index: 2; display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.94); color: var(--navy); box-shadow: var(--shadow-sm); }
.wishlist-button:hover, .wishlist-button.active { border-color: var(--gold); background: var(--gold-100); color: #ad5300; }
.product-body { display: flex; flex: 1; flex-direction: column; padding: 18px; }
.product-category { margin-bottom: 6px; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.product-category:hover { color: var(--navy); }
.product-body h3 { min-height: 45px; margin-bottom: 10px; font-size: .98rem; line-height: 1.35; }
.product-body h3 a:hover { color: var(--gold-600); }
.product-rating { display: flex; align-items: center; gap: 4px; margin-bottom: 12px; color: var(--gold-600); font-size: .77rem; }
.product-rating .icon { fill: currentColor; }
.product-rating span { color: var(--muted); }
.product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin: auto 0 15px; color: var(--navy-900); font-family: var(--heading); font-size: 1.17rem; font-weight: 850; }
.product-price small { flex-basis: 100%; color: var(--muted); font-family: var(--body); font-size: .64rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.product-price del { color: #9ba4b3; font-size: .72rem; font-weight: 500; }
.product-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }

/* Homepage service and feature sections */
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.service-card { position: relative; overflow: hidden; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.service-card::after { position: absolute; right: -45px; bottom: -60px; width: 145px; height: 145px; border: 25px solid rgba(11,46,109,.04); border-radius: 50%; content: ""; }
.service-icon { display: grid; width: 55px; height: 55px; place-items: center; margin-bottom: 20px; border-radius: 17px; background: var(--navy); color: var(--gold); }
.service-card h3 { margin-bottom: 10px; }
.service-card p { color: var(--muted); font-size: .91rem; }
.service-card .text-link { font-size: .84rem; }
.solution-banner { position: relative; display: grid; overflow: hidden; grid-template-columns: 1.05fr .95fr; border-radius: var(--radius-lg); background: var(--navy-900); box-shadow: var(--shadow-lg); }
.solution-copy { position: relative; z-index: 2; padding: 58px; color: var(--white); }
.solution-copy h2 { margin-bottom: 17px; color: var(--white); }
.solution-copy p { max-width: 590px; margin-bottom: 28px; color: rgba(255,255,255,.74); }
.solution-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 28px 0 32px; }
.solution-list span { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.9); font-size: .88rem; }
.solution-list .icon { color: var(--gold); }
.solution-visual { position: relative; min-height: 440px; background: linear-gradient(90deg, var(--navy-900) 0%, rgba(7,31,76,.35) 24%, rgba(7,31,76,.05)), url("../images/storefront-portrait.webp") center/cover no-repeat; }
.solution-visual::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,31,76,.55), transparent 55%); content: ""; }
.segment-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.segment-card { min-height: 210px; padding: 26px; border-radius: var(--radius-md); background: linear-gradient(145deg, var(--white), var(--surface)); box-shadow: var(--shadow-sm); }
.segment-card span { display: inline-flex; align-items: center; justify-content: center; width: 45px; height: 45px; margin-bottom: 20px; border-radius: 14px; background: var(--gold-100); color: var(--navy); }
.segment-card p { margin-bottom: 0; color: var(--muted); font-size: .88rem; }
.about-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 65px; }
.about-media { position: relative; }
.about-media img { width: 100%; min-height: 490px; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.about-media-badge { position: absolute; right: -22px; bottom: 32px; max-width: 210px; padding: 20px; border-radius: var(--radius-md); background: var(--gold); color: var(--navy-900); box-shadow: var(--shadow-md); }
.about-media-badge strong { display: block; font-family: var(--heading); font-size: 1.2rem; }
.about-content h2 { margin-bottom: 18px; }
.about-content > p { color: var(--muted); }
.check-list { display: grid; gap: 11px; margin: 24px 0 31px; padding: 0; list-style: none; }
.check-list li { display: flex; align-items: flex-start; gap: 10px; }
.check-list .icon { margin-top: 3px; color: var(--success); }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.testimonial-card { padding: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-md); background: rgba(255,255,255,.07); }
.testimonial-stars { display: flex; gap: 3px; margin-bottom: 16px; color: var(--gold); }
.testimonial-stars .icon { fill: currentColor; }
.testimonial-card blockquote { margin: 0 0 22px; color: rgba(255,255,255,.8); font-size: .95rem; }
.testimonial-card strong { color: var(--white); font-family: var(--heading); }
.testimonial-card small { display: block; color: rgba(255,255,255,.56); }
.cta-band { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 45px; border-radius: var(--radius-lg); background: linear-gradient(115deg, var(--gold), #ffd45e); box-shadow: var(--shadow-md); }
.cta-band h2 { max-width: 720px; margin-bottom: 8px; font-size: clamp(1.7rem, 3vw, 2.6rem); }
.cta-band p { margin-bottom: 0; color: #5b470a; }
.cta-band .button { flex: 0 0 auto; }

/* Shop */
.shop-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; }
.shop-sidebar { align-self: start; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.filter-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.filter-head h2 { margin: 0; font-size: 1.1rem; }
.filter-group { padding: 18px 0; border-top: 1px solid var(--line); }
.filter-group h3 { margin-bottom: 13px; font-size: .88rem; }
.filter-option { display: flex; align-items: center; gap: 9px; margin: 9px 0; color: #4a5568; font-size: .85rem; }
.filter-option input { width: 17px; height: 17px; accent-color: var(--navy); }
.shop-main { min-width: 0; }
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; padding: 15px 17px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.shop-toolbar p { margin: 0; color: var(--muted); font-size: .86rem; }
.shop-toolbar-actions { display: flex; align-items: center; gap: 10px; }
.shop-toolbar select { min-height: 40px; padding: 8px 34px 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink); font-size: .84rem; }
.view-toggle { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 10px; }
.view-toggle button { display: grid; width: 34px; height: 34px; place-items: center; border: 0; border-radius: 7px; background: transparent; color: var(--muted); }
.view-toggle button.active { background: var(--blue-100); color: var(--navy); }
.shop-main .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.shop-main .product-grid.list-view { grid-template-columns: 1fr; }
.shop-main .product-grid.list-view .product-card { display: grid; grid-template-columns: minmax(220px, 30%) 1fr; }
.shop-main .product-grid.list-view .product-media { min-height: 230px; aspect-ratio: auto; }
.shop-main .product-grid.list-view .product-body h3 { min-height: auto; }
.shop-main .product-grid.list-view .product-actions { max-width: 430px; }
.filter-mobile-button { display: none; }
.demo-data-banner { margin-bottom: 22px; }
.no-results { padding: 60px 24px; border: 1px dashed #bbc5d4; border-radius: var(--radius-md); text-align: center; }
.no-results .icon-wrap { display: grid; width: 60px; height: 60px; place-items: center; margin: 0 auto 18px; border-radius: 50%; background: var(--blue-100); color: var(--navy); }

/* Product detail */
.product-detail { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 58px; }
.product-gallery-main { position: sticky; top: 155px; display: grid; min-height: 510px; place-items: center; padding: 38px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.product-gallery-main img { width: 100%; max-height: 450px; object-fit: contain; }
.product-info .product-category { display: inline-block; margin-bottom: 12px; }
.product-info h1 { margin-bottom: 14px; font-size: clamp(2rem, 4vw, 3.15rem); }
.product-info .product-rating { margin-bottom: 18px; font-size: .9rem; }
.product-summary { margin-bottom: 24px; color: var(--muted); font-size: 1rem; }
.product-detail-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; margin-bottom: 20px; color: var(--navy-900); font-family: var(--heading); font-size: 2rem; font-weight: 850; }
.product-detail-price span { flex-basis: 100%; color: var(--muted); font-family: var(--body); font-size: .73rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.product-detail-price del { color: #97a0af; font-size: 1rem; font-weight: 500; }
.availability { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 25px; padding: 8px 12px; border-radius: var(--radius-pill); background: #e9f7ef; color: var(--success); font-size: .82rem; font-weight: 750; }
.feature-list { display: grid; gap: 10px; margin: 24px 0; padding: 0; list-style: none; }
.feature-list li { display: flex; align-items: center; gap: 9px; }
.feature-list .icon { color: var(--success); }
.purchase-panel { margin-top: 27px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.quantity-control { display: inline-grid; grid-template-columns: 40px 50px 40px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-pill); background: var(--white); }
.quantity-control button { display: grid; height: 42px; place-items: center; border: 0; background: transparent; color: var(--navy); }
.quantity-control input { width: 50px; border: 0; outline: 0; text-align: center; }
.purchase-row { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; }
.product-perks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 17px; }
.product-perks span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: .76rem; }
.product-tabs { margin-top: 55px; }
.tab-nav { display: flex; gap: 6px; border-bottom: 1px solid var(--line); }
.tab-nav button { padding: 13px 18px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--muted); font-family: var(--heading); font-size: .88rem; font-weight: 750; }
.tab-nav button.active { border-color: var(--gold); color: var(--navy); }
.tab-panel { padding: 28px 0; }
.spec-table { width: 100%; border-collapse: collapse; }
.spec-table th, .spec-table td { padding: 13px 15px; border-bottom: 1px solid var(--line); text-align: left; font-size: .88rem; }
.spec-table th { width: 35%; color: var(--navy); }

/* General cards, services, projects, about */
.content-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.content-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.info-card { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.info-card h3 { margin-bottom: 12px; }
.info-card p:last-child { margin-bottom: 0; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: steps; }
.process-card { position: relative; padding: 29px 25px; border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); counter-increment: steps; }
.process-card::before { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 18px; border-radius: 50%; background: var(--gold); color: var(--navy-900); content: counter(steps, decimal-leading-zero); font-family: var(--heading); font-weight: 850; }
.process-card p { margin-bottom: 0; color: var(--muted); font-size: .87rem; }
.value-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.value-card { padding: 24px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-md); background: rgba(255,255,255,.06); }
.value-card strong { display: block; margin-bottom: 8px; color: var(--gold); font-family: var(--heading); font-size: 1.05rem; }
.value-card p { margin: 0; color: rgba(255,255,255,.7); font-size: .84rem; }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 23px; }
.project-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.project-image { position: relative; height: 245px; overflow: hidden; background: var(--surface); }
.project-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.project-card:hover .project-image img { transform: scale(1.04); }
.project-image .tag { position: absolute; top: 16px; left: 16px; background: rgba(255,255,255,.92); }
.project-copy { padding: 23px; }
.project-copy h3 { margin-bottom: 9px; }
.project-copy p { margin-bottom: 15px; color: var(--muted); font-size: .88rem; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.stat-card { padding: 27px; border-radius: var(--radius-md); background: var(--surface); text-align: center; }
.stat-card strong { display: block; color: var(--navy); font-family: var(--heading); font-size: 2rem; }
.stat-card span { color: var(--muted); font-size: .85rem; }

/* Forms */
.form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; align-items: start; gap: 34px; }
.form-card { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-md); }
.form-card h2 { margin-bottom: 10px; font-size: 1.55rem; }
.form-intro { margin-bottom: 28px; color: var(--muted); }
.form-section { margin-top: 30px; padding-top: 27px; border-top: 1px solid var(--line); }
.form-section:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.form-section-title { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.form-section-title span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 11px; background: var(--blue-100); color: var(--navy); }
.form-section-title h3 { margin: 0; font-size: 1rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label, .fieldset-label { color: var(--navy-900); font-size: .82rem; font-weight: 750; }
.field label span { color: var(--danger); }
.field input, .field select, .field textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #ccd4e0;
  border-radius: 11px;
  outline: 0;
  background: var(--white);
  color: var(--ink);
  transition: border-color var(--transition), box-shadow var(--transition);
}
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--navy); box-shadow: 0 0 0 4px rgba(11,46,109,.08); }
.field small { color: var(--muted); }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.choice-card { position: relative; }
.choice-card input { position: absolute; opacity: 0; }
.choice-card label { display: flex; min-height: 60px; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); cursor: pointer; }
.choice-card input:checked + label { border-color: var(--navy); background: var(--blue-50); box-shadow: 0 0 0 3px rgba(11,46,109,.07); color: var(--navy); }
.choice-card input:focus-visible + label { outline: 3px solid rgba(244,180,0,.45); outline-offset: 2px; }
.file-drop { display: grid; min-height: 130px; place-items: center; padding: 20px; border: 1.5px dashed #aab5c5; border-radius: 13px; background: var(--surface); color: var(--muted); text-align: center; }
.file-drop .icon { margin-bottom: 7px; color: var(--navy); }
.form-consent { display: flex; align-items: flex-start; gap: 9px; margin: 21px 0; color: var(--muted); font-size: .78rem; }
.form-consent input { margin-top: 3px; accent-color: var(--navy); }
.form-aside { position: sticky; top: 150px; display: grid; gap: 18px; }
.aside-card { padding: 24px; border-radius: var(--radius-md); background: var(--navy-900); color: var(--white); }
.aside-card h3 { color: var(--white); }
.aside-card p { color: rgba(255,255,255,.72); font-size: .87rem; }
.aside-card ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.aside-card li { display: flex; align-items: flex-start; gap: 8px; color: rgba(255,255,255,.84); font-size: .82rem; }
.aside-card li .icon { margin-top: 2px; color: var(--gold); }
.aside-contact { padding: 23px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.aside-contact a { display: flex; align-items: center; gap: 9px; margin-top: 10px; color: var(--navy); font-weight: 750; }
.form-success { padding: 50px 24px; text-align: center; }
.success-icon { display: grid; width: 74px; height: 74px; place-items: center; margin: 0 auto 22px; border-radius: 50%; background: #e8f7ef; color: var(--success); }
.form-success h2 { font-size: 2rem; }
.reference-box { display: inline-block; margin: 15px 0 23px; padding: 12px 17px; border-radius: 10px; background: var(--surface); color: var(--navy); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 800; }

/* Calculator */
.calculator-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); align-items: start; gap: 30px; }
.calculator-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-md); }
.calculator-card h2 { margin-bottom: 9px; font-size: 1.5rem; }
.appliance-table { width: 100%; margin-top: 23px; border-collapse: separate; border-spacing: 0 9px; }
.appliance-table th { padding: 0 8px 4px; color: var(--muted); font-size: .72rem; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.appliance-row td { padding: 9px 8px; background: var(--surface); }
.appliance-row td:first-child { border-radius: 12px 0 0 12px; }
.appliance-row td:last-child { border-radius: 0 12px 12px 0; }
.appliance-row select, .appliance-row input { width: 100%; min-height: 40px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); }
.appliance-row .remove-row { border: 0; background: transparent; color: var(--danger); }
.calculator-controls { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.calculator-results { position: sticky; top: 150px; overflow: hidden; border-radius: var(--radius-lg); background: var(--navy-900); color: var(--white); box-shadow: var(--shadow-lg); }
.results-head { padding: 28px; border-bottom: 1px solid rgba(255,255,255,.12); background: linear-gradient(135deg, rgba(244,180,0,.2), transparent); }
.results-head h2 { margin-bottom: 8px; color: var(--white); }
.results-head p { margin: 0; color: rgba(255,255,255,.65); font-size: .84rem; }
.result-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,.1); }
.result-metric { padding: 22px; background: var(--navy-900); }
.result-metric small { display: block; margin-bottom: 4px; color: rgba(255,255,255,.58); }
.result-metric strong { color: var(--gold); font-family: var(--heading); font-size: 1.4rem; }
.recommendation { padding: 26px; }
.recommendation h3 { margin-bottom: 16px; color: var(--white); }
.recommendation-list { display: grid; gap: 12px; }
.recommendation-item { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(255,255,255,.06); }
.recommendation-item span { color: rgba(255,255,255,.68); font-size: .8rem; }
.recommendation-item strong { color: var(--white); font-family: var(--heading); font-size: .9rem; text-align: right; }
.calculator-disclaimer { padding: 18px 26px 25px; color: rgba(255,255,255,.58); font-size: .73rem; }
.results-actions { display: grid; gap: 9px; padding: 0 26px 26px; }

/* Cart and account */
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 28px; }
.cart-items { display: grid; gap: 15px; }
.cart-item { display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.cart-item img { width: 130px; height: 105px; object-fit: contain; border-radius: 12px; background: var(--surface); }
.cart-item h3 { margin-bottom: 6px; font-size: 1rem; }
.cart-item p { margin-bottom: 7px; color: var(--muted); font-size: .8rem; }
.cart-item-price { color: var(--navy); font-family: var(--heading); font-weight: 850; }
.cart-item-controls { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.cart-item-total { text-align: right; }
.cart-item-total strong { display: block; margin-bottom: 12px; color: var(--navy-900); font-family: var(--heading); }
.remove-button { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--danger); font-size: .78rem; }
.order-summary { position: sticky; top: 150px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-md); }
.order-summary h2 { margin-bottom: 20px; font-size: 1.25rem; }
.summary-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 13px 0; color: var(--muted); font-size: .88rem; }
.summary-row.total { margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--navy-900); font-family: var(--heading); font-size: 1.05rem; font-weight: 850; }
.promo-row { display: flex; overflow: hidden; margin: 20px 0; border: 1px solid var(--line); border-radius: 11px; }
.promo-row input { min-width: 0; flex: 1; padding: 10px 12px; border: 0; outline: 0; }
.promo-row button { padding-inline: 15px; border: 0; background: var(--blue-100); color: var(--navy); font-weight: 800; }
.empty-state { padding: 65px 25px; border: 1px dashed #b5bfce; border-radius: var(--radius-md); text-align: center; }
.empty-state .icon-wrap { display: grid; width: 70px; height: 70px; place-items: center; margin: 0 auto 20px; border-radius: 50%; background: var(--blue-100); color: var(--navy); }
.dashboard-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 28px; }
.dashboard-nav { align-self: start; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.dashboard-user { padding: 22px; background: var(--navy-900); color: var(--white); }
.dashboard-user strong { display: block; font-family: var(--heading); }
.dashboard-user small { color: rgba(255,255,255,.65); }
.dashboard-nav nav { display: grid; padding: 9px; }
.dashboard-nav nav a { padding: 11px 12px; border-radius: 9px; color: var(--muted); font-size: .85rem; }
.dashboard-nav nav a:hover, .dashboard-nav nav a.active { background: var(--blue-50); color: var(--navy); font-weight: 750; }
.dashboard-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; margin-bottom: 24px; }
.dashboard-card { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.dashboard-card .icon-wrap { display: grid; width: 43px; height: 43px; place-items: center; margin-bottom: 17px; border-radius: 13px; background: var(--gold-100); color: var(--navy); }
.dashboard-card strong { display: block; color: var(--navy-900); font-family: var(--heading); font-size: 1.6rem; }
.dashboard-card span { color: var(--muted); font-size: .8rem; }
.order-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.order-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.order-table th, .order-table td { padding: 14px 17px; border-bottom: 1px solid var(--line); text-align: left; font-size: .82rem; }
.order-table th { color: var(--muted); font-size: .71rem; letter-spacing: .05em; text-transform: uppercase; }
.status { display: inline-flex; padding: 5px 9px; border-radius: 99px; font-size: .68rem; font-weight: 750; }
.status.pending { background: #fff3cf; color: #8a5d00; }
.status.progress { background: #e7efff; color: var(--navy); }
.status.complete { background: #e7f7ee; color: var(--success); }

/* Tracking */
.track-card { max-width: 800px; margin: -40px auto 0; position: relative; z-index: 2; padding: 30px; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-lg); }
.track-form { display: flex; gap: 10px; }
.track-form input { min-width: 0; flex: 1; min-height: 50px; padding: 11px 14px; border: 1px solid var(--line); border-radius: var(--radius-pill); outline: 0; }
.tracking-result { margin-top: 28px; }
.tracking-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 25px; padding: 17px; border-radius: 13px; background: var(--surface); }
.timeline { position: relative; display: grid; gap: 0; padding-left: 36px; }
.timeline::before { position: absolute; top: 15px; bottom: 15px; left: 13px; width: 2px; background: var(--line); content: ""; }
.timeline-item { position: relative; min-height: 86px; padding-bottom: 17px; }
.timeline-item::before { position: absolute; top: 4px; left: -30px; z-index: 1; width: 16px; height: 16px; border: 3px solid var(--white); border-radius: 50%; background: #b7c0ce; box-shadow: 0 0 0 2px #b7c0ce; content: ""; }
.timeline-item.complete::before { background: var(--success); box-shadow: 0 0 0 2px var(--success); }
.timeline-item.current::before { background: var(--gold); box-shadow: 0 0 0 4px rgba(244,180,0,.25); }
.timeline-item h3 { margin-bottom: 4px; font-size: .92rem; }
.timeline-item p { margin-bottom: 2px; color: var(--muted); font-size: .8rem; }

/* Contact and policy */
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 35px; }
.contact-card { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.contact-card .icon-wrap { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 17px; border-radius: 14px; background: var(--blue-100); color: var(--navy); }
.contact-card h3 { margin-bottom: 8px; }
.contact-card p { color: var(--muted); font-size: .85rem; }
.contact-card a { color: var(--navy); font-weight: 750; }
.office-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.office-card { display: grid; grid-template-columns: 170px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.office-card img { width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.office-card div { padding: 24px; }
.office-card p { color: var(--muted); font-size: .86rem; }
.policy-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 34px; }
.policy-nav { position: sticky; top: 150px; align-self: start; display: grid; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.policy-nav a { padding: 10px 11px; border-radius: 8px; color: var(--muted); font-size: .83rem; }
.policy-nav a:hover { background: var(--surface); color: var(--navy); }
.policy-content { display: grid; gap: 24px; }
.policy-section { scroll-margin-top: 155px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.policy-section h2 { font-size: 1.5rem; }
.policy-section p, .policy-section li { color: var(--muted); font-size: .9rem; }

/* Footer */
.newsletter-section { padding-block: 55px; background: var(--navy); color: var(--white); }
.newsletter-inner { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.newsletter-inner h2 { margin-bottom: 8px; color: var(--white); font-size: clamp(1.5rem, 2.7vw, 2.35rem); }
.newsletter-inner p { margin: 0; color: rgba(255,255,255,.68); }
.newsletter-form { display: flex; width: min(100%, 490px); flex: 0 0 auto; overflow: hidden; padding: 5px; border: 1px solid rgba(255,255,255,.22); border-radius: var(--radius-pill); background: rgba(255,255,255,.1); }
.newsletter-form input { min-width: 0; flex: 1; padding: 10px 15px; border: 0; outline: 0; background: transparent; color: var(--white); }
.newsletter-form input::placeholder { color: rgba(255,255,255,.55); }
.site-footer { padding-top: 66px; color: rgba(255,255,255,.68); background: #061936; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 35px; }
.footer-grid h3 { margin-bottom: 18px; color: var(--white); font-size: .94rem; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-grid a { font-size: .82rem; }
.footer-grid a:hover { color: var(--gold); }
.footer-brand img { width: 235px; margin-bottom: 19px; }
.footer-brand p { max-width: 350px; font-size: .84rem; }
.footer-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.footer-badges span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-pill); font-size: .7rem; }
.footer-contact a, .footer-contact p { display: flex; align-items: flex-start; gap: 8px; margin: 0; }
.footer-locations { display: flex; gap: 35px; margin-top: 42px; padding-block: 21px; border-top: 1px solid rgba(255,255,255,.09); border-bottom: 1px solid rgba(255,255,255,.09); }
.footer-locations p { margin: 0; font-size: .75rem; }
.footer-locations strong { color: rgba(255,255,255,.9); }
.footer-bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; padding-block: 23px; font-size: .72rem; }
.footer-bottom p { margin: 0; }
.footer-bottom div { display: flex; gap: 16px; }
.footer-bottom .demo-note { justify-self: end; color: rgba(255,255,255,.45); text-align: right; }
.whatsapp-float { position: fixed; right: 23px; bottom: 23px; z-index: 90; display: flex; min-height: 52px; align-items: center; gap: 9px; padding: 12px 17px; border: 2px solid var(--white); border-radius: var(--radius-pill); background: #1f9d55; color: var(--white); box-shadow: var(--shadow-lg); font-family: var(--heading); font-size: .82rem; font-weight: 750; transition: transform var(--transition); }
.whatsapp-float:hover { transform: translateY(-3px); }
.cookie-banner { position: fixed; right: 20px; bottom: 91px; left: 20px; z-index: 300; display: flex; max-width: 980px; align-items: center; justify-content: space-between; gap: 25px; margin-inline: auto; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-lg); }
.cookie-banner strong { color: var(--navy-900); font-family: var(--heading); }
.cookie-banner p { margin: 4px 0 0; color: var(--muted); font-size: .78rem; }
.cookie-banner > div:last-child { display: flex; flex: 0 0 auto; gap: 8px; }
.toast { position: fixed; right: 25px; bottom: 92px; z-index: 400; max-width: min(420px, calc(100% - 40px)); padding: 14px 18px; border-left: 4px solid var(--gold); border-radius: 10px; background: var(--navy-900); color: var(--white); box-shadow: var(--shadow-lg); font-size: .85rem; opacity: 0; transform: translateY(12px); transition: opacity var(--transition), transform var(--transition); }
.toast.show { opacity: 1; transform: translateY(0); }

/* Error page */
.error-page { display: grid; min-height: 70vh; place-items: center; padding: 60px 20px; text-align: center; }
.error-code { color: var(--gold); font-family: var(--heading); font-size: clamp(5rem, 16vw, 10rem); font-weight: 900; line-height: .9; }
.error-page p { max-width: 570px; color: var(--muted); }

/* Responsive */
@media (max-width: 1120px) {
  .header-main { grid-template-columns: 200px minmax(260px, 1fr) auto; gap: 18px; }
  .brand img { width: 195px; }
  .desktop-action { display: none; }
  .header-nav { gap: 18px; }
  .product-grid { grid-template-columns: repeat(3, 1fr); }
  .shop-main .product-grid { grid-template-columns: repeat(2, 1fr); }
  .category-grid { grid-template-columns: repeat(3, 1fr); }
  .segment-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr repeat(2, 1fr); }
  .footer-grid > div:nth-child(4), .footer-grid > div:nth-child(5) { margin-top: 10px; }
  .service-grid, .testimonial-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid, .value-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .desktop-only { display: none; }
  .announcement-links a:first-child { display: none; }
  .site-header { top: 0; }
  .header-main { min-height: 72px; grid-template-columns: auto 1fr auto; gap: 12px; }
  .mobile-menu-button { display: inline-grid; }
  .brand { justify-self: center; }
  .brand img { width: 185px; }
  .header-search, .header-nav-wrap { display: none; }
  .header-actions { gap: 7px; }
  .desktop-action-text { display: none; }
  .hero-inner { min-height: 590px; grid-template-columns: 1fr; padding-block: 70px; }
  .hero { min-height: 590px; }
  .hero::before { background: linear-gradient(90deg, rgba(7,31,76,.96), rgba(7,31,76,.76)), url("../images/storefront-hero-clean.webp") center center/cover no-repeat; }
  .hero-card { display: none; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .solution-banner { grid-template-columns: 1fr; }
  .solution-visual { min-height: 330px; }
  .about-split { grid-template-columns: 1fr; gap: 40px; }
  .about-media-badge { right: 18px; }
  .cta-band { align-items: flex-start; flex-direction: column; }
  .shop-layout { grid-template-columns: 1fr; }
  .shop-sidebar { display: none; }
  .shop-sidebar.open { position: fixed; inset: 0 auto 0 0; z-index: 250; display: block; width: min(85vw, 330px); overflow-y: auto; border-radius: 0; }
  .filter-mobile-button { display: inline-flex; }
  .product-detail { grid-template-columns: 1fr; gap: 34px; }
  .product-gallery-main { position: static; min-height: 410px; }
  .product-perks { grid-template-columns: 1fr; }
  .form-layout, .calculator-layout, .cart-layout { grid-template-columns: 1fr; }
  .form-aside, .calculator-results, .order-summary { position: static; }
  .project-grid, .content-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .office-card { grid-template-columns: 140px 1fr; }
  .dashboard-layout { grid-template-columns: 1fr; }
  .dashboard-nav nav { grid-template-columns: repeat(3, 1fr); }
  .newsletter-inner { align-items: flex-start; flex-direction: column; }
  .newsletter-form { width: 100%; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { grid-template-columns: 1fr; }
  .footer-bottom .demo-note { justify-self: start; text-align: left; }
  .footer-locations { flex-direction: column; gap: 9px; }
  .policy-layout { grid-template-columns: 1fr; }
  .policy-nav { position: static; grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
  body { font-size: 15px; }
  .container, .narrow { width: min(calc(100% - 26px), var(--container)); }
  .section { padding-block: 60px; }
  .section-sm { padding-block: 42px; }
  .announcement-inner { min-height: 39px; justify-content: center; text-align: center; }
  .announcement-links { display: none; }
  .header-main { min-height: 66px; }
  .brand img { width: 158px; }
  .header-action .icon { width: 22px; height: 22px; }
  .hero-inner { min-height: 590px; padding-block: 55px; }
  .hero-copy h1 { font-size: 2.55rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-meta { display: grid; gap: 10px; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-item { min-height: 78px; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-item:last-child { border-bottom: 0; }
  .section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 25px; }
  .category-grid, .product-grid, .shop-main .product-grid, .service-grid, .testimonial-grid, .segment-grid, .project-grid, .content-grid-2, .content-grid-3, .process-grid, .value-grid, .stat-grid { grid-template-columns: 1fr; }
  .shop-main .product-grid.list-view .product-card { display: flex; }
  .shop-main .product-grid.list-view .product-media { min-height: 0; aspect-ratio: 1.25; }
  .category-card { display: grid; min-height: 150px; grid-template-columns: 120px 1fr; align-items: center; gap: 15px; }
  .category-card img { height: 105px; margin: 0; }
  .category-card p { display: none; }
  .product-card { display: grid; grid-template-columns: 125px minmax(0, 1fr); }
  .product-media { height: 100%; min-height: 230px; aspect-ratio: auto; padding: 10px; }
  .product-badge { font-size: .55rem; }
  .wishlist-button { width: 34px; height: 34px; }
  .product-body { padding: 14px; }
  .product-body h3 { min-height: auto; font-size: .9rem; }
  .product-rating { margin-bottom: 8px; }
  .product-price { font-size: 1rem; }
  .product-actions { grid-template-columns: 1fr; }
  .solution-copy { padding: 35px 25px; }
  .solution-list { grid-template-columns: 1fr; }
  .solution-visual { min-height: 260px; }
  .about-media img { min-height: 380px; }
  .cta-band { padding: 30px 24px; }
  .page-hero { padding-block: 55px; }
  .shop-toolbar { align-items: flex-start; flex-direction: column; }
  .shop-toolbar-actions { width: 100%; justify-content: space-between; }
  .shop-toolbar select { max-width: 190px; }
  .product-detail { gap: 25px; }
  .product-gallery-main { min-height: 310px; padding: 20px; }
  .product-info h1 { font-size: 2rem; }
  .purchase-row { align-items: stretch; flex-direction: column; }
  .purchase-row .button { width: 100%; }
  .quantity-control { align-self: flex-start; }
  .tab-nav { overflow-x: auto; }
  .tab-nav button { white-space: nowrap; }
  .form-card, .calculator-card { padding: 22px 18px; }
  .form-grid, .choice-grid { grid-template-columns: 1fr; }
  .appliance-table { display: block; overflow-x: auto; white-space: nowrap; }
  .result-summary { grid-template-columns: 1fr; }
  .cart-item { grid-template-columns: 85px 1fr; align-items: start; gap: 13px; }
  .cart-item img { width: 85px; height: 80px; }
  .cart-item-total { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; text-align: left; }
  .dashboard-nav nav { grid-template-columns: 1fr 1fr; }
  .dashboard-cards { grid-template-columns: 1fr; }
  .track-card { padding: 22px 17px; }
  .track-form { flex-direction: column; }
  .tracking-summary { align-items: flex-start; flex-direction: column; }
  .office-grid { grid-template-columns: 1fr; }
  .office-card { grid-template-columns: 1fr; }
  .office-card img { height: 200px; min-height: 0; }
  .policy-nav { grid-template-columns: 1fr 1fr; }
  .newsletter-section { padding-block: 42px; }
  .newsletter-form { align-items: stretch; flex-direction: column; overflow: visible; border: 0; background: transparent; }
  .newsletter-form input { min-height: 49px; border: 1px solid rgba(255,255,255,.22); border-radius: var(--radius-pill); background: rgba(255,255,255,.1); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-contact { grid-column: 1 / -1; }
  .whatsapp-float { right: 14px; bottom: 14px; width: 52px; height: 52px; justify-content: center; padding: 0; }
  .whatsapp-float span { display: none; }
  .cookie-banner { right: 12px; bottom: 77px; left: 12px; align-items: stretch; flex-direction: column; }
  .cookie-banner > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .toast { right: 14px; bottom: 80px; }
}

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

/* Phase 2 offline review workspace */
.review-bar {
  position: relative;
  z-index: 310;
  color: #fff;
  background: #061936;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.review-bar-inner {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-block: 7px;
}
.review-status,
.review-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}
.review-status { font-size: .79rem; }
.review-status strong { color: var(--gold); }
.review-status > span:last-child { color: rgba(255,255,255,.66); }
.review-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #49d17d;
  box-shadow: 0 0 0 5px rgba(73,209,125,.13);
}
.review-controls { font-size: .74rem; }
.review-controls label { color: rgba(255,255,255,.68); }
.review-controls select,
.review-controls a,
.review-controls button {
  min-height: 30px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 8px;
  color: #fff;
  background: rgba(255,255,255,.08);
  font-size: .72rem;
  font-weight: 700;
}
.review-controls select { max-width: 230px; padding: 4px 28px 4px 9px; }
.review-controls select option { color: var(--ink); background: #fff; }
.review-controls a,
.review-controls button { display: inline-flex; align-items: center; padding: 4px 9px; }
.review-controls a:hover,
.review-controls button:hover { color: var(--navy-900); background: var(--gold); border-color: var(--gold); }
.mobile-review-persona {
  display: grid;
  gap: 4px;
  margin: 15px 0;
  padding: 14px;
  border-radius: 12px;
  color: #fff;
  background: var(--navy-900);
}
.mobile-review-persona span { color: var(--gold); font-weight: 800; }
.mobile-review-persona a { font-size: .78rem; text-decoration: underline; }

.review-hero {
  padding-block: 66px;
  color: #fff;
  background:
    radial-gradient(circle at 80% 20%, rgba(244,180,0,.2), transparent 28%),
    linear-gradient(135deg, var(--navy-900), #0c3479);
}
.review-hero h1 { max-width: 900px; margin-bottom: 18px; color: #fff; font-size: clamp(2.25rem, 4.8vw, 4.2rem); }
.review-hero p { max-width: 780px; color: rgba(255,255,255,.78); font-size: 1.08rem; }
.review-hero .eyebrow { color: var(--gold); }
.review-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.review-card {
  min-height: 210px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.review-card .step-number {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 12px;
  color: var(--navy-900);
  background: var(--gold-100);
  font-weight: 900;
}
.review-card h3 { margin-bottom: 10px; }
.review-card p { color: var(--muted); font-size: .92rem; }
.review-card .button { margin-top: auto; }
.review-card { display: flex; flex-direction: column; align-items: flex-start; }
.review-checklist { display: grid; gap: 10px; padding: 0; list-style: none; }
.review-checklist li { display: flex; gap: 10px; color: var(--muted); }
.review-checklist li::before { content: "✓"; color: var(--success); font-weight: 900; }
.review-callout {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 28px;
  align-items: center;
  padding: 34px;
  border-radius: var(--radius-lg);
  color: #fff;
  background: var(--navy-900);
}
.review-callout h2 { color: #fff; }
.review-callout p { color: rgba(255,255,255,.72); }
.review-callout code { display: block; padding: 15px; border-radius: 12px; color: var(--gold); background: rgba(0,0,0,.25); overflow-wrap: anywhere; }
.persona-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.persona-card {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  text-align: left;
}
.persona-card:hover,
.persona-card.active { border-color: var(--navy); box-shadow: var(--shadow-sm); }
.persona-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: var(--navy); background: var(--gold-100); font-weight: 900; }
.persona-card strong { display: block; color: var(--navy-900); }
.persona-card small { display: block; color: var(--muted); }

/* Phase 2 operations workspace */
.ops-page { background: #f3f6fb; }
.ops-header {
  padding: 28px 0;
  color: #fff;
  background: var(--navy-900);
}
.ops-header-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.ops-header h1 { margin-bottom: 6px; color: #fff; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.ops-header p { margin: 0; color: rgba(255,255,255,.68); }
.ops-header-actions { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.ops-shell {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 24px;
  padding-block: 28px 70px;
}
.ops-sidebar {
  position: sticky;
  top: 18px;
  align-self: start;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.ops-user { padding: 20px; border-bottom: 1px solid var(--line); }
.ops-user small { display: block; color: var(--muted); }
.ops-user strong { display: block; color: var(--navy-900); }
.ops-nav { display: grid; padding: 9px; }
.ops-nav button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 11px 12px;
  border: 0;
  border-radius: 10px;
  color: var(--ink);
  background: transparent;
  text-align: left;
  font-size: .9rem;
  font-weight: 700;
}
.ops-nav button:hover,
.ops-nav button.active { color: var(--navy); background: var(--blue-50); }
.ops-nav button .count { min-width: 24px; padding: 2px 7px; border-radius: 999px; color: var(--navy); background: var(--gold-100); font-size: .68rem; text-align: center; }
.ops-sidebar-note { padding: 16px 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem; }
.ops-main { min-width: 0; }
.ops-section[hidden] { display: none !important; }
.ops-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.ops-section-head h2 { margin-bottom: 4px; font-size: 1.8rem; }
.ops-section-head p { margin: 0; color: var(--muted); }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 22px; }
.metric-card { padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.metric-card small { display: block; color: var(--muted); font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.metric-card strong { display: block; margin: 6px 0 1px; color: var(--navy-900); font-family: var(--heading); font-size: 1.75rem; }
.metric-card span { color: var(--muted); font-size: .78rem; }
.ops-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ops-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: var(--shadow-sm); }
.ops-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 19px; border-bottom: 1px solid var(--line); }
.ops-panel-head h3 { margin: 0; font-size: 1.05rem; }
.ops-panel-body { padding: 18px; }
.ops-list { display: grid; gap: 11px; }
.ops-list-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.ops-list-item:last-child { border-bottom: 0; }
.ops-list-item strong { display: block; color: var(--navy-900); font-size: .88rem; }
.ops-list-item small { display: block; color: var(--muted); }
.ops-toolbar { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-bottom: 14px; }
.ops-toolbar input,
.ops-toolbar select { min-height: 42px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.ops-toolbar input { min-width: min(100%, 280px); flex: 1; }
.ops-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.ops-table { width: 100%; border-collapse: collapse; min-width: 820px; }
.ops-table th,
.ops-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; font-size: .82rem; }
.ops-table th { color: var(--navy-900); background: var(--blue-50); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.ops-table tbody tr:last-child td { border-bottom: 0; }
.ops-table strong { color: var(--navy-900); }
.ops-table small { display: block; color: var(--muted); }
.ops-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.ops-button {
  min-height: 32px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--navy);
  background: #fff;
  font-size: .71rem;
  font-weight: 800;
}
.ops-button:hover:not(:disabled) { border-color: var(--navy); background: var(--blue-50); }
.ops-button.primary { color: #fff; background: var(--navy); border-color: var(--navy); }
.ops-button.gold { color: var(--navy-900); background: var(--gold); border-color: var(--gold); }
.ops-button.danger { color: var(--danger); }
.ops-button:disabled { cursor: not-allowed; opacity: .46; }
.role-notice { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px; padding: 14px 16px; border: 1px solid #bfd3f5; border-radius: 13px; color: var(--navy-900); background: #edf4ff; }
.role-notice.warning { border-color: #efd696; background: #fff8e5; }
.role-notice strong { display: block; }
.role-notice p { margin: 2px 0 0; color: var(--muted); font-size: .83rem; }
.status-chip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; color: var(--navy); background: var(--blue-100); font-size: .7rem; font-weight: 800; white-space: nowrap; }
.status-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-chip.success { color: var(--success); background: #eaf8f0; }
.status-chip.pending { color: var(--warning); background: #fff5d7; }
.status-chip.danger { color: var(--danger); background: #fff0ef; }
.refund-steps { display: flex; gap: 6px; align-items: center; min-width: 230px; }
.refund-step { flex: 1; height: 6px; border-radius: 999px; background: var(--line); }
.refund-step.complete { background: var(--success); }
.refund-step.current { background: var(--gold); }
.audit-row { display: grid; grid-template-columns: 145px 160px minmax(0,1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: .79rem; }
.audit-row:last-child { border-bottom: 0; }
.audit-row time,
.audit-row small { color: var(--muted); }
.integration-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.integration-card { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.integration-card h3 { margin-bottom: 5px; font-size: 1rem; }
.integration-card p { margin: 8px 0 0; color: var(--muted); font-size: .82rem; }
.permission-denied { padding: 28px; border: 1px dashed #e0b7b4; border-radius: 16px; background: #fff7f6; text-align: center; }
.permission-denied h3 { color: var(--danger); }

.account-welcome { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding: 21px; border-radius: 17px; color: #fff; background: linear-gradient(135deg, var(--navy-900), var(--navy)); }
.account-welcome h2 { margin: 0 0 4px; color: #fff; font-size: 1.55rem; }
.account-welcome p { margin: 0; color: rgba(255,255,255,.72); }
.account-section { margin-top: 24px; }
.account-activity { display: grid; gap: 12px; }
.account-activity article { display: grid; grid-template-columns: 1fr auto; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.account-activity h3 { margin: 0 0 4px; font-size: .98rem; }
.account-activity p { margin: 0; color: var(--muted); font-size: .83rem; }

@media (max-width: 1000px) {
  .review-bar-inner { align-items: flex-start; flex-direction: column; gap: 7px; }
  .review-controls { width: 100%; flex-wrap: wrap; }
  .review-grid, .persona-grid { grid-template-columns: repeat(2, 1fr); }
  .review-callout { grid-template-columns: 1fr; }
  .ops-shell { grid-template-columns: 1fr; }
  .ops-sidebar { position: static; }
  .ops-nav { grid-template-columns: repeat(4, 1fr); }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
  .review-status > span:last-child,
  .review-controls label,
  .review-controls select { display: none; }
  .review-bar-inner { min-height: 43px; align-items: center; flex-direction: row; }
  .review-controls { width: auto; margin-left: auto; }
  .review-controls a { display: none; }
  .review-controls a:first-of-type { display: inline-flex; }
  .review-grid, .persona-grid, .ops-grid, .integration-grid { grid-template-columns: 1fr; }
  .ops-header-inner, .ops-section-head, .account-welcome { align-items: flex-start; flex-direction: column; }
  .ops-header-actions { justify-content: flex-start; }
  .ops-nav { grid-template-columns: 1fr 1fr; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .metric-card { padding: 15px; }
  .metric-card strong { font-size: 1.45rem; }
  .audit-row { grid-template-columns: 1fr; gap: 2px; }
}

/* Phase 2 offline review and administration */
.review-bar{background:#6e3900;color:#fff;font-size:.78rem}.review-bar-inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:18px}.review-status,.review-controls{display:flex;align-items:center;gap:9px}.review-status>span:last-child{color:rgba(255,255,255,.7)}.review-dot{width:9px;height:9px;border-radius:50%;background:#ffc62b;box-shadow:0 0 0 4px rgba(255,198,43,.17)}.review-controls label{font-weight:800}.review-controls select{max-width:250px;padding:6px 9px;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;background:#4f2900}.review-controls a,.review-controls button{padding:5px 8px;border:0;border-radius:7px;color:#fff;background:rgba(255,255,255,.1);font-weight:800}.review-controls a:hover,.review-controls button:hover{background:rgba(255,255,255,.18)}.mobile-review-persona{display:grid;gap:4px;margin:14px 0;padding:13px;border-radius:12px;background:#f3f6fb}.mobile-review-persona span{color:#0b2e6d;font-weight:800}.mobile-review-persona a{color:#1a5ca8;font-size:.8rem;font-weight:800}
.review-hero{padding:78px 0;color:#fff;background:linear-gradient(120deg,#071c41,#0b2e6d 58%,#174f96)}.review-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:48px;align-items:center}.review-hero h1{max-width:850px;color:#fff;font-size:clamp(2.5rem,5.6vw,5rem)}.review-hero p{max-width:780px;margin:20px 0 0;color:rgba(255,255,255,.78);font-size:1.1rem}.review-hero aside{padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.08);box-shadow:0 24px 50px rgba(0,0,0,.18)}.review-hero aside strong,.review-hero aside span{display:block}.review-hero aside strong{color:#ffc62b;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.review-hero aside span{margin:8px 0 16px;font:800 1.35rem var(--font-heading)}.review-hero aside ul{display:grid;gap:8px;margin:0;padding-left:20px;color:rgba(255,255,255,.78)}
.review-progress-card{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center;padding:24px;border:1px solid var(--gray-200);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.review-progress-card span,.review-progress-card strong{display:block}.review-progress-card>div:first-child span{color:var(--gray-600);font-size:.8rem;font-weight:800;text-transform:uppercase}.review-progress-card strong{color:var(--navy-900);font:900 2rem var(--font-heading)}.review-progress-track{grid-column:1/-1;height:12px;overflow:hidden;border-radius:999px;background:var(--gray-200)}.review-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--navy-900),var(--gold-500));transition:width .25s ease}.review-progress-card p{grid-column:1/-1;margin:0;color:var(--gray-600)}.review-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:18px}.review-summary-grid article{padding:20px;border:1px solid var(--gray-200);border-radius:16px;background:#fff}.review-summary-grid span,.review-summary-grid strong,.review-summary-grid small{display:block}.review-summary-grid span{color:var(--gray-600);font-size:.78rem;font-weight:800;text-transform:uppercase}.review-summary-grid strong{margin:7px 0;color:var(--navy-900);font:900 1.8rem var(--font-heading)}.review-summary-grid small{color:var(--gray-600)}
.review-route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.review-route-grid a{display:block;padding:22px;border:1px solid var(--gray-200);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);transition:.18s ease}.review-route-grid a:hover{transform:translateY(-4px);border-color:rgba(11,46,109,.28);box-shadow:var(--shadow-md)}.review-route-grid>a>span{color:var(--gold-500);font:900 1.35rem var(--font-heading)}.review-route-grid h3{margin-top:13px;font-size:1.04rem}.review-route-grid p{margin:8px 0 0;color:var(--gray-600);font-size:.86rem}.review-workspace-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:32px;align-items:start}.review-checklist{display:grid;gap:10px}.review-check-item{display:block;cursor:pointer}.review-check-item input{position:absolute;opacity:0;pointer-events:none}.review-check-item span{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:12px;padding:14px;border:1px solid var(--gray-200);border-radius:13px;background:#fff;transition:.18s ease}.review-check-item strong{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:var(--navy-900);background:var(--gray-100)}.review-check-item input:checked+span{border-color:#8ac99a;background:#edf9f0}.review-check-item input:checked+span strong{color:#fff;background:#2f9146}.review-instructions{padding:26px;border-radius:20px;color:#fff;background:var(--navy-950)}.review-instructions h3{color:#fff}.review-instructions ol{display:grid;gap:10px;padding-left:22px;color:rgba(255,255,255,.76)}.review-instructions .notice{margin-top:20px;color:var(--gray-950);background:#fff4d6}.review-feedback-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:24px}.feedback-list{display:grid;align-content:start;gap:12px}.feedback-entry{padding:18px;border:1px solid var(--gray-200);border-radius:15px;background:#fff}.feedback-entry>div{display:flex;justify-content:space-between;gap:12px}.feedback-entry p{margin:10px 0;color:var(--gray-700)}.feedback-entry small{color:var(--gray-600)}.review-pill{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;color:#174f96;background:#e7f0ff;font-size:.7rem;font-weight:900}.empty-state{padding:26px;border:1px dashed var(--gray-300);border-radius:15px;color:var(--gray-600);background:#fff;text-align:center}
.offline-admin-page{background:#eef2f8}.admin-page-heading{padding:54px 0;color:#fff;background:var(--navy-950)}.admin-page-heading>.container{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px}.admin-page-heading .breadcrumbs{grid-column:1/-1}.admin-page-heading h1{color:#fff;font-size:clamp(2.3rem,4.6vw,4rem)}.admin-page-heading p{max-width:760px;color:rgba(255,255,255,.72)}.admin-persona-card{padding:22px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.08)}.admin-persona-card small,.admin-persona-card strong{display:block}.admin-persona-card small{color:var(--gold-400);font-weight:800;text-transform:uppercase}.admin-persona-card strong{margin:7px 0;font-size:1.1rem}.admin-persona-card p{font-size:.82rem}.admin-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-metric-card{padding:21px;border:1px solid var(--gray-200);border-top:4px solid var(--navy-900);border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.admin-metric-card.tone-2{border-top-color:var(--gold-500)}.admin-metric-card.tone-3{border-top-color:#2f9146}.admin-metric-card.tone-4{border-top-color:#b42318}.admin-metric-card span,.admin-metric-card strong,.admin-metric-card small{display:block}.admin-metric-card span{color:var(--gray-600);font-size:.78rem;font-weight:800;text-transform:uppercase}.admin-metric-card strong{margin:8px 0;color:var(--navy-950);font:900 2.2rem var(--font-heading)}.admin-metric-card small{color:var(--gray-600)}.admin-panel{padding:24px;border:1px solid var(--gray-200);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.admin-panel-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-panel-heading h2{font-size:1.45rem}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.86rem}.admin-table th,.admin-table td{padding:13px 11px;border-bottom:1px solid var(--gray-200);text-align:left;white-space:nowrap}.admin-table th{color:var(--gray-600);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.admin-table tr:last-child td{border-bottom:0}.admin-status{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;font-size:.68rem;font-weight:900;text-transform:capitalize}.admin-status.success{color:#11612d;background:#e5f7eb}.admin-status.warning{color:#7a4800;background:#fff1c7}.admin-status.progress{color:#164c93;background:#e7f0ff}.admin-status.danger{color:#8b1d15;background:#fde9e7}.admin-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.pipeline-list{display:grid;gap:10px}.pipeline-row,.project-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px;border-radius:12px;background:var(--gray-50)}.pipeline-row strong,.pipeline-row span,.pipeline-row small,.project-row strong,.project-row span,.project-row small{display:block}.pipeline-row span,.project-row span{color:var(--gray-600);font-size:.8rem}.pipeline-row>div:last-child,.project-row>div:last-child{text-align:right}.pipeline-row small,.project-row small{margin-top:4px;color:var(--gray-600)}.refund-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.refund-head h2{font-size:1.55rem}.refund-head p{color:var(--gray-600)}.refund-facts,.refund-approvals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.refund-approvals{grid-template-columns:repeat(2,1fr)}.refund-facts>div,.refund-approvals article{padding:15px;border-radius:13px;background:var(--gray-50)}.refund-facts span,.refund-facts strong,.refund-approvals span,.refund-approvals strong,.refund-approvals small{display:block}.refund-facts span,.refund-approvals span{color:var(--gray-600);font-size:.74rem;text-transform:uppercase}.refund-approvals small{margin-top:4px;color:var(--gray-600)}.integration-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.integration-card{padding:19px;border:1px solid var(--gray-200);border-radius:16px;background:#fff}.integration-card-head{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:start}.integration-initial{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--navy-950);background:var(--gold-500);font-weight:900}.integration-card strong{display:block}.integration-card p{margin:3px 0;color:var(--gray-600);font-size:.8rem}.integration-card details{margin-top:14px;padding-top:12px;border-top:1px solid var(--gray-200)}.integration-card summary{cursor:pointer;color:var(--navy-900);font-weight:800}.integration-card code{display:block;margin-top:8px;padding:10px;white-space:pre-wrap;border-radius:9px;color:#dceaff;background:var(--navy-950);font-size:.72rem}.role-matrix{display:grid;gap:10px}.role-matrix article{padding:13px;border-radius:12px;background:var(--gray-50)}.role-matrix strong,.role-matrix span{display:block}.role-matrix span{color:var(--gray-600);font-size:.84rem}.audit-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.audit-timeline li{position:relative;display:grid;grid-template-columns:18px 1fr;gap:12px;padding-bottom:20px}.audit-timeline li:not(:last-child):after{content:"";position:absolute;top:13px;bottom:0;left:6px;width:2px;background:var(--gray-200)}.audit-node{position:relative;z-index:2;width:14px;height:14px;margin-top:4px;border:3px solid #fff;border-radius:50%;background:var(--navy-900);box-shadow:0 0 0 2px var(--navy-900)}.audit-timeline strong,.audit-timeline small{display:block}.audit-timeline small{color:var(--gray-600)}.audit-timeline p{margin:5px 0 0;color:var(--gray-700);font-size:.82rem}.button-text{border-color:transparent;color:var(--navy-900);background:transparent}.button-text:hover{background:var(--gray-100)}
@media(max-width:1050px){.review-controls label,.review-controls select{display:none}.review-route-grid{grid-template-columns:repeat(2,1fr)}.review-summary-grid,.admin-metric-grid{grid-template-columns:repeat(2,1fr)}.refund-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.review-bar-inner,.review-status,.review-controls{align-items:flex-start;flex-direction:column}.review-bar-inner{padding-block:8px}.review-controls{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.review-controls a,.review-controls button{text-align:center}.review-hero-grid,.review-workspace-grid,.review-feedback-grid,.admin-page-heading>.container,.admin-split-grid,.integration-grid{grid-template-columns:1fr}.review-hero{padding:54px 0}.admin-persona-card{max-width:none}.admin-page-heading .breadcrumbs{grid-column:auto}.admin-panel-heading,.refund-head{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.review-route-grid,.review-summary-grid,.admin-metric-grid,.refund-facts,.refund-approvals{grid-template-columns:1fr}.review-controls{grid-template-columns:1fr 1fr}.review-controls button{grid-column:1/-1}.admin-panel{padding:17px}.integration-card-head{grid-template-columns:42px 1fr}.integration-card-head .admin-status{grid-column:2}.review-feedback-grid .form-card{padding:18px}}


/* Phase 2.1 testimonial presentation */
.testimonial-demo-notice { margin: -8px 0 24px; border-color: rgba(244,180,0,.35); color: rgba(255,255,255,.88); background: rgba(244,180,0,.1); }
.testimonial-grid-four { grid-template-columns: repeat(4, 1fr); }
.testimonial-card { position: relative; overflow: hidden; }
.sample-testimonial-badge { position: absolute; top: 16px; right: 16px; padding: 5px 9px; border: 1px solid rgba(244,180,0,.42); border-radius: 999px; color: var(--gold); background: rgba(7,31,76,.72); font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.testimonial-person { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; padding-right: 58px; }
.testimonial-person img { width: 58px; height: 58px; flex: 0 0 58px; object-fit: cover; border: 2px solid rgba(244,180,0,.7); border-radius: 50%; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.testimonial-person strong { display: block; }
.testimonial-rating { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; }
.testimonial-rating .testimonial-stars { margin-bottom: 0; }
.testimonial-rating b { color: var(--white); font-size: .82rem; }
.testimonial-card blockquote { line-height: 1.7; }
@media (max-width: 1100px) { .testimonial-grid-four { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .testimonial-grid-four { grid-template-columns: 1fr; } .testimonial-card { padding: 24px; } }

/* Phase 2.2 contact-led header and polished mobile commerce experience */
.mobile-wip-ribbon,
.mobile-call-button,
.mobile-quick-nav { display: none; }
.header-office-link { display: inline-flex; min-width: 0; align-items: center; gap: 7px; color: rgba(255,255,255,.9); }
.header-office-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-office-link strong { color: var(--gold); }
.header-call-link { color: var(--gold) !important; font-weight: 800; }
.mobile-office-address { display: flex; align-items: flex-start; gap: 7px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.12); }
.mobile-office-address .icon { margin-top: 2px; color: var(--gold); }

@media (max-width: 900px) {
  body { padding-bottom: 72px; background: #f4f7fb; }
  .review-bar { display: none; }
  .mobile-wip-ribbon {
    display: flex; min-height: 31px; align-items: center; justify-content: center; gap: 8px;
    padding: 5px 14px; color: rgba(255,255,255,.82); background: #061936;
    font-size: .69rem; letter-spacing: .02em;
  }
  .mobile-wip-ribbon strong { color: var(--gold); }
  .mobile-wip-ribbon a { margin-left: 5px; padding: 2px 8px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #fff; }
  .mobile-wip-ribbon .review-dot { width: 7px; height: 7px; }
  .announcement-bar { background: linear-gradient(110deg, var(--navy-900), var(--navy)); }
  .announcement-inner { min-height: 48px; gap: 10px; }
  .header-office-link { max-width: calc(100% - 102px); font-size: .69rem; line-height: 1.25; }
  .header-office-link span { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .header-office-link strong { display: block; }
  .announcement-links { flex: 0 0 auto; }
  .announcement-links .header-track-link { display: none; }
  .announcement-links .header-call-link { display: inline-grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.1); }
  .header-call-link span { display: none; }
  .site-header { top: 0; margin: 0; background: rgba(255,255,255,.96); box-shadow: 0 10px 30px rgba(7,31,76,.1); }
  .header-main { min-height: 74px; }
  .mobile-menu-button { order: 3; width: 43px; height: 43px; color: #fff; background: var(--navy); box-shadow: 0 8px 20px rgba(11,46,109,.2); }
  .brand { order: 1; justify-self: start; }
  .brand img { width: min(48vw, 190px); }
  .header-actions { order: 2; margin-left: auto; }
  .mobile-call-button { display: inline-flex; min-height: 42px; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 999px; color: var(--navy); background: var(--gold); box-shadow: 0 8px 20px rgba(244,180,0,.24); font-family: var(--heading); font-size: .78rem; font-weight: 850; }
  .cart-action { display: none; }
  .hero { min-height: 690px; border-radius: 0 0 32px 32px; box-shadow: 0 24px 56px rgba(7,31,76,.22); }
  .hero::before { background: linear-gradient(180deg, rgba(7,31,76,.18) 0%, rgba(7,31,76,.62) 42%, rgba(7,31,76,.98) 100%), url("../images/storefront-hero-clean.webp") 50% 35%/cover no-repeat; }
  .hero::after { right: -170px; bottom: -250px; width: 480px; height: 480px; border-width: 64px; }
  .hero-inner { min-height: 690px; align-items: end; padding-top: 220px; padding-bottom: 54px; }
  .hero-copy { max-width: 590px; padding: 25px 0 0; }
  .hero-copy .eyebrow { margin-bottom: 12px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(7,31,76,.38); backdrop-filter: blur(10px); font-size: .68rem; letter-spacing: .09em; }
  .hero-copy h1 { margin-bottom: 18px; font-size: clamp(2.45rem, 9vw, 3.7rem); text-shadow: 0 3px 22px rgba(0,0,0,.35); }
  .hero-copy > p { margin-bottom: 24px; color: rgba(255,255,255,.9); font-size: .98rem; line-height: 1.7; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .hero-actions .button { min-height: 52px; width: 100%; padding-inline: 13px; font-size: .8rem; }
  .hero-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 22px; font-size: .72rem; }
  .hero-meta span { padding: 9px 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
  .hero-meta span:last-child { grid-column: 1 / -1; }
  .trust-strip { position: relative; z-index: 4; margin-top: -24px; }
  .trust-grid { grid-template-columns: 1fr 1fr; gap: 10px; overflow: visible; padding: 10px; border: 0; border-radius: 22px; background: transparent; box-shadow: none; }
  .trust-item { min-height: 96px; align-items: flex-start; padding: 14px; border: 1px solid var(--line) !important; border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
  .trust-icon { width: 39px; height: 39px; border-radius: 12px; }
  .trust-item strong { font-size: .8rem; line-height: 1.25; }
  .trust-item small { font-size: .7rem; }
  .section { padding-block: 62px; }
  .section-heading h2 { font-size: clamp(1.8rem, 8vw, 2.5rem); }
  .section-heading p { font-size: .94rem; }
  .category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .category-card { display: block; min-height: 205px; padding: 14px; border-radius: 19px; }
  .category-card img { width: 100%; height: 112px; margin: 0 0 12px; }
  .category-card h3 { font-size: .88rem; }
  .category-card p { display: block; font-size: .7rem; }
  .category-card .icon { right: 13px; bottom: 12px; }
  .product-grid, .shop-main .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .product-card { display: flex; min-width: 0; flex-direction: column; border-radius: 18px; }
  .product-media { min-height: 0; aspect-ratio: 1 / .9; padding: 9px; }
  .product-badge { top: 8px; left: 8px; max-width: calc(100% - 48px); overflow: hidden; padding: 4px 7px; font-size: .47rem; text-overflow: ellipsis; white-space: nowrap; }
  .wishlist-button { top: 7px; right: 7px; width: 30px; height: 30px; }
  .product-body { padding: 12px; }
  .product-category { font-size: .58rem; }
  .product-body h3 { min-height: 43px; margin-bottom: 7px; font-size: .78rem; line-height: 1.35; }
  .product-rating { margin-bottom: 7px; font-size: .62rem; }
  .product-price { margin-bottom: 10px; font-size: .9rem; }
  .product-price small { font-size: .5rem; }
  .product-actions { grid-template-columns: 1fr; }
  .product-actions .button { min-height: 40px; padding: 8px 9px; font-size: .66rem; }
  .service-grid { grid-template-columns: 1fr; gap: 13px; }
  .service-card { min-height: 0; padding: 22px; border-radius: 20px; }
  .service-icon { width: 48px; height: 48px; margin-bottom: 14px; }
  .solution-banner { border-radius: 24px; }
  .solution-copy { padding: 34px 23px; }
  .solution-visual { min-height: 290px; background: linear-gradient(0deg, rgba(7,31,76,.62), rgba(7,31,76,.05)), url("../images/storefront-portrait.webp") 50% 42%/cover no-repeat; }
  .segment-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .segment-card { min-height: 178px; padding: 20px 16px; }
  .segment-card h3 { font-size: .95rem; }
  .segment-card p { font-size: .75rem; }
  .about-split { gap: 28px; }
  .about-media img { min-height: 320px; border-radius: 22px; object-position: 50% 40%; }
  .testimonial-grid-four { display: flex; grid-template-columns: none; gap: 14px; overflow-x: auto; margin-inline: -13px; padding: 0 13px 14px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .testimonial-grid-four::-webkit-scrollbar { display: none; }
  .testimonial-grid-four .testimonial-card { flex: 0 0 86%; min-height: 360px; scroll-snap-align: center; border-radius: 22px; box-shadow: 0 18px 36px rgba(0,0,0,.16); }
  .testimonial-demo-notice { margin-bottom: 18px; }
  .cta-band { border-radius: 23px; }
  .site-footer { padding-bottom: 75px; }
  .whatsapp-float { bottom: 84px; }
  .mobile-quick-nav {
    position: fixed; z-index: 190; right: 10px; bottom: 9px; left: 10px;
    display: grid; grid-template-columns: repeat(5,1fr); min-height: 62px; padding: 7px;
    border: 1px solid rgba(255,255,255,.75); border-radius: 20px;
    background: rgba(255,255,255,.94); box-shadow: 0 18px 44px rgba(7,31,76,.2); backdrop-filter: blur(18px);
  }
  .mobile-quick-nav a { display: grid; min-width: 0; place-items: center; gap: 1px; border-radius: 14px; color: var(--muted); font-size: .61rem; font-weight: 750; }
  .mobile-quick-nav a.active { color: var(--navy); background: var(--gold-100); }
  .mobile-quick-nav .icon { width: 19px; height: 19px; }
  .mobile-quick-nav a { position: relative; }
  .mobile-cart-count { position: absolute; top: 2px; left: calc(50% + 7px); display: grid; min-width: 17px; height: 17px; place-items: center; padding: 0 4px; border-radius: 999px; color: #fff; background: var(--navy); font-size: .58rem; line-height: 1; }
  .mobile-cart-count[hidden] { display: none; }
}

@media (max-width: 390px) {
  .container, .narrow { width: min(calc(100% - 20px), var(--container)); }
  .brand img { width: 145px; }
  .mobile-call-button { padding-inline: 10px; }
  .mobile-call-button span { display: none; }
  .hero-copy h1 { font-size: 2.25rem; }
  .hero-actions { grid-template-columns: 1fr; }
  .hero-meta { grid-template-columns: 1fr; }
  .hero-meta span:last-child { grid-column: auto; }
  .category-card { min-height: 190px; }
  .testimonial-grid-four .testimonial-card { flex-basis: 92%; }
}



/* Phase 2.3 catalogue and supplied-media layouts */
.product-card-summary {
  display: -webkit-box;
  min-height: 58px;
  overflow: hidden;
  margin: 0 0 13px;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.product-card-meta {
  display: flex;
  min-height: 20px;
  align-items: flex-start;
  gap: 6px;
  margin: -5px 0 14px;
  color: var(--success);
  font-size: .7rem;
  line-height: 1.35;
}
.product-card-meta .icon { flex: 0 0 auto; margin-top: 1px; }
.service-story-list { display: grid; gap: 34px; }
.service-story {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-md);
}
.service-story.reverse { grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); }
.service-story.reverse .service-story-media { order: 2; }
.service-story-media { display: grid; min-height: 390px; background: var(--navy-900); }
.service-story-media figure { position: relative; display: grid; min-height: 260px; margin: 0; overflow: hidden; place-items: center; background: #071f4c; }
.service-story-media figure + figure { border-top: 1px solid rgba(255,255,255,.16); }
.service-story-media img,
.service-story-media video { width: 100%; height: 100%; min-height: 260px; max-height: 520px; object-fit: cover; }
.service-story-media figcaption {
  position: absolute; right: 14px; bottom: 14px; left: 14px;
  padding: 10px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px;
  color: #fff; background: rgba(7,31,76,.78); backdrop-filter: blur(10px); font-size: .72rem;
}
.service-story-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(30px, 5vw, 58px); }
.service-story-copy h2 { margin-bottom: 16px; font-size: clamp(1.7rem, 3.2vw, 2.55rem); }
.service-story-copy > p { color: var(--muted); font-size: .98rem; }
.story-features { display: grid; gap: 10px; margin: 7px 0 26px; padding: 0; list-style: none; color: var(--navy-900); font-size: .87rem; font-weight: 650; }
.team-gallery { display: grid; grid-template-columns: 1.25fr .75fr .75fr; grid-template-rows: repeat(2, minmax(190px, 1fr)); gap: 16px; }
.team-gallery figure { position: relative; min-height: 210px; margin: 0; overflow: hidden; border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); }
.team-gallery-feature { grid-row: 1 / 3; }
.team-gallery figure:last-child { grid-column: 2 / 4; }
.team-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.team-gallery figure:hover img { transform: scale(1.025); }
.team-gallery figcaption { position: absolute; right: 12px; bottom: 12px; left: 12px; padding: 9px 11px; border-radius: 9px; color: #fff; background: rgba(7,31,76,.76); font-size: .72rem; backdrop-filter: blur(8px); }
.product-gallery { min-width: 0; }
.product-gallery-main { overflow: hidden; }
.product-detail-media { display: none; width: 100%; height: 100%; margin: 0; place-items: center; }
.product-detail-media.active { display: grid; }
.product-detail-media img,
.product-detail-media video { width: 100%; max-height: 455px; object-fit: contain; border-radius: 12px; }
.product-media-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; margin-top: 12px; }
.product-media-thumb { position: relative; overflow: hidden; aspect-ratio: 1.25; padding: 4px; border: 2px solid transparent; border-radius: 11px; background: var(--surface); }
.product-media-thumb.active { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(244,180,0,.18); }
.product-media-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 7px; }
.video-thumb { position: absolute; inset: 50% auto auto 50%; z-index: 1; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: rgba(7,31,76,.84); transform: translate(-50%,-50%); }
.media-story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.media-story { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-sm); }
.media-story img, .media-story video { width: 100%; aspect-ratio: 1.28; object-fit: cover; background: var(--surface); }
.media-story > div { padding: 22px; }
.media-story p { color: var(--muted); font-size: .86rem; }

@media (max-width: 900px) {
  .service-story, .service-story.reverse { grid-template-columns: 1fr; }
  .service-story.reverse .service-story-media { order: 0; }
  .service-story-media { min-height: 320px; }
  .team-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .team-gallery-feature { grid-row: auto; grid-column: 1 / 3; min-height: 430px !important; }
  .team-gallery figure:last-child { grid-column: auto; }
  .media-story-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .product-card-summary { min-height: 48px; margin-bottom: 9px; font-size: .67rem; -webkit-line-clamp: 3; }
  .product-card-meta { min-height: 30px; margin-bottom: 10px; font-size: .6rem; }
  .service-story-list { gap: 22px; }
  .service-story { border-radius: 22px; }
  .service-story-media { min-height: 240px; }
  .service-story-media img, .service-story-media video { min-height: 235px; }
  .service-story-copy { padding: 28px 20px 32px; }
  .service-story-copy h2 { font-size: 1.65rem; }
  .team-gallery { grid-template-columns: 1fr; }
  .team-gallery-feature, .team-gallery figure:last-child { grid-column: auto; }
  .team-gallery-feature { min-height: 330px !important; }
  .team-gallery figure { min-height: 260px; }
  .product-media-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .product-detail-media img, .product-detail-media video { max-height: 330px; }
  .media-story-grid { grid-template-columns: 1fr; }
}


/* Phase 2.3.1 audience-ready storefront corrections */
.hero { min-height: 0; background: radial-gradient(circle at 86% 18%, rgba(244,180,0,.13), transparent 24%), linear-gradient(135deg, #061936, #0b2e6d); }
.hero::before { display: none; }
.hero::after { opacity: .35; }
.hero-inner { min-height: 640px; grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr); gap: 44px; padding-block: 58px; }
.hero-visual { position: relative; min-width: 0; }
.hero-storefront { overflow: hidden; margin: 0; border: 1px solid rgba(255,255,255,.18); border-radius: 26px; background: #fff; box-shadow: 0 28px 70px rgba(0,0,0,.28); }
.hero-storefront img { display: block; width: 100%; height: auto; object-fit: contain; }
.hero-visual .hero-card { position: absolute; right: 18px; bottom: 18px; width: min(86%, 310px); margin: 0; }
.testimonial-strip { padding: 24px 0 30px; border-bottom: 1px solid var(--line); background: #fff; }
.testimonial-strip-label { margin: 0 0 12px; color: var(--navy-900); font-size: .75rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.testimonial-mini-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.testimonial-mini { min-height: 142px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(155deg,#fff,#f7f9fc); box-shadow: var(--shadow-sm); }
.testimonial-mini strong { display: block; margin-bottom: 9px; color: #9a6a00; font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.testimonial-mini p { margin: 0; color: var(--navy-900); font-size: .88rem; font-weight: 650; line-height: 1.55; }
.product-media { background: #050505; }
.product-media img { object-fit: contain; }
.product-gallery-main, .gallery-main { background: #050505; }
.product-gallery-main img, .gallery-main img { background: #050505; object-fit: contain; }
.footer-brand > a { display: inline-block; }
.mobile-drawer-head > a { display: inline-flex; }
@media (max-width: 900px) {
  .hero-inner { min-height: 0; grid-template-columns: 1fr; gap: 24px; padding-block: 42px; }
  .hero-visual { max-width: 760px; width: 100%; justify-self: center; }
  .testimonial-mini-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .hero-visual .hero-card { position: static; width: 100%; margin-top: 12px; }
  .testimonial-mini-grid { display: flex; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
  .testimonial-mini { flex: 0 0 86%; scroll-snap-align: center; }
}

/* Final-phase choice landing and hub preview */
.choice-page { margin: 0; color: #fff; background: #030915; }
.choice-landing-static { position: relative; isolation: isolate; min-height: 100svh; overflow: hidden; }
.choice-media-static { position: absolute; inset: 0; z-index: -3; display: grid; grid-template-columns: 1.2fr .8fr .8fr 1.2fr; gap: 2px; opacity: .62; }
.choice-media-static img { width: 100%; height: 100%; min-height: 100svh; object-fit: cover; filter: saturate(.82) contrast(1.08); }
.choice-media-static img:nth-child(2), .choice-media-static img:nth-child(3) { transform: translateY(7%); }
.choice-shade-static { position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 50% 42%, rgba(11,46,109,.28), transparent 30%), linear-gradient(90deg, rgba(2,8,18,.94), rgba(2,8,18,.56) 48%, rgba(2,8,18,.91)), linear-gradient(0deg, rgba(2,8,18,.93), rgba(2,8,18,.14) 42%, rgba(2,8,18,.78)); }
.choice-landing-static::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 54px 54px; }
.choice-logo-static { position: absolute; top: clamp(22px, 4vw, 46px); left: clamp(22px, 5vw, 72px); z-index: 2; display: inline-flex; width: clamp(150px, 17vw, 235px); padding: 10px 12px; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(3,9,21,.46); backdrop-filter: blur(12px); }
.choice-logo-static img { width: 100%; }
.choice-content-static { width: min(100% - 44px, 930px); margin-inline: auto; padding: clamp(165px, 22vh, 230px) 0 145px; text-align: center; }
.choice-content-static > p { margin-bottom: 18px; color: #f4b400; font-size: .76rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.choice-content-static h1 { color: #fff; font-size: clamp(2.55rem, 6vw, 5.3rem); line-height: .98; letter-spacing: -.055em; }
.choice-content-static h1 span { display: block; margin-top: 18px; color: rgba(255,255,255,.78); font-size: .48em; line-height: 1.2; }
.choice-actions-static { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; width: min(100%, 780px); margin: 48px auto 0; }
.choice-actions-static a { display: grid; gap: 7px; min-height: 130px; align-content: center; padding: 26px; border: 1px solid rgba(255,255,255,.2); border-radius: 22px; color: #fff; background: rgba(7,28,65,.74); box-shadow: 0 24px 55px rgba(0,0,0,.26); backdrop-filter: blur(15px); transition: .25s ease; }
.choice-actions-static a:hover { transform: translateY(-5px); border-color: #f4b400; background: rgba(11,46,109,.92); }
.choice-actions-static strong { font-size: clamp(1.05rem, 2vw, 1.35rem); }
.choice-actions-static span { color: #f4b400; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.choice-bottom-static { position: absolute; right: clamp(22px, 5vw, 72px); bottom: clamp(22px, 4vw, 42px); left: clamp(22px, 5vw, 72px); z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.choice-bottom-static > a:first-child { color: rgba(255,255,255,.84); font-size: .82rem; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(244,180,0,.7); text-underline-offset: 5px; }
.choice-whatsapp-static { display: inline-flex; align-items: center; gap: 9px; padding: 12px 16px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; color: #fff; background: rgba(20,120,70,.88); font-size: .82rem; font-weight: 850; }
.hub-preview-hero .hero-actions { margin-top: 28px; }
@media (max-width: 900px) { .choice-media-static { grid-template-columns: repeat(2,1fr); } .choice-media-static img:nth-child(n+3) { display:none; } }
@media (max-width: 650px) { .choice-content-static { padding-top: 150px; padding-bottom: 150px; } .choice-actions-static { grid-template-columns: 1fr; margin-top: 34px; } .choice-actions-static a { min-height: 105px; } .choice-bottom-static { flex-direction: column-reverse; align-items: flex-start; } .choice-whatsapp-static { align-self: flex-end; } .choice-media-static { grid-template-columns: 1fr; } .choice-media-static img:nth-child(n+2) { display:none; } }
.about-current-gallery-static { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.about-current-gallery-static figure { position:relative; min-height:340px; margin:0; overflow:hidden; border-radius:22px; background:#071f4c; box-shadow:var(--shadow-md); }
.about-current-gallery-static img,.about-current-gallery-static video { width:100%; height:100%; min-height:340px; object-fit:cover; }
.about-current-gallery-static figcaption { position:absolute; right:12px; bottom:12px; left:12px; padding:9px 11px; border-radius:10px; color:#fff; background:rgba(7,31,76,.78); font-size:.72rem; }
@media(max-width:720px){.about-current-gallery-static{grid-template-columns:1fr}.about-current-gallery-static figure,.about-current-gallery-static img,.about-current-gallery-static video{min-height:280px}}
.calculator-customer-static { display:grid; gap:15px; margin-top:24px; padding-top:22px; border-top:1px solid rgba(255,255,255,.22); }
.calculator-customer-static h3 { color:#fff; }
.calculator-customer-static > p { color:rgba(255,255,255,.76); font-size:.8rem; }
.calculator-customer-static .field label { color:#fff; }
.calculator-customer-static .field input { color:#10264c; background:#fff; }
.calculator-customer-static .form-consent { color:rgba(255,255,255,.86); }

/* Phase 3: requested catalogue demand slider, Services gallery and WhatsApp icon centering. */
.whatsapp-float .icon, .whatsapp-header .icon, .choice-whatsapp-static .icon, a[href*="wa.me"] .icon { display:block; flex:0 0 auto; transform:none; }
.whatsapp-float, .whatsapp-header, .choice-whatsapp-static { align-items:center; justify-content:center; }
.high-demand-section-static, .phase3-gallery-section-static { overflow:hidden; }
.demand-slideshow-static { position:relative; min-height:430px; border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:var(--shadow-sm); overflow:hidden; }
.demand-slide-static { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); min-height:430px; }
.demand-media-static { min-height:430px; background:#f5f7fa; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.demand-media-static img { width:100%; height:100%; max-height:520px; object-fit:contain; padding:24px; }
.demand-copy-static { padding:48px 58px 42px; display:flex; flex-direction:column; justify-content:center; }
.demand-copy-static h3 { margin:8px 0 14px; font-size:clamp(1.7rem,3vw,2.55rem); line-height:1.05; }
.demand-copy-static > p { color:var(--muted); line-height:1.7; }
.demand-price-static { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin:20px 0; }
.demand-price-static strong { font-size:1.7rem; } .demand-price-static span { color:var(--muted); font-size:.9rem; }
.demand-actions-static { display:flex; flex-wrap:wrap; gap:10px; }
.demand-dots-static { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }
.demand-dots-static button { width:8px; height:8px; border:0; border-radius:999px; padding:0; background:#c8ced9; cursor:pointer; transition:.2s ease; }
.demand-dots-static button.active { width:28px; background:var(--navy); }
.demand-nav-static { position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.94); box-shadow:var(--shadow-sm); font-size:28px; cursor:pointer; display:grid; place-items:center; }
.demand-prev-static { left:14px; } .demand-next-static { right:14px; }
.gallery3-slideshow-static { border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:var(--shadow-sm); overflow:hidden; }
.gallery3-stage-static { position:relative; margin:0; min-height:560px; background:#f5f7fa; display:grid; place-items:center; }
.gallery3-stage-static img { width:100%; height:600px; object-fit:contain; padding:24px; }
.gallery3-stage-static figcaption { position:absolute; left:20px; right:20px; bottom:20px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:16px 18px; border-radius:16px; color:#fff; background:linear-gradient(90deg,rgba(3,9,21,.9),rgba(3,9,21,.68)); backdrop-filter:blur(8px); }
.gallery3-stage-static figcaption span { font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; opacity:.8; white-space:nowrap; } .gallery3-stage-static figcaption strong { max-width:760px; text-align:right; line-height:1.35; }
.gallery3-controls-static { display:grid; grid-template-columns:48px 1fr 48px; align-items:center; gap:14px; padding:14px 18px; }
.gallery3-controls-static button { width:42px; height:42px; border-radius:50%; border:1px solid var(--line); background:#fff; font-size:24px; cursor:pointer; }
.gallery3-progress-static { height:5px; border-radius:999px; background:#edf0f4; overflow:hidden; } .gallery3-progress-static i { display:block; height:100%; border-radius:inherit; background:var(--navy); transition:width .3s ease; }
.gallery3-thumbs-static { display:flex; gap:8px; padding:0 18px 18px; overflow-x:auto; scrollbar-width:thin; }
.gallery3-thumbs-static button { flex:0 0 84px; width:84px; height:62px; padding:3px; border:1px solid var(--line); border-radius:10px; background:#fff; cursor:pointer; opacity:.66; }
.gallery3-thumbs-static button.active { opacity:1; border-color:var(--navy); } .gallery3-thumbs-static img { width:100%; height:100%; object-fit:cover; border-radius:7px; }
@media (max-width:820px){.demand-slide-static{grid-template-columns:1fr}.demand-media-static{min-height:300px}.demand-media-static img{max-height:340px;padding:18px}.demand-copy-static{padding:30px 24px 34px}.demand-nav-static{top:270px}.gallery3-stage-static{min-height:430px}.gallery3-stage-static img{height:470px;padding:12px}.gallery3-stage-static figcaption{position:static;border-radius:0;align-items:flex-start;flex-direction:column;gap:6px}.gallery3-stage-static figcaption strong{text-align:left}}
@media (max-width:520px){.demand-slideshow-static,.gallery3-slideshow-static{border-radius:20px}.demand-media-static{min-height:250px}.demand-media-static img{max-height:290px}.demand-nav-static{top:230px;width:38px;height:38px}.demand-copy-static{padding:26px 20px 30px}.demand-actions-static .button{width:100%;justify-content:center}.gallery3-stage-static{min-height:340px}.gallery3-stage-static img{height:360px}.gallery3-thumbs-static button{flex-basis:70px;width:70px;height:54px}}
.price-option-list-static { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.price-option-list-static > div { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 6px; }
.price-option-list-static span { display:inline-flex; padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:var(--white); font-weight:800; }
.price-option-list-static p { margin:0; font-size:.9rem; color:var(--muted); }


/* Phase 3.1 targeted presentation updates. */
.solar-calculator-promo { padding: 22px 0; background: #f4f7fb; border-bottom: 1px solid var(--line); }
.solar-calculator-promo-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:22px 26px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow-sm); }
.solar-calculator-promo-inner strong { display:block; color:var(--navy-900); font-family:var(--heading); font-size:1.18rem; }
.solar-calculator-promo-inner p { margin:6px 0 0; color:var(--muted); }
.testimonial-stars { margin-top:12px; color:#f4b400; font-size:1.02rem; letter-spacing:.12em; line-height:1; }
.contact-hours-line { display:grid; grid-template-columns:auto 1fr; column-gap:5px; align-items:start; }
.contact-hours-line .hours-value span { display:block; }
@media (max-width: 680px) { .solar-calculator-promo-inner { align-items:flex-start; flex-direction:column; } }
