.catalogue-body { overflow-x: hidden; }
.catalogue-main { min-height: 100vh; }
.catalogue-hero { padding: clamp(120px, 14vw, 170px) 0 clamp(36px, 6vw, 72px); background:
  radial-gradient(circle at 12% 20%, color-mix(in srgb, var(--color-brand-yellow) 28%, transparent), transparent 34%),
  radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--color-brand-coral) 17%, transparent), transparent 32%),
  var(--color-bg); }
.catalogue-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-7); align-items:end; }
.catalogue-hero h1 { max-width: 15ch; margin:.2em 0; font:800 clamp(42px,6vw,82px)/.96 "Baloo 2",sans-serif; letter-spacing:-.04em; }
.catalogue-hero p { max-width: 62ch; color:var(--color-ink-soft); font-size:clamp(16px,1.5vw,20px); line-height:1.65; }
.catalogue-hero-meta { display:grid; grid-template-columns:repeat(3, minmax(90px,1fr)); gap:10px; }
.catalogue-hero-meta span { min-width:100px; padding:16px; border:1px solid var(--color-border); border-radius:20px; background:var(--color-surface); box-shadow:var(--shadow-sm); text-align:center; }
.catalogue-hero-meta b { display:block; font:800 24px/1 "Baloo 2"; }
.catalogue-hero-meta small { display:block; margin-top:5px; color:var(--color-ink-soft); font-size:11px; }

.catalogue-viewer-section { padding:0 0 clamp(70px,9vw,120px); }
.catalogue-viewer { border:1px solid var(--color-border); border-radius:32px; background:var(--color-surface); box-shadow:var(--shadow-lg); overflow:hidden; }
.catalogue-toolbar { position:relative; z-index:4; display:grid; grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr); gap:14px; align-items:center; padding:14px 16px; border-bottom:1px solid var(--color-border); background:color-mix(in srgb,var(--color-surface) 94%,transparent); backdrop-filter:blur(16px); }
.catalogue-toolbar-group { display:flex; align-items:center; gap:8px; }
.catalogue-section-picker label { font-size:12px; color:var(--color-ink-soft); font-weight:700; }
.catalogue-section-picker select { max-width:210px; min-height:42px; padding:0 34px 0 13px; border:1px solid var(--color-border); border-radius:14px; background:var(--color-surface-alt); color:var(--color-ink); font:600 13px/1 Inter,sans-serif; }
.catalogue-navigation { justify-content:center; }
.catalogue-zoom-controls { justify-content:flex-end; }
.catalogue-icon-btn,.catalogue-zoom-label { display:grid; place-items:center; min-width:42px; height:42px; border:1px solid var(--color-border); border-radius:13px; background:var(--color-surface-alt); color:var(--color-ink); font:700 18px/1 Inter,sans-serif; cursor:pointer; transition:transform .15s ease,border-color .15s ease,background .15s ease; }
.catalogue-icon-btn:hover,.catalogue-zoom-label:hover { transform:translateY(-1px); border-color:var(--color-border-strong); }
.catalogue-zoom-label { min-width:64px; font-size:12px; }
.catalogue-counter { min-width:74px; text-align:center; font:700 13px/1 Inter,sans-serif; }

.catalogue-stage { position:relative; display:grid; place-items:center; min-height:clamp(520px,62vw,820px); overflow:hidden; padding:clamp(18px,3vw,40px); background:
  linear-gradient(135deg,color-mix(in srgb,var(--color-brand-yellow) 12%,transparent),transparent 38%),
  radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--color-brand-coral) 10%,transparent),transparent 34%),
  var(--color-surface-alt); touch-action:none; overscroll-behavior:contain; user-select:none; -webkit-user-select:none; }
.catalogue-book { display:flex; justify-content:center; align-items:center; gap:clamp(3px,.5vw,8px); width:min(100%,1180px); transform-origin:center; will-change:transform; transition:transform .18s ease; }
.catalogue-stage.is-page-turning .catalogue-book { animation:catalogueTurn .24s ease both; }
@keyframes catalogueTurn { 0%{opacity:1;transform:perspective(1200px) rotateY(0deg) scale(.995)} 48%{opacity:.55;transform:perspective(1200px) rotateY(-5deg) scale(.985)} 100%{opacity:1;transform:perspective(1200px) rotateY(0deg) scale(1)} }

