/* AGÁT public stylesheet — canonical source */
:root {
  --red: #df1f2f;
  --red-dark: #b81724;
  --ink: #101114;
  --ink-2: #25272b;
  --muted: #676b72;
  --paper: #f3f2ee;
  --paper-2: #e9e6df;
  --white: #fff;
  --line: rgba(16,17,20,.14);
  --line-light: rgba(255,255,255,.2);
  --shadow: 0 30px 90px rgba(16,17,20,.12);
  --sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --container: 1360px;
  --gutter: clamp(20px, 3.4vw, 54px);
  --section: clamp(84px, 9vw, 142px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  font-kerning: normal;
}
body.is-locked { overflow: hidden; }
img { display: block; width: 100%; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
::selection { background: var(--red); color: #fff; }
.shell { width: min(calc(100% - var(--gutter) * 2), var(--container)); margin-inline: auto; }
.section { padding-block: var(--section); }
.section--white { background: #fff; }
.section--dark { background: var(--ink); color: #fff; }
.section--warm { background: var(--paper-2); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
  line-height: 1.25;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.eyebrow::before { width: 22px; height: 1px; background: currentColor; content: ""; }
.eyebrow--red { color: var(--red); }
.eyebrow--light { color: rgba(255,255,255,.72); }
.display,
.h1,
.h2,
.h3 { margin: 0; font-weight: 560; text-wrap: balance; }
.display { font-size: clamp(54px, 7.1vw, 110px); letter-spacing: -.055em; line-height: .94; }
.h1 { font-size: clamp(48px, 5.8vw, 86px); letter-spacing: -.05em; line-height: .98; }
.h2 { font-size: clamp(38px, 4.1vw, 62px); letter-spacing: -.02em; line-height: 1.03; }
.h3 { font-size: clamp(25px, 2.2vw, 34px); letter-spacing: -.028em; line-height: 1.12; }
.serif { font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; }
.lead { margin: 0; color: var(--muted); font-size: clamp(17px, 1.45vw, 21px); line-height: 1.62; }
.small { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.meta { color: var(--muted); font-size: 11px; font-weight: 720; line-height: 1.25; letter-spacing: .075em; text-transform: uppercase; }
.btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border: 1px solid currentColor;
  padding: 0 22px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .01em;
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}
.btn::after { content: "↗"; font-size: 16px; font-weight: 400; }
.btn:hover { transform: translateY(-2px); background: var(--ink); color: #fff; }
.btn--red { border-color: var(--red); background: var(--red); color: #fff; }
.btn--red:hover { border-color: var(--red-dark); background: var(--red-dark); }
.btn--light { border-color: rgba(255,255,255,.7); color: #fff; }
.btn--light:hover { border-color: #fff; background: #fff; color: var(--ink); }
.btn--dark { border-color: var(--ink); background: var(--ink); color: #fff; }
.btn--dark:hover { border-color: var(--red); background: var(--red); }
.text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; }
.text-link::after { content: "→"; font-size: 17px; transition: transform .2s ease; }
.text-link:hover::after { transform: translateX(5px); }
.section-head { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: clamp(28px, 7vw, 100px); align-items: end; margin-bottom: clamp(38px, 5vw, 72px); }
.section-head .lead { max-width: 520px; justify-self: end; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
/* Shared resilient video background */
.video-bg { position: absolute; inset: 0; overflow: hidden; pointer-events: none; opacity: 0; transition: opacity .8s ease; }
.video-bg.is-playing { opacity: 1; }
.video-bg.is-unavailable { display: block; opacity: 1; background-size: cover; background-position: center; background-repeat: no-repeat; }
.video-bg iframe { position: absolute; top: 50%; left: 50%; width: 177.78vh !important; min-width: 100%; height: 56.25vw !important; min-height: 100%; transform: translate(-50%, -50%) scale(1.16); border: 0; pointer-events: none; }
/* Shared desktop navigation primitives */
.brand { display: inline-flex; align-items: center; position: relative; z-index: 2; }
.brand img { width: 144px; height: auto; }
.nav-list { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 1.9vw, 30px); }
.nav-node { position: relative; }
.nav-anchor {
  position: relative;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 5px;
  padding: 0 1px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.nav-anchor > span { position: relative; display: inline-block; }
.nav-anchor > span::after {
  position: absolute;
  right: 100%;
  bottom: -8px;
  left: 0;
  height: 1px;
  background: var(--red);
  content: "";
  transition: right .24s ease;
}
.nav-anchor:hover > span::after,
.nav-anchor:focus-visible > span::after { right: 0; }
.nav-node.has-popover > .nav-anchor::after { margin-top: -2px; font-size: 12px; }
.nav-popover {
  position: absolute;
  left: 50%;
  width: 580px;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 12px);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.98);
  box-shadow: var(--shadow);
  padding: 26px;
  color: var(--ink);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.nav-node:hover .nav-popover,
.nav-node:focus-within .nav-popover { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.nav-popover--small { width: 320px; }
.nav-popover-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 4px 22px; }
.nav-popover--small .nav-popover-grid { grid-template-columns: 1fr; }
.nav-popover a { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); padding: 12px 0; font-size: 14px; font-weight: 620; }
.nav-popover a::after { content: "↗"; color: var(--muted); }
.menu-button { display: none; width: 48px; height: 48px; border: 1px solid currentColor; background: transparent; cursor: pointer; }
.menu-button i { display: block; width: 20px; height: 1px; margin: 5px auto; background: currentColor; transition: .25s ease; }
.mobile-panel { position: fixed; z-index: 200; inset: 0; display: none; overflow: hidden; background: #f4f2ed; color: var(--ink); }
.mobile-panel.is-open { display: block; }
.mobile-panel-close { position: absolute; z-index: 3; top: 18px; right: var(--gutter); width: 42px; height: 42px; border: 1px solid rgba(16,17,20,.16); border-radius: 50%; background: rgba(255,255,255,.54); color: var(--ink); font-size: 22px; line-height: 1; cursor: pointer; }
.mobile-menu-shell { height: 100%; padding: max(86px,calc(env(safe-area-inset-top) + 72px)) var(--gutter) max(20px,env(safe-area-inset-bottom)); }
.mobile-menu-screen { height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.mobile-menu-screen::-webkit-scrollbar { display: none; }
.mobile-menu-screen[hidden] { display: none !important; }
.mobile-menu-screen--root { display: flex; flex-direction: column; }
.mobile-menu-list { display: grid; border-top: 1px solid rgba(16,17,20,.10); }
.mobile-menu-row { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 20px; width: 100%; border: 0; border-bottom: 1px solid rgba(16,17,20,.10); padding: 0; background: transparent; color: var(--ink); font: inherit; font-size: 17px; font-weight: 590; letter-spacing: -.018em; text-align: left; cursor: pointer; }
.mobile-menu-row > span:last-child { flex: 0 0 auto; color: rgba(16,17,20,.34); font-size: 15px; font-weight: 450; }
.mobile-menu-row--button > span:first-child { min-width: 0; }
.mobile-menu-split { display: grid; grid-template-columns: minmax(0,1fr) 52px; min-height: 52px; border-bottom: 1px solid rgba(16,17,20,.10); }
.mobile-menu-split__link { display: flex; min-width: 0; align-items: center; color: var(--ink); font-size: 17px; font-weight: 590; letter-spacing: -.018em; }
.mobile-menu-split__button { display: grid; place-items: center; border: 0; border-left: 1px solid rgba(16,17,20,.08); background: transparent; color: rgba(16,17,20,.34); font: inherit; font-size: 15px; cursor: pointer; }
.mobile-menu-split__button:active { background: rgba(16,17,20,.045); }
.mobile-menu-cta { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding: 0 18px; background: var(--red); color: #fff; font-size: 15px; font-weight: 660; letter-spacing: -.01em; }
.mobile-menu-cta span { font-size: 17px; }
.mobile-menu-back { display: inline-flex; align-items: center; gap: 9px; min-height: 34px; border: 0; padding: 0; background: transparent; color: #68696c; font-size: 12px; font-weight: 650; letter-spacing: .02em; text-transform: uppercase; cursor: pointer; }
.mobile-menu-title { margin: 20px 0 24px; font-size: clamp(34px,9vw,46px); font-weight: 560; letter-spacing: -.045em; line-height: .96; }
.mobile-menu-list--sub .mobile-menu-row { min-height: 50px; font-size: 16px; font-weight: 570; }

/* Shared footer */
.footer { background: #0e0f11; color: #fff; padding: 64px 0 28px; }
.footer-grid { display: grid; grid-template-columns: 1.8fr repeat(4,1fr); gap: 34px; }
.footer b { display: block; margin-bottom: 14px; font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.footer a, .footer span { display: block; margin: 7px 0; color: rgba(255,255,255,.62); font-size: 13px; }
.footer-bottom { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 20px; border-top: 1px solid var(--line-light); margin-top: 46px; padding-top: 22px; color: rgba(255,255,255,.45); font-size: 12px; }
.footer-bottom > :first-child { justify-self: start; }
.footer-bottom > :last-child { justify-self: end; }
.footer-bottom > .footer-legal { justify-self: center; }
.footer-bottom > .copy { display: flex; align-items: center; }
.footer-bottom > .copy [data-company-field="site_title_brand"] { display: inline; margin: 0; }
.footer .footer-legal { flex-wrap: wrap; justify-content: center; row-gap: 6px; }
.footer .footer-legal > * { position: relative; }
.footer .footer-legal > * + *::before { content: "·"; position: absolute; left: -7px; color: rgba(255,255,255,.25); }
.footer .footer-company-id { display: inline-flex; align-items: baseline; gap: 4px; margin: 0; white-space: nowrap; }
.footer .footer-company-id i { color: inherit; font-style: normal; }
.footer-brand-social { margin-top: 24px; }
.footer .footer-brand-social > span { margin: 0 0 9px; color: rgba(255,255,255,.38); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.footer .footer-brand-social > div { display: flex; flex-wrap: wrap; gap: 7px 14px; }
.footer .footer-brand-social a { display: inline-flex; align-items: center; gap: 5px; margin: 0; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 650; }
.footer .footer-brand-social a i { color: rgba(255,255,255,.35); font-size: 10px; font-style: normal; transition: transform .2s ease,color .2s ease; }
.footer .footer-brand-social a:hover { color: #fff; }
.footer .footer-brand-social a:hover i { color: var(--red); transform: translate(2px,-2px); }
.footer-contact-line { display: flex; align-items: center; justify-content: space-between; gap: 18px 30px; flex-wrap: wrap; margin-top: 30px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 20px; }
.footer-contact-line__address { display: flex; align-items: center; gap: 8px 16px; flex-wrap: wrap; min-width: 0; }
.footer .footer-contact-line__address > strong { margin: 0; color: #fff; font-size: 12px; font-weight: 700; }
.footer .footer-contact-line__address > span { margin: 0; color: rgba(255,255,255,.76); font-size: 12px; font-weight: 620; }
.footer-contact-line__address nav, .footer-contact-line__facts { display: flex; align-items: center; gap: 7px 14px; flex-wrap: wrap; }
.footer-contact-line__address nav[hidden], .footer-contact-line__address a[hidden] { display: none !important; }
.footer .footer-contact-line a { display: inline-flex; align-items: center; gap: 4px; margin: 0; color: rgba(255,255,255,.58); font-size: 12px; }
.footer .footer-contact-line a:hover { color: #fff; }
.footer .footer-contact-line a i { font-size: 9px; font-style: normal; opacity: .55; }
.footer .footer-contact-line__facts > span { display: inline-flex; align-items: baseline; gap: 4px; margin: 0; color: rgba(255,255,255,.4); font-size: 11px; white-space: nowrap; }
.footer .footer-contact-line__facts a, .footer .footer-contact-line__facts i { color: rgba(255,255,255,.7); font-style: normal; font-weight: 620; }
.footer-contact-line + .footer-bottom { margin-top: 18px; }
@media (max-width: 1040px) {
  .nav-list { display: none; }
  .menu-button { display: block; }
  .section-head { grid-template-columns: 1fr; }
  .section-head .lead { justify-self: start; }
}
@media (max-width: 760px) {
  :root { --gutter: 20px; --section: 76px; }
  .display { font-size: clamp(48px, 14vw, 66px); }
  .h1 { font-size: clamp(44px, 12vw, 60px); }
  .h2 { font-size: clamp(34px, 9vw, 48px); }
  .lead { font-size: 17px; line-height: 1.58; }
  .footer-bottom { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .footer-bottom > :first-child, .footer-bottom > :last-child, .footer-bottom > .footer-legal { justify-self: center; }
  .footer-contact-line { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Responsive hardening — Film Atelier */
html, body { max-width: 100%; overflow-x: clip; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
@supports not (overflow: clip) {
  html, body { overflow-x: hidden; }
}
@media (max-width: 560px) {
  :root { --gutter: 17px; --section: 68px; }
  .shell { width: min(calc(100% - var(--gutter) * 2), var(--container)); }
  .btn { width: 100%; min-height: 50px; padding-inline: 18px; }
  .section-head { margin-bottom: 34px; }
  .eyebrow { letter-spacing: .075em; }
  .footer { padding-top: 48px; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-bottom { margin-top: 32px; padding-top: 18px; }
}

/* Public downloads — modal only */
html.downloads-modal-open { overflow:hidden; }
.public-download-modal { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:24px; opacity:0; visibility:hidden; transition:opacity .22s ease, visibility .22s ease; }
.public-download-modal.is-open { opacity:1; visibility:visible; }
.public-download-modal__backdrop { position:absolute; inset:0; background:rgba(16,17,20,.62); backdrop-filter:blur(8px); }
.public-download-modal__dialog { position:relative; width:min(760px,100%); max-height:min(760px,calc(100vh - 48px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(255,255,255,.18); background:#f8f6f2; box-shadow:0 38px 120px rgba(0,0,0,.34); transform:translateY(18px) scale(.985); transition:transform .24s ease; }
.public-download-modal.is-open .public-download-modal__dialog { transform:none; }
.public-download-modal__dialog>header { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; border-bottom:1px solid var(--line); padding:28px 30px 24px; }
.public-download-modal__dialog>header span { color:var(--red); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.public-download-modal__dialog>header h2 { margin:5px 0 0; font-size:clamp(36px,5vw,58px); line-height:.95; letter-spacing:-.055em; font-weight:560; }
.public-download-modal__dialog>header button { width:42px; height:42px; flex:0 0 42px; border:1px solid var(--line); background:transparent; color:var(--ink); font:300 27px/1 inherit; cursor:pointer; transition:.18s; }
.public-download-modal__dialog>header button:hover { border-color:var(--ink); background:var(--ink); color:#fff; }
.public-download-modal__body { min-height:0; overflow:auto; padding:0 30px; }
.public-download-modal__intro { display:flex; justify-content:space-between; gap:30px; align-items:end; border-bottom:1px solid var(--line); padding:22px 0 18px; }
.public-download-modal__intro p { max-width:520px; margin:0; color:var(--muted); line-height:1.55; }
.public-download-modal__intro span { color:var(--muted); font-size:11px; white-space:nowrap; }
.public-download-list { display:grid; }
.public-download-item { display:grid; grid-template-columns:52px minmax(0,1fr) 28px; gap:18px; align-items:center; min-height:78px; border-bottom:1px solid var(--line); color:var(--ink); transition:padding .18s ease, color .18s ease; }
.public-download-item:hover { padding-left:8px; color:var(--red); }
.public-download-item__format { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(182,32,43,.3); color:var(--red); font-size:9px; font-weight:820; letter-spacing:.06em; }
.public-download-item__copy { min-width:0; display:grid; gap:3px; }
.public-download-item__copy strong { overflow:hidden; font-size:15px; font-weight:650; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.public-download-item__copy small { color:var(--muted); font-size:11px; }
.public-download-item>i { color:var(--red); font-size:20px; font-style:normal; text-align:right; }
.public-download-empty { padding:30px 0; color:var(--muted); }
.public-download-modal__dialog>footer { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--line); padding:20px 30px; background:#f1eee8; }
.public-download-modal__dialog>footer p { margin:0; color:var(--muted); font-size:12px; }
.public-download-modal__dialog>footer .text-link { flex:0 0 auto; }
@media(max-width:680px){
  .public-download-modal { align-items:end; padding:0; }
  .public-download-modal__dialog { width:100%; max-height:88vh; transform:translateY(32px); }
  .public-download-modal__dialog>header { padding:24px 20px 20px; }
  .public-download-modal__body { padding:0 20px; }
  .public-download-modal__intro { align-items:flex-start; flex-direction:column; gap:8px; }
  .public-download-item { grid-template-columns:44px minmax(0,1fr) 20px; gap:12px; min-height:72px; }
  .public-download-item__copy strong { white-space:normal; }
  .public-download-modal__dialog>footer { align-items:flex-start; flex-direction:column; padding:18px 20px; }
}


/* Footer: EU project notice, legal link and configurable logo */
.footer .footer-legal { display: flex; gap: 10px; align-items: center; margin: 0; }
.footer .footer-legal a { display: inline; margin: 0; }
.eu-project-dialog {
  width: min(980px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  border: 0;
  background: transparent;
  padding: 0;
}
.eu-project-dialog::backdrop { background: rgba(5,6,8,.82); backdrop-filter: blur(8px); }
.eu-project-dialog__card { position: relative; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.38); }
.eu-project-dialog__card img { display: block; width: 100%; height: auto; }
.eu-project-dialog__close {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(14,15,17,.9);
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.footer-eu-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 14px 0 0;
  padding: 18px 22px;
  background: #eef1f5;
  text-align: left;
  color: #26385b;
  font-size: 13px;
  line-height: 1.5;
}
.footer-eu-note .footer-eu-note__logos { display: grid; grid-template-columns: 283px auto; align-items: center; gap: 0; }
.footer-eu-note .footer-eu-note__logos img { display: block; object-fit: contain; }
.footer-eu-note .footer-eu-note__logos img:first-child { height: 69px; }
.footer-eu-note .footer-eu-note__logos img:nth-child(2) { width: auto; max-height: 76px; }
.footer-eu-note .footer-eu-note__copy { display: grid; gap: 4px; min-width: 0; max-width: 830px; }
.footer-eu-note .footer-eu-note__copy strong { color: #123d86; font-size: 15px; font-weight: 700; }
.footer-eu-note__copy span { color: #26385b; }
.footer-eu-note__detail { color: #123d86 !important; font-weight: 650; white-space: nowrap; text-decoration: underline; text-decoration-color: rgba(18,61,134,.4); text-underline-offset: 3px; }
.footer-eu-note:hover .footer-eu-note__detail { text-decoration-color: currentColor; }
@media (max-width: 980px) {
  .footer-eu-note { grid-template-columns: minmax(0, 1fr) auto; }
  .footer-eu-note .footer-eu-note__logos { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .footer-eu-note { grid-template-columns: 1fr; gap: 14px; padding: 16px; }
  .footer-eu-note .footer-eu-note__logos { grid-template-columns: minmax(0, 283px); width: min(100%, 283px); }
  .footer-eu-note__detail { width: fit-content; }
}

/* Shared contact / inquiry modal. Direct pages remain available as fallbacks. */
.inquiry-modal {
  position: fixed;
  z-index: 1200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}
.inquiry-modal.is-open { opacity: 1; visibility: visible; }
.inquiry-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8,9,11,.78);
  backdrop-filter: blur(12px) saturate(90%);
}
.inquiry-modal__card {
  position: relative;
  z-index: 1;
  width: min(900px, 100%);
  max-height: min(900px, calc(100svh - 32px));
  overflow: auto;
  border: 1px solid rgba(16,17,20,.1);
  background: #f6f4ef;
  padding: clamp(30px,4.5vw,56px);
  box-shadow: 0 36px 110px rgba(0,0,0,.34);
}
.inquiry-modal__card::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--red);
  content: "";
}
.inquiry-modal__close {
  position: absolute;
  z-index: 2;
  top: 18px;
  right: 18px;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(16,17,20,.16);
  border-radius: 50%;
  background: rgba(255,255,255,.55);
  color: var(--ink);
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.inquiry-modal__close:hover { border-color: rgba(16,17,20,.34); background: #fff; transform: rotate(4deg); }
.inquiry-modal__head {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(220px,.55fr);
  gap: clamp(24px,5vw,70px);
  align-items: end;
  padding: 0 58px 28px 0;
  margin-bottom: 30px;
  border-bottom: 1px solid rgba(16,17,20,.12);
}
.inquiry-modal__title { min-width: 0; }
.inquiry-modal__head h2 {
  margin: 10px 0 0;
  font-size: clamp(38px,5vw,60px);
  line-height: .96;
  letter-spacing: -.048em;
  font-weight: 560;
  text-wrap: balance;
}
.inquiry-modal__head p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.inquiry-modal form { margin: 0; }
.inquiry-modal .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.inquiry-modal .field { display: grid; gap: 8px; min-width: 0; }
.inquiry-modal .field--full { grid-column: 1 / -1; }
.inquiry-modal .field label:not(.form-honeypot) {
  color: rgba(16,17,20,.72);
  font-size: 11px;
  font-weight: 720;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.inquiry-modal .field input,
.inquiry-modal .field select,
.inquiry-modal .field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(16,17,20,.15);
  border-radius: 0;
  background: rgba(255,255,255,.84);
  padding: 15px 16px;
  color: var(--ink);
  font: inherit;
  line-height: 1.35;
  outline: none;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.inquiry-modal .field input,
.inquiry-modal .field select { min-height: 52px; }
.inquiry-modal .field textarea { min-height: 128px; resize: vertical; }
.inquiry-modal .field input:hover,
.inquiry-modal .field select:hover,
.inquiry-modal .field textarea:hover { border-color: rgba(16,17,20,.28); background: #fff; }
.inquiry-modal .field input:focus,
.inquiry-modal .field select:focus,
.inquiry-modal .field textarea:focus { border-color: var(--red); background: #fff; box-shadow: 0 0 0 3px rgba(174,27,37,.07); }
.inquiry-modal .inquiry-modal__actions {
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 10px 24px;
  padding-top: 10px;
}
.inquiry-modal__actions .btn { grid-row: 1 / span 2; align-self: stretch; min-width: 190px; }
.inquiry-modal .form-note { margin: 0; color: var(--muted); font-size: 10.5px; line-height: 1.55; }
.inquiry-modal .form-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.inquiry-modal .form-status { min-height: 0; margin: 14px 0 0; font-size: 15px; line-height: 1.5; }
.inquiry-modal .form-status.is-success,
.contact-form-panel .form-status.is-success,
.inquiry-panel .form-status.is-success,
[data-service-form] .form-status.is-success,
.form-status.is-success {
  display: grid; grid-template-columns: 42px minmax(0,1fr) 36px; gap: 4px 14px; align-items: start;
  margin: 18px 0 0; border: 1px solid #b9d9c3; border-left: 5px solid #287746; border-radius: 12px;
  background: linear-gradient(135deg,#f4fbf5,#eaf5ed); padding: 22px 24px; color: #245d38;
  font-size: 16px; line-height: 1.55; box-shadow: 0 12px 30px rgba(24,78,45,.1);
}
.form-status.is-success::before { content: '✓'; grid-row: 1 / span 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #287746; color: #fff; font-size: 22px; font-weight: 700; }
.form-status.is-success strong { grid-column: 2; grid-row: 1; align-self: center; font-size: 19px; line-height: 1.3; }
.form-status.is-success span { grid-column: 2 / 4; grid-row: 2; color: #365d43; }
.form-status__restore { position: static; grid-column: 2 / 4; grid-row: 3; justify-self: start; display: inline-flex; align-items: center; gap: 8px; width: auto; height: auto; margin-top: 8px; border: 1px solid rgba(36,93,56,.22); border-radius: 7px; background: rgba(255,255,255,.78); padding: 9px 13px; color: #245d38; font: inherit; font-size: 13px; font-weight: 700; line-height: 1.3; cursor: pointer; }
.form-status__restore:hover,.form-status__restore:focus-visible { background: #287746; color: #fff; outline: 2px solid rgba(40,119,70,.25); outline-offset: 2px; }
.form-status.is-success:focus { outline: 3px solid rgba(40,119,70,.25); outline-offset: 3px; }
.form-status.is-error { margin: 16px 0 0; border: 1px solid #efc4c4; border-left: 5px solid #bd3434; border-radius: 10px; background: #fff5f5; padding: 16px 20px; color: #9b2525; font-size: 15px; line-height: 1.5; }
.form-status.is-error:focus { outline: 3px solid rgba(189,52,52,.2); outline-offset: 3px; }
@media (max-width: 600px) {
  .form-status.is-success { grid-template-columns: 34px minmax(0,1fr) 32px; gap: 8px 10px; padding: 18px 16px; font-size: 14px; }
  .form-status.is-success::before { width: 32px; height: 32px; font-size: 19px; }
  .form-status.is-success strong { font-size: 17px; }
  .form-status.is-error { padding: 14px 16px; font-size: 14px; }
}
.contact-form-panel .form-status.is-success,
.inquiry-panel .form-status.is-success {
  margin-top: 18px;
}
.contact-form-panel form:has(.form-status.is-success) button[type="submit"],
.inquiry-panel form:has(.form-status.is-success) button[type="submit"] { opacity: .72; cursor: default; }
body.is-form-modal-open { overflow: hidden; }
@media (max-width: 700px) {
  .inquiry-modal {
    display: block;
    padding: 0;
    overflow: hidden; }
  .inquiry-modal__card {
    width: 100%;
    height: 100dvh;
    min-height: 100svh;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border: 0;
    border-radius: 0;
    padding: max(24px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));
    box-shadow: none; }
  .inquiry-modal__close {
    position: fixed;
    top: max(12px, env(safe-area-inset-top));
    right: 14px;
    width: 40px;
    height: 40px; }
  .inquiry-modal__head { grid-template-columns: 1fr; gap: 12px; padding: 0 48px 22px 0; margin-bottom: 24px; }
  .inquiry-modal__head h2 { font-size: clamp(36px,11vw,48px); }
  .inquiry-modal .form-grid { grid-template-columns: 1fr; gap: 14px; }
  .inquiry-modal .field--full { grid-column: auto; }
  .inquiry-modal .field input,
  .inquiry-modal .field select,
  .inquiry-modal .field textarea { font-size: 16px; }
  .inquiry-modal .inquiry-modal__actions { grid-template-columns: 1fr; gap: 10px; }
  .inquiry-modal__actions .btn { grid-row: auto; width: 100%; min-height: 52px; }
  .footer-eu-note { margin-top: 28px; padding-inline: 8px; }
}
.footer-eu-note span { display: inline; margin: 0; color: inherit; font-size: inherit; }
body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  line-height: 1.55;
  margin: 0; background: #f4f3ef; }
/* Floating, compact navigation */
.p1-header { position: fixed; z-index: 100; top: 18px; left: 0; width: 100%; transition: top .3s ease; }
.p1-header.is-scrolled { top: 8px; }
.p1-nav {
  margin-inline: auto;
  display: grid;
  grid-template-columns: 185px 1fr auto;
  align-items: center;
  gap: 26px;
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.p1-actions { display: flex; align-items: center; gap: 8px; }
.p1-actions .btn { min-height: 48px; }
/* Full cinematic hero */
.p1-hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #181a1c;
  color: #fff;
}
.p1-hero::before {
  position: absolute; z-index: 1; inset: 0;
  background:
    radial-gradient(ellipse at 50% 46%, rgba(4,5,6,.52) 0%, rgba(4,5,6,.34) 34%, rgba(4,5,6,.08) 70%),
    linear-gradient(180deg, rgba(4,5,6,.48), rgba(4,5,6,.18) 38%, rgba(4,5,6,.64));
  content: '';
}
.p1-hero-content { position: relative; z-index: 2; width: min(calc(100% - var(--gutter) * 2), 1040px); margin-inline: auto; padding-top: 100px; text-align: center; }
.p1-hero-content .eyebrow { color: #fff; }
.p1-hero-content .eyebrow::before { display: none; }
.p1-hero-content .eyebrow,
#p1-title,
#p1-title + p {
  color: #fff;
  text-shadow: 0 0 18px rgba(0,0,0,1);
}

.p1-hero.agat-hero-shadow-off .p1-hero-content .eyebrow,
.p1-hero.agat-hero-shadow-off #p1-title,
.p1-hero.agat-hero-shadow-off #p1-title + p { text-shadow: none; }

.p1-hero h1 { max-width: 900px; margin: 22px auto 24px; font-size: clamp(58px, 7.8vw, 112px); font-weight: 520; letter-spacing: -.02em; line-height: .92; text-wrap: balance; }
.p1-hero p { max-width: 690px; margin: 0 auto; font-size: clamp(18px,1.5vw,22px); line-height: 1.55; }
.p1-hero-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 34px; }
.p1-hero-meta { position: absolute; z-index: 2; right: var(--gutter); bottom: 28px; display: flex; align-items: center; gap: 22px; color: rgba(255,255,255,.82); font-size: 12px; text-shadow:0 1px 10px rgba(0,0,0,.72); }
.p1-video-link { display: inline-flex; align-items: center; gap: 11px; }
.p1-video-link[hidden] { display: none !important; }
.p1-video-link i { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font-style: normal; font-size: 10px; }
/* Proof strip */
.p1-proof { border-bottom: 1px solid var(--line); background: #fff; }
.p1-proof-grid { display: grid; grid-template-columns: 1.35fr repeat(3,1fr); }
.p1-proof-cell { min-height: 150px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); padding: 26px 34px; }
.p1-proof-cell:last-child { border-right: 0; }
.p1-proof-cell strong { margin-bottom: 7px; font-size: 18px; font-weight: 650; letter-spacing: -.02em; }
.p1-proof-cell p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.p1-proof-cell--lead p { max-width: 520px; color: var(--ink); font-size: 18px; line-height: 1.55; }
/* History */
.p1-history { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(48px,8vw,120px); align-items: center; }
.p1-history-copy .h2 { max-width: 650px; margin: 20px 0 28px; }
.p1-history-copy .lead { max-width: 590px; }
.p1-history-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 0; margin-top: 40px; border-top: 1px solid var(--line); }
.p1-history-facts div { padding: 20px 20px 0 0; }
.p1-history-facts strong { display: block; margin-bottom: 5px; font-size: 14px; }
.p1-history-facts span { color: var(--muted); font-size: 13px; }
.p1-history-visual { position: relative; }
.p1-history-visual > img { aspect-ratio: 1.15/1; object-fit: cover; }
.p1-history-card { position: absolute; right: -22px; bottom: -26px; width: min(330px,72%); background: var(--ink); color: #fff; padding: 26px; box-shadow: var(--shadow); }
.p1-history-card strong { display: block; margin-bottom: 8px; font-size: 19px; font-weight: 620; letter-spacing: -.02em; }
.p1-history-card p { margin: 0; color: rgba(255,255,255,.65); font-size: 13px; line-height: 1.55; }
/* Products */
.p1-products { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); align-items: start; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.p1-product-tabs { background: #fff; }
.p1-product-mobile-grid { display: none; }
.p1-product-mobile-card { min-width: 0; color: var(--ink); text-decoration: none; background: #fff; border: 1px solid var(--line); overflow: hidden; }
.p1-product-mobile-card img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: #ece8e2; }
.p1-product-mobile-card > span { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 13px 12px 14px; }
.p1-product-mobile-card strong { font-size: 14px; font-weight: 650; line-height: 1.2; letter-spacing: -.02em; }
.p1-product-mobile-card i { color: var(--red); font-style: normal; font-size: 18px; }

.p1-product-tab { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 14px; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 22px clamp(36px,4vw,64px); text-align: left; cursor: pointer; transition: background .2s ease, color .2s ease; }
.p1-product-tab:last-child { border-bottom: 0; }
.p1-product-tab .num { display: none; }
.p1-product-tab .name { font-size: clamp(17px,1.4vw,21px); font-weight: 620; letter-spacing: -.025em; }
.p1-product-tab .arr { color: var(--muted); transition: transform .2s ease; }
.p1-product-tab:hover, .p1-product-tab[aria-selected='true'] { background: var(--ink); color: #fff; }
.p1-product-tab:hover .num, .p1-product-tab[aria-selected='true'] .num, .p1-product-tab:hover .arr, .p1-product-tab[aria-selected='true'] .arr { color: rgba(255,255,255,.62); }
.p1-product-tab:hover .arr, .p1-product-tab[aria-selected='true'] .arr { transform: translateX(4px); }
.p1-product-stage { position: relative; align-self: start; height: clamp(520px,46vw,600px); min-height: 0; overflow: hidden; background: #111; color: #fff; }
.p1-product-stage > img { position: relative; z-index: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.p1-product-stage > img.p1-product-stage-next { position: absolute; inset: 0; z-index: 0; opacity: 0; pointer-events: none; transition: opacity .34s ease; }
.p1-product-stage > img.p1-product-stage-next.is-visible { opacity: 1; }
.p1-product-stage::after { position: absolute; z-index: 1; inset: 34% 0 0; background: linear-gradient(180deg,transparent,rgba(0,0,0,.78)); content: ''; pointer-events: none; }
.p1-stage-copy { position: absolute; z-index: 2; right: clamp(28px,5vw,72px); bottom: clamp(28px,5vw,64px); left: clamp(28px,5vw,72px); display: grid; grid-template-columns: minmax(0,1fr); gap: 22px; align-items: start; }
.p1-stage-copy .meta { color: rgba(255,255,255,.55); align-self: start; padding-top: 10px; }
.p1-stage-copy h3 { margin: 0 0 8px; font-size: clamp(34px,3.6vw,58px); font-weight: 520; letter-spacing: -.048em; line-height: 1; }
.p1-stage-copy p { max-width: 560px; margin: 0; color: rgba(255,255,255,.73); font-size: 15px; line-height: 1.6; }
.p1-stage-copy .btn { justify-self:start; white-space:nowrap; }
.p1-stage-variants { margin-top: 18px; }
.p1-stage-variants[hidden] { display: none; }
.p1-stage-variants > span { display: block; margin-bottom: 8px; color: rgba(255,255,255,.52); font-size: 10px; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.p1-stage-variants > div { display: flex; flex-wrap: wrap; gap: 7px 18px; }
.p1-stage-variants a { display: inline-flex; gap: 7px; align-items: baseline; color: rgba(255,255,255,.9); font-size: 12px; font-weight: 650; line-height: 1.35; text-decoration: none; }
.p1-stage-variants a i { color: rgba(255,255,255,.5); font-style: normal; transition: transform .2s ease; }
.p1-stage-variants a:hover i { transform: translateX(3px); }
.p1-stage-variants > div > span.is-static { display:inline-flex; align-items:baseline; color:rgba(255,255,255,.72); font-size:12px; font-weight:650; line-height:1.35; }
/* Projects exactly four */
.p1-project-top { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 34px; }
.p1-project-grid { display: grid; grid-template-columns: 1.3fr .72fr .72fr; grid-template-rows: 290px 260px; gap: 14px; }
.p1-project { position: relative; overflow: hidden; color: #fff; }
.p1-project:nth-child(1) { grid-row: 1 / 3; }
.p1-project:nth-child(2) { grid-column: 2 / 4; }
.p1-project img { height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.65,.25,1); }
.p1-project::after { position: absolute; inset: 40% 0 0; background: linear-gradient(180deg,transparent,rgba(0,0,0,.75)); content: ''; }
.p1-project:hover img { transform: scale(1.035); }
.p1-project-copy { position: absolute; z-index: 2; right: 20px; bottom: 18px; left: 20px; display: flex; justify-content: space-between; gap: 18px; align-items: end; }
.p1-project-copy strong { display: block; font-size: 19px; font-weight: 620; letter-spacing: -.02em; }
.p1-project-copy span { display: block; margin-top: 3px; color: rgba(255,255,255,.67); font-size: 12px; }
.p1-project-copy i { font-style: normal; font-size: 19px; }
.p1-project-more { display: flex; justify-content: flex-end; margin-top: 26px; }
/* Technology */
.p1-tech { display: grid; grid-template-columns: .75fr 1.1fr .85fr; gap: clamp(30px,5vw,72px); align-items: center; }
.p1-tech .h2 { margin: 20px 0 24px; }
.p1-tech-visual img { height: 500px; object-fit: contain; mix-blend-mode: multiply; }
.p1-tech-list { border-top: 1px solid var(--line); }
.p1-tech-item { display: grid; grid-template-columns: 38px 1fr; gap: 18px; border-bottom: 1px solid var(--line); padding: 20px 0; }
.p1-tech-icon { display:block; width:2px; height:32px; margin-left:14px; background:var(--red); color:transparent; font-size:0; line-height:0; }
.p1-tech-item strong { display: block; margin-bottom: 6px; font-size: 16px; }
.p1-tech-item p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
/* Services / information */
.p1-info-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.p1-info-card { display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.p1-info-card h3 { font-weight: 560; letter-spacing: -.035em; }
/* Journal */
.p1-journal { display: grid; grid-template-columns: 1.2fr .8fr; gap: 14px; }
.p1-feature-article { display: grid; grid-template-columns: 1.18fr .82fr; min-height: 440px; background: #fff; }
.p1-feature-article img { height: 100%; object-fit: cover; }
.p1-feature-copy { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(26px,4vw,50px); }
.p1-feature-copy h3 { margin: 16px 0; font-size: clamp(27px,2.4vw,39px); font-weight: 560; letter-spacing: -.04em; line-height: 1.08; }
.p1-article-list { display: grid; gap: 14px; }
.p1-article-row { display: grid; grid-template-columns: 160px 1fr; gap: 20px; align-items: center; background: #fff; padding: 14px; }
.p1-article-row img { height: 126px; object-fit: cover; }
.p1-article-row h3 { margin: 8px 0 0; font-size: 19px; font-weight: 620; letter-spacing: -.025em; line-height: 1.25; }
/* CTA */
.p1-cta { background-color:#181a1c; background-position:center; background-size:cover; background-repeat:no-repeat; }
.p1-cta::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,8,9,.86),rgba(7,8,9,.25)); content: ''; }
.p1-cta h2 { max-width: 700px; margin: 18px 0 24px; }
.p1-cta p { max-width: 540px; color: rgba(255,255,255,.7); }
@media (max-width: 1100px) {
  .p1-nav { grid-template-columns: 1fr auto; }
  .p1-nav .nav-list { display: none; }
  .p1-actions .btn { display: none; }
  .p1-proof-grid { grid-template-columns: 1fr 1fr; }
  .p1-proof-cell:nth-child(2) { border-right: 0; }
  .p1-history, .p1-tech { grid-template-columns: 1fr; }
  .p1-history-visual { max-width: 760px; }
  .p1-products { grid-template-columns: 1fr; }
  .p1-product-tabs { display: grid; grid-template-columns: repeat(2,1fr); }
  .p1-product-tab:nth-child(odd) { border-right: 1px solid var(--line); }
  .p1-stage-copy { grid-template-columns: 1fr auto; }
  .p1-stage-copy .meta { grid-column: 1/-1; }
  .p1-tech-visual img { height: 400px; }
  .p1-journal { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .p1-header { top: 10px; }
  .p1-nav { min-height: 62px; padding: 8px 9px 8px 15px; }
  .p1-hero h1 { font-size: clamp(52px,15vw,72px); }
  .p1-hero p { font-size: 17px; }
  .p1-hero-actions { flex-direction: column; align-items: center; }
  .p1-hero-actions .btn { width: min(100%,320px); }
  .p1-hero-meta { right: 20px; left: 20px; justify-content: center; }
  .p1-proof-grid { grid-template-columns: 1fr; }
  .p1-proof-cell { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .p1-history-card { right: 10px; bottom: -30px; }
  .p1-history-facts { grid-template-columns: 1fr; }
  .p1-product-tabs { grid-template-columns: 1fr; }
  .p1-product-tab:nth-child(odd) { border-right: 0; }
  .p1-product-stage, .p1-product-stage > img { min-height: 560px; }
  .p1-project-top { display: grid; }
  .p1-project:nth-child(1), .p1-project:nth-child(2) { grid-row: auto; grid-column: auto; }
  .p1-feature-article { grid-template-columns: 1fr; }
  .p1-feature-article img { height: 280px; }
  .p1-article-row { grid-template-columns: 120px 1fr; }
  .p1-article-row img { height: 110px; }
}
.p1-cta { color: #fff; overflow: hidden; align-items: center; display: grid; position: relative;
  min-height: 0;
  padding-block: clamp(112px, 10vw, 164px);
  background-position: center 54%;
}
.p1-cta .shell { z-index: 2; position: relative; display: grid; align-content: center; }
.p1-cta .lead { line-height: 1.62; }
@media (max-width: 1280px) {
  .p1-nav { grid-template-columns: 160px 1fr auto; gap: 18px; }
  .nav-list { gap: 16px; }
  .nav-anchor { font-size: 12px; }
  .p1-actions .btn { padding-inline: 16px; }
}
@media (max-width: 1040px) {
  .p1-nav { grid-template-columns: 1fr auto; }
  .p1-history-card { right: 14px; }
  .p1-project-grid { grid-template-rows: 270px 240px; }
}
@media (max-width: 860px) {
  .p1-proof-grid { grid-template-columns: 1fr 1fr; }
  .p1-proof-cell { padding-inline: 24px; }
  .p1-history { gap: 58px; }
  .p1-project-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 240px 240px; }
  .p1-project:nth-child(1) { grid-row: 1 / 3; }
  .p1-project:nth-child(2) { grid-column: 2; }
  .p1-project:nth-child(3), .p1-project:nth-child(4) { grid-column: auto; }
  .p1-tech-visual img { height: 340px; }
  .p1-info-grid { grid-template-columns: 1fr 1fr; }
  .p1-info-card:last-child { grid-column: 1 / -1; }
  .p1-journal { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .p1-nav { width: calc(100% - 16px); border-radius: 2px; }
  .p1-hero { min-height: max(690px, 100svh); }
  .p1-hero-content { padding-bottom: 90px; }
  .p1-hero h1 { max-width: 620px; margin-block: 18px 20px; line-height: .96; }
  .p1-hero p { max-width: 520px; line-height: 1.5; }
  .p1-hero-meta { bottom: 18px; }
  .p1-proof-cell { padding: 22px 0; }
  .p1-history { gap: 34px; }
  .p1-history-visual > img { aspect-ratio: 4 / 3; }
  .p1-history-card { position: static; width: 100%; margin-top: 0; padding: 22px; }
  .p1-history-facts div { padding: 17px 0; border-bottom: 1px solid var(--line); }
  .p1-product-stage { height: auto; min-height: 0; }
  .p1-product-stage > img { height: 360px; min-height: 0; }
  .p1-product-stage::after { display: none; }
  .p1-stage-copy { position: static; display: grid; grid-template-columns: 1fr; gap: 16px; padding: 24px 20px 26px; background: #111; }
  .p1-stage-copy .meta { padding-top: 0; }
  .p1-stage-copy .btn { width: 100%; }
  .p1-project-grid { grid-template-columns: 1fr; grid-template-rows: repeat(4, 238px); }
  .p1-project:nth-child(1), .p1-project:nth-child(2), .p1-project:nth-child(3), .p1-project:nth-child(4) { grid-row: auto; grid-column: auto; }
  .p1-project-copy { right: 16px; bottom: 15px; left: 16px; }
  .p1-project-more { justify-content: stretch; }
  .p1-project-more .btn { width: 100%; }
  .p1-tech { gap: 34px; }
  .p1-tech-visual img { height: 300px; }
  .p1-info-card:last-child { grid-column: auto; }
  .p1-info-card { min-height: 220px; padding: 24px 22px; }
  .p1-info-card h3 { margin-top: 54px; }
  .p1-feature-article { min-height: 0; }
  .p1-feature-copy { padding: 26px 22px 30px; }
  .p1-cta { padding-block: 84px; background-position: 62% center; }
  .p1-cta::after { background: linear-gradient(90deg, rgba(7,8,9,.9), rgba(7,8,9,.48)); }
}
@media (max-width: 560px) {
  .p1-nav { min-height: 58px; padding: 6px 7px 6px 13px; }
  .menu-button { width: 44px; height: 44px; }
  .p1-hero { min-height: max(650px, 100svh); }
  .p1-hero-content { width: calc(100% - 34px); }
  .p1-hero h1 { font-size: clamp(44px, 13.2vw, 58px); letter-spacing: -.02em; }
  .p1-hero p { font-size: 16px; }
  .p1-hero-actions { width: 100%; }
  .p1-hero-actions .btn { width: 100%; }
  .p1-hero-meta { font-size: 11px; }
  .p1-proof-grid { grid-template-columns: 1fr; }
  .p1-history-copy .h2, .p1-tech .h2 { margin-block: 16px 20px; }
  .p1-product-tab { grid-template-columns: 34px 1fr auto; padding: 17px 16px; }
  .p1-product-stage > img { height: 300px; }
  .p1-stage-copy h3 { font-size: 32px; }
  .p1-project-grid { grid-template-rows: repeat(4, 220px); }
  .p1-article-row { grid-template-columns: 1fr; gap: 12px; padding: 12px; }
  .p1-article-row img { height: 170px; }
  .p1-article-row h3 { margin: 5px 0 4px; }
  .p1-cta { padding-block: 74px 80px; }
  .p1-cta h2 { margin-block: 14px 18px; }
  .p1-cta .btn { width: 100%; }
}
.p1-header,
.p1-header.is-scrolled {
  top: 0;
}
.p1-header:not(.is-scrolled)::before {
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: 118px;
  background: linear-gradient(180deg, rgba(5,6,8,.58) 0%, rgba(5,6,8,.28) 58%, rgba(5,6,8,0) 100%);
  content: '';
  pointer-events: none;
}
.p1-nav {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 82px;
  margin: 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.3);
  background: linear-gradient(180deg, rgba(7,8,10,.42), rgba(7,8,10,.16));
  box-shadow: 0 14px 34px rgba(0,0,0,.1);
  padding: 0 var(--gutter);
}
.p1-header.is-scrolled .p1-nav {
  min-height: 72px;
  border-color: rgba(16,17,20,.1);
  background: rgba(250,249,246,.96);
  box-shadow: 0 12px 34px rgba(16,17,20,.08);
}
.p1-header:not(.is-scrolled) .nav-anchor,
.p1-header:not(.is-scrolled) .menu-button {
  color: #fff;
  text-shadow: none;
}
.p1-header:not(.is-scrolled) .menu-button {
  border-color: rgba(255,255,255,.5);
}
.p1-header:not(.is-scrolled) .p1-actions .btn--dark {
  border-color: rgba(255,255,255,.92);
  background: #fff;
  color: var(--ink);
}
.p1-header:not(.is-scrolled) .p1-actions .btn--dark:hover {
  border-color: var(--red);
  background: var(--red);
  color: #fff;
}

/* Light editorial heroes use a clean light header; shadows are reserved for photographic/dark heroes. */
body:is(.service-page,.about-page,.contact-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .p1-nav {
  border-color: rgba(16,17,20,.1);
  background: rgba(250,249,246,.94);
  box-shadow: 0 12px 34px rgba(16,17,20,.06);
}
body:is(.service-page,.about-page,.contact-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .nav-anchor,
body:is(.service-page,.about-page,.contact-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .menu-button {
  color: var(--ink);
  text-shadow: none;
}
body:is(.service-page,.about-page,.contact-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .menu-button {
  border-color: rgba(16,17,20,.3);
}
body:is(.service-page,.about-page,.contact-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .menu-button i {
  background: var(--ink);
}
body:is(.service-page,.about-page,.contact-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .p1-actions .btn--dark {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}
body:is(.service-page,.about-page,.contact-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .p1-actions .btn--dark:hover {
  border-color: var(--red);
  background: var(--red);
  color: #fff;
}
@media (min-width:1041px) {
  body:is(.service-page,.about-page,.contact-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .nav-node.has-popover:hover > .nav-anchor,
  body:is(.service-page,.about-page,.contact-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .nav-node.has-popover:focus-within > .nav-anchor {
    color: var(--red);
  }
}
.p1-header .brand img,
.p1-header .nav-anchor,
.p1-header .menu-button,
.p1-header .p1-actions .btn {
  transition: color .25s ease, background .25s ease, border-color .25s ease;
}
.nav-popover {
  top: 100%;
  margin-top: 0;
}
@media (max-width: 760px) {
  .p1-header,
  .p1-header.is-scrolled { top: 0; }
  .p1-nav,
  .p1-header.is-scrolled .p1-nav {
    width: 100%;
    min-height: 68px;
    border-radius: 0;
    padding: 0 var(--gutter);
  }
  .p1-nav .brand img { width: 122px; }
  .p1-hero-content { padding-top: 110px; }
}
@media (max-width: 560px) {
  .p1-nav,
  .p1-header.is-scrolled .p1-nav {
    min-height: 64px;
    padding-inline: 17px 12px;
  }
  .p1-nav .brand img { width: 114px; }
  .p1-hero-content { padding-top: 104px; }
}
.nav-node.has-popover > .nav-anchor::after {
  flex: 0 0 6px;
  display: block;
  width: 7px;
  height: 7px;
  margin: -4px 0 0 3px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  opacity: .55;
  transform: rotate(45deg);
  transform-origin: center;
  align-self: center;
}
.p1-history-link,
.p1-articles-link { margin-top: 28px; }
.p1-info-grid {
  border: 0;
}
.p1-info-card {
  transition: transform .32s cubic-bezier(.2,.7,.2,1), box-shadow .32s ease, border-color .32s ease, background .32s ease, color .32s ease;
}
.p1-info-card::before {
  position: absolute;
  z-index: -1;
  content: "";
  transition: transform .32s ease;
}
.p1-info-card::after {
  border: 1px solid rgba(16,17,20,.07);
  border-radius: 50%;
}
.p1-info-card:hover::after { border-color: rgba(223,31,47,.16); transform: scale(1.16); }
.p1-info-card .number { padding-top: 4px; }
.p1-info-icon {
  display: grid;
  border: 1px solid var(--line);
}
.p1-info-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.p1-info-card-body { display: block; margin-top: auto; }
.p1-info-card p { margin: 0; color: var(--muted); }
.p1-info-card:hover p { color: var(--muted); }
.p1-info-card-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid var(--line);
  font-size: 12px;
  font-weight: 700;
}
.p1-info-card-action i { font-size: 18px; font-style: normal; }
.p1-feature-excerpt { max-width: 540px; margin: 18px 0 0; color: var(--muted); font-size: 15px; line-height: 1.72; }

@media (max-width: 1040px) {
  .p1-info-grid { grid-template-columns: repeat(2,1fr); }
  .p1-info-card:last-child { grid-column: 1 / -1; }
  .p1-info-card { min-height: 290px; }
}
@media (max-width: 760px) {
  .p1-info-grid { grid-template-columns: 1fr; gap: 10px; }
  .p1-info-card,
  .p1-info-card:last-child { grid-column: auto; }
  .p1-feature-excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    font-size: 14px;
  }
}

.p1-articles-link--bottom{display:flex;justify-content:flex-end;margin-top:30px}.p1-articles-link--bottom .text-link{font-weight:700}@media(max-width:700px){.p1-articles-link--bottom{justify-content:flex-start;margin-top:22px}}

/* Shared content rhythm and media presentation */
.eyebrow {
  margin: 0;
}
.eyebrow + :is(h1,h2,h3,.display,.h1,.h2,.h3) {
  margin-top: clamp(15px,1.35vw,20px);
}
@media (max-width: 760px) {
  .eyebrow + :is(h1,h2,h3,.display,.h1,.h2,.h3) {
    margin-top: 13px;
  }
}

.p1-info-grid {
  gap: clamp(12px,1.35vw,20px);
}
.p1-info-card {
  isolation: isolate;
  overflow: hidden;
  position: relative;
  min-height: 350px;
  border: 1px solid rgba(16,17,20,.12);
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,245,240,.92));
  padding: clamp(24px,2.5vw,34px);
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
}
.p1-info-card::before {
  background: var(--red);
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  width: 4px;
  height: auto;
  transform: scaleY(0);
  transform-origin: bottom;
}
.p1-info-card::after {
  transition: transform .45s ease, border-color .3s ease;
  content: "";
  z-index: -1;
  position: absolute;
  right: -74px;
  bottom: -92px;
  width: 230px;
  height: 230px;
  border-color: rgba(16,17,20,.065);
  background: radial-gradient(circle,rgba(223,31,47,.035),transparent 67%);
}
.p1-info-card:hover {
  color: var(--ink);
  background: #fff;
  border-color: rgba(16,17,20,.2);
  box-shadow: 0 28px 76px rgba(16,17,20,.11);
  transform: translateY(-7px);
}
.p1-info-card:hover::before {
  transform: scaleY(1);
}
.p1-info-card-top {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(16,17,20,.1);
  padding-bottom: 20px;
}
.p1-info-card .number {
  min-width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}
.p1-info-card .number::after {
  width: 34px;
  height: 1px;
  margin-left: 12px;
  background: rgba(223,31,47,.42);
  content: "";
}
.p1-info-icon {
  transition: border-color .3s ease, background .3s ease;
  place-items: center;
  width: 58px;
  height: 58px;
  border-color: rgba(16,17,20,.12);
  background: rgba(255,255,255,.68);
  box-shadow: 0 10px 26px rgba(16,17,20,.055);
}
.p1-info-card:hover .p1-info-icon {
  border-color: rgba(223,31,47,.28);
  background: #fff;
  color: var(--red);
  transform: translateY(-2px);
}
.p1-info-card-body {
  padding-top: clamp(48px,5vw,76px);
}
.p1-info-card h3 {
  max-width: 330px;
  margin: 0 0 15px;
  font-size: clamp(29px,2.35vw,38px);
  line-height: 1;
}
.p1-info-card p {
  max-width: 390px;
  font-size: 14px;
  line-height: 1.72;
}
.p1-info-card-action {
  margin-top: 34px;
  border-top-color: rgba(16,17,20,.11);
  padding-top: 19px;
}
.p1-info-card-action i { transition: transform .25s ease; color: var(--red);
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(223,31,47,.24);
  border-radius: 50%;
  background: rgba(223,31,47,.045);
}
.p1-info-card:hover .p1-info-card-action i {
  border-color: var(--red);
  background: var(--red);
  color: #fff;
  transform: translateX(3px);
}
@media (max-width: 760px) {
  .p1-info-card,
  .p1-info-card:last-child {
    min-height: 300px;
    padding: 24px 22px;
  }
  .p1-info-card-body {
    padding-top: 38px;
  }
}

/* Hero media positioning is context-specific. Do not set a generic position on .agat-hero-editable. */
.detail-hero > .detail-hero-media.agat-hero-editable,
.archive-hero > .archive-hero-media.agat-hero-editable,
.blog-hero > .blog-hero-media.agat-hero-editable {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
}
.article-hero figure.agat-hero-editable,
.about-hero-media.agat-hero-editable,
.service-hero-media.agat-hero-editable,
.contact-hero-media.agat-hero-editable {
  position: relative;
}

.agat-hero-editable {
  isolation: isolate;
  background-color: #d8d3ca;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.agat-hero-editable > .agat-hero-stage {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: transparent;
}
.agat-hero-editable > .agat-hero-stage > img,
.agat-hero-editable > .agat-hero-stage > iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  object-fit: cover;
}
.agat-hero-editable > .agat-hero-stage > img {
  z-index: 0;
  opacity: 1;
}
.agat-hero-editable > .agat-hero-stage > iframe {
  z-index: 1;
  opacity: 1;
  pointer-events: none;
  transform: scale(1.14);
  transform-origin: center;
  transition: opacity .16s linear, visibility .16s linear;
}
.agat-hero-darkness {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  background: #000;
  opacity: var(--agat-hero-darkness, 0);
  pointer-events: none;
}
.video-bg > .agat-hero-darkness { z-index: 3; }
.agat-hero-slide > .agat-hero-darkness { z-index: 1; }
.agat-hero-editable.is-video-paused > .agat-hero-stage > iframe,
.agat-hero-editable.is-video-loading > .agat-hero-stage > iframe {
  visibility: hidden;
  opacity: 0;
}
.agat-hero-editable.is-hero-image-missing,
.agat-hero-stage.is-image-missing {
  background-color: #d8d3ca;
}
.detail-hero-media::after,
.archive-hero-media::after,
.blog-hero-media::after,
.about-hero-media::after {
  z-index: 2;
  pointer-events: none;
}
.detail-hero-content,
.archive-hero-content,
.blog-hero-content,
.about-hero-content,
.service-hero-copy,
.contact-hero-grid {
  position: relative;
  z-index: 3;
}
.agat-hero-stage--contain > img,
.about-hero-media--product > .agat-hero-stage > img,
.agat-hero-stage--contain .agat-hero-slide > img,
.about-hero-media--product .agat-hero-slide > img {
  object-fit: contain;
  padding: clamp(30px,5vw,72px);
  mix-blend-mode: multiply;
}

.video-bg iframe {
  transition: opacity .16s linear, visibility .16s linear;
}
.agat-hero-editable.is-video-paused .video-bg iframe,
.agat-hero-editable.is-video-loading .video-bg iframe {
  visibility: hidden;
  opacity: 0;
}

.video-bg.is-slideshow { display: block; opacity: 1; }
.video-bg > .agat-hero-slideshow,
.agat-hero-stage > .agat-hero-slideshow {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  transform: none;
}
.agat-hero-slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  overflow: hidden;
  transition: opacity var(--agat-slide-transition, 1500ms) ease;
  pointer-events: none;
}
.agat-hero-slide.is-leaving { z-index: 1; opacity: 0; }
.agat-hero-slide.is-active { z-index: 2; opacity: 1; }
.agat-hero-slide > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  will-change: transform;
}
.agat-hero-progressive-image{opacity:1;transition:opacity .28s ease}.agat-hero-progressive-image.is-upgrading{opacity:0}
.agat-hero-slideshow--zoom-out .agat-hero-slide.is-active > img {
  animation: agat-hero-zoom-out var(--agat-slide-duration, 7000ms) linear both;
}
.agat-hero-slideshow--pan .agat-hero-slide.is-active > img {
  animation: agat-hero-pan var(--agat-slide-duration, 7000ms) linear both;
}
.agat-hero-slideshow.is-paused .agat-hero-slide > img { animation-play-state: paused; }
@keyframes agat-hero-zoom-out {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}
@keyframes agat-hero-pan {
  from { transform: scale(1.06) translate3d(-1.2%,0,0); }
  to { transform: scale(1.02) translate3d(1.2%,0,0); }
}
@media (prefers-reduced-motion: reduce) {
  .agat-hero-slide { transition-duration: .01ms; }
  .agat-hero-slide > img { animation: none !important; transform: none !important; }
}
body.article-page .p1-header:not(.is-scrolled)::before { display: none; }
body.article-page .p1-header:not(.is-scrolled) .p1-nav {
  border-color: rgba(16,17,20,.1);
  background: rgba(250,249,246,.98);
  box-shadow: none;
}
body.article-page .p1-header:not(.is-scrolled) .brand img { filter: none; }
body.article-page .p1-header:not(.is-scrolled) .nav-anchor,
body.article-page .p1-header:not(.is-scrolled) .menu-button { color: var(--ink); text-shadow: none; }
body.article-page .p1-header:not(.is-scrolled) .menu-button { border-color: rgba(16,17,20,.3); }
body.article-page .p1-header:not(.is-scrolled) .menu-button i { background: var(--ink); }
body.article-page .p1-header:not(.is-scrolled) .p1-actions .btn--dark {
  border-color: var(--ink); background: var(--ink); color: #fff;
}
/* Film Atelier — product and reference detail pages */
body.detail-page { background: #f4f3ef; }
.detail-header .p1-nav { border-color: rgba(255,255,255,.36); }
.detail-hero {
  position: relative;
  min-height: min(820px, 92svh);
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #17191c;
  color: #fff;
}
.detail-hero-media,
.detail-hero-media::after { position: absolute; inset: 0; }
.detail-hero-media > .agat-hero-stage { position: absolute; inset: 0; overflow: hidden; }
.detail-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.detail-hero-media::after {
  content: '';
  background:
    linear-gradient(90deg, rgba(5,6,7,.44) 0%, rgba(5,6,7,.16) 62%, rgba(5,6,7,.08) 100%),
    linear-gradient(180deg, rgba(5,6,7,.2), rgba(5,6,7,.25) 42%, rgba(5,6,7,.88));
}
.detail-hero-content {
  position: relative;
  z-index: 2;
  padding-top: 150px;
  padding-bottom: clamp(58px, 7vw, 104px);
}
.detail-hero h1 {
  max-width: 980px;
  margin: 22px 0 22px;
  font-size: clamp(58px, 8vw, 118px);
  font-weight: 530;
  letter-spacing: -.064em;
  line-height: .91;
  text-wrap: balance;
  text-shadow: 0 2px 24px rgba(0,0,0,.52), 0 1px 3px rgba(0,0,0,.82);
}
.detail-hero-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,520px); gap: 40px; align-items: end; }
.detail-hero-intro p { margin: 0; color: rgba(255,255,255,.88); text-shadow:0 1px 14px rgba(0,0,0,.72); font-size: clamp(17px,1.45vw,21px); line-height: 1.6; }
.detail-hero.agat-hero-shadow-off h1,
.detail-hero.agat-hero-shadow-off .detail-hero-intro p,
.detail-hero.agat-hero-shadow-off .detail-breadcrumb { text-shadow: none; }
.detail-hero-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.detail-proof { background: #fff; border-bottom: 1px solid var(--line); }
.detail-proof-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(230px,100%),1fr)); }
.detail-proof-item { min-height: 136px; padding: 28px 30px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.detail-proof-item:last-child { border-right: 0; }
.detail-proof-item strong { display: block; margin-bottom: 6px; font-size: 17px; letter-spacing: -.02em; }
.detail-proof-item span { color: var(--muted); font-size: 13px; line-height: 1.55; }
.detail-intro { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(50px,8vw,120px); align-items: start; }
.detail-intro .h2 { max-width: 660px; margin: 20px 0 26px; }
.detail-intro-copy { max-width: 670px; }
.detail-intro-copy p { margin: 0 0 18px; color: var(--muted); font-size: 17px; line-height: 1.72; }
.detail-benefits { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(145px,100%),1fr)); border-top: 1px solid var(--line); margin-top: 42px; }
.detail-benefit { padding: 22px 22px 0 0; }
.detail-benefit .index { color: var(--red); font-size: 11px; font-weight: 700; }
.detail-benefit strong { display: block; margin: 10px 0 6px; font-size: 16px; }
.detail-benefit p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.detail-material { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: clamp(46px,8vw,110px); align-items: center; }
.detail-material-visual { min-height: 610px; background: #ece9e3; overflow: hidden; }
.detail-material-visual img { width: 100%; height: 100%; min-height: 610px; object-fit: cover; }
.detail-material-visual--contain img { object-fit: contain; padding: clamp(24px,5vw,70px); mix-blend-mode: multiply; }
.detail-material-copy .h2 { margin: 20px 0 24px; }
.detail-material-copy .lead { max-width: 570px; }
.detail-list { border-top: 1px solid var(--line); margin-top: 34px; }
.detail-list-item { display: grid; grid-template-columns: 40px 1fr; gap: 17px; border-bottom: 1px solid var(--line); padding: 19px 0; }
.detail-list-item > span { color: var(--red); font-size: 11px; font-weight: 700; }
.detail-list-item strong { display: block; margin-bottom: 4px; font-size: 15px; }
.detail-list-item p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.detail-variants-head { display: grid; grid-template-columns: 1fr minmax(280px,520px); gap: 40px; align-items: end; margin-bottom: clamp(36px,5vw,66px); }
.detail-variants-head .h2 { margin-top: 18px; }
.detail-variants { grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); border-left: 1px solid var(--line); }
.detail-variant { border-right: 1px solid var(--line); }
.detail-gallery { display: grid; grid-template-columns: 1.25fr .75fr .75fr; grid-template-rows: 300px 250px; gap: 14px; }
.detail-gallery figure { position: relative; margin: 0; overflow: hidden; }
.detail-gallery figure:first-child { grid-row: 1/3; }
.detail-gallery figure:nth-child(2) { grid-column: 2/4; }
.detail-gallery img { height: 100%; object-fit: cover; transition: transform .7s ease; }
.detail-gallery figure:hover img { transform: scale(1.03); }
.detail-gallery button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.detail-gallery-more{display:flex;justify-content:center;margin-top:26px}
.detail-next { display: grid; grid-template-columns: 1fr 1fr; }
.detail-next a { position: relative; min-height: 300px; display: flex; align-items: flex-end; overflow: hidden; color: #fff; padding: 34px; }
.detail-next img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.detail-next a::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 30%,rgba(0,0,0,.82)); content:''; }
.detail-next a:hover img { transform: scale(1.035); }
.detail-next-copy { position: relative; z-index: 2; display: flex; width: 100%; align-items: flex-end; justify-content: space-between; gap: 20px; }
.detail-next-copy small { display: block; color: rgba(255,255,255,.65); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.detail-next-copy strong { display: block; margin-top: 5px; font-size: 25px; font-weight: 560; letter-spacing: -.035em; }
.detail-cta .h1 { max-width: 760px; margin: 18px 0 0; font-size: clamp(44px,5.2vw,76px); line-height: .98; }
/* Reference detail */
.reference-hero h1 { max-width: 720px; }
.reference-summary { display: grid; grid-template-columns: minmax(0,.62fr) minmax(0,1.38fr); gap: clamp(50px,9vw,130px); }
.reference-facts { border-top: 1px solid var(--line); }
.reference-fact { display: grid; grid-template-columns: 120px 1fr; gap: 24px; border-bottom: 1px solid var(--line); padding: 18px 0; }
.reference-fact span { color: var(--muted); font-size: 12px; }
.reference-fact strong { font-size: 14px; }
.reference-copy .h2 { margin: 20px 0 26px; }
.reference-copy p { max-width: 760px; color: var(--muted); font-size: 18px; line-height: 1.74; }
.reference-gallery { display: grid; grid-template-columns: 1.15fr .85fr; gap: 14px; }
.reference-gallery .stack { display: grid; gap: 14px; }
.reference-gallery img { height: 100%; object-fit: cover; }
.reference-gallery > figure { min-height: 670px; margin: 0; }
.reference-gallery .stack figure { min-height: 328px; margin: 0; }
.reference-gallery-more { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:14px; }
.reference-gallery-more figure { margin:0; min-height:260px; aspect-ratio:4/3; overflow:hidden; }
.reference-gallery-more img { width:100%; height:100%; object-fit:cover; }
.reference-feature { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px,8vw,110px); align-items: center; }
.reference-feature img { min-height: 520px; object-fit: cover; }
@media (max-width: 1040px) {
  .detail-hero-intro, .detail-intro, .detail-material, .reference-summary, .reference-feature { grid-template-columns: 1fr; }
  .detail-hero-actions, .detail-cta-actions { justify-content: flex-start; }
  .detail-proof-grid { grid-template-columns: repeat(2,1fr); }
  .detail-proof-item:nth-child(2) { border-right: 0; }
  .detail-variants { grid-template-columns: repeat(2,1fr); }
  .detail-variants-head { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .detail-hero h1 { font-size: clamp(50px,14vw,70px); }
  .detail-proof-grid, .detail-benefits, .detail-variants, .detail-next, .detail-cta-grid { grid-template-columns: 1fr; }
  .detail-proof-item { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: 22px 0; }
  .detail-gallery { grid-template-columns: 1fr; }
  .detail-gallery figure:first-child, .detail-gallery figure:nth-child(2) { grid-row: auto; grid-column: auto; }
  .reference-gallery { grid-template-columns: 1fr; }
  .reference-fact { grid-template-columns: 92px 1fr; }
}
@media (max-width: 1040px) {
  .detail-hero { min-height: min(760px, 92svh); }
  .detail-cta-grid { grid-template-columns: 1fr; align-items: start; }
  .detail-cta-actions { justify-content: flex-start; }
}
@media (max-width: 760px) {
  .detail-hero { min-height: max(650px, 88svh); }
  .detail-hero-content { padding-top: 108px; padding-bottom: 42px; }
  .detail-hero h1 { margin-block: 16px 18px; line-height: .95; }
  .detail-hero-intro { gap: 24px; }
  .detail-hero-actions { width: 100%; }
  .detail-hero-actions .btn { flex: 1 1 220px; }
  .detail-intro, .detail-material, .reference-summary, .reference-feature { gap: 34px; }
  .detail-benefit { padding: 18px 0; border-bottom: 1px solid var(--line); }
  .detail-material-visual, .detail-material-visual img { min-height: 360px; }
  .detail-material-visual--contain img { padding: 24px; }
  .detail-variant { min-height: 220px; padding: 24px 22px; }
  .detail-gallery { grid-template-rows: repeat(4, 230px); }
  .detail-next a { min-height: 250px; padding: 24px 20px; }
  .detail-cta-actions .btn { width: 100%; }
  .reference-gallery > figure, .reference-gallery .stack figure { min-height: 260px; }
  .reference-feature img { min-height: 360px; }
}
@media (max-width: 560px) {
  .detail-hero { min-height: max(610px, 84svh); }
  .detail-hero-content { padding-top: 94px; padding-bottom: 34px; }
  .detail-breadcrumb { flex-wrap: wrap; font-size: 11px; }
  .detail-hero h1 { font-size: clamp(44px, 13.5vw, 58px); }
  .detail-hero-intro p { font-size: 16px; }
  .detail-hero-actions { display: grid; grid-template-columns: 1fr; }
  .detail-proof-item { padding-block: 19px; }
  .detail-intro-copy p, .reference-copy p { font-size: 16px; line-height: 1.68; }
  .detail-material-visual, .detail-material-visual img { min-height: 300px; }
  .detail-variants-head { gap: 22px; }
  .detail-gallery { grid-template-rows: repeat(4, 210px); gap: 10px; }
  .detail-next-copy strong { font-size: 22px; }
  .detail-cta { padding-block: 68px 72px; }
  .reference-fact { grid-template-columns: 1fr; gap: 4px; }
}
.detail-variants {
  display: block;
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
}
.detail-variant { flex-direction: column;
  position: relative;
  min-height: 0;
  display: grid;
  grid-template-columns: clamp(72px,8vw,124px) minmax(210px,.72fr) minmax(260px,1fr) 52px;
  align-items: center;
  gap: clamp(18px,3vw,48px);
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  padding: clamp(24px,3vw,38px) 0;
  overflow: hidden;
  transition: padding .28s ease, background .28s ease, color .28s ease;
}
.detail-variant::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: var(--red);
  content: "";
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .28s ease;
}
.detail-variant::after {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  content: "↗";
  font-size: 17px;
  transition: transform .28s ease, border-color .28s ease, background .28s ease, color .28s ease;
}
.detail-variant .num {
  color: rgba(16,17,20,.22);
  font-size: clamp(34px,4vw,58px);
  font-weight: 520;
  line-height: .9;
  letter-spacing: -.055em;
}
.detail-variant h3 {
  margin: 0;
  font-size: clamp(24px,2.5vw,38px);
  font-weight: 570;
  line-height: 1.02;
  letter-spacing: -.04em;
}
.detail-variant p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.65;
  transition: color .28s ease;
}
@media (hover:hover) {
  .detail-variant:hover {
    background: #fff;
    padding-inline: 24px;
  }
  .detail-variant:hover::before { transform: scaleY(1); }
  .detail-variant:hover::after {
    border-color: var(--ink);
    background: var(--ink);
    color: #fff;
    transform: rotate(8deg);
  }
}
@media (max-width: 860px) {
  .detail-variant {
    grid-template-columns: 72px 1fr 44px;
    gap: 18px 24px;
  }
  .detail-variant p {
    grid-column: 2 / 4;
    max-width: 620px;
  }
  .detail-variant::after { grid-column: 3; grid-row: 1; }
}
@media (max-width: 560px) {
  .detail-variant {
    grid-template-columns: 52px 1fr 38px;
    gap: 12px 16px;
    padding-block: 22px;
  }
  .detail-variant .num { font-size: 30px; }
  .detail-variant h3 { font-size: 24px; }
  .detail-variant p {
    grid-column: 1 / 4;
    padding-left: 68px;
    font-size: 14px;
  }
  .detail-variant::after { width: 36px; height: 36px; }
}
.blog-page { background: #f4f3ef; }
.blog-hero {
  position: relative;
  min-height: min(760px, 82svh);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
}
.blog-hero-media,
.blog-hero-media::after { position: absolute; inset: 0; }
.blog-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.blog-hero-media::after {
  background: linear-gradient(90deg,rgba(5,6,8,.42),rgba(5,6,8,.1) 72%),linear-gradient(180deg, rgba(5,6,8,.2) 0%, rgba(5,6,8,.24) 34%, rgba(5,6,8,.9) 100%);
  content: "";
}
.blog-hero-content { position: relative; z-index: 2; padding-top: 150px; padding-bottom: clamp(58px,7vw,96px); }
.blog-hero h1 { max-width: 980px; text-shadow:0 2px 24px rgba(0,0,0,.54),0 1px 3px rgba(0,0,0,.82); margin: 20px 0 24px; font-size: clamp(58px,7.4vw,108px); font-weight: 530; line-height: .94; letter-spacing: -.058em; }
.blog-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.88); text-shadow:0 1px 14px rgba(0,0,0,.72); font-size: clamp(18px,1.5vw,22px); line-height: 1.58; }
.blog-hero.agat-hero-shadow-off h1,
.blog-hero.agat-hero-shadow-off p { text-shadow: none; }
.blog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 46px; }
.blog-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.blog-filter { display: inline-flex; min-height: 42px; align-items: center; border: 1px solid var(--line); padding: 0 16px; color: var(--muted); font-size: 12px; font-weight: 680; }
.blog-filter.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
.blog-feature {
  display: grid;
  grid-template-columns: minmax(0,1.26fr) minmax(320px,.74fr);
  min-height: 610px;
  background: #fff;
}
.blog-feature-media { position: relative; overflow: hidden; }
.blog-feature-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.blog-feature:hover .blog-feature-media img { transform: scale(1.025); }
.blog-feature-copy { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(34px,4.6vw,72px); }
.blog-feature-copy h2 { max-width: 540px; margin: 20px 0 22px; font-size: clamp(36px,4vw,60px); font-weight: 560; line-height: 1.01; letter-spacing: -.045em; }
.blog-feature-copy p { max-width: 500px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.68; }
.blog-date { color: var(--muted); font-size: 12px; font-weight: 670; letter-spacing: .04em; text-transform: uppercase; }
.blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.blog-card { display: flex; min-height: 530px; flex-direction: column; background: #fff; overflow: hidden; }
.blog-card-media { height: 270px; overflow: hidden; }
.blog-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.blog-card:hover .blog-card-media img { transform: scale(1.035); }
.blog-card-copy { display: flex; flex: 1; flex-direction: column; padding: 28px 28px 30px; }
.blog-card h3 { margin: 18px 0 14px; font-size: clamp(24px,2.1vw,32px); font-weight: 570; line-height: 1.08; letter-spacing: -.034em; }
.blog-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.blog-card .text-link { margin-top: auto; padding-top: 26px; }
.blog-note { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(40px,8vw,120px); align-items: center; }
.blog-note-image { min-height: 500px; overflow: hidden; }
.blog-note-image img { min-height: 500px; height: 100%; object-fit: cover; }
.blog-note-copy .h2 { margin: 18px 0 24px; }
.blog-note-copy .lead { max-width: 620px; }
@media (max-width: 1040px) {
  .blog-feature { grid-template-columns: 1fr; }
  .blog-feature-media { min-height: 460px; }
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .blog-card:last-child { grid-column: 1 / -1; }
  .blog-note { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .blog-hero { min-height: max(620px,78svh); }
  .blog-hero-content { padding-top: 118px; padding-bottom: 48px; }
  .blog-hero h1 { font-size: clamp(48px,14vw,68px); }
  .blog-toolbar { align-items: flex-start; flex-direction: column; margin-bottom: 30px; }
  .blog-feature-media { min-height: 320px; }
  .blog-feature-copy { padding: 30px 22px 34px; gap: 36px; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-card:last-child { grid-column: auto; }
  .blog-card { min-height: 0; }
  .blog-card-media { height: 240px; }
  .blog-note-image, .blog-note-image img { min-height: 330px; }
}
@media (max-width: 560px) {
  .blog-hero { min-height: max(590px,76svh); }
  .blog-hero-content { padding-top: 104px; }
  .blog-hero h1 { font-size: clamp(44px,13vw,58px); }
  .blog-hero p { font-size: 16px; }
  .blog-filters { width: 100%; }
  .blog-filter { flex: 1 1 auto; justify-content: center; }
  .blog-feature-media { min-height: 270px; }
  .blog-card-media { height: 210px; }
}
/* CMS-ready content pages and interactive detail components */
button.p1-project { width: 100%; border: 0; padding: 0; text-align: left; cursor: pointer; font: inherit; }
button.p1-project:focus-visible { outline-offset: 5px; }

/* Product subcatalog: photographic variant cards + reusable variant detail template. */
.product-variant-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:34px 0 46px; }
.product-variant-card-grid:has(> :nth-child(4):last-child) { grid-template-columns:repeat(4,minmax(0,1fr)); }
.product-variant-card { position:relative; display:grid; grid-template-rows:clamp(300px,31vw,460px) auto; min-width:0; overflow:hidden; background:#fff; color:var(--ink); text-decoration:none; }
.product-variant-card__media { position:relative; min-height:280px; overflow:hidden; background:#fff; }
.product-variant-card__media::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.12)); content:""; pointer-events:none; }
.product-variant-card__media img { width:100%; height:100%; object-fit:contain; transition:transform .65s ease; }
.product-variant-card__copy { display:flex; min-height:218px; flex-direction:column; padding:28px 30px 30px; }
.product-variant-card__copy small { color:var(--red); font-size:10px; font-weight:760; letter-spacing:.08em; text-transform:uppercase; }
.product-variant-card__copy strong { margin-top:12px; font-size:clamp(26px,2.4vw,38px); font-weight:560; line-height:1.02; letter-spacing:-.04em; }
.product-variant-card__copy > span { max-width:620px; margin-top:14px; color:var(--muted); font-size:14px; line-height:1.6; }
.product-variant-card__copy i { margin-top:auto; padding-top:24px; color:var(--ink); font-size:12px; font-style:normal; font-weight:720; }
.product-variant-card:hover .product-variant-card__media img { transform:scale(1.025); }
.product-variant-card--static { cursor:default; }
.product-variant-card--static:hover .product-variant-card__media img { transform:none; }
.product-variant-comparison-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:56px 0 18px; padding-top:36px; border-top:1px solid var(--line); }
.product-variant-comparison-head strong { font-size:22px; font-weight:570; letter-spacing:-.025em; }
.product-variant-comparison-head span { max-width:560px; color:var(--muted); font-size:13px; line-height:1.55; text-align:right; }
.product-variant-page .detail-hero .eyebrow { margin-bottom:14px; }
.product-variant-intro-grid { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(48px,9vw,140px); }
.product-variant-copy { max-width:780px; }
.product-variant-copy > p:not(.lead) { margin:22px 0 0; color:var(--muted); font-size:16px; line-height:1.75; }
.product-variant-tags { margin-top:34px; }
.product-variant-technical { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.82fr); gap:clamp(46px,8vw,120px); align-items:center; }
.product-variant-technical.is-text-only { grid-template-columns:minmax(0,900px); }
.product-variant-specs { display:grid; margin:34px 0 0; border-top:1px solid var(--line); }
.product-variant-specs > div { display:grid; grid-template-columns:minmax(150px,.55fr) minmax(0,1fr); gap:24px; padding:16px 0; border-bottom:1px solid var(--line); }
.product-variant-specs dt { color:var(--muted); font-size:12px; font-weight:680; }
.product-variant-specs dd { margin:0; font-size:14px; line-height:1.5; }
.product-variant-specs dd a { color:inherit; text-decoration:underline; text-decoration-color:var(--red); text-underline-offset:3px; }
.product-variant-specs dd a[data-product-resource] {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  margin:2px 4px 2px 0;
  border:1px solid rgba(223,31,47,.3);
  background:rgba(223,31,47,.07);
  padding:6px 10px;
  color:var(--red);
  font-size:12px;
  font-weight:720;
  line-height:1.2;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.product-variant-specs dd a[data-product-resource]::after { content:'↗'; font-size:13px; line-height:1; }
.product-variant-specs dd a[data-product-resource]:hover,
.product-variant-specs dd a[data-product-resource]:focus-visible {
  border-color:var(--red);
  background:var(--red);
  color:#fff;
  transform:translateY(-1px);
}
.product-variant-tech-media-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.product-variant-tech-media { position:relative; height:clamp(260px,25vw,350px); min-height:0; margin:0; overflow:hidden; background:#ebe8e2; }
.product-variant-tech-media:only-child { grid-column:1/-1; height:clamp(320px,36vw,440px); }
.product-variant-tech-media img { width:100%; height:100%; min-height:0; object-fit:contain; padding:clamp(14px,2vw,28px); }
.product-variant-tech-media:only-child img { min-height:0; padding:clamp(22px,4vw,54px); }
.product-variant-tech-media figcaption { position:absolute; right:14px; bottom:12px; background:rgba(255,255,255,.9); padding:6px 9px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.product-variant-gallery-count { color:var(--muted); font-size:12px; font-weight:680; }
.product-variant-gallery { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:clamp(220px,24.5vw,294px); gap:14px; }
.product-variant-gallery figure { grid-column:span 4; margin:0; overflow:hidden; background:#e5e1da; }
.product-variant-gallery figure.is-featured { grid-column:span 8; grid-row:span 2; }
.product-variant-gallery button { display:block; width:100%; height:100%; border:0; padding:0; background:none; cursor:zoom-in; }
.product-variant-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.product-variant-gallery figure:hover img { transform:scale(1.025); }

.product-variant-lightbox { width:100vw; max-width:none; height:100svh; max-height:none; margin:0; border:0; padding:0; background:rgba(7,8,10,.96); color:#fff; }
.product-variant-lightbox::backdrop { background:rgba(7,8,10,.96); }
.product-variant-lightbox__stage { position:relative; display:grid; width:100%; height:100%; place-items:center; padding:72px clamp(52px,8vw,130px); }
.product-variant-lightbox__stage img { max-width:100%; max-height:calc(100svh - 144px); object-fit:contain; }
.product-variant-lightbox__close,.product-variant-lightbox__arrow { position:absolute; z-index:2; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(0,0,0,.35); color:#fff; cursor:pointer; }
.product-variant-lightbox__close { top:20px; right:20px; width:46px; height:46px; font-size:27px; }
.product-variant-lightbox__arrow { top:50%; width:48px; height:48px; font-size:22px; transform:translateY(-50%); }
.product-variant-lightbox__arrow--prev { left:22px; }.product-variant-lightbox__arrow--next { right:22px; }
.product-variant-lightbox__count { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); font-size:11px; font-weight:720; letter-spacing:.08em; }
.reference-gallery figure>button,.reference-gallery-more figure>button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.reference-gallery figure>button>img,.reference-gallery-more figure>button>img{display:block;width:100%}
.product-variant-card-grid--related { grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:0; }
.product-variant-card-grid--related:has(> :nth-child(4):last-child) { grid-template-columns:repeat(4,minmax(0,1fr)); }
.product-variant-card-grid--related .product-variant-card { grid-template-rows:240px auto; }
.product-variant-card-grid--related .product-variant-card__copy { min-height:205px; padding:24px; }
.product-variant-card-grid--related .product-variant-card__copy strong { font-size:30px; }
.product-variant-not-found { padding-top:160px; padding-bottom:120px; }
.product-variant-not-found .h1 { max-width:800px; margin:18px 0 22px; }
.product-variant-not-found .lead { max-width:640px; margin-bottom:30px; }
@media(max-width:1040px){.product-variant-card-grid,.product-variant-card-grid--related,.product-variant-card-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.product-variant-intro-grid,.product-variant-technical{grid-template-columns:1fr}.product-variant-tech-media{min-height:420px}.product-variant-tech-media img{min-height:420px}.product-variant-gallery{grid-auto-rows:clamp(220px,35vw,360px)}.product-variant-gallery figure{grid-column:span 6}.product-variant-gallery figure.is-featured{grid-column:span 12}}
@media(max-width:760px){.product-variant-card-grid,.product-variant-card-grid--related,.product-variant-card-grid:has(> :nth-child(4):last-child){grid-template-columns:1fr;margin-top:26px}.product-variant-card{grid-template-rows:280px auto}.product-variant-card__copy{min-height:190px;padding:24px 22px}.product-variant-comparison-head{align-items:flex-start;flex-direction:column;margin-top:42px}.product-variant-comparison-head span{text-align:left}.product-variant-specs>div{grid-template-columns:1fr;gap:6px}.product-variant-gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:260px}.product-variant-gallery figure,.product-variant-gallery figure:nth-child(n){grid-column:auto;grid-row:auto}.product-variant-tech-media,.product-variant-tech-media img{height:280px;min-height:0}.product-variant-tech-media:only-child,.product-variant-tech-media:only-child img{height:320px;min-height:0}}

/* Compact variant cards on phones: keep the catalogue scannable. */
@media(max-width:760px){
  .product-variant-card-grid,
  .product-variant-card-grid--related,
  .product-variant-card-grid:has(> :nth-child(4):last-child){
    grid-template-columns:1fr;
    gap:10px;
  }
  .product-variant-card{grid-template-columns:minmax(150px,42%) minmax(0,1fr);grid-template-rows:1fr;}
  .product-variant-card__media{min-height:0;aspect-ratio:4/3;align-self:self-end;}
  .product-variant-card__copy{min-height:0;padding:18px 17px;}
  .product-variant-card__copy strong{margin-top:8px;font-size:clamp(20px,6vw,28px);}
  .product-variant-card__copy > span{display:none;}
  .product-variant-card__copy i{padding-top:14px;font-size:11px;}
  .product-variant-card-grid--related .product-variant-card{grid-template-columns:minmax(150px,42%) minmax(0,1fr);grid-template-rows:1fr;}
  .product-variant-card-grid--related .product-variant-card__copy{min-height:0;padding:18px 17px;}
  .product-variant-card-grid--related .product-variant-card__copy strong{font-size:clamp(20px,6vw,28px);}
}

.variant-section { background: #efede7; }

/* Product records without their own detail page are editorial use cases,
   not variants. The same data rule works for every product category. */
.product-use-cases{overflow:hidden;background:var(--ink);color:#fff}
.product-use-cases__layout{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(42px,6vw,92px)}
.product-use-cases__copy{min-width:0}
.product-use-cases__copy .h2{max-width:620px;margin:18px 0 22px;color:#fff}
.product-use-cases__copy>.lead{max-width:610px;margin:0;color:rgba(255,255,255,.64);font-size:17px;line-height:1.68}
.product-use-cases__list{margin-top:34px;border-top:1px solid rgba(255,255,255,.16)}
.product-use-case{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.product-use-case>span{padding-top:3px;color:var(--red);font-size:10px;font-weight:780;line-height:1;letter-spacing:.08em}
.product-use-case strong{display:block;color:#fff;font-size:17px;font-weight:650;line-height:1.25}
.product-use-case p{max-width:520px;margin:6px 0 0;color:rgba(255,255,255,.56);font-size:13px;line-height:1.55}
.product-use-cases__media{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);grid-template-rows:repeat(2,minmax(210px,1fr));gap:12px;min-width:0;min-height:580px}
.product-use-cases__media figure{min-width:0;margin:0;overflow:hidden;background:#2a2927}
.product-use-cases__media figure:first-child{grid-row:1/3}
.product-use-cases__media figure:only-child{grid-column:1/3;grid-row:1/3}
.product-use-cases__media button{position:relative;display:block;width:100%;height:100%;overflow:hidden;border:0;background:transparent;padding:0;color:#fff;text-align:left;cursor:zoom-in}
.product-use-cases__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.product-use-cases__media figure:hover img,.product-use-cases__media button:focus-visible img{transform:scale(1.025)}
.product-use-cases__media button:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.product-use-cases__caption{position:absolute;z-index:1;right:0;bottom:0;left:0;display:grid;grid-template-columns:32px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:42px 16px 15px;background:linear-gradient(180deg,transparent,rgba(8,8,8,.82));text-shadow:0 1px 10px rgba(0,0,0,.45)}
.product-use-cases__caption b{color:var(--red);font-size:10px;line-height:1;letter-spacing:.08em}.product-use-cases__caption strong{font-size:14px;font-weight:680;line-height:1.25}.product-use-cases__caption i{display:grid;width:30px;height:30px;border:1px solid rgba(255,255,255,.6);border-radius:50%;place-items:center;font-size:19px;font-style:normal;font-weight:300;line-height:1}
.product-variant-lightbox__label{position:absolute;right:90px;bottom:20px;left:90px;color:#fff;font-size:13px;font-weight:650;line-height:1.3;text-align:left}
@media(max-width:1040px){.product-use-cases__layout{grid-template-columns:1fr;gap:38px}.product-use-cases__copy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:36px}.product-use-cases__copy .eyebrow,.product-use-cases__copy .h2{grid-column:1}.product-use-cases__copy>.lead,.product-use-cases__list{grid-column:2}.product-use-cases__copy>.lead{grid-row:1/3;padding-top:28px}.product-use-cases__list{grid-row:3;margin-top:24px}.product-use-cases__media{min-height:520px}}
@media(max-width:700px){.product-use-cases__copy{display:block}.product-use-cases__copy>.lead{padding-top:0}.product-use-cases__list{margin-top:28px}.product-use-cases__media{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:280px 170px;min-height:0;gap:8px}.product-use-cases__media figure:first-child{grid-column:1/3;grid-row:1}.product-use-cases__media figure:only-child{grid-row:1/3}.product-use-case{padding:15px 0}.product-use-case strong{font-size:16px}.product-use-cases__caption{grid-template-columns:24px minmax(0,1fr) 28px;gap:7px;padding:36px 10px 10px}.product-use-cases__caption strong{font-size:12px}.product-use-cases__caption i{width:28px;height:28px}.product-variant-lightbox__label{right:72px;bottom:32px;left:72px;font-size:11px;text-align:center}}
.variant-explorer { display:grid; grid-template-columns:minmax(300px,.74fr) minmax(0,1.26fr); min-height:720px; border:1px solid var(--line); background:#fff; }
.variant-nav { border-right:1px solid var(--line); }
.variant-nav-item { width:100%; display:grid; grid-template-columns:42px 1fr auto; gap:15px; align-items:start; border:0; border-bottom:1px solid var(--line); background:transparent; padding:24px 22px; text-align:left; cursor:pointer; transition:.22s ease; }
.variant-nav-item:last-child { border-bottom:0; }
.variant-nav-num { padding-top:4px; color:var(--red); font-size:11px; font-weight:720; }
.variant-nav-item strong { display:block; font-size:19px; letter-spacing:-.025em; }
.variant-nav-item small { display:block; max-width:390px; margin-top:6px; color:var(--muted); font-size:12px; line-height:1.5; }
.variant-nav-item i { padding-top:3px; color:var(--muted); font-style:normal; }
.variant-nav-item:hover,.variant-nav-item[aria-selected="true"] { background:var(--ink); color:#fff; }
.variant-nav-item:hover small,.variant-nav-item[aria-selected="true"] small,.variant-nav-item:hover i,.variant-nav-item[aria-selected="true"] i { color:rgba(255,255,255,.62); }
.variant-stage { display:grid; grid-template-rows:minmax(310px,.9fr) auto; min-width:0; }
.variant-stage-media { overflow:hidden; background:#e6e2da; }
.variant-stage-media img { width:100%; height:100%; min-height:360px; object-fit:cover; transition:opacity .2s ease,transform .6s ease; }
.variant-stage.is-changing img { opacity:.25; transform:scale(1.01); }
.variant-stage-content { padding:clamp(28px,4vw,54px); }
.variant-stage-content h3 { margin:14px 0 14px; font-size:clamp(34px,4vw,58px); line-height:.98; letter-spacing:-.05em; font-weight:560; }
.variant-stage-content>p { max-width:720px; margin:0; color:var(--muted); font-size:16px; line-height:1.65; }
.variant-tags { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 28px; }
.variant-tags span { border:1px solid var(--line); border-radius:999px; padding:7px 11px; font-size:11px; font-weight:680; }
.variant-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-top:1px solid var(--line); }
.variant-specs div { display:grid; grid-template-columns:minmax(100px,.55fr) 1fr; gap:12px; border-bottom:1px solid var(--line); padding:14px 0; }
.variant-specs div:nth-child(odd) { padding-right:22px; }
.variant-specs div:nth-child(even) { border-left:1px solid var(--line); padding-left:22px; }
.variant-specs dt { color:var(--muted); font-size:11px; }
.variant-specs dd { margin:0; font-size:12px; font-weight:620; }
.variant-stage-content > p.variant-note { margin-top:18px; font-size:11px; }
.quick-modal { position:fixed; z-index:500; inset:0; display:grid; place-items:center; opacity:0; visibility:hidden; transition:.25s ease; }
.quick-modal.is-open { opacity:1; visibility:visible; }
.quick-modal-backdrop { position:absolute; inset:0; background:rgba(7,8,10,.76); backdrop-filter:blur(10px); }
.quick-modal-card { position:relative; display:grid; background:#fff; }
.quick-modal-close { z-index:3; top:14px; right:14px; width:44px; height:44px; border:1px solid rgba(255,255,255,.55); background:rgba(0,0,0,.28); color:#fff; font-size:25px; cursor:pointer; }
.quick-modal-media img { width:100%; height:100%; object-fit:cover; }
.quick-modal-copy { display:flex; justify-content:center; padding:clamp(20px,3vw,30px); }
.quick-modal-copy h2 { margin:18px 0; font-size:clamp(42px,5vw,70px); line-height:.94; letter-spacing:-.055em; }
.quick-modal-copy>p { margin:0 0 28px; color:var(--muted); line-height:1.7; }
.quick-modal-facts { margin:0 0 32px; border-top:1px solid var(--line); }
.quick-modal-facts div { display:grid; grid-template-columns:110px 1fr; gap:16px; border-bottom:1px solid var(--line); padding:13px 0; }
.quick-modal-facts dt { color:var(--muted); font-size:11px; }
.quick-modal-facts dd { margin:0; font-size:12px; font-weight:650; }
.archive-hero { position:relative; min-height:72svh; display:grid; align-items:end; overflow:hidden; color:#fff; background:#15171a; }
.archive-hero-media,.archive-hero-media::after { position:absolute; inset:0; }
.archive-hero-media img { height:100%; object-fit:cover; }
.archive-hero-media::after { content:""; background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.1) 72%),linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.82)); }
.archive-hero-content { position:relative; z-index:2; padding-top:160px; padding-bottom:clamp(58px,8vw,105px); }
.archive-hero h1 { max-width:920px; text-shadow:0 2px 24px rgba(0,0,0,.54),0 1px 3px rgba(0,0,0,.82); margin:18px 0 22px; font-size:clamp(54px,7vw,102px); line-height:.93; letter-spacing:-.06em; font-weight:540; }
.archive-hero p { max-width:720px; margin:0; color:rgba(255,255,255,.86); text-shadow:0 1px 14px rgba(0,0,0,.72); font-size:19px; line-height:1.6; }
.archive-hero.agat-hero-shadow-off h1,
.archive-hero.agat-hero-shadow-off p { text-shadow:none; }
.archive-toolbar { display:grid; grid-template-columns:1fr minmax(280px,520px); gap:50px; align-items:end; margin-bottom:55px; }
.archive-toolbar .h2 { margin-top:18px; }
.project-archive-grid { grid-template-columns:repeat(12,1fr); grid-auto-rows:110px; gap:14px; }
.project-archive-card { grid-column:span 4; grid-row:span 4; min-height:0; }
.project-archive-card:nth-child(1),.project-archive-card:nth-child(6) { grid-column:span 7; grid-row:span 5; }
.project-archive-card:nth-child(2),.project-archive-card:nth-child(7) { grid-column:span 5; grid-row:span 3; }
.project-archive-card:nth-child(3),.project-archive-card:nth-child(8) { grid-column:span 5; grid-row:span 4; }
.project-archive-card button { width:100%; height:100%; border:0; padding:0; overflow:hidden; background:#111; color:#fff; text-align:left; cursor:pointer; }
.project-archive-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.project-archive-card button::after { position:absolute; inset:38% 0 0; content:""; background:linear-gradient(180deg,transparent,rgba(0,0,0,.78)); }
.project-archive-card button:hover img { transform:scale(1.035); }
.project-archive-overlay { position:absolute; z-index:2; display:flex; align-items:end; justify-content:space-between; gap:18px; }
.project-archive-overlay strong { display:block; font-size:23px; letter-spacing:-.03em; }
.project-archive-overlay small { display:block; margin-top:3px; color:rgba(255,255,255,.67); }
.project-archive-overlay i { font-style:normal; font-weight:300; }
.reference-product-links { display:grid; margin-top:34px; border-top:1px solid var(--line); }
.reference-product-links a { display:flex; justify-content:space-between; border-bottom:1px solid var(--line); padding:16px 0; font-weight:650; }
.related-project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.related-project-grid button { border:0; background:#fff; padding:0 0 20px; text-align:left; cursor:pointer; }
.related-project-grid img { height:260px; object-fit:cover; }
.related-project-grid span { display:block; padding:18px 18px 0; }
.related-project-grid strong { display:block; font-size:20px; }
.related-project-grid small { color:var(--muted); }
.article-hero { padding:150px 0 72px; background:#f3f2ee; }
.article-hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(44px,8vw,120px); align-items:center; }
.detail-breadcrumb--dark { color:var(--muted); margin-bottom:28px; }
.article-hero h1 { max-width:760px; margin:18px 0 24px; font-size:clamp(52px,6.5vw,94px); line-height:.94; letter-spacing:-.058em; font-weight:550; }
.article-hero-copy>p { max-width:680px; color:var(--muted); font-size:20px; line-height:1.65; }
.article-hero figure { min-height:610px; margin:0; overflow:hidden; }
.article-hero img { height:100%; min-height:610px; object-fit:cover; }
.article-progress { position:sticky; z-index:80; top:72px; height:3px; background:rgba(16,17,20,.08); }
.article-progress span { display:block; width:0; height:100%; background:var(--red); }
.article-layout { display:grid; grid-template-columns:250px minmax(0,760px); justify-content:center; gap:clamp(50px,9vw,130px); padding-block:clamp(80px,10vw,150px); }
.article-aside { position:sticky; top:118px; align-self:start; }
.article-aside>strong { font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.article-aside ol { margin:20px 0 34px; padding:0; list-style:none; border-top:1px solid var(--line); }
.article-aside li { border-bottom:1px solid var(--line); }
.article-aside li a { display:block; padding:13px 0; color:var(--muted); font-size:12px; line-height:1.45; }
.article-aside-card { background:var(--ink); color:#fff; padding:22px; }
.article-aside-card span { display:block; margin-bottom:14px; color:rgba(255,255,255,.65); font-size:12px; }
.article-body { min-width:0; }
.article-lead { margin:0 0 72px; font-size:clamp(21px,2vw,28px); line-height:1.55; letter-spacing:-.018em; }
.article-body>section { scroll-margin-top:130px; margin-bottom:72px; }
.article-section-num { display:block; color:var(--red); font-size:11px; font-weight:720; }
.article-body h2 { margin:12px 0 20px; font-size:clamp(34px,3.3vw,50px); line-height:1.03; letter-spacing:-.045em; }
.article-body p { color:#4f535a; font-size:18px; line-height:1.85; }
.article-body ul { margin:20px 0 28px; padding-left:22px; color:#4f535a; font-size:18px; line-height:1.75; }
.article-body li + li { margin-top:7px; }
.article-body figure.article-inline-image { max-width:460px; margin:28px 0; }
.article-body figure.article-inline-image img { width:auto; max-width:100%; height:auto; }
.article-body figure { margin:38px 0 0; }
.article-body figure img { max-width:100%; height:auto; max-height:520px; object-fit:contain; }
.article-body figcaption { margin-top:10px; color:var(--muted); font-size:11px; }
.article-summary { margin-top:90px; background:var(--ink); color:#fff; padding:clamp(30px,5vw,64px); }
.article-summary h2 { margin:18px 0; }
.article-summary p { color:rgba(255,255,255,.7); }
.article-share { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:42px; padding-top:24px; border-top:1px solid var(--line); }
.article-share>span { margin-right:8px; color:var(--muted); font-size:11px; font-weight:720; letter-spacing:.07em; text-transform:uppercase; }
.article-share a,.article-share button { display:inline-flex; min-height:38px; align-items:center; border:1px solid var(--line); padding:0 13px; background:#fff; color:var(--ink); font:650 12px/1 Arial,sans-serif; cursor:pointer; transition:border-color .2s ease,background .2s ease; }
.article-share a:hover,.article-share button:hover { border-color:var(--ink); background:#f4f2ee; }
.article-related { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.article-related a { display:flex; flex-direction:column; min-height:440px; background:#f3f2ee; padding-bottom:24px; }
.article-related img { height:260px; object-fit:cover; }
.article-related .meta { margin:22px 22px 8px; }
.article-related strong { margin:0 22px; font-size:23px; line-height:1.15; letter-spacing:-.03em; }
@media(max-width:1040px){.variant-explorer,.quick-modal-card,.article-hero-grid{grid-template-columns:1fr}.variant-nav{border-right:0;border-bottom:1px solid var(--line)}.variant-stage{grid-template-columns:1fr 1fr;grid-template-rows:auto}.quick-modal-media{min-height:380px}.archive-toolbar{grid-template-columns:1fr}.project-archive-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}.project-archive-card,.project-archive-card:nth-child(n){grid-column:auto;grid-row:auto;height:360px}.article-layout{grid-template-columns:1fr}.article-aside{position:static;display:none}.related-project-grid,.article-related{grid-template-columns:1fr 1fr}.article-related a:last-child{grid-column:1/-1}}
@media(max-width:760px){.variant-explorer{display:block;min-height:0}.variant-nav{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.variant-nav-item{min-width:82%;scroll-snap-align:start}.variant-stage{display:block}.variant-stage-media img{min-height:300px;height:300px}.variant-specs{grid-template-columns:1fr}.variant-specs div:nth-child(n){border-left:0;padding:13px 0}.quick-modal-card{width:100%;max-height:100svh}.quick-modal-media{min-height:300px}.quick-modal-copy{padding:30px 22px}.quick-modal-close{position:fixed}.archive-hero{min-height:680px}.archive-hero-content{padding-top:110px;padding-bottom:52px}.archive-hero h1{font-size:clamp(48px,13vw,66px)}.archive-hero p{font-size:16px}.project-archive-grid{grid-template-columns:1fr}.project-archive-card,.project-archive-card:nth-child(n){height:270px}.related-project-grid,.article-related{grid-template-columns:1fr}.article-related a:last-child{grid-column:auto}.article-hero{padding:105px 0 54px}.article-hero-grid{gap:34px}.article-hero h1{font-size:clamp(44px,12vw,62px)}.article-hero-copy>p{font-size:17px}.article-hero figure,.article-hero img{min-height:330px}.article-progress{top:64px}.article-layout{padding-block:72px}.article-lead{margin-bottom:52px;font-size:21px}.article-body p{font-size:17px;line-height:1.75}.article-body>section{margin-bottom:58px}.article-related a{min-height:0}.article-related img{height:220px}}
@media(max-width:560px){.variant-nav-item{min-width:92%;padding:20px 17px}.variant-nav-item small{font-size:11px}.variant-stage-content{padding:25px 18px}.variant-stage-content h3{font-size:36px}.quick-modal-copy h2{font-size:44px}.quick-modal-facts div{grid-template-columns:90px 1fr}.archive-toolbar{margin-bottom:34px}.project-archive-card,.project-archive-card:nth-child(n){height:240px}.article-hero figure,.article-hero img{min-height:280px}.article-related strong{font-size:21px}}
.project-archive-grid {
  display: block;
  columns: 3 320px;
  column-gap: 18px;
}
.project-archive-card,
.project-archive-card:nth-child(n) {
  width: 100%;
  display: inline-block;
  grid-column: auto;
  grid-row: auto;
  break-inside: avoid;
  margin: 0 0 18px;
  aspect-ratio: 4 / 3;
  vertical-align: top;
}
.project-archive-card:nth-child(4n + 1) { aspect-ratio: 4 / 5; }
.project-archive-card:nth-child(4n + 2) { aspect-ratio: 5 / 3.65; }
.project-archive-card:nth-child(4n + 3) { aspect-ratio: 1 / 1; }
.project-archive-card button { position:relative; min-height: 0; }
.project-archive-overlay { right: 24px; bottom: 23px; left: 24px; }
.project-archive-overlay i {
  width: 38px;
  height: 38px;
  display: grid;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  font-size: 20px;
}
.quick-modal-card { box-shadow:0 40px 120px rgba(0,0,0,.35);
  width: min(calc(100% - 36px), 1220px);
  height: min(860px,calc(100svh - 36px));
  max-height: min(860px,calc(100svh - 36px));
  grid-template-columns: minmax(0,1.35fr) minmax(340px,.65fr);
  overflow: hidden;
}
.quick-modal-media {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0,1fr) 92px;
  background: #111;
}
.quick-modal-gallery { position: relative; min-width:0; min-height: 0; overflow: hidden; background:#111; }
.quick-modal-gallery figure { display:grid; width: 100%; height: 100%; min-width:0; min-height:0; margin: 0; place-items:center; overflow:hidden; }
.quick-modal-gallery img { width: 100%; height: 100%; object-fit: cover; transition: opacity .18s ease; }
.quick-modal-gallery.is-portrait figure { padding:16px clamp(58px,8vw,104px); }
.quick-modal-gallery.is-portrait img { width:auto; max-width:100%; height:100%; max-height:100%; border:1px solid rgba(255,255,255,.2); object-fit:contain; box-shadow:0 18px 55px rgba(0,0,0,.38); }
.quick-modal-gallery img.is-changing { opacity: .35; }
.quick-modal-gallery figcaption {
  position: absolute;
  right: 20px;
  bottom: 17px;
  min-width: 64px;
  background: rgba(0,0,0,.55);
  padding: 8px 10px;
  color: #fff;
  font-size: 11px;
  text-align: center;
  backdrop-filter: blur(8px);
}
.quick-modal-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.56);
  border-radius: 50%;
  background: rgba(0,0,0,.34);
  color: #fff;
  cursor: pointer;
  font-size: 19px;
  transform: translateY(-50%);
  backdrop-filter: blur(8px);
  transition: background .2s ease, transform .2s ease;
}
.quick-modal-arrow:hover { background: rgba(0,0,0,.7); transform: translateY(-50%) scale(1.05); }
.quick-modal-arrow--prev { left: 18px; }
.quick-modal-arrow--next { right: 18px; }
.quick-modal-thumbs {
  display: flex;
  min-width: 0;
  min-height: 0;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  border-top: 1px solid rgba(255,255,255,.14);
  padding: 10px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x proximity;
  overscroll-behavior-inline: contain;
  touch-action: pan-x;
}
.quick-modal-thumbs::-webkit-scrollbar { display:none; width:0; height:0; }
.quick-modal-thumb {
  flex: 0 0 auto;
  width: 105px;
  min-width: 105px;
  height: 70px;
  overflow: hidden;
  border: 1px solid transparent;
  background: #222;
  padding: 0;
  cursor: pointer;
  opacity: .58;
  transition: opacity .2s ease, border-color .2s ease;
  scroll-snap-align: center;
}
.quick-modal-thumb img { width: 100%; height: 100%; object-fit: cover; }
.quick-modal-thumb:hover,
.quick-modal-thumb[aria-current="true"] { border-color: var(--red); opacity: 1; }
.quick-modal-copy { min-width:0; min-height:0; flex-direction:column; justify-content:flex-start; overflow-y:auto; overscroll-behavior:contain; }
.quick-modal-close { position: absolute; }

@media (max-width: 1040px) {
  .project-archive-grid { columns: 2 300px; }
  .quick-modal-card { height:calc(100svh - 24px); max-height:calc(100svh - 24px); grid-template-columns: 1fr; overflow-y: auto; }
  .quick-modal-media { min-height: 0; height: min(58svh,560px); grid-template-rows: minmax(0,1fr) 82px; }
  .quick-modal-copy { overflow: visible; }
}
@media (max-width: 760px) {
  .project-archive-grid { columns: 1; }
  .project-archive-card,
  .project-archive-card:nth-child(n) { aspect-ratio: 4 / 3; margin-bottom: 12px; height: auto; }
  .quick-modal-card { width: 100%; height:100svh; min-height: 100svh; max-height: 100svh; overflow:hidden; grid-template-rows:auto minmax(0,1fr); }
  .quick-modal-media { height: 38svh; max-height:380px; grid-template-rows: minmax(0,1fr) 72px; }
  .quick-modal-thumb { width: 84px; min-width: 84px; height: 54px; }
  .quick-modal-arrow { width: 42px; height: 42px; }
  .quick-modal-arrow--prev { left: 12px; }
  .quick-modal-arrow--next { right: 12px; }
  .quick-modal-gallery.is-portrait figure { padding:12px 54px; }
  .quick-modal-copy { min-height:0; overflow-y:auto; padding:22px; }
  .quick-modal-copy h2 { margin:14px 0; }
}
.about-page { background: var(--paper); }
.about-hero { padding: 142px 0 80px; background: #f3f2ee; }
.about-hero-grid { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); gap: clamp(50px,8vw,120px); align-items: center; }
.about-hero-copy h1 { max-width: 780px; margin: 24px 0 28px; font-size: clamp(54px,6.6vw,100px); line-height: .94; letter-spacing: -.06em; font-weight: 550; }
.about-hero-copy > p { max-width: 660px; margin: 0; color: var(--muted); font-size: 19px; line-height: 1.7; }
.about-hero-media { position: relative; min-height: 650px; margin: 0; overflow: hidden; background: #ddd9d0; }
.about-hero-media img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; }
.about-hero-media--product img { object-fit: contain; padding: clamp(30px,5vw,72px); mix-blend-mode: multiply; }
.about-hero-media figcaption { position: absolute; right: 18px; bottom: 18px; left: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; background: rgba(16,17,20,.86); padding: 18px 20px; color: #fff; backdrop-filter: blur(12px); }
.about-hero-media figcaption strong { font-size: 15px; }
.about-hero-media figcaption span { color: rgba(255,255,255,.65); font-size: 12px; }
.about-stats { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.about-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.about-stats-grid > div { min-height: 150px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); padding: 25px 32px; }
.about-stats-grid > div:last-child { border-right: 0; }
.about-stats strong { font-size: clamp(34px,3vw,48px); line-height: 1; letter-spacing: -.05em; }
.about-stats span { margin-top: 9px; color: var(--muted); font-size: 12px; }
.about-intro-grid { display: grid; grid-template-columns: 1fr minmax(280px,.72fr); gap: clamp(40px,8vw,110px); align-items: end; margin-bottom: clamp(58px,8vw,110px); }
.about-intro-grid .h2 { max-width: 740px; margin-top: 20px; }
.history-timeline { position: relative; border-top: 1px solid var(--line); }
.history-timeline::before { position: absolute; top: 0; bottom: 0; left: 190px; width: 1px; background: var(--line); content: ""; }
.history-timeline article { position: relative; display: grid; grid-template-columns: 190px minmax(0,1fr); border-bottom: 1px solid var(--line); }
.history-timeline article::before { position: absolute; top: 35px; left: 184px; width: 13px; height: 13px; border: 3px solid var(--paper); border-radius: 50%; background: var(--red); content: ""; }
.history-timeline article > span { padding: 34px 42px 34px 0; color: var(--red); font-size: 13px; font-weight: 760; }
.history-timeline article > div { max-width: 830px; padding: 30px 0 34px 54px; }
.history-timeline h3 { margin: 0 0 8px; font-size: clamp(24px,2.2vw,34px); line-height: 1.08; letter-spacing: -.035em; }
.history-timeline p { margin: 0; color: var(--muted); line-height: 1.72; }
.about-values-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(50px,9vw,130px); }
.about-values-grid .h2 { max-width: 650px; margin-top: 20px; }
.about-values-list { border-top: 1px solid var(--line-light); }
.about-values-list article { display: grid; grid-template-columns: 46px minmax(150px,.55fr) 1fr; gap: 24px; border-bottom: 1px solid var(--line-light); padding: 28px 0; }
.about-values-list article > span { color: var(--red); font-size: 11px; font-weight: 730; }
.about-values-list h3 { margin: 0; font-size: 22px; font-weight: 580; }
.about-values-list p { margin: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.65; }
.production-process { border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.production-process article { display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.production-method { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(48px,8vw,120px); }
.production-method-media img { width: 100%; height: 100%; min-height: 620px; object-fit: contain; padding: clamp(28px,5vw,70px); mix-blend-mode: multiply; }
.production-method-copy .h2 { margin: 22px 0 26px; }
.production-method-facts { margin-top: 40px; border-top: 1px solid var(--line); }
.production-method-facts > div { display: grid; grid-template-columns: 180px 1fr; gap: 26px; border-bottom: 1px solid var(--line); padding: 18px 0; }
.production-method-facts strong { font-size: 14px; }
.production-method-facts span { color: var(--muted); font-size: 13px; }
.production-materials { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.production-materials article { min-height: 270px; border: 1px solid var(--line); background: #fff; padding: 28px; }
.production-materials article > span { color: var(--red); font-size: 11px; font-weight: 720; text-transform: uppercase; letter-spacing: .08em; }
.production-materials h3 { font-size: 28px; letter-spacing: -.035em; }
.production-materials p { max-width: 520px; margin: 0; color: var(--muted); line-height: 1.68; }
.production-wide { position: relative; min-height: 720px; display: grid; align-items: end; overflow: hidden; color: #fff; background: #111; }
.production-wide::after { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.78)); content: ""; }
.production-wide-media { position: absolute; inset: 0; }
.production-wide-media > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.production-wide-copy { position: relative; z-index: 2; padding-bottom: clamp(60px,8vw,110px); }
.production-wide-copy .h1 { max-width: 900px; margin: 20px 0 24px; }
.production-wide-copy p { max-width: 670px; margin: 0; color: rgba(255,255,255,.72); font-size: 18px; line-height: 1.7; }

@media (max-width: 1040px) {
  .about-hero-grid,.about-values-grid,.production-method { grid-template-columns: 1fr; }
  .about-hero-media,.about-hero-media img { min-height: 520px; }
  .about-stats-grid { grid-template-columns: repeat(2,1fr); }
  .about-stats-grid > div:nth-child(2) { border-right: 0; }
  .about-stats-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .production-process { grid-template-columns: repeat(2,1fr); }
  .production-method-media,.production-method-media img { min-height: 500px; }
}
@media (max-width: 760px) {
  .about-hero { padding: 112px 0 56px; }
  .about-hero-grid,.about-intro-grid { grid-template-columns: 1fr; gap: 38px; }
  .about-hero-copy h1 { font-size: clamp(48px,13vw,66px); }
  .about-hero-copy > p { font-size: 17px; }
  .about-hero-media,.about-hero-media img { min-height: 410px; }
  .about-hero-media figcaption { display: block; }
  .about-hero-media figcaption span { display: block; margin-top: 5px; }
  .about-stats-grid { grid-template-columns: 1fr 1fr; }
  .about-stats-grid > div { min-height: 120px; padding: 22px 18px; }
  .history-timeline::before { left: 74px; }
  .history-timeline article { grid-template-columns: 74px 1fr; }
  .history-timeline article::before { left: 68px; }
  .history-timeline article > span { padding: 30px 14px 30px 0; font-size: 10px; }
  .history-timeline article > div { padding: 27px 0 30px 28px; }
  .about-values-list article { grid-template-columns: 34px 1fr; gap: 12px; }
  .about-values-list article p { grid-column: 2; }
  .production-process,.production-materials { grid-template-columns: 1fr; }
  .production-method-media,.production-method-media img { min-height: 390px; }
  .production-method-facts > div { grid-template-columns: 1fr; gap: 5px; }
  .production-wide { min-height: 620px; }
}
.inquiry-simple { min-height: calc(100svh - 80px); padding: clamp(138px,14vw,190px) 0 clamp(72px,9vw,110px); background:#f3f2ee; }
.inquiry-simple__inner { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(42px,7vw,96px); align-items:start; }
.inquiry-simple__head { position:sticky; top:120px; }
.inquiry-simple__head .h1 { max-width:560px; margin:18px 0 18px; font-size:clamp(50px,6.2vw,82px); line-height:.95; letter-spacing:-.052em; text-wrap:balance; }
.inquiry-simple__head .lead { max-width:380px; margin:0; }
.inquiry-panel { background:#fff; padding:clamp(28px,4vw,48px); }
.field { display:grid; gap:8px; }
.field--full { grid-column:1/-1; }
.field label { font-size:12px; font-weight:700; }
.field input,.field select,.field textarea { width:100%; box-sizing:border-box; border:1px solid var(--line); background:#fff; padding:15px 16px; color:var(--ink); font:inherit; outline:none; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(223,31,47,.08); }
.field textarea { min-height:150px; resize:vertical; }
.form-note { margin:14px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.inquiry-form-section{grid-column:1/-1;margin:6px 0 0;padding-bottom:9px;border-bottom:1px solid var(--line);color:var(--ink);font:700 15px/1.2 var(--font-sans)}
.inquiry-choice-set{grid-column:1/-1;margin:0;padding:0;border:0}.inquiry-choice-set legend{margin:0 0 10px;padding:0;color:#3d3934;font-size:12px;font-weight:760;letter-spacing:.055em;text-transform:uppercase}.inquiry-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.inquiry-choice-grid label{display:flex;align-items:center;min-height:48px;border:1px solid #d8d2ca;background:#fff;padding:9px 12px;cursor:pointer}.inquiry-choice-grid label:has(input:checked){border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:rgba(182,32,43,.035)}.inquiry-choice-grid input{width:17px;height:17px;margin:0 10px 0 0;accent-color:var(--red)}.inquiry-choice-grid span{font-size:14px;font-weight:650}.inquiry-attachments{display:grid;gap:8px}.inquiry-file-entry{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px}.inquiry-file-entry:first-child:last-child{grid-template-columns:minmax(0,1fr)}.inquiry-file-row{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:52px;border:1px solid #d8d2ca;background:#fff;padding:7px 9px 7px 14px;cursor:pointer}.inquiry-file-row input{position:absolute;width:1px!important;height:1px!important;overflow:hidden;opacity:0}.inquiry-file-row span{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.inquiry-file-row i{border:1px solid #d7d0c7;background:#f4f0eb;padding:9px 12px;font-size:12px;font-style:normal;font-weight:720}.inquiry-file-row.has-file{border-color:#a49c92}.inquiry-file-row.has-file span{color:var(--ink)}.inquiry-file-entry>button{border:1px solid #d8d2ca;background:#fff;color:var(--red);font-size:20px;cursor:pointer}.inquiry-add-file{margin-top:10px;border:0;background:transparent;padding:4px 0;color:var(--red);font:700 13px/1.4 var(--font-sans);cursor:pointer}
@media(max-width:900px){.inquiry-simple__inner{grid-template-columns:1fr}.inquiry-simple__head{position:static}.inquiry-simple__head .lead{max-width:520px}}
@media(max-width:600px){.inquiry-simple{padding:108px 0 62px}.inquiry-simple__inner{gap:30px}.inquiry-simple__head .h1{font-size:clamp(46px,13vw,58px)}.inquiry-panel{padding:24px 17px}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.inquiry-choice-grid{grid-template-columns:1fr}.field input,.field select,.field textarea{font-size:16px}}

/* Desktop dropdowns ------------------------------------------------ */
@media (min-width: 1041px) {
  .nav-node.has-popover { padding-inline: 4px; }
  .nav-node.has-popover::after {
    position: absolute;
    top: calc(100% - 1px);
    right: -18px;
    left: -18px;
    height: 18px;
    content: "";
  }
  .nav-node.has-popover > .nav-anchor {
    transition: color .2s ease;
  }
  .nav-node.has-popover:hover > .nav-anchor,
  .nav-node.has-popover:focus-within > .nav-anchor {
    color: var(--red);
  }
  .p1-header:not(.is-scrolled) .nav-node.has-popover:hover > .nav-anchor,
  .p1-header:not(.is-scrolled) .nav-node.has-popover:focus-within > .nav-anchor {
    color: var(--red);
  }
  .nav-node.has-popover:hover > .nav-anchor::after,
  .nav-node.has-popover:focus-within > .nav-anchor::after {
    opacity: 1;
    transform: translateY(2px) rotate(45deg);
  }
  .nav-popover {
    width: min(610px, calc(100vw - 48px));
    border: 1px solid rgba(20,20,20,.09);
    border-top: 3px solid var(--red);
    background: rgba(252,251,248,.985);
    box-shadow: 0 22px 70px rgba(10,12,15,.16);
    padding: 18px;
    transform: translate(-50%, 16px) scale(.985);
    transform-origin: 50% 0;
    transition: opacity .18s ease, visibility .18s ease, transform .22s cubic-bezier(.2,.75,.2,1);
  }
  .nav-node:hover .nav-popover,
  .nav-node:focus-within .nav-popover {
    transform: translate(-50%, 0) scale(1);
  }
  .nav-popover--small { width: 350px; }
  .nav-popover-grid { gap: 6px; }
  .nav-popover a {
    position: relative;
    min-height: 50px;
    align-items: center;
    overflow: hidden;
    border: 0;
    background: transparent;
    padding: 10px 13px;
    transition: background .2s ease, color .2s ease, transform .2s ease;
  }
  .nav-popover a::before {
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 0;
    width: 2px;
    background: var(--red);
    content: "";
    opacity: 0;
    transform: scaleY(.35);
    transition: opacity .2s ease, transform .2s ease;
  }
  .nav-popover a::after {
    color: var(--red);
    opacity: .46;
    transform: translateX(-4px);
    transition: opacity .2s ease, transform .2s ease;
  }
  .nav-popover a:hover,
  .nav-popover a:focus-visible {
    background: #f1ede7;
    color: var(--ink);
    transform: translateX(2px);
  }
  .nav-popover a:hover::before,
  .nav-popover a:focus-visible::before {
    opacity: 1;
    transform: scaleY(1);
  }
  .nav-popover a:hover::after,
  .nav-popover a:focus-visible::after {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Universal CTA ---------------------------------------------------- */
.detail-cta {
  position: relative;
  overflow: hidden;
  padding-block: clamp(86px, 9vw, 142px);
}
.detail-cta::before {
  z-index: -1;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
}
.detail-cta::after {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: min(42vw, 620px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.22));
  content: "";
}
.detail-cta-grid {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(270px,.75fr);
  gap: clamp(36px, 7vw, 100px);
}
.detail-cta .eyebrow { color: rgba(255,255,255,.62); }
.detail-cta .eyebrow::before { background: var(--red); }
.detail-cta .h1,
.detail-cta h2 {
  max-width: 850px;
  margin: 18px 0 0;
  color: #fff;
  font-size: clamp(42px, 5.3vw, 78px);
  font-weight: 520;
  line-height: .97;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.detail-cta-actions {
  display: flex;
  justify-content: flex-end;
}
.detail-cta-actions .btn { min-width: 190px; justify-content: space-between; }
@media (max-width: 900px) {
  .detail-cta-grid { grid-template-columns: 1fr; align-items: start; }
  .detail-cta-actions { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .detail-cta { padding-block: 70px 76px; }
  .detail-cta-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .detail-cta-actions .btn { width: 100%; }
}
.about-page .about-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(132px, 13vw, 190px) 0 clamp(66px, 8vw, 108px);
  background: #efede8;
}
.about-page .about-hero::before {
  position: absolute;
  top: 0;
  right: -12vw;
  width: min(58vw, 900px);
  height: 100%;
  background: linear-gradient(115deg, transparent, rgba(255,255,255,.72));
  content: "";
  pointer-events: none;
}
.about-page .about-hero-grid { position: relative; z-index: 1; }
.about-page .about-hero-copy h1 {
  max-width: 850px;
  font-size: clamp(54px, 6.5vw, 100px);
  line-height: .94;
  letter-spacing: -.06em;
  text-wrap: balance;
}
.about-page .about-hero-media {
  box-shadow: 0 30px 80px rgba(25,27,30,.13);
}
.about-page .about-hero-media::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.34);
  content: "";
  pointer-events: none;
}

/* History ---------------------------------------------------------- */
.history-page-intro {
  display: grid;
  grid-template-columns: minmax(180px,.42fr) minmax(0,1.58fr);
  gap: clamp(20px, 3vw, 46px);
  align-items: start;
}
.history-page-intro .history-kicker {
  position: sticky;
  top: 112px;
}
.history-page-intro .history-kicker strong {
  display: block;
  color: var(--red);
  font-size: clamp(66px, 8vw, 126px);
  font-weight: 520;
  line-height: .8;
  letter-spacing: -.07em;
}
.history-page-intro .history-kicker span {
  display: block;
  max-width: 260px;
  margin-top: 24px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}
.history-page-intro .h2 { margin: 0 0 22px; }
.history-editorial { position:relative; padding:clamp(20px,3vw,42px) 0; }
.history-editorial::before { position:absolute; top:0; bottom:0; left:50%; width:1px; background:var(--line); content:""; }
.history-milestone { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr); column-gap:clamp(16px,2.5vw,42px); align-items:start; padding:clamp(36px,4vw,60px) 0; }
.history-milestone::before { position:absolute; z-index:2; top:calc(clamp(36px,4vw,60px) + 14px); left:50%; width:20px; height:20px; box-sizing:border-box; border:5px solid #fff; border-radius:50%; background:var(--red); box-shadow:0 0 0 1px #cfc7bd; content:""; transform:translateX(-50%); }
.history-milestone__copy-block { display:grid; grid-column:1; grid-row:1; justify-self:end; width:min(100%,470px); gap:14px; }
.history-milestone__media { grid-column:3; grid-row:1; width:min(100%,560px); min-width:0; }
.history-milestone--reverse .history-milestone__copy-block { grid-column:3; justify-self:start; }
.history-milestone--reverse .history-milestone__media { grid-column:1; justify-self:end; }
.history-milestone__year { color:var(--red); font-size:clamp(42px,4.2vw,68px); font-weight:540; line-height:.88; letter-spacing:-.06em; }
.history-milestone__year::after { display:none; }
.history-milestone__body { display:grid; gap:18px; min-width:0; }
.history-milestone__title {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(26px, 2.8vw, 42px);
  font-weight: 560;
  line-height: 1.02;
  letter-spacing: -.045em;
}
.history-milestone__copy {
  max-width: 470px;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
}
.history-milestone__photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin:0; max-width:none; }
.history-milestone__photos button { display:block; aspect-ratio:4/3; overflow:hidden; border:0; padding:0; background:#e8e3dc; cursor:zoom-in; }
.history-milestone__photos img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.history-milestone__photos button:hover img { transform:scale(1.04); }
.history-milestone__photos--single { display:block; width:100%; max-width:none; padding:11px; box-sizing:border-box; background:#fff; border:1px solid #e6e0d8; }
.history-milestone__photos--single button { width:100%; aspect-ratio:3/2; }
.history-milestone__photos--multiple { grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; max-width:none; padding:11px; box-sizing:border-box; background:#fff; border:1px solid #e6e0d8; }
.history-milestone__photos--multiple .history-milestone__photo--primary { grid-column:1/-1; width:100%; aspect-ratio:3/2; }
.history-milestone.reveal { transition-duration:.82s; transition-timing-function:cubic-bezier(.22,.72,.2,1); }
@media (prefers-reduced-motion:no-preference) {
  .history-editorial.is-animated .history-milestone__copy-block,.history-editorial.is-animated .history-milestone__media { opacity:.18; transition:opacity .58s ease,transform .72s cubic-bezier(.22,.72,.2,1); will-change:opacity,transform; }
  .history-editorial.is-animated .history-milestone__copy-block { transform:translateX(-24px); }
  .history-editorial.is-animated .history-milestone__media { transform:translateX(24px); }
  .history-editorial.is-animated .history-milestone--reverse .history-milestone__copy-block { transform:translateX(24px); }
  .history-editorial.is-animated .history-milestone--reverse .history-milestone__media { transform:translateX(-24px); }
  .history-editorial.is-animated .history-milestone::before { opacity:.25; transform:translateX(-50%) scale(.5); transition:opacity .32s ease,transform .52s cubic-bezier(.22,.72,.2,1); }
  .history-editorial.is-animated .history-milestone.is-visible .history-milestone__copy-block,.history-editorial.is-animated .history-milestone.is-visible .history-milestone__media { opacity:1; transform:translateX(0); }
  .history-editorial.is-animated .history-milestone.is-visible::before { opacity:1; transform:translateX(-50%) scale(1); }
}
.history-milestone--featured {
  grid-template-columns: minmax(118px,.28fr) minmax(0,1.72fr);
}
.history-milestone--featured::before { display: none; }
.history-milestone__feature {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(260px,.95fr);
  gap: clamp(24px, 5vw, 70px);
  align-items: stretch;
}
.history-milestone__feature img {
  width: 100%;
  min-height: 360px;
  height: 100%;
  object-fit: cover;
}
.history-milestone__feature-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: var(--ink);
  color: #fff;
  padding: clamp(28px, 5vw, 66px);
}
.history-milestone__feature-copy h3 {
  margin: 0 0 16px;
  font-size: clamp(32px, 3.6vw, 52px);
  font-weight: 520;
  line-height: .98;
  letter-spacing: -.05em;
}
.history-milestone__feature-copy p {
  margin: 0;
  color: rgba(255,255,255,.65);
  line-height: 1.72;
}
.history-values {
  display: grid;
  grid-template-columns: minmax(260px,.78fr) minmax(0,1.22fr);
  gap: clamp(50px, 9vw, 140px);
}
.history-values__intro .h2 { margin-top: 18px; }
.history-values__list { border-top: 1px solid rgba(255,255,255,.16); }
.history-values__item {
  display: grid;
  grid-template-columns: 74px minmax(180px,.55fr) minmax(0,1fr);
  gap: 24px;
  align-items: start;
  border-bottom: 1px solid rgba(255,255,255,.16);
  padding: 30px 0;
}
.history-values__item > span {
  color: var(--red);
  font-size: 26px;
  font-weight: 580;
  letter-spacing: -.04em;
}
.history-values__item h3 { margin: 0; font-size: 22px; font-weight: 580; }
.history-values__item p { margin: 0; color: rgba(255,255,255,.62); line-height: 1.7; }

/* Production ------------------------------------------------------- */
.production-lead {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(300px,.65fr);
  gap: clamp(40px, 8vw, 120px);
  align-items: end;
  margin-bottom: clamp(52px, 7vw, 96px);
}
.production-lead .h2 { margin-top: 18px; max-width: 780px; }
.production-lead .lead { max-width: 620px; }
.production-process {
  counter-reset: production-step;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  border: 0;
  gap: 14px;
}
.production-process article {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.78);
  padding: clamp(26px, 3.4vw, 44px);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.production-process article::before {
  position: absolute;
  top: 20px;
  right: 24px;
  color: rgba(174,27,37,.11);
  content: counter(production-step, decimal-leading-zero);
  font-size: clamp(92px, 10vw, 152px);
  font-weight: 620;
  line-height: .8;
  letter-spacing: -.09em;
  transition: color .3s ease, transform .35s ease;
}
.production-process article::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--red);
  content: "";
  transform: scaleX(.12);
  transform-origin: left;
  transition: transform .35s ease;
}
.production-process article:hover {
  z-index: 1;
  border-color: rgba(174,27,37,.28);
  background: #fff;
  box-shadow: 0 24px 60px rgba(22,24,27,.1);
  transform: translateY(-4px);
}
.production-process article:hover::before {
  color: rgba(174,27,37,.18);
  transform: translateY(-4px);
}
.production-process article:hover::after { transform: scaleX(1); }
.production-process article > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(174,27,37,.3);
  border-radius: 50%;
  color: var(--red);
  font-size: 13px;
  font-weight: 760;
}
.production-process h3 {
  position: relative;
  z-index: 1;
  max-width: 410px;
  font-size: clamp(29px, 3vw, 42px);
  line-height: 1;
  letter-spacing: -.045em;
}
.production-process p {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.72;
}
.production-method {
  align-items: stretch;
}
.production-method-media {
  position: relative;
  overflow: hidden;
  min-height: 620px;
  background: #e8e4dc;
}
.production-method-media::after {
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,255,255,.48);
  content: "";
  pointer-events: none;
}
.production-method-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.production-materials article {
  position: relative;
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.production-materials article::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 64px;
  height: 64px;
  border-top: 1px solid var(--red);
  border-right: 1px solid var(--red);
  content: "";
  opacity: .28;
}
.production-materials article:hover {
  z-index: 1;
  border-color: rgba(174,27,37,.25);
  box-shadow: 0 22px 54px rgba(20,22,25,.09);
  transform: translateY(-3px);
}

/* Contact ---------------------------------------------------------- */
.contact-page { background: var(--paper); }
.contact-hero {
  position: relative;
  padding: clamp(132px, 13vw, 188px) 0 clamp(68px, 8vw, 110px);
  overflow: hidden;
}
.contact-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
}
.contact-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
  gap: clamp(46px, 8vw, 126px);
  align-items: end;
}
.contact-hero h1 {
  max-width: 740px;
  margin: 24px 0 26px;
  font-size: clamp(56px, 7vw, 104px);
  font-weight: 520;
  line-height: .92;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.contact-hero .lead { max-width: 600px; }
.contact-hero-media {
  position: relative;
  min-height: 560px;
  margin: 0;
  overflow: hidden;
}
.contact-hero-media img { width: 100%; min-height: 560px; height: 100%; object-fit: cover; }
.contact-hero-media figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  background: rgba(12,13,15,.86);
  padding: 18px 20px;
  backdrop-filter: blur(12px);
}
.contact-hero-media figcaption span { color: rgba(255,255,255,.62); font-size: 12px; }
.contact-quick {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.contact-quick a,
.contact-quick > div {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--line);
  padding: 26px clamp(22px,3vw,42px);
}
.contact-quick > :last-child { border-right: 0; }
.contact-quick small { margin-bottom: 9px; color: var(--red); font-size: 11px; font-weight: 720; text-transform: uppercase; letter-spacing: .08em; }
.contact-quick strong { font-size: clamp(20px,2vw,28px); font-weight: 580; letter-spacing: -.03em; }
.contact-quick span { margin-top: 6px; color: var(--muted); font-size: 13px; }
.contact-team-head {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: start;
  margin-bottom: clamp(38px, 5vw, 64px);
}
.contact-team-head .h2 { max-width: 760px; margin-top: 18px; }
.contact-team-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}
.contact-person {
  position: relative;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
  padding: 28px;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.contact-person::before {
  position: absolute;
  top: -24px;
  right: -8px;
  color: rgba(174,27,37,.075);
  content: attr(data-initials);
  font-size: 118px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.1em;
}
.contact-person::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--red);
  content: "";
  transform: scaleX(.16);
  transform-origin: left;
  transition: transform .3s ease;
}
.contact-person:hover {
  border-color: rgba(174,27,37,.26);
  box-shadow: 0 22px 58px rgba(18,20,22,.1);
  transform: translateY(-4px);
}
.contact-person:hover::after { transform: scaleX(1); }
.contact-person__role {
  position: relative;
  z-index: 1;
  color: var(--red);
  font-size: 11px;
  font-weight: 740;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.contact-person h3 {
  position: relative;
  z-index: 1;
  max-width: 280px;
  margin: auto 0 20px;
  font-size: clamp(27px,2.5vw,36px);
  font-weight: 560;
  line-height: 1;
  letter-spacing: -.045em;
}
.contact-person__links { position: relative; z-index: 1; border-top: 1px solid var(--line); padding-top: 16px; }
.contact-person__links a { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; }
.contact-person__links a:hover { color: var(--red); }
.contact-company {
  display: grid;
  grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
  gap: clamp(46px, 9vw, 140px);
  align-items: start;
}
.contact-company-card {
  border-top: 1px solid rgba(255,255,255,.18);
}
.contact-company-card > div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 24px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  padding: 18px 0;
}
.contact-company-card span { color: rgba(255,255,255,.48); font-size: 12px; text-align: right; }
.contact-company-card strong { font-size: 14px; font-weight: 580; }
.contact-form-layout {
  display: grid;
  grid-template-columns: minmax(270px,.68fr) minmax(0,1.32fr);
  gap: clamp(40px, 8vw, 120px);
  align-items: start;
}
.contact-form-copy { position: sticky; top: 110px; }
.contact-form-copy .h2 { margin: 18px 0 22px; }
.contact-form-panel {
  border: 1px solid var(--line);
  background: #fff;
  padding: clamp(24px, 4vw, 50px);
}

/* Inquiry page ----------------------------------------------------- */
.inquiry-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(142px, 14vw, 194px) 0 clamp(66px, 8vw, 104px);
  background: #efede8;
}
.inquiry-hero::after {
  position: absolute;
  top: -30%;
  right: -12%;
  width: min(54vw,760px);
  aspect-ratio: 1;
  border: 1px solid rgba(174,27,37,.16);
  border-radius: 50%;
  content: "";
}
.inquiry-intro { position: relative; z-index: 1; }
.inquiry-panel { box-shadow: 0 28px 76px rgba(18,20,22,.09); }

/* Responsive ------------------------------------------------------- */
@media (max-width: 1040px) {
  .history-page-intro,
  .history-values,
  .contact-hero-grid,
  .contact-company,
  .contact-form-layout { grid-template-columns: 1fr; }
  .history-page-intro .history-kicker,
  .contact-form-copy { position: static; }
  .history-milestone { grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr); column-gap:clamp(14px,2.5vw,28px); }
  .history-milestone__media { width:100%; }
  .contact-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-hero-media,
  .contact-hero-media img { min-height: 480px; }
}
@media (max-width: 760px) {
  .about-page .about-hero { padding-top: 112px; }
  .history-editorial { padding:16px 0; }
  .history-editorial::before { left:13px; }
  .history-milestone,
  .history-milestone--featured { grid-template-columns:28px minmax(0,1fr); gap:0 18px; padding:32px 0; }
  .history-milestone::before { top:41px; left:13px; }
  .history-milestone__copy-block,
  .history-milestone--reverse .history-milestone__copy-block { grid-column:2; grid-row:1; justify-self:stretch; width:100%; }
  .history-milestone__media,
  .history-milestone--reverse .history-milestone__media { grid-column:2; grid-row:2; justify-self:stretch; width:100%; margin-top:24px; }
  .history-milestone__photos { grid-column:auto; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; max-width:none; }
  .history-milestone__photos--single { display:block; width:100%; }
  .history-milestone__photos--single button { aspect-ratio:4/3; }
  .history-milestone__photos--multiple { grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
  .history-milestone__photos--multiple .history-milestone__photo--primary { aspect-ratio:4/3; }
  @media (prefers-reduced-motion:no-preference) { .history-editorial.is-animated .history-milestone__copy-block,.history-editorial.is-animated .history-milestone__media,.history-editorial.is-animated .history-milestone--reverse .history-milestone__copy-block,.history-editorial.is-animated .history-milestone--reverse .history-milestone__media { transform:translateY(18px); }.history-editorial.is-animated .history-milestone.is-visible .history-milestone__copy-block,.history-editorial.is-animated .history-milestone.is-visible .history-milestone__media { transform:translateY(0); } }
  .history-milestone__feature { grid-column: 2; grid-template-columns: 1fr; }
  .history-milestone__feature img { min-height: 290px; }
  .history-values__item { grid-template-columns: 48px 1fr; }
  .history-values__item p { grid-column: 2; }
  .production-lead { grid-template-columns: 1fr; align-items: start; }
  .production-process { grid-template-columns: 1fr; }
  .contact-hero { padding-top: 112px; }
  .contact-hero-media,
  .contact-hero-media img { min-height: 390px; }
  .contact-quick { grid-template-columns: 1fr; }
  .contact-quick a,
  .contact-quick > div { min-height: 124px; border-right: 0; border-bottom: 1px solid var(--line); }
  .contact-team-head { grid-template-columns: 1fr; align-items: start; }
  .contact-team-grid { grid-template-columns: 1fr; }
  .contact-person { min-height: 280px; }
  .contact-company-card > div { grid-template-columns: 110px 1fr; }
}

.contact-person--with-image{padding-top:0}.contact-person__media{position:relative;z-index:2;height:auto;aspect-ratio:874/699;margin:0 -28px 24px;overflow:hidden;background:#ece8e1}.contact-person__media img{width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.contact-person--with-image:hover .contact-person__media img{transform:scale(1.025)}.contact-person--with-image::before{display:none}

/* Light secondary heroes need a readable header before scroll */
.about-page .p1-header:not(.is-scrolled) .p1-nav,
body[data-admin-page="poptavka"] .p1-header:not(.is-scrolled) .p1-nav {
  border-color: rgba(16,17,20,.1);
  background: rgba(250,249,246,.94);
  box-shadow: 0 12px 34px rgba(16,17,20,.06);
}
.about-page .p1-header:not(.is-scrolled) .brand img,
body[data-admin-page="poptavka"] .p1-header:not(.is-scrolled) .brand img { filter: none; }
.about-page .p1-header:not(.is-scrolled) .nav-anchor,
.about-page .p1-header:not(.is-scrolled) .menu-button,
body[data-admin-page="poptavka"] .p1-header:not(.is-scrolled) .nav-anchor,
body[data-admin-page="poptavka"] .p1-header:not(.is-scrolled) .menu-button { color: var(--ink); }
.about-page .p1-header:not(.is-scrolled) .menu-button,
body[data-admin-page="poptavka"] .p1-header:not(.is-scrolled) .menu-button { border-color: rgba(16,17,20,.3); }
.about-page .p1-header:not(.is-scrolled) .p1-actions .btn--dark,
body[data-admin-page="poptavka"] .p1-header:not(.is-scrolled) .p1-actions .btn--dark {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}
@media (min-width:1041px){
  .about-page .p1-header:not(.is-scrolled) .nav-node.has-popover:hover > .nav-anchor,
  .about-page .p1-header:not(.is-scrolled) .nav-node.has-popover:focus-within > .nav-anchor,
  body[data-admin-page="poptavka"] .p1-header:not(.is-scrolled) .nav-node.has-popover:hover > .nav-anchor,
  body[data-admin-page="poptavka"] .p1-header:not(.is-scrolled) .nav-node.has-popover:focus-within > .nav-anchor { color: var(--red); }
}

.detail-breadcrumb {
  text-shadow: none;
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(10,11,13,.28);
  padding: 8px 11px;
  color: rgba(255,255,255,.8);
  font-size: 11px;
  font-weight: 660;
  line-height: 1.2;
  backdrop-filter: blur(12px) saturate(115%);
}
.detail-hero .detail-breadcrumb { text-shadow: 0 1px 10px rgba(0,0,0,.72); }
.detail-breadcrumb a { color: inherit; transition: color .18s ease; }
.detail-breadcrumb > span:not(:last-child) { color: rgba(255,255,255,.38); }
.service-hero .detail-breadcrumb,
.about-hero .detail-breadcrumb,
.contact-hero .detail-breadcrumb {
  border-color: rgba(16,17,20,.12);
  background: rgba(255,255,255,.64);
  color: #65615b;
  box-shadow: 0 8px 24px rgba(16,17,20,.045);
}
.service-hero .detail-breadcrumb a:hover,
.about-hero .detail-breadcrumb a:hover,
.contact-hero .detail-breadcrumb a:hover { color: var(--ink); }
.service-hero .detail-breadcrumb > span:not(:last-child),
.about-hero .detail-breadcrumb > span:not(:last-child),
.contact-hero .detail-breadcrumb > span:not(:last-child) { color: #aaa39a; }

.detail-cta {
  isolation: isolate;
  border-top: 1px solid var(--line);
  background: #e9e5de;
  color: var(--ink);
}
.detail-cta::before {
  position: absolute;
  top: 0;
  right: 0;
  width: min(32vw, 520px);
  height: 100%;
  background: radial-gradient(circle at 100% 0, rgba(223,31,47,.11), transparent 64%);
  content: "";
  pointer-events: none;
}
.detail-cta .shell { position: relative; z-index: 1; }
.detail-cta .eyebrow--light { color: var(--red); }
.detail-cta .h1 { color: var(--ink); }
.detail-cta .btn--light {
  border-color: rgba(16,17,20,.55);
  color: var(--ink);
}
.detail-cta .btn--light:hover { border-color: var(--ink); background: var(--ink); color: #fff; }

.production-process article {
  counter-increment: production-step; min-height: 255px; justify-content: flex-start; }
.production-process h3 { margin: 0 0 14px; }
.production-materials h3 { margin: 18px 0 13px; }

.mobile-panel > a.mobile-panel-brand {
  position: absolute;
  top: 20px;
  left: var(--gutter);
  display: inline-flex;
  width: 136px;
  margin: 0;
  border: 0;
  padding: 0;
}
.mobile-panel > a.mobile-panel-brand::after { display: none; }

@media (max-width: 1040px) {
  .p1-header.is-scrolled .p1-nav,
  .service-page .p1-header:not(.is-scrolled) .p1-nav {
    background: rgba(239,236,230,.95);
  }
  .mobile-panel {
    background:
      radial-gradient(circle at 100% 0, rgba(223,31,47,.08), transparent 34%),
      linear-gradient(180deg, #ece8e1 0, #f4f2ed 190px, #f4f2ed 100%);
  }
}

@media (max-width: 760px) {
  .detail-breadcrumb { gap: 6px; padding: 7px 9px; font-size: 10px; }
  .detail-cta { padding-block: 68px 72px; }
  .production-process article { min-height: 0; padding: 24px 22px 26px; }
  .production-materials article { min-height: 0; padding: 24px 22px 28px; }

  .footer { padding: 48px 0 24px; }
  .footer-contact-line { margin-top: 0; border-top: 0; }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 0;
  }
  .footer-grid > div:first-child {
    grid-column: 1 / -1;
    border-bottom: 1px solid rgba(255,255,255,.14);
    padding: 0 0 28px;
  }
  .footer-grid > div:first-child .small { max-width: 340px; }
  .footer-bottom > span { margin: 0; }
  .footer-bottom .footer-legal { margin: 0; }

  .footer-grid > div:not(:first-child) {
    min-width: 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
    padding: 24px 0 22px;
  }
  .footer-grid > div:nth-child(even) { border-right: 1px solid rgba(255,255,255,.12); padding-right: 18px; }
  .footer-grid > div:nth-child(odd):not(:first-child) { padding-left: 18px; }
  .footer b { margin-bottom: 12px; color: rgba(255,255,255,.9); }
  .footer a, .footer span { margin: 8px 0; font-size: 12px; line-height: 1.45; }
  .footer-bottom { margin-top: 26px; gap: 8px; }
}

@media (max-width: 420px) {
  .mobile-panel > a.mobile-panel-brand { width: 124px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-grid > div:nth-child(even),
  .footer-grid > div:nth-child(odd):not(:first-child) { border-right: 0; padding-left: 0; padding-right: 0; }
  .footer-grid > div:nth-child(even) { padding-right: 12px; }
  .footer-grid > div:nth-child(odd):not(:first-child) { padding-left: 12px; }
  .footer a, .footer span { font-size: 11.5px; }
}

@media (min-width:1041px) {
  .p1-header:not(.is-scrolled) .nav-node.has-popover:hover > .nav-anchor,
  .p1-header:not(.is-scrolled) .nav-node.has-popover:focus-within > .nav-anchor {
    color: var(--red);
  }
}

.detail-breadcrumb,
.service-hero .detail-breadcrumb,
.about-hero .detail-breadcrumb,
.contact-hero .detail-breadcrumb {
  width: max-content;
  max-width: 100%;
  gap: 6px;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
  color: rgba(255,255,255,.66);
  font-size: 10px;
  font-weight: 620;
  line-height: 1.2;
  letter-spacing: .025em;
  backdrop-filter: none;
}
.service-hero .detail-breadcrumb,
.about-hero .detail-breadcrumb,
.contact-hero .detail-breadcrumb,
.article-hero .detail-breadcrumb { color: #77716a; }
.detail-breadcrumb > span:not(:last-child),
.service-hero .detail-breadcrumb > span:not(:last-child),
.about-hero .detail-breadcrumb > span:not(:last-child),
.contact-hero .detail-breadcrumb > span:not(:last-child) { color: currentColor; opacity: .45; }
.detail-breadcrumb a:hover { color: var(--red); }

.detail-hero-content,
.service-hero-copy,
.about-hero-copy,
.article-hero-copy,
.contact-hero-grid > div:first-child { position: relative; }
.detail-hero-content > .detail-breadcrumb { position: absolute; top: 126px; left: 0; }
.service-hero-copy > .detail-breadcrumb,
.about-hero-copy > .detail-breadcrumb,
.article-hero-copy > .detail-breadcrumb,
.contact-hero-grid > div:first-child > .detail-breadcrumb { position: absolute; top: -24px; left: 0; }

.detail-cta-actions { gap: 20px; }
.detail-cta-phone { display: grid; gap: 3px; min-width: max-content; }
.detail-cta-phone small { color: var(--muted); font-size: 10px; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.detail-cta-phone a { color: var(--ink); font-size: 18px; font-weight: 680; letter-spacing: -.025em; }
.detail-cta-phone a:hover { color: var(--red); }

@media (max-width:760px) {
  .detail-hero-content > .detail-breadcrumb { top: 88px; }
  .service-hero-copy > .detail-breadcrumb,
  .about-hero-copy > .detail-breadcrumb,
  .article-hero-copy > .detail-breadcrumb,
  .contact-hero-grid > div:first-child > .detail-breadcrumb { top: -20px; }
  .detail-cta-actions { align-items: flex-start; gap: 18px; }
  .detail-cta-phone { margin-bottom: 2px; }
}
.detail-cta-actions { align-items: center; flex-wrap: wrap; }
@media (max-width:760px) {
  .detail-cta-actions { width: 100%; flex-direction: column; }
  .detail-cta-actions .btn { width: 100%; }
}
.detail-cta-actions:has(.detail-cta-phone) .detail-cta-phone {
  justify-content: space-between;
  min-width: 0;
}
.detail-cta-actions:has(.detail-cta-phone) > .btn {
  min-width: 0;
  width: 100%;
  min-height: 52px;
  justify-content: center;
  text-align: center;
}
.detail-cta-actions:has(.detail-cta-phone) > .detail-cta-phone + .btn:last-child {
  grid-column: 1 / -1;
}
@media (max-width: 760px) {
  .detail-cta-actions:has(.detail-cta-phone) {
    grid-template-columns: 1fr;
    width: 100%;
    justify-self: stretch;
  }
  .detail-cta-actions:has(.detail-cta-phone) .detail-cta-phone,
  .detail-cta-actions:has(.detail-cta-phone) > .btn,
  .detail-cta-actions:has(.detail-cta-phone) > .detail-cta-phone + .btn:last-child {
    grid-column: 1;
  }
  .detail-cta-actions:has(.detail-cta-phone) .detail-cta-phone {
    align-items: start;
    flex-direction: column;
    gap: 3px;
  }
}
.detail-cta-grid{align-items:center}
.detail-cta-actions:has(.detail-cta-phone){
  align-items: stretch;
  position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,520px);justify-self:end;gap:10px;border:1px solid rgba(16,17,20,.13);
  background:#f7f4ef;padding:18px;box-shadow:0 18px 54px rgba(16,17,20,.08)
}
.detail-cta-actions:has(.detail-cta-phone)::before{
  content:'Rychlý kontakt';grid-column:1/-1;color:var(--muted);font-size:10px;font-weight:760;
  letter-spacing:.1em;text-transform:uppercase
}
.detail-cta-actions:has(.detail-cta-phone) .detail-cta-phone{
  grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;
  margin:0 0 4px;border:0;border-bottom:1px solid rgba(16,17,20,.13);padding:6px 2px 18px
}
.detail-cta-actions:has(.detail-cta-phone) .detail-cta-phone small{align-self:center;color:var(--muted);font-size:11px;letter-spacing:.06em}
.detail-cta-actions:has(.detail-cta-phone) .detail-cta-phone a{
  white-space: nowrap;font-size:clamp(23px,2.3vw,30px);line-height:1;letter-spacing:-.04em}
.detail-cta-actions:has(.detail-cta-phone)>.btn{grid-column:auto;min-width:0;width:100%;min-height:54px;justify-content:center;padding-inline:14px;text-align:center}
.detail-cta-actions:has(.detail-cta-phone)>.btn:only-of-type{grid-column:1/-1}
@media(max-width:900px){.detail-cta-actions:has(.detail-cta-phone){justify-self:start}}
@media(max-width:760px){
  .detail-cta-actions:has(.detail-cta-phone){grid-template-columns:1fr;width:100%;padding:16px}
  .detail-cta-actions:has(.detail-cta-phone)::before,
  .detail-cta-actions:has(.detail-cta-phone) .detail-cta-phone,
  .detail-cta-actions:has(.detail-cta-phone)>.btn{grid-column:1}
  .detail-cta-actions:has(.detail-cta-phone) .detail-cta-phone{grid-template-columns:1fr;align-items:start;gap:6px}
}

/* V23.4.4 — MySQL-backed product resources. */
.product-resource-open{overflow:hidden}
.product-resource-modal{position:fixed;z-index:2200;inset:0;display:grid;place-items:center;padding:clamp(16px,4vw,48px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.product-resource-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.product-resource-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(14,14,14,.78);backdrop-filter:blur(5px);cursor:zoom-out}
.product-resource-modal__dialog{position:relative;z-index:1;width:min(1040px,100%);max-height:calc(100svh - 32px);overflow:auto;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.32);padding:clamp(28px,5vw,64px)}
.product-resource-modal__close{position:sticky;z-index:2;top:0;float:right;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font:300 30px/1 Arial,sans-serif;cursor:pointer}
.product-resource-modal article{clear:both}
.product-resource-modal article h2{max-width:760px;margin:10px 60px 14px 0;font-size:clamp(30px,4vw,52px);line-height:1.02;letter-spacing:-.04em}
.product-resource-modal article p{max-width:760px;margin:0 0 26px;color:var(--muted);font-size:16px;line-height:1.65}
.product-resource-modal article img{display:block;width:100%;height:auto;max-height:70svh;object-fit:contain;background:#fff}
@media(max-width:620px){.product-resource-modal{padding:0}.product-resource-modal__dialog{width:100%;height:100svh;max-height:none;padding:22px 18px 34px}.product-resource-modal article h2{margin-right:48px}.product-resource-modal article img{max-height:none}}

.blog-filter{appearance:none;font:inherit;cursor:pointer}
.blog-filter:hover{border-color:var(--ink);color:var(--ink)}
.article-preview-banner{position:fixed;z-index:900;right:18px;bottom:18px;border-left:3px solid var(--red);background:#fff;padding:12px 15px;box-shadow:0 14px 40px rgba(0,0,0,.18);font-size:12px;font-weight:700}
.article-highlight{margin:30px 0 0;border-left:3px solid var(--red);background:#eeebe5;padding:24px 28px}
.article-highlight strong{display:block;margin-bottom:8px;font-size:19px;letter-spacing:-.02em}
.article-highlight p{margin:0;font-size:15px;line-height:1.7}
.article-section-image,.article-feature-image{margin:28px 0}.article-section-image img,.article-feature-image img{display:block;width:100%;height:auto}.article-section-image.article-inline-image img{width:auto;max-width:100%}.article-section-image figcaption,.article-feature-image figcaption{margin-top:9px;color:var(--muted);font-size:13px;line-height:1.45}.article-feature-image{max-width:100%;padding:12px;background:#fff;border:1px solid var(--line-light)}.article-image-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.article-image-trio figure{margin:0;min-width:0}.article-image-trio img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.article-pros-cons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0}.article-pros-cons>div{padding:22px 24px;background:#f3f2ee;border-top:3px solid var(--ink)}.article-pros{border-color:#4c7656!important}.article-cons{border-color:var(--red)!important}.article-pros-cons h3{margin:0 0 12px;font-size:18px;letter-spacing:-.02em}.article-pros-cons ul{margin:0;padding-left:19px}.article-pros-cons li{margin:7px 0;font-size:15px;line-height:1.5}
.article-content-section--sub{margin-top:38px}.article-content-section--sub+.article-content-section--main{margin-top:76px}.article-subsection-title{display:flex;align-items:baseline;gap:12px;margin:0 0 16px;font-size:clamp(22px,2.2vw,31px);letter-spacing:-.035em;line-height:1.1}.article-subsection-title>span{flex:0 0 auto;color:var(--red);font:700 11px/1 Arial;letter-spacing:.08em}
.article-content-section--detail{margin-top:30px}.article-detail-title{display:flex;align-items:baseline;gap:10px;margin:0 0 12px;font-size:20px;letter-spacing:-.02em;line-height:1.2}.article-detail-title>span{color:var(--red);font:700 10px/1 Arial;letter-spacing:.08em}
.article-v2-gallery{display:grid;grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));gap:12px;align-items:start;margin:30px 0}.article-v2-gallery figure{margin:0}.article-v2-gallery img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain}.article-v2-proscons{margin:34px 0}.article-v2-proscons>h3{font-size:25px}@media(max-width:760px){.article-v2-gallery{grid-template-columns:repeat(min(2,var(--gallery-columns)),minmax(0,1fr))}}
.article-template--editorial .article-section-num{display:none}
.article-template--editorial .article-body>section{border-top:1px solid var(--line);padding-top:34px}
.article-template--editorial .article-body h2{max-width:680px}
.article-template--checklist .article-content-section{position:relative;border:1px solid var(--line);background:#fff;padding:clamp(24px,4vw,42px)}
.article-template--checklist .article-check-marker{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:50%;background:rgba(182,32,43,.08);color:var(--red);font-weight:800}
.article-template--checklist .article-content-section h2{margin-top:18px}
@media(max-width:760px){.article-image-trio,.article-pros-cons{grid-template-columns:1fr}.article-image-trio{max-width:420px}.article-pros-cons>div{padding:19px 20px}}

/* Photographic/dark heroes: white logo until the navigation becomes scrolled. */

/* Editorial/light headers always use the official red logo. */
/* The main brand stays the official red primary logo on every header state. */

/* Header navigation text stays clean over the hero. */

@media (max-width: 760px) {
}
@media (max-width: 560px) {
}

/* Header logo: red brand always; subtitle white over dark/photo hero, gray after scroll. */

/* Light/editorial headers must keep the gray subtitle even before scrolling. */
/* Brand */
.brand-logo-stack .brand-logo { display:block; width:100%; height:auto; filter:none; transition:opacity .22s ease; }
.brand-logo-stack .brand-logo--primary-hero { position:absolute; inset:0; opacity:0; }
.p1-header:not(.is-scrolled) .brand-logo--primary-hero { opacity:1; }
.p1-header.is-scrolled .brand-logo--primary-hero { opacity:0; }
body:is(.service-page,.about-page,.contact-page,.article-page,.product-variant-page,[data-admin-page="poptavka"]) .p1-header:not(.is-scrolled) .brand-logo--primary-hero { opacity:0; }
body[data-admin-page="cookies"] .p1-header:not(.is-scrolled)::before { display:none; }
body[data-admin-page="cookies"] .p1-header:not(.is-scrolled) .p1-nav { border-color:rgba(16,17,20,.1); background:rgba(250,249,246,.96); box-shadow:0 12px 34px rgba(16,17,20,.06); }
body[data-admin-page="cookies"] .p1-header:not(.is-scrolled) .nav-anchor,
body[data-admin-page="cookies"] .p1-header:not(.is-scrolled) .menu-button { color:var(--ink); text-shadow:none; }
body[data-admin-page="cookies"] .p1-header:not(.is-scrolled) .menu-button { border-color:rgba(16,17,20,.3); }
body[data-admin-page="cookies"] .p1-header:not(.is-scrolled) .menu-button i { background:var(--ink); }
body[data-admin-page="cookies"] .p1-header:not(.is-scrolled) .brand-logo--primary-hero { opacity:0; }
.footer-logo { width:178px; max-width:100%; max-height:64px; height:auto; object-fit:contain; object-position:left center; filter:none; }
@media (max-width:560px) { .brand-logo-stack { width:132px; } }
/* Service, guides and downloads pages */
.service-page { background: var(--paper); }
.service-hero { position:relative; overflow:hidden; padding:clamp(132px,13vw,188px) 0 clamp(72px,8vw,112px); background:#efede8; color:var(--ink); }
.service-hero::before { position:absolute; inset:0; background:radial-gradient(circle at 82% 14%,rgba(182,32,43,.12),transparent 28%); content:""; pointer-events:none; }
.service-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:clamp(48px,8vw,126px); align-items:end; }
.service-hero-copy h1 { max-width:780px; margin:24px 0 28px; font-size:clamp(56px,7vw,104px); line-height:.92; letter-spacing:-.065em; font-weight:520; text-wrap:balance; }
.service-hero-copy .lead { max-width:650px; margin:0; color:var(--muted); }
.service-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.service-hero-media { position:relative; min-height:590px; margin:0; overflow:hidden; background:#dcd8d1; box-shadow:0 30px 80px rgba(25,27,30,.14); }
.service-hero-media figcaption { position:absolute; z-index:4; right:18px; bottom:18px; left:18px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px; margin:0; border-left:3px solid var(--red); background:rgba(250,249,246,.94); padding:18px 20px; color:var(--ink); box-shadow:0 16px 44px rgba(16,17,20,.16); backdrop-filter:blur(14px) saturate(120%); }
.service-hero-media figcaption strong { font-size:14px; font-weight:720; letter-spacing:-.01em; }
.service-hero-media figcaption span { color:var(--muted); font-size:12px; text-align:right; }
.service-promise { background:#fff; border-bottom:1px solid var(--line); }
.service-promise-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.service-promise article { min-height:190px; padding:34px clamp(24px,3vw,44px); border-right:1px solid var(--line); }
.service-promise article:last-child { border-right:0; }
.service-promise article>span { display:block; color:var(--red); font-size:11px; font-weight:700; line-height:1; }
.service-promise strong { display:block; margin:18px 0 8px; font-size:24px; letter-spacing:-.03em; }
.service-promise p { margin:0; color:var(--muted); line-height:1.65; }
.service-copy-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(54px,10vw,150px); align-items:start; }
.service-copy-grid p { color:var(--muted); line-height:1.75; }
.service-form-layout { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(48px,9vw,130px); align-items:start; }
.service-form-intro>p { color:var(--muted); line-height:1.7; }
.service-contact-card { display:grid; margin-top:34px; border-top:1px solid var(--line); padding-top:24px; }
.service-contact-card span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.service-contact-card strong { font-size:24px; }
.service-contact-card a { width:max-content; color:var(--red); }
.service-request-form { background:#fff; border:1px solid var(--line); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form-grid label { display:grid; gap:8px; }
.form-grid label>span { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.055em; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; box-sizing:border-box; border:1px solid #d8d2ca; background:#fff; padding:14px 15px; font:inherit; outline:none; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:#171717; box-shadow:0 0 0 2px rgba(0,0,0,.06); }
.form-wide { grid-column:1/-1; }
.form-honeypot { position:absolute; left:-9999px; }
.service-form-footer { display:flex; align-items:center; gap:20px; margin-top:22px; }
.service-form-footer p { margin:0; color:var(--muted); font-size:14px; }
.service-form-footer p.is-success { color:#18703b; }
.service-form-footer p.is-error { color:var(--red); }
.guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:54px; }
.guide-card { position:relative; min-height:360px; display:flex; flex-direction:column; border:1px solid var(--line); background:#fff; padding:30px; overflow:hidden; }
.guide-card::after { position:absolute; right:-72px; bottom:-80px; width:210px; height:210px; border:1px solid rgba(16,17,20,.08); border-radius:50%; content:""; }
.guide-index { color:var(--red); font-size:11px; font-weight:700; }
.guide-card h3 { margin:auto 0 16px; font-size:clamp(28px,2.5vw,38px); line-height:1.02; letter-spacing:-.04em; }
.guide-card p { margin:0 0 26px; color:var(--muted); line-height:1.7; }
.guide-card .text-link { margin-top:auto; }
.care-layout { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(48px,9vw,130px); }
.care-list { border-top:1px solid var(--line); }
.care-list article { display:grid; grid-template-columns:minmax(160px,.55fr) minmax(0,1.45fr); gap:32px; border-bottom:1px solid var(--line); padding:26px 0; }
.care-list strong { font-size:18px; }
.care-list p { margin:0; color:var(--muted); line-height:1.65; }
/* Reusable editable hero presentation */
.agat-hero-editable>figcaption { z-index:3; }
.agat-hero-editable>.detail-hero-content,.agat-hero-editable>.blog-hero-content { position:relative; z-index:3; }

/* Service form: clear editorial hierarchy without changing the original field set. */
.service-form-intro { position:sticky; top:126px; }
.service-form-kicker { display:flex; justify-content:space-between; gap:20px; align-items:center; margin:-4px 0 34px; border-bottom:1px solid var(--line); padding-bottom:18px; }
.service-form-kicker span { color:var(--red); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.service-form-kicker strong { color:var(--muted); font-size:12px; font-weight:520; }
.service-request-form { box-shadow:0 28px 80px rgba(16,17,20,.06); }
.service-form-section input, .service-form-section textarea { border-radius:0; transition:border-color .18s, box-shadow .18s, background .18s; }
.service-form-section textarea { min-height:170px; resize:vertical; }
.service-form-section input:hover, .service-form-section textarea:hover { border-color:#b7afa5; }
.service-address-toggle:has(input:checked) { border-color:rgba(182,32,43,.45); background:rgba(182,32,43,.035); }
.service-gdpr summary::-webkit-details-marker { display:none; }
.service-gdpr summary::after { content:'+'; display:inline-block; margin-left:9px; color:var(--red); font-size:16px; }
.service-gdpr[open] summary::after { content:'−'; }
@media(max-width:980px){
  .service-hero-grid,.service-copy-grid,.service-form-layout,.care-layout { grid-template-columns:1fr; }
  .service-form-intro { position:static; }
  .service-hero-media { min-height:500px; }
  .service-promise-grid,.guide-grid { grid-template-columns:1fr; }
  .service-promise article { border-right:0; border-bottom:1px solid var(--line); }
  .service-promise article:last-child { border-bottom:0; }
}
@media(max-width:680px){
  .service-hero { padding-top:112px; }
  .service-hero-copy h1 { font-size:clamp(46px,13vw,66px); }
  .service-hero-media { min-height:390px; }
  .service-hero-media figcaption { right:10px; bottom:10px; left:10px; grid-template-columns:1fr; gap:4px; padding:14px 16px; }
  .service-hero-media figcaption span { text-align:left; }
  .service-form-kicker { align-items:flex-start; flex-direction:column; gap:5px; }
  .service-hero-actions,.service-form-footer { align-items:stretch; flex-direction:column; }
  .service-hero-actions .btn,.service-form-footer .btn { width:100%; }
  .form-grid { grid-template-columns:1fr; }
  .form-wide { grid-column:auto; }
  .care-list article { grid-template-columns:1fr; gap:8px; }
  .downloads-toolbar { align-items:flex-start; flex-direction:column; }
  .download-card { grid-template-columns:74px minmax(0,1fr); gap:16px; }
  .download-card__format { width:58px; height:58px; }
  .download-card__action { grid-column:1/-1; width:100%; }
}

/* Contact hero aligned with the light editorial language of the other pages. */
.contact-hero{background:#efede8;color:var(--ink)}
.contact-hero::after{background:radial-gradient(circle at 78% 18%,rgba(182,32,43,.13),transparent 30%)}
.contact-hero .lead{color:var(--muted)}
.contact-hero .detail-breadcrumb{color:var(--muted)}
.contact-hero .detail-breadcrumb a{color:inherit}.contact-hero .detail-breadcrumb a:hover{color:var(--ink)}
.contact-hero-media{background:#d9d5ce;box-shadow:0 30px 80px rgba(25,27,30,.14)}
/* Hero media stages inside existing template types. */
.service-page .p1-header:not(.is-scrolled) .p1-nav {
  border-color: rgba(16,17,20,.1);
  background: rgba(250,249,246,.94);
  box-shadow: 0 12px 34px rgba(16,17,20,.06);
}
.service-page .p1-header:not(.is-scrolled) .nav-anchor { color: var(--ink); }
.service-page .p1-header:not(.is-scrolled) .menu-button i { background: var(--ink); }
.service-hero-media.agat-hero-editable > figcaption {
  position:absolute;
  z-index:3;
  right:18px;
  bottom:18px;
  left:18px;
}
.agat-hero-editable > figcaption { z-index:4; }
.agat-hero-editable > .detail-hero-content,
.agat-hero-editable > .blog-hero-content { position:relative; z-index:3; }

.service-request-form { padding:clamp(24px,4vw,50px); }
.service-form-section { margin:0; border:0; border-bottom:1px solid var(--line); padding:0 0 32px; }
.service-form-section + .service-form-section { margin-top:32px; }
.service-form-section legend { gap:14px; align-items:center; display:flex;
  width:100%;
  margin:0 0 22px;
  padding:0;
  color:var(--ink);
  font-size:clamp(20px,2vw,28px);
  font-weight:620;
  letter-spacing:-.035em;
}
.service-field { display:grid; gap:8px; margin-top:18px; }
.service-field > span,
.service-form-section .form-grid label > span {
  color:#3d3934;
  font-size:11px;
  font-weight:760;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.service-choice-row,
.service-choice-grid { display:grid; gap:10px; }
.service-choice-row { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:18px; }
.service-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:22px; }
.form-grid label.service-choice {
  position:relative;
  display:flex;
  align-items:center;
  min-height:58px;
  border:1px solid #d8d2ca;
  background:#fff;
  padding:12px 15px;
  cursor:pointer;
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.service-choice:hover { border-color:#aaa39a; }
.service-choice:has(input:checked) { border-color:var(--red); background:rgba(182,32,43,.035); box-shadow:inset 0 0 0 1px var(--red); }
.form-grid label.service-choice > input { width:18px; height:18px; flex:0 0 auto; margin:0 12px 0 0; accent-color:var(--red); }
.form-grid label.service-choice > span { font-size:14px; font-weight:650; letter-spacing:0; text-transform:none; }
.service-choice small { color:var(--muted); font-size:12px; font-weight:450; }
.service-address-toggle {
  display:flex;
  align-items:center;
  gap:12px;
  margin:28px 0;
  border:1px solid var(--line);
  background:#f5f2ed;
  padding:16px 18px;
  cursor:pointer;
}
.service-address-toggle input { width:18px; height:18px; accent-color:var(--red); }
.service-address-toggle span { font-size:14px; font-weight:650; }
.service-form-help { margin:-7px 0 18px; color:var(--muted); font-size:14px; line-height:1.6; }
.service-attachments { display:grid; gap:8px; }
.form-grid label.service-file-row {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  min-height:54px;
  border:1px solid #d8d2ca;
  background:#fff;
  padding:8px 10px 8px 15px;
  cursor:pointer;
}
.form-grid label.service-file-row > input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.form-grid label.service-file-row > span { min-width:0; overflow:hidden; color:var(--muted); font-size:13px; font-weight:500; letter-spacing:0; text-overflow:ellipsis; text-transform:none; white-space:nowrap; }
.service-file-row i { border:1px solid #d7d0c7; background:#f4f0eb; padding:10px 13px; font-size:12px; font-style:normal; font-weight:720; }
.service-file-row.has-file { border-color:#a49c92; }
.service-file-row.has-file span { color:var(--ink); }
.service-file-entry { display:grid; grid-template-columns:minmax(0,1fr) 42px; gap:8px; }
.service-file-entry .service-file-row { width:100%; }
.service-file-entry > button { border:1px solid #d8d2ca; background:#fff; color:var(--red); font-size:20px; cursor:pointer; }
.service-add-file { margin-top:12px; border:0; background:transparent; padding:4px 0; color:var(--red); font:700 13px/1.4 inherit; cursor:pointer; }
.service-gdpr { margin:24px 0 0; border-top:1px solid var(--line); padding-top:18px; color:var(--muted); font-size:13px; line-height:1.65; }
.service-gdpr summary { list-style:none; width:max-content; color:var(--ink); font-weight:650; cursor:pointer; }
.service-gdpr p { max-width:760px; margin:12px 0 0; }
.service-form-footer { justify-content:space-between; }
.service-form-footer .btn { min-width:220px; }

@media(max-width:680px){
  .service-choice-row,.service-choice-grid { grid-template-columns:1fr; }
  .service-form-section { padding-bottom:26px; }
  .service-form-section + .service-form-section { margin-top:26px; }
  .service-form-footer { align-items:stretch; }
}
.service-field input,
.service-field select,
.service-field textarea {
  width: 100%;
  min-height: 52px;
  box-sizing: border-box;
  border: 1px solid #d8d2ca;
  background: #fff;
  padding: 14px 15px;
  color: var(--ink);
  font: inherit;
  outline: none;
}
.service-field textarea { min-height: 150px; resize: vertical; }
.service-field input:focus,
.service-field select:focus,
.service-field textarea:focus { border-color: #171717; box-shadow: 0 0 0 2px rgba(0,0,0,.06); }

.service-hero-media .service-contact-caption {
  grid-template-columns: 58px minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 15px 16px;
}
.service-hero-media .service-contact-photo {
  width: 58px;
  height: 58px;
  min-height: 0;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 24%;
}
.service-contact-caption-copy { display:grid; min-width:0; gap:2px; text-align:left; }
.service-contact-caption-copy small { color:var(--red)!important; font-size:9px!important; font-weight:800; letter-spacing:.09em; text-align:left!important; text-transform:uppercase; }
.service-contact-caption .service-contact-caption-copy strong { font-size:15px; text-align:left; }
.service-contact-caption .service-contact-caption-copy > span { text-align:left; }
.service-contact-caption > a { display:inline-flex; align-items:center; justify-content:center; min-height:38px; border:1px solid var(--red); background:var(--red); padding:0 13px; color:#fff; font-size:11px; font-weight:760; letter-spacing:.035em; text-decoration:none; text-transform:uppercase; transition:background .18s,border-color .18s; }
.service-contact-caption > a:hover { border-color:#8c1722; background:#8c1722; }

.service-contact-card {
  grid-template-columns: 82px minmax(0,1fr);
  align-items: center;
  gap: 18px;
}
.service-contact-card-photo {
  width: 82px;
  height: 98px;
  object-fit: cover;
  object-position: center 24%;
}
.service-contact-card > div { display: grid; gap: 6px; min-width: 0; }

@media (max-width: 680px) {
  .service-hero-media .service-contact-caption { grid-template-columns: 52px minmax(0,1fr); }
  .service-hero-media .service-contact-photo { width: 52px; height: 52px; }
  .service-contact-caption > a { grid-column: 2; width:max-content; }
}
.service-form-section input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
.service-form-section select { min-height: 52px; }

/* Public form feedback */
.form-status,
[data-service-status] {
  min-height: 1.45em;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.form-status.is-success,
[data-service-status].is-success { color: #2f6b47; }
.form-status.is-error,
[data-service-status].is-error { color: var(--red); }

/* Homepage reviews -------------------------------------------------- */
.p1-reviews{padding:54px 0 60px;background:#f3f2ee}
.p1-reviews[hidden]{display:none}
.p1-reviews-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:end;margin-bottom:22px}
.p1-reviews-head .h2{font-size:clamp(30px,3.5vw,48px)}
.p1-reviews-head .lead{margin:0;max-width:none;justify-self:end;white-space:nowrap}
.p1-reviews-list{max-width:none}
.p1-reviews-viewport{overflow:hidden}
.p1-reviews-track{display:flex;gap:16px;align-items:stretch;transition:transform .32s ease;will-change:transform}
.p1-review{flex:0 0 calc((100% - 32px)/3);min-width:0;display:flex;flex-direction:column;background:#fff;padding:18px 19px 17px;border:1px solid rgba(23,23,23,.09);cursor:pointer}.p1-review:focus-visible{outline:2px solid #ed1c24;outline-offset:3px}
.p1-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.p1-review-stars{font-size:11px;letter-spacing:.12em;color:#ed1c24;white-space:nowrap}
.p1-review-source{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:rgba(23,23,23,.44);white-space:nowrap}
.p1-review blockquote{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;margin:0;font-size:14px;font-weight:400;line-height:1.55;letter-spacing:-.006em;white-space:pre-line}
.p1-review-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px}
.p1-review footer{display:flex;align-items:baseline;gap:8px;min-width:0;margin:0;font-size:11px;line-height:1.35}
.p1-review footer strong{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p1-review footer span{color:rgba(23,23,23,.5);white-space:nowrap}
.p1-review-more{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:0;color:#171717;font-family:inherit;font-size:11px;font-weight:650;line-height:1.35;letter-spacing:0;cursor:pointer}.p1-review-more::after{content:"→";color:#ed1c24;font-size:11px;line-height:1;transition:transform .2s ease}.p1-review-more:hover::after{transform:translateX(4px)}.p1-review-more:focus-visible{outline:2px solid #ed1c24;outline-offset:4px}
.p1-reviews-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}
.p1-reviews-arrow{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(23,23,23,.16);border-radius:50%;background:transparent;color:#171717;font-size:13px;cursor:pointer}
.p1-reviews-arrow:disabled{opacity:.3;cursor:default}
.p1-reviews-dots{display:flex;align-items:center;gap:6px}
.p1-reviews-dot{width:5px;height:5px;border:0;border-radius:50%;padding:0;background:rgba(23,23,23,.22);cursor:pointer}
.p1-reviews-dot.is-active{background:#ed1c24}
.p1-review-modal[hidden]{display:none}
.p1-review-modal{position:fixed;inset:0;z-index:1000500;display:grid;place-items:center;padding:24px}
.p1-review-modal__backdrop{position:absolute;inset:0;background:rgba(14,14,14,.68)}
.p1-review-modal__card{position:relative;z-index:1;width:min(720px,100%);max-height:min(78vh,760px);overflow:auto;background:#fff;padding:clamp(28px,5vw,52px);box-shadow:0 28px 90px rgba(0,0,0,.24)}
.p1-review-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid rgba(23,23,23,.14);border-radius:50%;background:#fff;color:#171717;font-size:24px;line-height:1;cursor:pointer}
.p1-review-modal__stars{margin-bottom:24px;color:#ed1c24;font-size:15px;letter-spacing:.14em}
.p1-review-modal blockquote{margin:0;font-size:clamp(17px,2vw,21px);line-height:1.7;white-space:pre-line}
.p1-review-modal footer{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-top:30px;font-size:13px}.p1-review-modal footer a{margin-left:auto;color:#171717;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.p1-review-modal footer span{color:rgba(23,23,23,.5)}
.p1-review-modal-open{overflow:hidden}
@media (max-width:1100px){.p1-reviews-head{grid-template-columns:1fr;gap:8px}.p1-reviews-head .lead{justify-self:start;white-space:normal}.p1-reviews-track{gap:14px}.p1-review{flex-basis:calc((100% - 14px)/2)}}
@media (max-width:760px){.p1-reviews{padding:48px 0 52px}.p1-reviews-head{grid-template-columns:1fr;gap:8px;margin-bottom:18px}.p1-reviews-head .lead{justify-self:start}.p1-reviews-track{gap:12px}.p1-review{flex-basis:100%;padding:18px 18px 17px}.p1-review blockquote{font-size:14px;line-height:1.55;-webkit-line-clamp:5}.p1-review footer{flex-wrap:wrap}.p1-reviews-controls{justify-content:center}.p1-review-modal{padding:12px}.p1-review-modal__card{max-height:88vh;padding:34px 24px 28px}}

@media(max-width:600px){.product-variant-lightbox__stage{padding:62px 14px}.product-variant-lightbox__stage img{max-height:calc(100svh - 124px)}.product-variant-lightbox__arrow{top:auto;bottom:18px}.product-variant-lightbox__arrow--prev{left:16px}.product-variant-lightbox__arrow--next{right:16px}.product-variant-lightbox__count{bottom:34px}}

/* V22.8.9 — product hierarchy, variant hero and media audit */
@media (min-width: 981px) {
  .nav-products-dynamic { left:0; width:min(900px,calc(100vw - 48px)); transform:translate(0,16px) scale(.985); transform-origin:0 0; }
  .nav-node:hover .nav-products-dynamic,.nav-node:focus-within .nav-products-dynamic { transform:translate(0,0) scale(1); }
  .nav-products-dynamic .nav-popover-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 24px; align-items:start; }
  .nav-product-group { min-width:0; padding:4px 0 12px; }
  .nav-products-dynamic .nav-product-group > .nav-product-parent { min-height:42px; padding:8px 10px; font-size:14px; font-weight:720; }
  .nav-products-dynamic .nav-product-variants { display:grid; gap:1px; padding:0 10px 4px; }
  .nav-products-dynamic .nav-product-variants a { min-height:0; padding:4px 0; color:#6a6b6e; font-size:11px; font-weight:560; line-height:1.35; }
  .nav-products-dynamic .nav-product-variants a::before { display:none; }
  .nav-products-dynamic .nav-product-variants a::after { content:"→"; opacity:.28; }
  .nav-products-dynamic .nav-product-variants a:hover,
  .nav-products-dynamic .nav-product-variants a:focus-visible { background:transparent; color:var(--red); transform:none; }
}
.product-variant-top { background:#f4f3ef; color:var(--ink); border-bottom:1px solid var(--line); }
.product-variant-top__inner { position:relative; padding-top:156px; padding-bottom:clamp(54px,6vw,86px); }
.product-variant-top .detail-breadcrumb { position:static; margin-bottom:clamp(34px,4vw,54px); color:#77716a; text-shadow:none; }
.product-variant-top__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.82fr); gap:clamp(50px,7vw,112px); align-items:center; }
.product-variant-top__copy { min-width:0; }
.product-variant-top__copy h1 { max-width:760px; margin:14px 0 24px; font-size:clamp(54px,7vw,104px); font-weight:530; letter-spacing:-.055em; line-height:.93; text-wrap:balance; }
.product-variant-top__copy > p { max-width:680px; margin:0; color:var(--muted); font-size:clamp(16px,1.25vw,20px); line-height:1.65; }
.product-variant-top__copy .detail-hero-actions { justify-content:flex-start; margin-top:30px; }
.product-variant-top__media { display:grid; width:100%; height:clamp(390px,40vw,560px); margin:0; overflow:hidden; background:#e7e3dc; padding:clamp(22px,3vw,46px); place-items:center; }
.product-variant-top__media img { display:block; width:100%; height:100%; object-fit:contain; }
.product-variant-top__media.is-compact img { width:auto; max-width:min(100%,320px); height:auto; max-height:100%; }
.product-variant-gallery figure:nth-child(2) { grid-column:9 / span 4; grid-row:1; }
.product-variant-gallery figure:nth-child(3) { grid-column:9 / span 4; grid-row:2; }
@media(max-width:1040px){
  .product-variant-top__grid { grid-template-columns:minmax(0,1fr) minmax(300px,.78fr); gap:34px; }
  .product-variant-top__media { max-height:480px; }
  .product-variant-gallery figure:nth-child(2),.product-variant-gallery figure:nth-child(3){grid-column:span 6;grid-row:auto}
}
@media(max-width:760px){
  .product-variant-top__inner { padding-top:112px; padding-bottom:46px; }
  .product-variant-top .detail-breadcrumb { margin-bottom:30px; }
  .product-variant-top__grid { grid-template-columns:1fr; gap:32px; }
  .product-variant-top__copy h1 { font-size:clamp(44px,13vw,62px); }
  .product-variant-top__copy .detail-hero-actions { display:grid; grid-template-columns:1fr; }
  .product-variant-top__media { height:380px; max-height:none; }
}

@media (max-width: 900px){.reference-gallery-more{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.reference-gallery-more{grid-template-columns:1fr;}.reference-gallery-more figure{min-height:240px;}}

/* Keep the reserved featured slot visible when the gallery becomes one column. */
@media (max-width:760px){
  .product-variant-gallery figure.is-featured{
    grid-column:auto;
    grid-row:span 2;
    height:534px;
    min-height:534px;
  }
  .product-variant-gallery figure.is-featured img{display:block;height:100%;}
}

/* Product variant gallery: compact two-column touch layout. */
@media (max-width:760px){
  .product-variant-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:8px;
  }
  .product-variant-gallery figure,
  .product-variant-gallery figure:nth-child(n){
    grid-column:auto;
    grid-row:auto;
    width:100%;
    min-height:0;
    aspect-ratio:3/2;
    height:auto;
  }
  .product-variant-gallery figure.is-featured{
    grid-column:1/-1;
    grid-row:auto;
    aspect-ratio:3/2;
    height:auto;
    min-height:0;
  }
  .product-variant-gallery figure.is-landscape img{object-fit:cover;}
  .product-variant-gallery figure.is-portrait img{object-fit:contain;}
}

@media (max-width:760px){
  .product-variant-gallery figure.is-portrait img{object-fit:cover;}
}


/* V23 — touch/mobile products are a direct 2 × 3 catalogue, not desktop tabs squeezed onto a phone. */
@media (max-width: 820px) {
  #produkty .p1-products { display: block; border: 0; }
  #produkty .p1-product-tabs, #produkty .p1-product-stage { display: none; }
  #produkty .p1-product-mobile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
}

/* V23.2 — database-driven product overview */
.products-overview-hero{position:relative;overflow:hidden;background:var(--paper,#f4f1ec);color:var(--ink)}
.products-overview-hero__media{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:100%;opacity:1;transition:opacity .25s ease}
.products-overview-hero__media.is-hero-image-missing{opacity:0;pointer-events:none}
.products-overview-hero__content{position:relative;z-index:2;padding-top:150px;padding-bottom:72px}
.products-overview-hero .detail-breadcrumb{display:flex;width:max-content;margin:0 0 36px;color:#6d6861}
.products-overview-hero .eyebrow{display:flex;width:max-content}
.products-overview-hero .h1{max-width:900px;margin:12px 0 20px}
.products-overview-hero .lead{max-width:760px}
.products-overview-hero:has(.products-overview-hero__media:not(.is-hero-image-missing)){display:grid;min-height:clamp(520px,58svh,680px);align-items:end;background:#15171a;color:#fff}
.products-overview-hero:has(.products-overview-hero__media:not(.is-hero-image-missing)) .products-overview-hero__content{padding-top:150px;padding-bottom:clamp(54px,6vw,82px)}
.products-overview-hero:has(.products-overview-hero__media:not(.is-hero-image-missing)) .detail-breadcrumb{color:rgba(255,255,255,.72)}
.products-overview-hero:has(.products-overview-hero__media:not(.is-hero-image-missing)) .detail-breadcrumb a{color:inherit}
.products-overview-hero:has(.products-overview-hero__media:not(.is-hero-image-missing)) .eyebrow{color:#fff}
.products-overview-hero:has(.products-overview-hero__media:not(.is-hero-image-missing)) .lead{color:rgba(255,255,255,.82)}
.products-overview-page:has(.products-overview-hero__media:not(.is-hero-image-missing)) .p1-header:not(.is-scrolled) .nav-anchor{color:#fff}
.products-overview-page:has(.products-overview-hero__media:not(.is-hero-image-missing)) .p1-header:not(.is-scrolled) .menu-button i{background:#fff}
.products-overview-page:not(:has(.products-overview-hero__media:not(.is-hero-image-missing))) .p1-header:not(.is-scrolled) .brand-logo--primary-hero{opacity:0}
.products-overview-page:not(:has(.products-overview-hero__media:not(.is-hero-image-missing))) .p1-header:not(.is-scrolled) .nav-anchor{color:var(--ink)}
.products-overview-page:not(:has(.products-overview-hero__media:not(.is-hero-image-missing))) .p1-header:not(.is-scrolled) .menu-button i{background:var(--ink)}
.products-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.products-overview-card{display:grid;grid-template-rows:auto 1fr;min-width:0;background:#fff;color:var(--ink);text-decoration:none}
.products-overview-card__media{display:block;overflow:hidden;background:#ece8e2;aspect-ratio:4/3}
.products-overview-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.products-overview-card:hover .products-overview-card__media img{transform:scale(1.025)}
.products-overview-card__copy{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"number arrow" "title arrow" "description description";column-gap:14px;row-gap:6px;align-items:start;padding:24px}
.products-overview-card__copy small{grid-area:number;color:var(--red);font-size:11px;line-height:1;letter-spacing:.08em}
.products-overview-card__copy strong{grid-area:title;font-size:20px;line-height:1.15;letter-spacing:-.025em}
.products-overview-card__copy>span{grid-area:description;color:var(--muted);font-size:14px;line-height:1.5}
.products-overview-card__copy i{grid-area:arrow;align-self:center;font-style:normal;color:var(--red);font-size:20px}
@media(max-width:900px){.products-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.products-overview-hero__content{padding-top:112px;padding-bottom:48px}.products-overview-hero:has(.products-overview-hero__media:not(.is-hero-image-missing)){min-height:clamp(460px,66svh,540px)}.products-overview-hero:has(.products-overview-hero__media:not(.is-hero-image-missing)) .products-overview-hero__content{padding-top:120px;padding-bottom:50px}.products-overview-hero .detail-breadcrumb{margin-bottom:28px}.products-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.products-overview-card__media{aspect-ratio:1/1}.products-overview-card__copy{padding:14px;grid-template-columns:1fr auto;grid-template-areas:"title arrow";column-gap:8px}.products-overview-card__copy small{display:none}.products-overview-card__copy strong{font-size:14px}.products-overview-card__copy>span{display:none}.products-overview-card__copy i{grid-area:arrow;align-self:center}}

/* V23.3.3 — tighter, intentional rhythm on product variant detail. */
.product-variant-page .product-variant-intro,
.product-variant-page .product-variant-technical-section,
.product-variant-page .product-variant-gallery-section,
.product-variant-page .product-variant-related {
  padding-block: clamp(68px, 6.2vw, 98px);
}
.product-variant-page .product-variant-technical-section {
  background: #f4f3ef;
  border-block: 1px solid var(--line);
}
.product-variant-page .product-variant-technical-section + .product-variant-related {
  padding-top: clamp(52px, 4.5vw, 72px);
}
.product-variant-page .product-variant-gallery-section + .product-variant-related {
  padding-top: clamp(56px, 5vw, 80px);
}
.product-variant-page .product-variant-related .section-head { margin-bottom: 0; }
@media(max-width:760px){
  .product-variant-page .product-variant-intro,
  .product-variant-page .product-variant-technical-section,
  .product-variant-page .product-variant-gallery-section,
  .product-variant-page .product-variant-related { padding-block: 54px; }
  .product-variant-page .product-variant-technical-section + .product-variant-related,
  .product-variant-page .product-variant-gallery-section + .product-variant-related { padding-top: 44px; }
}

/* Compact inquiry form controls */
.inquiry-add-file{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:10px;border:1px solid #d8d2ca;background:#f8f6f3;padding:9px 12px;color:var(--ink);font:700 12px/1 var(--font-sans);cursor:pointer}.inquiry-add-file:hover{border-color:#a79e94;background:#f0ece7}
.inquiry-modal--inquiry .inquiry-modal__head{grid-template-columns:1fr}.inquiry-modal--inquiry .inquiry-modal__head p:empty{display:none}.inquiry-modal--inquiry .inquiry-modal__head h2{white-space:nowrap}
@media(max-width:700px){.inquiry-modal--inquiry .inquiry-modal__head h2{white-space:normal}}

/* Inquiry modal footer is deliberately outside the form grid. */
.inquiry-modal--inquiry .inquiry-modal__actions{margin-top:15px}.inquiry-modal--inquiry .inquiry-modal__actions .form-note{order:-1;margin-top:0}.inquiry-modal--inquiry .field:has([data-inquiry-add-file])>.inquiry-add-file{height:52px;box-sizing:border-box}
.inquiry-modal--inquiry .inquiry-modal__actions{display:grid}
.inquiry-modal--inquiry [data-inquiry-form]>.field.field--full{grid-template-columns:none;align-items:start;gap:10px;margin-top:15px;padding-top:10px}.inquiry-modal--inquiry [data-inquiry-form]>.field.field--full .btn{grid-row:auto;align-self:start;min-width:190px}.inquiry-modal--inquiry [data-inquiry-form]>.field.field--full .form-note{order:-1;margin:0}.inquiry-modal--inquiry [data-inquiry-form]>.field.field--full .form-status{margin:0}@media(max-width:700px){.inquiry-modal--inquiry [data-inquiry-form]>.field.field--full .btn{width:100%;min-height:52px}}
.inquiry-modal--inquiry .inquiry-modal__card{height:auto;min-height:0;max-height:calc(100svh - 32px)}
@media(max-width:700px){.inquiry-modal--inquiry .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inquiry-modal--inquiry .form-grid>.field--full{grid-column:1/-1}}
@media(max-width:600px){.inquiry-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inquiry-panel .form-grid>.field--full{grid-column:1/-1}}

/* Service form aligned with the compact inquiry controls */
.service-request-form .form-grid{gap:15px 17px}.service-request-form .form-grid input,.service-request-form .form-grid select,.service-request-form .form-grid textarea,.service-request-form .service-field input,.service-request-form .service-field select,.service-request-form .service-field textarea{min-height:52px;border-color:#d8d2ca;padding:14px 15px}.service-request-form .service-form-section{padding-bottom:26px}.service-request-form .service-form-section+.service-form-section{margin-top:26px}.service-address-toggle{margin:22px 0;border:0;background:transparent;padding:0}.service-address-toggle:has(input:checked){border:0;background:transparent;box-shadow:none}.service-file-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.service-file-controls .service-add-file{height:54px;margin:0;border:1px solid #d8d2ca;background:#f8f6f3;padding:0 13px;color:var(--ink);font:700 12px/1 var(--font-sans);white-space:nowrap}.service-file-controls .service-add-file:hover{border-color:#a79e94;background:#f0ece7}.service-gdpr{margin:16px 0 0;border:0;padding:0;color:var(--muted);font-size:12px;line-height:1.55}.service-gdpr p{max-width:none;margin:0}.service-gdpr a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.service-gdpr summary,.service-gdpr summary::after{display:none}
@media(max-width:680px){.service-file-controls{grid-template-columns:minmax(0,1fr) auto}.service-file-controls .service-add-file{padding-inline:10px}.service-request-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-request-form .form-grid .form-wide{grid-column:1/-1}}

/* Multiple service choices remain multi-select, but without the old heavy cards. */
.service-choice-grid{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.service-choice-grid .service-choice--compact{display:inline-flex!important;align-items:center;min-height:42px!important;border:1px solid #d8d2ca;background:#fff;padding:8px 11px;cursor:pointer}.service-choice-grid .service-choice--compact:hover{border-color:#aaa39a}.service-choice-grid .service-choice--compact:has(input:checked){border-color:var(--red);background:rgba(182,32,43,.035);box-shadow:inset 0 0 0 1px var(--red)}.service-choice-grid .service-choice--compact input{width:16px!important;height:16px!important;margin:0 8px 0 0!important;accent-color:var(--red)}.service-choice-grid .service-choice--compact span{font-size:13px!important;font-weight:650!important}

/* The service upload row lives outside .form-grid, so it needs its own input skin. */
.service-file-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:52px;box-sizing:border-box;border:1px solid #d8d2ca;background:#fff;padding:7px 9px 7px 14px;cursor:pointer}.service-file-row>input{position:absolute;width:1px!important;height:1px!important;overflow:hidden;opacity:0}.service-file-row>span{overflow:hidden;color:var(--muted);font-size:13px;font-weight:500;letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.service-file-row>i{border:1px solid #d7d0c7;background:#f4f0eb;padding:9px 12px;color:var(--ink);font-size:12px;font-style:normal;font-weight:720}.service-file-row.has-file{border-color:#a49c92}.service-file-row.has-file>span{color:var(--ink)}

/* Service type and handover reference share one compact row. */
.service-meta-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr);gap:17px;align-items:end}.service-kind-choice{display:grid;gap:8px}.service-kind-choice>span{color:#3d3934;font-size:11px;font-weight:760;letter-spacing:.065em;text-transform:uppercase}.service-meta-row .service-choice-row{margin:0;gap:8px}.service-meta-row .service-choice{display:flex;align-items:center;min-height:52px;box-sizing:border-box;border:1px solid #d8d2ca;background:#fff;padding:11px 13px;cursor:pointer}.service-meta-row .service-choice:hover{border-color:#aaa39a}.service-meta-row .service-choice:has(input:checked){border-color:var(--red);background:rgba(182,32,43,.035);box-shadow:inset 0 0 0 1px var(--red)}.service-meta-row .service-choice input{width:16px;height:16px;margin:0 9px 0 0;accent-color:var(--red)}.service-meta-row .service-choice span{font-size:13px;font-weight:650;letter-spacing:0;text-transform:none}.service-meta-row .service-field{margin:0}@media(max-width:680px){.service-meta-row{grid-template-columns:1fr}.service-meta-row .service-choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact inquiry modal */
.inquiry-modal--inquiry .inquiry-modal__head{margin-bottom:0;border-bottom:0;padding-bottom:18px}.inquiry-modal--inquiry .inquiry-modal__title>.eyebrow:empty{display:none}.inquiry-modal--inquiry .inquiry-modal__head h2{margin-top:0}.inquiry-modal--inquiry .form-grid{gap:15px 17px}.inquiry-modal--inquiry .field:has([data-inquiry-add-file]){grid-template-columns:minmax(0,1fr) auto;column-gap:10px}.inquiry-modal--inquiry .field:has([data-inquiry-add-file])>label,.inquiry-modal--inquiry .field:has([data-inquiry-add-file])>.form-note{grid-column:1/-1}.inquiry-modal--inquiry .field:has([data-inquiry-add-file])>.inquiry-attachments{grid-column:1}.inquiry-modal--inquiry .field:has([data-inquiry-add-file])>.inquiry-add-file{grid-column:2;align-self:end;margin:0 0 1px;white-space:nowrap}.inquiry-modal--inquiry .inquiry-modal__actions .form-note{order:-1;margin-top:0}

/* Meaningful labels replace repeated ordinal numbering. */
.p1-stage-copy .meta,.p1-info-card .number,.detail-benefit .index,.detail-list-item>span,.product-use-case>span,.product-use-cases__caption b{display:none}
.detail-list-item,.product-use-case{grid-template-columns:1fr}
.product-use-cases__caption{grid-template-columns:minmax(0,1fr) 30px}
.service-promise article>span,.guide-index{font-size:0}
.service-promise article>span::after,.guide-index::after{font-size:10px;font-weight:760;letter-spacing:.085em}
.service-promise article:nth-child(1)>span::after{content:'PŘÍČINA'}
.service-promise article:nth-child(2)>span::after{content:'ŘEŠENÍ'}
.service-promise article:nth-child(3)>span::after{content:'PÉČE'}
.guide-card:nth-child(1) .guide-index::after{content:'KOVÁNÍ'}
.guide-card:nth-child(2) .guide-index::after{content:'POVRCH'}
.guide-card:nth-child(3) .guide-index::after{content:'VĚTRÁNÍ'}
@media(max-width:760px){.p1-product-tab{grid-template-columns:1fr auto}}
.p1-stage-copy{grid-template-columns:minmax(0,1fr)}

/* Give the desktop header mark a little more breathing room. */
.brand-logo-stack{position:relative;display:block;width:143px;line-height:0}
@media(max-width:560px){.brand-logo-stack{width:132px}}
