:root {
  color-scheme: light;
  --ink: #20201e;
  --muted: #73736d;
  --paper: #ffffff;
  --surface: #ffffff;
  --line: #dedbd3;
  --accent: #df6e54;
  --accent-dark: #a94737;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.privacy-main {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 72px 0 96px;
}

.privacy-intro {
  max-width: 780px;
  margin-bottom: 56px;
}

.privacy-intro h1 {
  margin: 12px 0 22px;
  font-size: clamp(3.2rem, 7vw, 6.8rem);
  line-height: 0.92;
  letter-spacing: -0.065em;
}

.privacy-intro > p:last-child,
.privacy-grid p,
.analytics-choice p,
.privacy-rights p {
  color: #595750;
  font-size: 1.02rem;
  line-height: 1.7;
}

.privacy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #d9d4c9;
  border-radius: 28px;
  background: #d9d4c9;
}

.privacy-grid article {
  min-height: 260px;
  padding: 32px;
  background: #f7f3e9;
}

.privacy-grid article > span {
  color: #9b7459;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.privacy-grid h2,
.analytics-choice h2,
.privacy-rights h2 {
  margin: 42px 0 12px;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  letter-spacing: -0.035em;
}

.analytics-choice {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: 48px;
  align-items: center;
  margin-top: 24px;
  padding: 38px;
  border-radius: 28px;
  background: #243331;
  color: #fff;
}

.analytics-choice h2 {
  margin-top: 10px;
}

.analytics-choice p {
  color: rgba(255, 255, 255, 0.76);
}

.analytics-choice-control {
  text-align: right;
}

.analytics-choice-control button {
  width: 100%;
  padding: 15px 20px;
  border: 0;
  border-radius: 999px;
  background: #f4c060;
  color: #1d2927;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.analytics-choice-control button:disabled {
  cursor: default;
  opacity: 0.72;
}

.privacy-rights {
  max-width: 820px;
  padding: 52px 0 0;
}

.privacy-rights h2 {
  margin-top: 0;
}

.privacy-rights a {
  color: inherit;
  font-weight: 700;
}

@media (max-width: 720px) {
  .privacy-main {
    width: min(100% - 24px, 1180px);
    padding-top: 42px;
  }

  .privacy-grid,
  .analytics-choice {
    grid-template-columns: 1fr;
  }

  .privacy-grid article {
    min-height: 0;
  }

  .analytics-choice {
    gap: 18px;
    padding: 28px 22px;
  }

  .analytics-choice-control {
    text-align: left;
  }
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--paper); }
button, input { font: inherit; }

.site-header {
  width: min(1240px, calc(100% - 40px));
  min-height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}

.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); font-weight: 760; letter-spacing: -.02em; text-decoration: none; }
.brand-logo { width: 137px; height: 40px; display: block; object-fit: contain; }
.brand-logo--new { width: 178px; height: 52px; }
.brand-logo--home { width: 224px; height: 64px; }
.database-status { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.database-status i { width: 7px; height: 7px; border-radius: 50%; background: #4c8b5e; box-shadow: 0 0 0 4px rgba(76,139,94,.12); }

.composer-layout {
  width: min(1240px, calc(100% - 40px));
  min-height: calc(100dvh - 76px);
  margin: 0 auto;
  padding: 38px 0 60px;
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr);
  gap: 24px;
  align-items: start;
}

.input-pane {
  position: sticky;
  top: 24px;
  min-height: 520px;
  padding: clamp(30px, 4vw, 56px);
  display: flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 10% 100%, rgba(223,110,84,.13), transparent 20rem),
    var(--surface);
}