.catalogue-sheet { position:relative; flex:0 1 50%; width:min(50%,570px); aspect-ratio:607/437; overflow:hidden; border:1px solid rgba(11,29,58,.1); background:#fff; color:#0b1d3a; box-shadow:0 18px 45px rgba(11,29,58,.13); }
.catalogue-book.is-single .catalogue-sheet { flex-basis:min(100%,720px); width:min(100%,720px); }
.catalogue-sheet:first-child { border-radius:18px 5px 5px 18px; }
.catalogue-sheet:last-child { border-radius:5px 18px 18px 5px; }
.catalogue-book.is-single .catalogue-sheet { border-radius:20px; }
.catalogue-sheet::after { content:attr(data-page); position:absolute; right:15px; bottom:10px; z-index:8; color:rgba(11,29,58,.55); font:700 10px/1 Inter,sans-serif; }
.catalogue-page-inner { position:absolute; inset:0; overflow:hidden; }
.catalogue-page-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.catalogue-page-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,29,58,.82),rgba(11,29,58,.06)); }
.catalogue-page-copy { position:absolute; inset:auto auto 9% 8%; z-index:2; width:min(62%,420px); color:white; }
.catalogue-page-copy h2 { margin:0; color:inherit; font:800 clamp(28px,4vw,56px)/.92 "Baloo 2"; letter-spacing:-.035em; }
.catalogue-page-copy p { margin:10px 0 0; font:500 clamp(12px,1vw,16px)/1.55 Inter,sans-serif; color:rgba(255,255,255,.9); }
.catalogue-cover .catalogue-page-overlay { background:linear-gradient(90deg,rgba(255,92,73,.96) 0 44%,rgba(255,92,73,.25) 66%,transparent); }
.catalogue-cover-logo { position:absolute; z-index:3; left:7%; top:8%; width:24%; filter:drop-shadow(0 8px 22px rgba(0,0,0,.15)); }
.catalogue-cover .catalogue-page-copy { bottom:13%; }
.catalogue-cover .catalogue-page-copy small { display:block; margin-bottom:8px; text-transform:uppercase; letter-spacing:.18em; font:700 10px/1 Inter; }
.catalogue-cover .catalogue-page-copy h2 { font-size:clamp(34px,5vw,70px); }