.input-pane-inner { width: 100%; }
.eyebrow, .section-label, .product-rank { margin: 0; color: var(--accent-dark); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
h1 { margin: 13px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(47px, 5vw, 68px); line-height: .96; font-weight: 500; letter-spacing: -.055em; }
.search-form { margin-top: 30px; }
.search-form > label { display: block; margin-bottom: 9px; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.search-control { height: 58px; padding: 0 17px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.search-control:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(223,110,84,.14); }
.search-icon { width: 15px; height: 15px; position: relative; flex: none; border: 1.8px solid #66645e; border-radius: 50%; }
.search-icon::after { content: ""; position: absolute; right: -5px; bottom: -2px; width: 6px; height: 1.8px; border-radius: 2px; background: #66645e; transform: rotate(45deg); }
.search-control input { width: 100%; height: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; }
.search-control input::placeholder { color: #aaa69c; }
.search-form button { width: 100%; height: 50px; margin-top: 10px; border: 0; border-radius: 9px; color: white; background: var(--ink); font-weight: 760; cursor: pointer; }
.search-form button:hover { background: #383731; }
.result-pane {
  --selected-colour: transparent;
  --selected-contrast: var(--ink);
  --selected-muted: var(--muted);
  min-height: 650px;
  border-radius: 18px;
  transition: background-color 180ms ease;
}
.result-pane.has-colour { padding: 34px; background: var(--selected-colour); box-shadow: 0 0 0 1px rgba(32,32,30,.16); }
.result-pane.has-colour .products-heading h2,
.result-pane.has-colour .products-heading .eyebrow { color: var(--selected-contrast); }
.result-pane.has-colour .products-heading > p,
.result-pane.has-colour .price-note { color: var(--selected-muted); }
.result-empty, .result-loading { min-height: 520px; padding: 50px; display: flex; align-items: center; justify-content: center; gap: 25px; border: 1px dashed #cac6bc; border-radius: 18px; color: var(--muted); background: rgba(255,254,250,.5); }
.result-empty[hidden], .result-content[hidden], .result-loading[hidden] { display: none; }
.result-empty h2 { max-width: 430px; margin: 8px 0 10px; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 38px; font-weight: 500; letter-spacing: -.04em; }
.result-empty p:last-child { max-width: 430px; margin: 0; line-height: 1.55; }
.empty-disc { width: 78px; height: 78px; flex: none; border-radius: 50%; background: linear-gradient(135deg, #e8d79a, #c86d58); box-shadow: 0 12px 30px rgba(92,68,47,.16); }

.selected-colour { min-height: 190px; position: relative; display: flex; align-items: flex-start; overflow: hidden; }
.selected-swatch { position: absolute; inset: 0; background: var(--selected-colour) !important; }
.selected-meta { position: relative; z-index: 1; min-width: 0; padding: 8px 2px 30px; color: var(--selected-contrast); }
.selected-meta p { margin: 0 0 12px; overflow: hidden; color: var(--selected-muted); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.selected-meta h2 { margin: 0; color: var(--selected-contrast); font-family: Georgia, "Times New Roman", serif; font-size: clamp(58px, 7vw, 88px); line-height: .9; font-weight: 500; letter-spacing: -.06em; }

.products-heading { margin: 34px 2px 18px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.products-heading h2 { margin: 8px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 30px; font-weight: 500; letter-spacing: -.035em; }
.products-heading > p { max-width: 230px; margin: 0 0 4px; color: var(--muted); font-size: 11px; text-align: right; }
.product-stack { display: grid; gap: 14px; }
.result-content > .product-stack { margin-top: 8px; }

.product-offer { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.product-header { min-height: 92px; padding: 12px 22px 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
.product-heading { min-width: 0; display: flex; align-items: center; gap: 14px; }
.product-image { width: 82px; height: 68px; flex: none; object-fit: contain; object-position: center; }
.product-rank { margin-bottom: 5px; }
.product-name { margin: 0; font-size: 20px; letter-spacing: -.025em; }
.product-more-link, .customer-more-link { display: inline-block; margin-top: 5px; color: var(--accent-dark); font-size: 10px; font-weight: 800; letter-spacing: .02em; text-underline-offset: 2px; }
.product-more-link:hover, .customer-more-link:hover { color: var(--ink); }
.product-base { padding: 9px 13px; border: 1px solid #11110f; border-radius: 8px; color: white; background: var(--ink); box-shadow: 0 3px 10px rgba(32,32,30,.16); font-size: 13px; font-weight: 850; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.offer-grid { padding: 22px; display: grid; grid-template-columns: minmax(210px, .8fr) minmax(300px, 1.2fr); gap: 28px; background: #faf9f5; }
.section-label { margin-bottom: 13px; color: #88857d; }
.component-list { display: grid; gap: 8px; }
.component-row { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tint-identity { display: flex; align-items: center; gap: 10px; }
.tint-identity span { min-width: 30px; height: 30px; padding: 0 5px; display: grid; place-items: center; border-radius: 7px; color: white; background: var(--ink); font-size: 10px; font-weight: 850; }
.tint-identity strong { font-size: 13px; }
.shot-amount { font-size: 15px; letter-spacing: -.02em; white-space: nowrap; }
.package-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.package-button { min-height: 82px; padding: 12px; display: flex; flex-direction: column; align-items: stretch; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; text-align: left; cursor: pointer; transition: border-color 140ms ease, box-shadow 140ms ease; }
.package-button:hover { border-color: #aaa69c; }
.package-button.is-selected { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.package-button:focus-visible, .search-form button:focus-visible { outline: 3px solid rgba(223,110,84,.3); outline-offset: 2px; }
.package-button span { color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.package-button strong { margin-top: 7px; font-size: 18px; letter-spacing: -.03em; }
.package-empty, .products-empty { margin: 0; padding: 20px; border: 1px dashed var(--line); border-radius: 9px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.price-note { margin: 16px 2px 0; color: var(--muted); font-size: 10px; line-height: 1.5; }

.site-nav { display: flex; align-items: center; gap: 8px; }
.site-nav a { padding: 10px 13px; border-radius: 8px; color: var(--muted); font-size: 12px; font-weight: 800; text-decoration: none; }
.site-nav a:hover, .site-nav a.is-active { color: var(--ink); background: #f1eee7; }
.popular-page { background:#f7f4ee; }
.popular-main { width: min(1400px, calc(100% - 40px)); margin: 0 auto; padding: 54px 0 80px; }
.popular-intro { margin-bottom: 35px; }
.popular-intro h1 { margin: 11px 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 7vw, 82px); line-height: .94; font-weight: 500; letter-spacing: -.065em; }
.popular-intro > p:last-child { margin: 0; color: var(--muted); font-size: 15px; }
.palette-shell { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #faf9f5; }
.palette-tabs { padding: 14px; display: flex; gap: 9px; overflow-x: auto; border-bottom: 1px solid var(--line); background: linear-gradient(90deg,#fff,#faf7f1); scrollbar-width: thin; }
.palette-tab { --tab-accent: #70756f; flex: 0 0 auto; min-height: 42px; padding: 10px 17px 10px 13px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid color-mix(in srgb,var(--tab-accent) 28%,white); border-radius: 999px; color: var(--muted); background: transparent; box-shadow: 0 3px 10px rgba(42,38,31,.06); font-size: 12px; font-weight: 850; cursor: pointer; transition: transform 150ms ease,box-shadow 150ms ease,background 150ms ease; }
.palette-tab::before { content:""; width: 13px; height: 13px; flex:none; border-radius:50%; background:var(--tab-accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--tab-accent) 16%,transparent); }
.palette-tab:hover { color: var(--ink); background: #f6f3ec; transform:translateY(-2px); box-shadow:0 7px 16px rgba(42,38,31,.11); }
.palette-tab[aria-selected="true"] { color: #fff; background: var(--ink); box-shadow:0 8px 20px color-mix(in srgb,var(--tab-accent) 30%,transparent); }
.palette-tab[aria-selected="true"]::before { background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.18); }
.palette-tab--червени { --tab-accent: #b95d59; }
.palette-tab--оранжеви { --tab-accent: #d48649; }
.palette-tab--жълти { --tab-accent: #c7a541; }
.palette-tab--зелени { --tab-accent: #5a906f; }
.palette-tab--сини { --tab-accent: #5c7fa6; }
.palette-tab--виолетови { --tab-accent: #8a6ba3; }
.palette-tab--розови { --tab-accent: #c27891; }
.palette-tab--неутрални { --tab-accent: #8b877d; }
.palette-tab--пастелни { --tab-accent: #78a8ad; }
.palette-tab--модерни { --tab-accent: #536f82; }
.palette-tab--земни { --tab-accent: #a85b32; }
.palette-tab--кафяви { --tab-accent: #70442f; }
.palette-tab--лилави { --tab-accent: #76566e; }
.palette-tab--сиви-и-грейдж { --tab-accent: #7a736b; }
.palette-tab[class*="palette-tab--"] { background: linear-gradient(135deg,color-mix(in srgb,var(--tab-accent) 18%,white),color-mix(in srgb,var(--tab-accent) 7%,white)); color: color-mix(in srgb, var(--tab-accent) 78%, #171714); }
.palette-tab[class*="palette-tab--"]:hover { background: linear-gradient(135deg,color-mix(in srgb,var(--tab-accent) 30%,white),color-mix(in srgb,var(--tab-accent) 14%,white)); }
.palette-tab[class*="palette-tab--"][aria-selected="true"] { color: #fff; background: linear-gradient(135deg,color-mix(in srgb,var(--tab-accent) 82%,#171714),var(--tab-accent)); }
.palette-panel { padding: 25px 25px 32px; }
.palette-panel[hidden] { display: none; }
.blue-story-active .palette-shell { border-radius: 12px; }
.palette-section-heading { margin: 0 0 13px; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.palette-section-heading:not(:first-child) { margin-top: 29px; }
.palette-section-heading h2 { margin: 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 500; letter-spacing: -.03em; }
.palette-section-heading span { color: var(--muted); font-size: 11px; font-weight: 750; }
.colour-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 3px; }
.colour-tile { min-width: 0; aspect-ratio: 1.08; padding: 7px 5px; position: relative; display: flex; align-items: flex-end; justify-content: flex-start; overflow: hidden; border: 0; border-radius: 6px; color: #fff; text-align: left; cursor: pointer; transition: transform 120ms ease, z-index 120ms ease, box-shadow 120ms ease; }
.colour-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 45%, rgba(0,0,0,.2)); opacity: .75; pointer-events: none; }
.colour-tile span { position: relative; z-index: 1; max-width: 100%; overflow: hidden; font-size: 10px; font-weight: 850; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.colour-tile:hover, .colour-tile:focus-visible { z-index: 2; transform: scale(1.08); box-shadow: 0 7px 15px rgba(32,32,30,.25); outline: 2px solid rgba(255,255,255,.9); outline-offset: -3px; }

.blue-story-panel { padding: 0; overflow: hidden; color: #202326; background: #f7f8f6; }
.blue-story-panel h2, .blue-story-panel h3, .blue-story-panel p { margin-top: 0; }
.blue-story-panel h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.045em; }
.blue-story-kicker { margin-bottom: 16px; color: #496a7e; font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.blue-story-hero { min-height: calc(100dvh - 158px); display: grid; grid-template-columns: minmax(0, 1.14fr) 150px minmax(380px, .86fr); gap: 10px; background: #cbddeb; }
.blue-story-photo { position: relative; overflow: hidden; }
.blue-story-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.blue-story-photo--hero { min-height: calc(100dvh - 158px); border-radius: 0 0 18px 0; }
.blue-story-hero-swatches.blue-story-mini-palette { margin: 0; padding: 10px 0; display: grid; grid-template-rows: repeat(3, 1fr); gap: 10px; }
.blue-story-hero-swatches .blue-story-colour { min-height: 0; height: 100%; padding: 13px; border-radius: 10px; }
.blue-story-hero-swatches .blue-story-colour span { font-size: 11px; }
.blue-story-hero-copy { padding: 70px clamp(35px, 5vw, 78px); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.blue-story-hero-copy h2 { margin-bottom: 34px; font-size: clamp(58px, 7vw, 94px); line-height: .9; }
.blue-story-hero-copy h3 { margin-bottom: 15px; font-size: 18px; }
.blue-story-hero-copy > p:last-child { max-width: 520px; margin-bottom: 0; font-size: 16px; line-height: 1.55; }
.blue-story-section { padding: clamp(64px, 8vw, 118px) clamp(25px, 6vw, 92px); }
.blue-story-intro { background: #f7f4ee; text-align: center; }
.blue-story-intro > h2 { max-width: 930px; margin: 0 auto; font-size: clamp(36px, 5vw, 68px); line-height: 1.05; }
.blue-story-traits { margin-top: 70px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border-radius: 16px; overflow: hidden; background: #d8dfe2; }
.blue-story-traits article { min-height: 165px; padding: 32px 25px; display: flex; flex-direction: column; justify-content: space-between; background: #eef2f3; }
.blue-story-traits strong { font-family: Georgia, "Times New Roman", serif; font-size: 23px; font-weight: 500; }
.blue-story-traits span { color: #687278; font-size: 13px; line-height: 1.45; }
.blue-story-popular { background: #f7f8f6; }
.blue-story-popular > h2, .blue-story-rooms > h2, .blue-story-guide > h2 { margin-bottom: 38px; text-align: center; font-size: clamp(36px, 5vw, 64px); }
.blue-story-colour-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; }
.blue-story-colour { min-width: 0; min-height: 48px; padding: 10px; display: flex; align-items: flex-end; border: 0; border-radius: 9px; text-align: left; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(25,31,34,.08); transition: transform 130ms ease, box-shadow 130ms ease; }
.blue-story-colour span { font-size: 10px; font-weight: 850; }
.blue-story-colour:hover, .blue-story-colour:focus-visible { z-index: 1; transform: translateY(-3px); outline: 2px solid #fff; outline-offset: -4px; box-shadow: 0 10px 22px rgba(32,47,55,.2); }
.blue-story-colour--large { aspect-ratio: .95; min-height: 120px; }
.blue-story-combinations { background: #d9e5ec; }
.blue-story-section-copy { align-self: center; }
.blue-story-combinations .blue-story-section-copy { max-width: 900px; margin: 0 auto 52px; text-align: center; }
.blue-story-section-copy h2, .blue-story-temperature h2 { margin-bottom: 22px; font-size: clamp(38px, 5vw, 68px); line-height: 1.03; }
.blue-story-combo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.blue-story-combo-card { overflow: hidden; display: flex; flex-direction: column; border-radius: 16px; background: rgba(255,255,255,.82); box-shadow: 0 12px 32px rgba(40,62,74,.09); }
.blue-story-combo-card > img { width: 100%; aspect-ratio: 16 / 10; display: block; object-fit: cover; }
.shade-story-combo-photo { width: 100%; aspect-ratio: 16 / 10; display: block; background-repeat: no-repeat; background-size: 200% 200%; background-color: var(--story-wash); }
.blue-story-combo-copy { min-height: 235px; padding: 25px; display: flex; flex-direction: column; }
.blue-story-combo-grid h3 { margin-bottom: 9px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 500; }
.blue-story-combo-grid p { min-height: 42px; margin-bottom: 24px; color: #66747b; font-size: 13px; line-height: 1.45; }
.colors-wrap { width: 100%; margin-top: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.colors-wrap .blue-story-colour { min-height: 70px; }
.blue-story-mini-palette { margin-top: auto; display: flex; gap: 6px; }
.blue-story-mini-palette .blue-story-colour { min-height: 52px; flex: 1; }
.blue-story-temperature { background: #f2f0ea; }
.blue-story-temperature > header { max-width: 980px; margin: 0 auto 70px; text-align: center; }
.blue-story-temperature-row { min-height: 520px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.blue-story-temperature-row + .blue-story-temperature-row { margin-top: 10px; }
.blue-story-photo--temperature { min-height: 520px; border-radius: 16px; }
.blue-story-temperature-copy { padding: clamp(35px, 7vw, 96px); display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 16px; background: #dfe3df; text-align: center; }
.blue-story-temperature-copy h3 { margin-bottom: 15px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 4vw, 52px); font-weight: 500; letter-spacing: -.04em; }
.blue-story-temperature-copy p { max-width: 520px; color: #667078; font-size: 15px; line-height: 1.6; }
.blue-story-temperature-copy .blue-story-mini-palette { width: min(290px, 100%); margin-top: 25px; }
.blue-story-photo-palette { position: absolute; right: 16px; bottom: 16px; left: 16px; width: min(270px, calc(100% - 32px)); padding: 6px; border-radius: 11px; background: rgba(255,255,255,.82); box-shadow: 0 7px 28px rgba(20,30,35,.16); backdrop-filter: blur(9px); }
.blue-story-photo-palette .blue-story-colour { min-height: 42px; border-radius: 7px; }
.blue-story-rooms { background: #f7f4ee; }
.blue-story-room-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.blue-story-room-grid article { min-height: 440px; position: relative; overflow: hidden; border-radius: 16px; background: #d6e1e7; }
.blue-story-room-grid img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.blue-story-room-grid article::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(7,17,24,.72)); pointer-events: none; }
.blue-story-room-copy { position: absolute; z-index: 2; left: 24px; bottom: 88px; color: white; }
.blue-story-room-copy h3 { margin-bottom: 4px; font-family: Georgia, "Times New Roman", serif; font-size: 32px; font-weight: 500; }
.blue-story-room-copy p { margin-bottom: 0; font-size: 13px; }
.blue-story-guide { background: #253e50; color: #fff; }
.blue-story-guide-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.blue-story-guide-grid article { padding-top: 20px; border-top: 1px solid rgba(255,255,255,.32); }
.blue-story-guide-grid span { color: #9fc4d6; font-size: 11px; font-weight: 850; }
.blue-story-guide-grid h3 { margin: 28px 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 500; }
.blue-story-guide-grid p { margin-bottom: 0; color: #cedbe2; font-size: 13px; line-height: 1.55; }
.shade-story-panel .blue-story-hero { background: var(--story-wash); }
.shade-story-panel .blue-story-kicker { color: var(--story-accent); }
.shade-story-panel .blue-story-combinations { background: color-mix(in srgb, var(--story-wash) 76%, white); }
.shade-story-panel .blue-story-temperature { background: color-mix(in srgb, var(--story-wash) 32%, #f2f0ea); }
.shade-story-panel .blue-story-traits { background: color-mix(in srgb, var(--story-accent) 22%, #d8dfe2); }
.shade-story-panel .blue-story-traits article { background: color-mix(in srgb, var(--story-wash) 23%, white); }
.shade-story-room-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.shade-story-room-grid article { min-height: 300px; position: relative; overflow: hidden; border-radius: 16px; background: var(--story-wash); }
.shade-story-room-grid img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.shade-story-room-grid article::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(transparent, rgba(7,17,24,.74)); pointer-events: none; }
.shade-story-room-grid .blue-story-room-copy { bottom: 24px; }
.palette-loading { min-height: 240px; margin: 0; display: grid; place-items: center; color: var(--muted); }
.price-modal[hidden] { display: none; }
.price-modal { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 20px; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(18,18,16,.52); backdrop-filter: blur(4px); }
.modal-card { width: min(590px, 100%); max-height: min(760px, calc(100dvh - 40px)); position: relative; z-index: 1; overflow: auto; padding: 28px; border-radius: 18px; background: #fff; box-shadow: 0 24px 80px rgba(20,18,12,.25); }
.modal-close { width: 34px; height: 34px; position: absolute; top: 17px; right: 17px; border: 0; border-radius: 50%; color: var(--ink); background: #f1eee7; font-size: 24px; line-height: 1; cursor: pointer; }
.modal-colour-heading { padding-right: 42px; display: flex; align-items: center; gap: 15px; }
.modal-colour-swatch { width: 76px; height: 76px; flex: none; border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(32,32,30,.14); }
.modal-colour-heading h2 { margin: 5px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 36px; font-weight: 500; letter-spacing: -.05em; }
.modal-subtitle { display: block; margin: 26px 2px 0; color: var(--muted); font-size: 12px; }
.modal-order-link { margin-top:16px; padding:15px 17px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #e4dfd5; border-radius:11px; color:var(--ink); background:#f6f3ec; text-decoration:none; transition:background 150ms ease,transform 150ms ease; }
.modal-order-link:hover { background:#eee9df; transform:translateY(-1px); }
.modal-order-link > span { color:var(--muted); font-size:11px; }
.modal-order-link strong { font-size:11px; text-align:right; }
.customer-products { margin-top: 22px; display: grid; gap: 11px; }
.customer-product { padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #faf9f5; }
.customer-product-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.customer-product-name { display: flex; align-items: center; gap: 12px; }
.customer-product-name img { width: 104px; height: 80px; flex: none; object-fit: contain; object-position: center; }
.customer-product-heading h3 { margin: 3px 0 0; font-size: 18px; letter-spacing: -.025em; }
.customer-description { max-width: 290px; margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.35; }
.customer-product-heading > span { padding: 6px 8px; border-radius: 6px; color: #fff; background: var(--ink); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.customer-badge { margin: 0; color: var(--accent-dark); font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.customer-price-row { margin-top: 16px; display: flex; align-items: end; justify-content: space-between; gap: 15px; }
.customer-sizes { display: flex; flex-wrap: wrap; gap: 5px; }
.customer-sizes button { min-width: 54px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: #fff; font-size: 11px; font-weight: 800; cursor: pointer; }
.customer-sizes button.is-selected { border-color: var(--ink); color: #fff; background: var(--ink); }
.customer-price { color: var(--ink); font-size: 24px; letter-spacing: -.04em; white-space: nowrap; }
.customer-price-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.customer-coverage { color: var(--muted); font-size: 11px; white-space: nowrap; }
.related-colours { margin-top: 28px; }
.related-heading { margin: 0 0 12px; font-size: 15px; }
.related-group { margin-top: 14px; }
.related-group h4 { margin: 0 0 7px; color: var(--muted); font-size: 11px; font-weight: 800; }
.related-tone-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.related-colour-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.related-colour-card { min-height: 48px; padding: 7px 5px; border: 0; border-radius: 7px; color: #fff; text-align: left; font-size: 10px; font-weight: 800; cursor: pointer; text-shadow: 0 1px 2px rgba(0,0,0,.25); box-shadow: inset 0 0 0 1px rgba(32,32,30,.12); }
.related-colour-card:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(32,32,30,.18); }
.related-price-details { margin-top: 8px; border: 1px solid var(--line); border-radius: 10px; background: #faf9f5; }
.related-price-details[hidden] { display: none; }
.related-price-details summary { padding: 10px 12px; color: var(--ink); font-size: 11px; font-weight: 800; cursor: pointer; }
.related-price-products { display: grid; gap: 9px; padding: 0 9px 9px; }
.related-price-products .customer-product { padding: 13px; }
.modal-empty { margin: 0; padding: 20px; border: 1px dashed var(--line); border-radius: 9px; color: var(--muted); font-size: 13px; }
body.modal-open { overflow: hidden; }

@media (max-width: 980px) {
  .composer-layout { grid-template-columns: 1fr; }
  .input-pane { position: static; min-height: auto; }
  .input-pane-inner { max-width: 620px; margin: 0 auto; }
  .result-empty { min-height: 360px; }
  .blue-story-hero { min-height: auto; grid-template-columns: minmax(0, 1fr) 110px; }
  .blue-story-photo--hero { min-height: 540px; }
  .blue-story-hero-copy { grid-column: 1 / -1; padding-block: 70px; }
  .blue-story-traits { grid-template-columns: repeat(2, 1fr); }
  .blue-story-colour-grid { grid-template-columns: repeat(5, 1fr); }
  .blue-story-combinations { grid-template-columns: 1fr; }
  .blue-story-temperature-row { min-height: 470px; }
  .blue-story-photo--temperature { min-height: 470px; }
  .blue-story-guide-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .site-header, .composer-layout { width: min(100% - 28px, 1240px); }
  .database-status { display: none; }
  .composer-layout { padding-top: 18px; }
  .input-pane { padding: 30px 22px; }
  h1 { font-size: 48px; }
  .result-empty { padding: 30px 22px; align-items: flex-start; flex-direction: column; }
  .result-pane.has-colour { padding: 24px 18px; }
  .selected-colour { min-height: 170px; }
  .selected-meta { padding: 8px 2px 24px; }
  .selected-meta h2 { font-size: 44px; }
  .products-heading { align-items: flex-start; flex-direction: column; }
  .products-heading > p { text-align: left; }
  .offer-grid { grid-template-columns: 1fr; padding: 18px; }
  .product-header { padding-left: 10px; }
  .product-image { width: 70px; height: 60px; }
  .package-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .popular-main { width: min(100% - 28px, 1400px); padding-top: 32px; }
  .site-nav a { padding: 8px; font-size: 10px; }
  .palette-panel { padding: 19px 12px 24px; }
  .colour-grid { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 2px; }
  .colour-tile { padding: 5px 4px; }
  .colour-tile span { font-size: 9px; }
  .modal-card { padding: 22px 17px; }
  .blue-story-panel { padding: 0; }
  .blue-story-hero { min-height: 0; display: flex; flex-direction: column; }
  .blue-story-photo--hero { min-height: 440px; border-radius: 0; }
  .blue-story-hero-copy { order: 2; }
  .blue-story-hero-swatches.blue-story-mini-palette { height: 104px; margin-top: 0 !important; padding: 8px; order: 3; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1fr; }
  .blue-story-hero-swatches .blue-story-colour { padding: 9px; }
  .blue-story-hero-copy { padding: 55px 24px 65px; }
  .blue-story-hero-copy h2 { margin-bottom: 26px; }
  .blue-story-traits { margin-top: 45px; grid-template-columns: 1fr; }
  .blue-story-traits article { min-height: 130px; }
  .blue-story-colour-grid { grid-template-columns: repeat(3, 1fr); gap: 5px; }
  .blue-story-colour--large { min-height: 98px; }
  .blue-story-combo-grid { grid-template-columns: 1fr; }
  .blue-story-combo-grid p { min-height: auto; }
  .blue-story-temperature > header { margin-bottom: 44px; }
  .blue-story-temperature-row { min-height: 0; grid-template-columns: 1fr; }
  .blue-story-temperature-copy { min-height: 340px; padding: 45px 24px; }
  .blue-story-photo--temperature { min-height: 390px; }
  .blue-story-temperature-row--reverse .blue-story-temperature-copy { order: 2; }
  .blue-story-temperature-row--reverse .blue-story-photo { order: 1; }
  .blue-story-room-grid { grid-template-columns: 1fr; }
  .blue-story-room-grid article { min-height: 390px; }
  .shade-story-room-grid { grid-template-columns: 1fr; }
  .shade-story-room-grid article { min-height: 340px; }
  .blue-story-guide-grid { grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
  .selected-colour { min-height: 145px; }
  .package-list { grid-template-columns: 1fr; }
  .package-button { min-height: 86px; }
}

/* Latex.bg public home and product pages */
.home-page { background:#f5f1e9; }
.site-header--floating { position:absolute; z-index:10; top:0; left:50%; transform:translateX(-50%); border-bottom-color:rgba(32,32,30,.12); }
.site-header--floating .site-nav a { color:#45443f; }
.home-page .site-header--floating .site-nav a { color:#fff; background:rgba(47,67,80,.94); box-shadow:0 8px 22px rgba(22,30,34,.2); }
.home-page .site-header--floating .site-nav a:hover { color:#fff; background:#df6e54; }
.home-hero { min-height:100dvh; position:relative; overflow:hidden; display:flex; align-items:center; background:#e6ddd0; }
.home-hero-image { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center; }
.home-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(250,246,237,.98) 0%,rgba(250,246,237,.88) 27%,rgba(250,246,237,.12) 60%,transparent 78%); }
.home-hero-content { width:min(1240px,calc(100% - 40px)); margin:0 auto; padding:118px 0 68px; position:relative; z-index:2; }
.home-hero-content > * { max-width:570px; }
.home-kicker,.product-kicker { margin:0 0 18px; color:#b64f3e; font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.home-hero h1 { margin:0; font-size:clamp(60px,7.35vw,108px); line-height:.86; letter-spacing:-.072em; }
.home-lead { margin:30px 0 0; color:#54534d; font-size:18px; line-height:1.55; }
.home-cta { width:fit-content; min-height:58px; margin-top:34px; padding:0 21px 0 25px; display:inline-flex; align-items:center; gap:30px; border-radius:999px; color:#fff; background:#df6e54; box-shadow:0 12px 28px rgba(157,64,46,.24); font-size:14px; font-weight:850; text-decoration:none; transition:transform 150ms ease,box-shadow 150ms ease; }
.home-cta span:last-child { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:#df6e54; background:#fff; }
.home-cta:hover { transform:translateY(-3px); box-shadow:0 17px 34px rgba(157,64,46,.3); }
.home-colour-ribbon { position:absolute; z-index:3; right:clamp(20px,5vw,80px); bottom:0; display:flex; gap:5px; transform:translateY(42%); }
.home-colour-ribbon i { width:56px; height:125px; display:block; border-radius:28px 28px 8px 8px; background:var(--ribbon); box-shadow:0 10px 24px rgba(27,30,27,.18); transform-origin:50% 100%; }
.home-colour-ribbon i:nth-child(1){transform:rotate(-18deg)}.home-colour-ribbon i:nth-child(2){transform:rotate(-9deg)}.home-colour-ribbon i:nth-child(4){transform:rotate(9deg)}.home-colour-ribbon i:nth-child(5){transform:rotate(18deg)}
.home-products { padding:clamp(90px,10vw,150px) max(20px,calc((100% - 1240px)/2)); background:#fff; }
.home-section-heading { margin-bottom:48px; text-align:center; }
.home-section-heading h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(45px,6vw,78px); line-height:.95; font-weight:500; letter-spacing:-.055em; }
.home-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-product-card { min-height:420px; padding:36px; position:relative; overflow:hidden; display:flex; align-items:flex-start; border-radius:24px; color:#20201e; text-decoration:none; }
.home-product-card--xtra { background:linear-gradient(135deg,#e7f3f4,#d1e8ed); }
.home-product-card--artex { background:linear-gradient(135deg,#eef2df,#dce8c6); }
.home-product-card--artakryl { background:linear-gradient(135deg,#f2e2da,#e4c4b5); }
.home-product-card > div { max-width:62%; position:relative; z-index:2; }
.home-product-card span { color:#a94737; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.home-product-card h3 { margin:13px 0 12px; font-size:30px; letter-spacing:-.04em; }
.home-product-card p { color:#5f645e; font-size:14px; line-height:1.55; }
.home-product-card strong { display:inline-block; margin-top:24px; font-size:12px; }
.home-product-card img { width:53%; height:82%; position:absolute; right:-3%; bottom:-3%; object-fit:contain; transition:transform 250ms ease; }
.home-product-card:hover img { transform:scale(1.05) rotate(-2deg); }
.home-cta--dark { color:#fff; background:#20201e; box-shadow:0 12px 28px rgba(32,32,30,.22); }
.home-cta--dark span:last-child { color:#20201e; }
.site-footer { min-height:150px; padding:35px max(20px,calc((100% - 1240px)/2)); display:grid; grid-template-columns:180px 1fr auto; align-items:center; gap:35px; color:#dad8d1; background:#20201e; }
.site-footer > img { width:165px; filter:brightness(0) invert(1); }
.site-footer p { color:#aaa89f; font-size:13px; }
.site-footer nav { display:flex; gap:20px; }
.site-footer a { color:#f1eee7; font-size:12px; font-weight:750; text-decoration:none; }

.showcase-footer { padding:76px max(20px,calc((100% - 1320px)/2)); background:#f5f1e9; }
.showcase-footer-panel { overflow:hidden; border-radius:28px; color:#eef1ea; background:#2f4350; box-shadow:0 28px 70px rgba(32,32,30,.18); }
.showcase-footer-top { min-height:0; padding:26px 42px 22px; background:radial-gradient(circle at 28% 0%,rgba(120,161,130,.2),transparent 36%),#2f4350; }
.showcase-footer-brand { display:grid; grid-template-columns:190px 1fr auto; align-items:center; gap:34px; }
.showcase-footer-brand img { width:190px; }
.showcase-footer-brand p { margin:0; color:#d6ded9; font-size:13px; line-height:1.65; }
.showcase-footer-brand > a { width:fit-content; margin:0; display:flex; align-items:center; gap:16px; color:#fff; font-size:12px; font-weight:850; text-decoration:none; }
.showcase-footer-brand > a span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#2f4350; background:#e2a069; }
.showcase-footer-meta { margin:0 52px; padding:17px 0; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.15); color:#9eadaf; font-size:10px; }
.showcase-footer-meta a { color:#eef1ea; font-weight:800; text-decoration:none; }
.showcase-footer-image { height:255px; overflow:hidden; }
.showcase-footer-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 58%; }

.product-page { background:#f7f4ee; }
.product-hero { width:min(1240px,calc(100% - 40px)); min-height:670px; margin:0 auto; padding:70px 0; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:35px; }
.product-hero-copy h1 { margin:0; font-size:clamp(74px,9vw,126px); line-height:.78; letter-spacing:-.075em; }
.product-hero-copy h2 { max-width:580px; margin:36px 0 16px; font-family:Georgia,"Times New Roman",serif; font-size:28px; font-weight:500; line-height:1.1; }
.product-hero-copy > p { max-width:590px; color:#66645e; font-size:15px; line-height:1.7; }
.product-actions { display:flex; align-items:center; gap:22px; }
.product-spec-link { margin-top:34px; padding:0; border:0; color:#45443f; background:transparent; font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.product-packshot { min-height:580px; position:relative; display:grid; place-items:center; }
.product-packshot::before { content:""; width:480px; height:480px; position:absolute; border-radius:50%; background:#d9e9e7; }
.product-page--artex .product-packshot::before { background:#dbe7c6; }
.product-packshot img { width:min(580px,100%); height:510px; position:relative; z-index:2; object-fit:contain; filter:drop-shadow(0 28px 25px rgba(48,47,41,.18)); }
.product-orbit { width:540px; height:540px; position:absolute; z-index:1; border:1px solid rgba(32,32,30,.14); border-radius:50%; }
.product-facts { padding:0 max(20px,calc((100% - 1240px)/2)) 100px; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#f7f4ee; }
.product-facts article { min-height:210px; padding:30px; display:flex; flex-direction:column; background:#fff; }
.product-facts span { color:#c35e49; font-size:11px; font-weight:900; }
.product-facts strong { margin-top:auto; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:500; }
.product-facts p { margin:10px 0 0; color:#77756d; font-size:12px; line-height:1.5; }
.product-detail { padding:clamp(80px,10vw,140px) max(20px,calc((100% - 1240px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:80px; background:#e7eee9; }
.product-page--artex .product-detail { background:#edf0df; }
.product-detail h2 { max-width:620px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(43px,5vw,67px); line-height:1; font-weight:500; letter-spacing:-.05em; }
.product-detail > div:last-child { color:#5f635d; font-size:15px; line-height:1.7; }
.product-detail ul { margin:30px 0 0; padding:0; list-style:none; border-top:1px solid rgba(32,32,30,.18); }
.product-detail li { padding:15px 0; border-bottom:1px solid rgba(32,32,30,.18); }

.product-feature-list { width:min(1240px,calc(100% - 40px)); margin:0 auto 82px; padding:32px 42px; border-radius:20px; background:#fff; box-shadow:0 18px 50px rgba(32,32,30,.08); }
.product-feature-list ul { margin:0; padding-left:22px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:70px; row-gap:17px; }
.product-feature-list li { padding-left:5px; color:#5f5e58; font-size:14px; line-height:1.5; }
.product-feature-list li::marker { color:#df6e54; }
.product-feature-list strong { color:#20201e; font-weight:800; }

.related-products { padding:20px max(20px,calc((100% - 1240px)/2)) 100px; background:#f7f4ee; }
.related-products > header { margin-bottom:30px; }
.related-products > header h2 { margin:8px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(38px,4.5vw,58px); font-weight:500; letter-spacing:-.045em; }
.related-products-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.related-products-grid > a { min-width:0; overflow:hidden; border-radius:18px; color:#20201e; background:#fff; text-decoration:none; box-shadow:0 14px 36px rgba(32,32,30,.07); transition:transform 180ms ease,box-shadow 180ms ease; }
.related-products-grid > a:hover { transform:translateY(-4px); box-shadow:0 20px 44px rgba(32,32,30,.12); }
.related-products-grid img { width:100%; height:205px; display:block; object-fit:contain; background:#eeeae1; }
.related-products-grid > a:last-child img { object-fit:cover; }
.related-products-grid div { padding:22px; }
.related-products-grid span { color:#a94737; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.related-products-grid h3 { margin:9px 0 8px; font-size:19px; letter-spacing:-.03em; }
.related-products-grid p { margin:0; color:#6b6962; font-size:12px; line-height:1.5; }

.catalogue-product-page { background:#f7f4ee; }
.catalogue-product-hero { width:min(1160px,calc(100% - 40px)); min-height:650px; margin:0 auto; padding:60px 0; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; }
.catalogue-product-copy h1 { margin:0; font-size:clamp(65px,8vw,112px); line-height:.82; letter-spacing:-.07em; }
.catalogue-product-copy h2 { margin:34px 0 16px; font-family:Georgia,"Times New Roman",serif; font-size:29px; font-weight:500; line-height:1.12; }
.catalogue-product-copy > p:last-child { max-width:600px; color:#66645e; font-size:15px; line-height:1.7; }
.catalogue-product-packshot { min-height:520px; position:relative; display:grid; place-items:center; }
.catalogue-product-packshot span { width:430px; height:430px; position:absolute; border-radius:50%; background:#e2e9da; }
.catalogue-product-page--fungitex .catalogue-product-packshot span { background:#e0e9ec; }
.catalogue-product-page--proplastex .catalogue-product-packshot span { background:#e9ddd3; }
.catalogue-product-page--artakryl .catalogue-product-packshot span { background:#e7d8ce; }
.catalogue-product-packshot img { width:min(520px,100%); height:480px; position:relative; object-fit:contain; filter:drop-shadow(0 25px 24px rgba(48,47,41,.17)); }

.accessories-page { background:#f7f4ee; }
.accessories-hero { width:min(1320px,calc(100% - 40px)); min-height:660px; margin:0 auto 90px; position:relative; overflow:hidden; border-radius:28px; }
.accessories-hero > img { width:100%; height:100%; position:absolute; object-fit:cover; }
.accessories-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(247,244,238,.95) 0%,rgba(247,244,238,.77) 38%,rgba(247,244,238,.05) 68%); }
.accessories-hero > div { max-width:620px; padding:90px 70px; position:relative; z-index:1; }
.accessories-hero h1 { margin:0; font-size:clamp(66px,8vw,112px); line-height:.84; letter-spacing:-.07em; }
.accessories-hero p:last-child { max-width:520px; margin-top:30px; color:#575650; line-height:1.7; }
.accessories-categories { padding:0 max(20px,calc((100% - 1240px)/2)) 110px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; }
.accessories-categories article { min-height:250px; padding:30px; background:#fff; }
.accessories-categories span { color:#df6e54; font-size:11px; font-weight:900; }
.accessories-categories h2 { margin:70px 0 12px; font-family:Georgia,"Times New Roman",serif; font-size:24px; font-weight:500; }
.accessories-categories p { margin:0; color:#6c6a63; font-size:13px; line-height:1.6; }
.accessories-detail { padding:90px max(20px,calc((100% - 1240px)/2)); display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:70px; background:#e8eee8; }
.accessories-detail h2 { margin:8px 0 20px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(43px,5vw,66px); line-height:.96; font-weight:500; letter-spacing:-.05em; }
.accessories-detail p:last-child { color:#5f635d; line-height:1.7; }
.accessories-detail img { width:100%; border-radius:24px; box-shadow:0 24px 60px rgba(32,32,30,.14); }

.contacts-page { background:#f7f4ee; }
.contacts-main { padding:80px max(20px,calc((100% - 1240px)/2)) 120px; }
.contacts-intro { max-width:940px; margin-bottom:65px; }
.contacts-intro h1 { margin:10px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(55px,7vw,96px); line-height:.91; font-weight:500; letter-spacing:-.065em; }
.contacts-columns { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
.contacts-column { min-width:0; padding:45px; border-radius:26px; }
.contacts-column--shops { background:#fff; }
.contacts-column--visit { color:#f7f4ee; background:radial-gradient(circle at 90% 5%,rgba(223,110,84,.25),transparent 28%),#2f4350; }
.contacts-column-heading > span { color:#df6e54; font-size:11px; font-weight:900; letter-spacing:.14em; }
.contacts-column-heading h2 { max-width:500px; margin:18px 0 14px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(35px,4vw,53px); line-height:1; font-weight:500; letter-spacing:-.045em; }
.contacts-column-heading > p { max-width:520px; margin:0; color:#77746d; font-size:14px; line-height:1.7; }
.contacts-column--visit .contacts-column-heading > p { color:#c6d0ce; }
.shop-list { margin-top:38px; display:grid; gap:12px; }
.shop-list article { padding:24px; display:grid; grid-template-columns:1fr auto; gap:8px 20px; border:1px solid #e2ddd4; border-radius:16px; background:#faf8f3; }
.shop-list article > div { grid-column:1/-1; }
.shop-list span { color:#b3503e; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.shop-list h3 { margin:7px 0 2px; font-size:18px; letter-spacing:-.025em; }
.shop-list p { margin:0; color:#7a776f; font-size:12px; }
.shop-list .shop-service { width:fit-content; margin-top:10px; padding:6px 9px; display:block; border-radius:999px; color:#2f6548; background:#dfeee3; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.shop-list a { width:fit-content; color:#2f4350; font-size:12px; font-weight:800; text-decoration:none; }
.shop-list a:first-of-type { grid-column:2; grid-row:1; align-self:center; }
.shop-list .shop-hours { grid-column:1/-1; margin-top:8px; padding-top:12px; border-top:1px solid #e2ddd4; line-height:1.55; }
.home-visit-steps { margin:42px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.17); }
.home-visit-steps li { padding:20px 0; display:grid; grid-template-columns:38px 1fr; align-items:start; gap:15px; border-bottom:1px solid rgba(255,255,255,.17); }
.home-visit-steps span { color:#e5a16e; font-size:10px; font-weight:900; }
.home-visit-steps p { margin:0; color:#edf0ec; font-size:14px; line-height:1.55; }
.home-visit-price { margin-top:34px; padding:28px; border-radius:18px; color:#2d302d; background:#e4a16f; }
.home-visit-price p,.home-visit-call p { margin:0; font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.home-visit-price strong { margin:5px 0; display:block; font-family:Georgia,"Times New Roman",serif; font-size:60px; line-height:1; font-weight:500; }
.home-visit-price span { display:block; font-size:16px; font-weight:800; line-height:1.45; }
.home-visit-call span { display:block; font-size:12px; line-height:1.55; }
.home-visit-call { margin-top:14px; padding:28px; border:1px solid rgba(255,255,255,.2); border-radius:18px; }
.home-visit-call a { margin:8px 0 9px; display:block; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:35px; text-decoration:none; }
.home-visit-call span { color:#c6d0ce; }

.spec-modal[hidden] { display:none; }
.spec-modal { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:20px; }
.spec-modal-backdrop { position:absolute; inset:0; background:rgba(20,24,24,.68); backdrop-filter:blur(8px); }
.spec-modal-card { width:min(960px,100%); max-height:min(850px,calc(100dvh - 40px)); position:relative; overflow:auto; border-radius:24px; color:#292925; background:#f8f5ee; box-shadow:0 30px 90px rgba(0,0,0,.34); }
.spec-modal-head { padding:36px 42px 30px; position:sticky; z-index:2; top:0; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #ded9cf; background:rgba(248,245,238,.96); backdrop-filter:blur(10px); }
.spec-modal-head p { margin:0 0 6px; color:#a94737; font-size:10px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.spec-modal-head h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:38px; font-weight:500; letter-spacing:-.04em; }
.spec-modal-close { width:42px; height:42px; flex:none; border:0; border-radius:50%; color:#fff; background:#20201e; font-size:25px; cursor:pointer; }
.spec-content { padding:34px 42px 44px; display:grid; gap:34px; }
.spec-lead { margin:0; color:#5f5e58; font-size:15px; line-height:1.7; }
.spec-section { padding-top:28px; border-top:1px solid #ded9cf; }
.spec-section h3 { margin:0 0 17px; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:500; }
.spec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid #ded9cf; background:#ded9cf; }
.spec-grid div { min-height:66px; padding:14px 16px; background:#fff; }
.spec-grid strong,.spec-grid span { display:block; }
.spec-grid strong { font-size:11px; }
.spec-grid span { margin-top:5px; color:#6e6c65; font-size:12px; line-height:1.45; }
.spec-section ul { margin:0; padding-left:20px; color:#5f5e58; font-size:13px; line-height:1.7; }
.spec-source { width:fit-content; color:#20201e; font-size:12px; font-weight:800; text-underline-offset:4px; }

@media(max-width:800px){
  .site-header--floating { position:relative; }
  .home-hero { min-height:760px; align-items:flex-end; }
  .home-hero-image { object-position:64% center; }
  .home-hero-overlay { background:linear-gradient(0deg,rgba(250,246,237,.98) 0%,rgba(250,246,237,.85) 42%,rgba(250,246,237,.04) 75%); }
  .home-hero-content { padding:330px 0 90px; }
  .home-hero h1 { font-size:65px; }
  .home-product-grid,.product-hero,.product-detail { grid-template-columns:1fr; }
  .home-product-card { min-height:500px; padding:30px; }
  .home-product-card > div { max-width:65%; }
  .home-product-card img { width:70%; height:65%; }
  .site-footer { grid-template-columns:1fr; text-align:center; justify-items:center; }
  .showcase-footer { padding:42px 16px; }
  .showcase-footer-top { padding:30px 32px 26px; }
  .showcase-footer-brand { grid-template-columns:170px 1fr; }
  .showcase-footer-brand > a { grid-column:2; }
  .showcase-footer-meta { margin:0 32px; }
  .showcase-footer-image { height:220px; }
  .product-hero { padding-top:50px; }
  .product-packshot { min-height:440px; }
  .product-packshot::before { width:350px; height:350px; }
  .product-orbit { width:390px; height:390px; }
  .product-packshot img { height:400px; }
  .product-facts { grid-template-columns:repeat(2,1fr); }
  .product-feature-list ul { column-gap:35px; }
  .related-products-grid,.accessories-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalogue-product-hero,.accessories-detail { grid-template-columns:1fr; }
  .contacts-columns { grid-template-columns:1fr; }
  .accessories-hero > div { padding:70px 45px; }
}
@media(min-width:801px) and (max-width:1050px){
  .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-product-card--artakryl { grid-column:1/-1; }
}
@media(max-width:560px){
  .brand-logo--new { width:145px; height:auto; }
  .brand-logo--home { width:174px; }
  .site-header { width:calc(100% - 24px); }
  .site-nav { gap:2px; overflow-x:auto; }
  .site-nav a { white-space:nowrap; }
  .home-hero-content { width:calc(100% - 28px); }
  .home-hero h1 { font-size:52px; }
  .home-lead { font-size:15px; }
  .home-colour-ribbon { display:none; }
  .home-product-card { min-height:460px; }
  .home-product-card > div { max-width:90%; }
  .home-product-card img { opacity:.72; }
  .showcase-footer-panel { border-radius:20px; }
  .showcase-footer-top { padding:28px 25px 24px; }
  .showcase-footer-brand { grid-template-columns:1fr; gap:16px; }
  .showcase-footer-brand > a { grid-column:auto; }
  .showcase-footer-meta { margin:0 25px; flex-direction:column; gap:6px; }
  .showcase-footer-image { height:180px; }
  .product-actions { align-items:flex-start; flex-direction:column; gap:0; }
  .product-facts { grid-template-columns:1fr; }
  .product-facts article { min-height:165px; }
  .product-feature-list { padding:25px 28px; }
  .product-feature-list ul { grid-template-columns:1fr; row-gap:13px; }
  .spec-modal { padding:10px; }
  .spec-modal-head { padding:24px; }
  .spec-modal-head h2 { font-size:30px; }
  .spec-content { padding:26px 24px 34px; }
  .spec-grid { grid-template-columns:1fr; }
  .related-products-grid,.accessories-categories { grid-template-columns:1fr; }
  .catalogue-product-hero { padding-top:45px; gap:15px; }
  .catalogue-product-packshot { min-height:390px; }
  .catalogue-product-packshot span { width:320px; height:320px; }
  .catalogue-product-packshot img { height:360px; }
  .accessories-hero { min-height:700px; }
  .accessories-hero::after { background:linear-gradient(0deg,rgba(247,244,238,.98) 0%,rgba(247,244,238,.85) 52%,rgba(247,244,238,.08) 82%); }
  .accessories-hero > div { padding:340px 25px 45px; }
  .accessories-hero h1 { font-size:55px; }
  .contacts-main { padding-top:50px; }
  .contacts-column { padding:30px 24px; }
  .shop-list article { grid-template-columns:1fr; }
  .shop-list article > div,.shop-list a:first-of-type,.shop-list .shop-hours { grid-column:1; grid-row:auto; }
  .home-visit-call a { font-size:30px; }
}