.catalogue-paper { height:100%; padding:7%; background:#fff; }
.catalogue-paper h2,.catalogue-paper h3 { color:#0b1d3a; }
.catalogue-paper h2 { margin:0; font:800 clamp(26px,3.6vw,50px)/.95 "Baloo 2"; }
.catalogue-paper h3 { margin:0; font:800 clamp(18px,2vw,26px)/1 "Baloo 2"; }
.catalogue-paper p { color:#43516a; font-size:clamp(10px,.95vw,14px); line-height:1.55; }
.catalogue-paper .accent-line { width:58px; height:5px; margin:12px 0 18px; border-radius:99px; background:var(--color-brand-yellow); }
.catalogue-contents { display:grid; grid-template-columns:1fr 1fr; gap:22px; height:100%; align-items:center; }
.catalogue-contents-list { display:grid; gap:7px; }
.catalogue-contents-list button { display:grid; grid-template-columns:34px 1fr auto; gap:8px; align-items:center; width:100%; padding:7px 0; border:0; border-bottom:1px dotted #c6cbd4; background:none; color:#0b1d3a; text-align:left; cursor:pointer; font:700 clamp(10px,1vw,14px)/1.2 Inter; }
.catalogue-contents-list b { color:#ff5c49; font-size:13px; }
.catalogue-contents-art { display:grid; grid-template-columns:1fr 1fr; gap:8px; align-self:stretch; }
.catalogue-contents-art img { width:100%; height:100%; object-fit:cover; border-radius:24px 45% 28px 45%; }
.catalogue-about-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:24px; height:100%; align-items:center; }
.catalogue-about-images { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:8px; height:86%; }
.catalogue-about-images img { width:100%; height:100%; object-fit:cover; border-radius:20px; }
.catalogue-about-images img:first-child { grid-row:1 / 3; }
.catalogue-pill-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.catalogue-pill-row span { padding:7px 9px; border-radius:99px; background:#f3f6f9; color:#0b1d3a; font:700 9px/1 Inter; }

.catalogue-section-page { background:linear-gradient(135deg,#ffc91c,#ffab36 58%,#ff6750); }
.catalogue-section-page .catalogue-page-inner { display:grid; grid-template-columns:.9fr 1.1fr; }
.catalogue-section-page .section-visual { width:100%; height:100%; object-fit:cover; clip-path:polygon(12% 0,100% 0,100% 100%,0 100%); }
.catalogue-section-page .section-copy { display:flex; flex-direction:column; justify-content:center; padding:10%; color:#0b1d3a; }
.catalogue-section-page .section-copy h2 { max-width:7ch; margin:0; font:800 clamp(34px,5vw,72px)/.86 "Baloo 2"; }
.catalogue-section-page .section-copy p { max-width:22ch; font:600 clamp(12px,1.2vw,16px)/1.5 Inter; }

.catalogue-table-page { padding:6%; }
.catalogue-table-page h2 { margin-bottom:16px; }
.catalogue-model-table { width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid #e2e6ec; border-radius:14px; font:600 clamp(8px,.72vw,11px)/1.25 Inter; }
.catalogue-model-table th { padding:9px 7px; background:#0b1d3a; color:white; text-align:left; }
.catalogue-model-table th:nth-child(2) { background:#ffc91c; color:#0b1d3a; }
.catalogue-model-table th:nth-child(3) { background:#16aaa6; }
.catalogue-model-table th:nth-child(4) { background:#8b5bd4; }
.catalogue-model-table th:nth-child(5) { background:#ff5c49; }
.catalogue-model-table th:nth-child(6) { background:#19a8a6; }
.catalogue-model-table td { padding:8px 7px; border-top:1px dotted #d9dde4; color:#283750; }
.catalogue-model-table tr:nth-child(even) td { background:#fafbfc; }

.catalogue-model-tech .catalogue-page-inner { display:grid; grid-template-columns:1.1fr .9fr; background:#fff; }
.catalogue-model-tech .model-visuals { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:7%; align-content:center; }
.catalogue-model-tech .model-visuals img { width:100%; aspect-ratio:1/1; object-fit:contain; border-radius:16px; background:#f7f8fa; }
.catalogue-model-tech .model-spec-panel { display:flex; flex-direction:column; justify-content:center; padding:10% 9%; color:white; background:linear-gradient(145deg,#ff5c49,#ff9d35); }
.catalogue-model-tech .model-spec-panel h2 { margin:0 0 4px; color:white; font:800 clamp(28px,4.3vw,58px)/.9 "Baloo 2"; }
.catalogue-model-tech .model-spec-panel .model-design { margin-bottom:13px; opacity:.86; font:700 10px/1.4 Inter; }
.catalogue-spec-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.catalogue-spec-grid span { padding:8px; border:1px solid rgba(255,255,255,.24); border-radius:11px; background:rgba(255,255,255,.12); }
.catalogue-spec-grid small { display:block; opacity:.75; font:600 8px/1 Inter; }
.catalogue-spec-grid b { display:block; margin-top:4px; font:800 clamp(10px,1vw,15px)/1 Inter; }
.catalogue-model-photo .catalogue-page-inner { background:#111; }
.catalogue-model-photo img { width:100%; height:100%; object-fit:cover; }
.catalogue-model-photo .photo-label { position:absolute; right:0; top:0; z-index:2; padding:12px 18px 14px 26px; border-radius:0 0 0 28px; background:#ffc91c; color:#0b1d3a; font:800 clamp(16px,2vw,28px)/1 "Baloo 2"; }

.catalogue-custom-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:1fr; gap:7px; height:84%; margin-top:14px; }
.catalogue-custom-grid img { width:100%; height:100%; object-fit:cover; border-radius:12px; background:#f1f4f7; }
.catalogue-accessory-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:16px; }
.catalogue-accessory-card { padding:8px; border-radius:14px; background:#f6f7f9; text-align:center; }
.catalogue-accessory-card img { width:100%; aspect-ratio:1/1; object-fit:contain; }
.catalogue-accessory-card b { display:block; margin-top:4px; font:800 9px/1.2 Inter; }
.catalogue-accessory-card small { color:#ff5c49; font:700 8px/1 Inter; }
.catalogue-colour-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:16px; }
.catalogue-colour-card { display:flex; gap:6px; align-items:center; min-width:0; padding:6px; border-radius:10px; background:#f7f8fa; }
.catalogue-colour-card img { width:28px; height:50px; object-fit:cover; border-radius:99px; }
.catalogue-colour-card span { min-width:0; color:#283750; font:700 8px/1.15 Inter; }
.catalogue-process { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:18px; }
.catalogue-process article { padding:12px; border:1px solid #e2e6ec; border-radius:14px; }
.catalogue-process b { display:grid; place-items:center; width:30px; height:30px; margin-bottom:8px; border-radius:50%; background:#ffc91c; font:800 12px/1 Inter; }
.catalogue-process h3 { font-size:12px; margin-bottom:4px; }
.catalogue-process p { margin:0; font-size:8px; line-height:1.4; }
.catalogue-maintenance { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.catalogue-maintenance article { padding:10px; border-left:4px solid #ffc91c; background:#f7f8fa; border-radius:0 10px 10px 0; }
.catalogue-maintenance h3 { font-size:11px; margin-bottom:4px; }
.catalogue-maintenance p { margin:0; font-size:7.5px; line-height:1.35; }
.catalogue-trust { display:grid; grid-template-columns:.8fr 1.2fr; gap:20px; height:100%; align-items:center; }
.catalogue-trust-brand img { width:min(100%,190px); }
.catalogue-trust-brand h2 { max-width:11ch; margin:16px 0 10px; }
.catalogue-contact-list { display:grid; gap:8px; margin-top:15px; color:#33415a; font:700 10px/1.35 Inter; }
.catalogue-trust-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; height:78%; }
.catalogue-trust-gallery img { width:100%; height:100%; object-fit:cover; border-radius:12px; }

.catalogue-edge { position:absolute; z-index:3; top:0; bottom:0; width:12%; border:0; background:transparent; cursor:pointer; opacity:0; }
.catalogue-edge-prev { left:0; }
.catalogue-edge-next { right:0; }
.catalogue-footer-controls { display:grid; grid-template-columns:auto minmax(180px,1fr) auto; align-items:center; gap:14px; padding:13px 16px; border-top:1px solid var(--color-border); }
.catalogue-hint,#cataloguePageLabel { color:var(--color-ink-soft); font:600 11px/1.3 Inter; }
#catalogueScrubber { width:100%; accent-color:var(--color-brand-coral); }

@media (max-width: 900px) {
  .catalogue-hero-grid { grid-template-columns:1fr; }
  .catalogue-hero-meta { max-width:430px; }
  .catalogue-toolbar { grid-template-columns:1fr auto; }
  .catalogue-section-picker { grid-column:1 / -1; order:2; }
  .catalogue-section-picker select { max-width:none; flex:1; }
  .catalogue-navigation { justify-content:flex-start; }
  .catalogue-zoom-controls { justify-content:flex-end; }
  .catalogue-stage { min-height:clamp(480px,76vw,700px); padding:18px; }
}
@media (max-width: 760px) {
  .catalogue-hero { padding-top:108px; }
  .catalogue-hero h1 { font-size:clamp(38px,12vw,56px); }
  .catalogue-hero-meta { grid-template-columns:repeat(3,1fr); gap:7px; }
  .catalogue-hero-meta span { min-width:0; padding:11px 7px; }
  .catalogue-viewer { margin-inline:-8px; border-radius:22px; }
  .catalogue-toolbar { grid-template-columns:1fr auto; gap:9px; padding:10px; }
  .catalogue-section-picker { display:none; }
  .catalogue-fullscreen { display:none; }
  .catalogue-icon-btn,.catalogue-zoom-label { min-width:40px; height:40px; border-radius:12px; }
  .catalogue-zoom-label { min-width:54px; }
  .catalogue-stage { min-height:calc(100dvh - 250px); padding:12px; }
  .catalogue-book { width:100%; gap:0; }
  .catalogue-sheet,.catalogue-book.is-single .catalogue-sheet { flex:0 0 min(100%,720px); width:min(100%,720px); border-radius:16px; }
  .catalogue-page-copy { width:72%; left:7%; }
  .catalogue-footer-controls { grid-template-columns:1fr auto; gap:8px; padding:10px 12px; }
  .catalogue-hint { grid-column:1 / -1; text-align:center; }
  #catalogueScrubber { min-width:0; }
  .catalogue-contents { grid-template-columns:1fr; }
  .catalogue-contents-art { display:none; }
  .catalogue-about-grid { grid-template-columns:1fr; }
  .catalogue-about-images { position:absolute; inset:auto 5% 5% 52%; height:44%; opacity:.95; }
  .catalogue-section-page .catalogue-page-inner { grid-template-columns:1fr; }
  .catalogue-section-page .section-copy { position:absolute; z-index:2; inset:0 42% 0 0; background:rgba(255,201,28,.88); }
  .catalogue-section-page .section-visual { clip-path:none; }
  .catalogue-model-table { font-size:7px; }
  .catalogue-model-table th,.catalogue-model-table td { padding:5px 4px; }
  .catalogue-model-tech .catalogue-page-inner { grid-template-columns:1fr 1fr; }
  .catalogue-custom-grid { grid-template-columns:repeat(3,1fr); }
  .catalogue-accessory-grid { grid-template-columns:repeat(4,1fr); gap:5px; }
  .catalogue-colour-grid { grid-template-columns:repeat(4,1fr); gap:5px; }
  .catalogue-process { gap:6px; }
  .catalogue-process article { padding:8px; }
}
@media (max-width: 460px) {
  .catalogue-toolbar { grid-template-columns:1fr; }
  .catalogue-navigation,.catalogue-zoom-controls { justify-content:center; }
  .catalogue-stage { min-height:calc(100dvh - 290px); }
  .catalogue-footer-controls { grid-template-columns:1fr; }
  #cataloguePageLabel { text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
  .catalogue-stage.is-page-turning .catalogue-book { animation:none; }
  .catalogue-book { transition:none; }
}
