:root{
  --ld-navy:      #032345;
  --ld-footer:    #14293A;
  --ld-footer-2:  #1D3C52;
  --ld-bronze:      #A97C3F;
  --ld-bronze-dark: #8A6530;
  --ld-bg:        #DCE4EB;
  --ld-surface:   #EDF1F5;
  --ld-white:     #FFFFFF;
  --ld-ink:       #1F3A56;
  --ld-steel:     #2F3B48;
  --ld-steel-100: #C7D3DD;
  --ld-coral:     #EA4E4E;
  --ld-coral-dark:#D63C3C;
  --ld-line:      #CBD5DD;
  --ld-line-strong: rgba(3,35,69,.16);
  --ld-line-dark: rgba(190,205,218,.2);

  --ld-font-display: 'Rajdhani', 'Arial Narrow', sans-serif;
  --ld-font-body:    'IBM Plex Sans', 'Segoe UI', sans-serif;
  --ld-font-mono:    'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;

  --ld-header-h: 92px;
  --ld-radius:   6px;
  --ld-radius-sm:4px;
  --ld-gap:      16px;
  --ld-max:      1320px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

body{
  margin:0;
  background-color: var(--ld-bg);
  background-image:
      linear-gradient(rgba(3,35,69,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(3,35,69,.035) 1px, transparent 1px);
  background-size: 32px 32px;
  color: var(--ld-ink);
  font-family: var(--ld-font-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a{ color: inherit; text-decoration: none; }
ul{ list-style: none; margin:0; padding:0; }
img{ max-width:100%; display:block; }
button{ font-family: inherit; }

:focus-visible{ outline: 2px solid var(--ld-coral); outline-offset: 2px; }

.ld-visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.ld-skip{
  position:absolute; left:1rem; top:-3rem;
  background: var(--ld-coral); color: var(--ld-white);
  padding:.6rem 1rem; border-radius: var(--ld-radius-sm);
  font-weight:600; z-index:200; transition: top .15s ease;
}
.ld-skip:focus{ top: 1rem; }

.ld-header{
  position: sticky; top:0; z-index: 100;
  height: var(--ld-header-h);
  background: var(--ld-surface);
  border-bottom: 1px solid var(--ld-line);
  box-shadow: 0 1px 0 rgba(3,35,69,.03);
}
.ld-header__inner{
  max-width: var(--ld-max);
  margin: 0 auto;
  height: 100%;
  padding: 0 clamp(1rem, 3vw, 2rem);
  display:flex;
  align-items:center;
  gap: clamp(.8rem, 2vw, 2rem);
}

.ld-logo{ display:flex; align-items:center; flex: 0 0 auto; }
.ld-logo img{ -webkit-user-drag: none; user-select: none; }
.ld-logo__img{ height: 46px; width: auto; display:block; }
.ld-logo__mobile{ height: 44px; width: auto; display:none; }

.ld-header__right{
  display:flex; align-items:center; gap: 1.1rem;
  margin-left: auto; flex: 0 0 auto; height: 44px;
}

.ld-header__search-group{ display:flex; align-items:stretch; flex: 0 0 auto; }

.ld-search{
  display:flex; align-items:center; gap:.55rem;
  width: 264px; height: 44px;
  background: var(--ld-bg);
  border: 1px solid rgba(3,35,69,.35);
  border-radius: var(--ld-radius-sm);
  padding: 0 .95rem;
  transition: border-color .15s ease, background-color .15s ease;
}
.ld-search--joined{
  border-left: none;
  border-radius: 0 var(--ld-radius-sm) var(--ld-radius-sm) 0;
}
.ld-search:focus-within{ background: var(--ld-surface); }
.ld-search svg{ flex: 0 0 auto; width:18px; height:18px; color: var(--ld-steel); }
.ld-search input{
  flex:1; min-width:0;
  background:transparent; border:none; outline:none;
  color: var(--ld-ink); font-family: var(--ld-font-body); font-size:.88rem;
}
.ld-search input::placeholder{ color: var(--ld-steel); opacity:.8; }

.ld-section-trigger{ position: relative; display:flex; }
.ld-section-trigger__btn{
  width:44px; height:44px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background: rgba(3,35,69,.35); cursor:pointer;
  border: 1px solid rgba(3,35,69,.35); border-right: none;
  border-radius: var(--ld-radius-sm) 0 0 var(--ld-radius-sm);
  color: var(--ld-white);
  transition: background-color .15s ease;
}
.ld-section-trigger__btn[aria-expanded="true"]{ background: var(--ld-coral); }
@media (hover: hover){
  .ld-section-trigger__btn:hover{ background: var(--ld-coral); }
}
.ld-section-trigger__btn svg{ width:18px; height:18px; }
.ld-categories__panel{
  position:absolute; top: calc(100% + .6rem); left:0; transform: none;
  min-width: 240px; max-width: 320px;
  background: var(--ld-surface); border:1px solid var(--ld-line); border-radius:6px;
  box-shadow: 0 8px 24px rgba(3,35,69,.12);
  z-index: 40;
}
.ld-categories__panel ul{ list-style:none; margin:0; padding:.4rem 0; }
.ld-categories__panel a{
  display:block; padding:.6rem 1rem;
  font-family: var(--ld-font-body); font-size:.88rem; color: var(--ld-ink);
  text-decoration:none; border-left:3px solid transparent;
  overflow-wrap: break-word;
}
.ld-categories__panel a:hover{ background: var(--ld-bg); color: var(--ld-navy); }
.ld-categories__panel a.is-current{
  border-left-color: var(--ld-coral); background: rgba(234,78,78,.08);
  color: var(--ld-navy); font-weight:700;
}
.ld-categories__panel a.is-current:hover{ background: rgba(234,78,78,.12); }

.ld-lang{
  flex: 0 0 auto; height: 44px; display:flex; align-items:center; gap: 1rem;
}
.ld-lang a{
  background:none; border:none; cursor:pointer;
  padding: .2rem .05rem;
  font-family: var(--ld-font-body); font-size:.82rem; font-weight:500;
  color: var(--ld-steel);
  text-decoration:none;
  position:relative;
  transition: color .15s ease;
}
.ld-lang a:hover{ color: var(--ld-navy); }
.ld-lang a.is-active{ color: var(--ld-coral); font-weight:600; }
.ld-lang a.is-active::after{
  content:''; position:absolute; left:0; right:0; bottom:-4px;
  height:2px; background: var(--ld-coral);
}

.ld-cert-badge{
  display:none;
  align-items:center; gap:.55rem;
  padding-left: 1.1rem; margin-left: .2rem;
  border-left: 1px solid var(--ld-line);
  flex: 0 0 auto;
}
.ld-cert-badge svg{ width:22px; height:22px; color: var(--ld-bronze); flex:0 0 auto; }
.ld-cert-badge span{
  font-family: var(--ld-font-mono); font-size:.68rem; line-height:1.4;
  color: var(--ld-steel); white-space:nowrap;
}
.ld-cert-badge span strong{
  display:block; color: var(--ld-navy); font-weight:600; letter-spacing:.02em;
}

.ld-content{
  max-width: var(--ld-max);
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1rem, 3vw, 2rem) clamp(3rem, 6vw, 4.5rem);
}

.ld-hero-copy{ max-width: 46rem; margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }
.ld-hero-copy h1{
  font-family: var(--ld-font-display);
  font-weight:600;
  text-transform: uppercase;
  font-size: clamp(2.4rem, 5.4vw, 3.9rem);
  line-height:1.05;
  letter-spacing:.005em;
  margin: 0 0 .9rem;
  color: var(--ld-navy);
}
.ld-hero-copy h1 .ld-accent{ color: var(--ld-coral); }
.ld-accent{ color: var(--ld-coral); }
.ld-lede{ font-size: 1.05rem; color: var(--ld-steel); margin:0; max-width: 40rem; }
.ld-lede--spaced{ margin-top: 1.4rem; }
.ld-maker-page__meta{
  font-size:.85rem; color: var(--ld-bronze-dark); margin: 0 0 .6rem; max-width: 40rem;
}
.ld-lede a{ color: var(--ld-navy); font-weight:600; text-decoration: underline; text-underline-offset: 2px; }
.ld-lede a:hover{ color: var(--ld-coral); }

.ld-bento{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 150px;
  gap: var(--ld-gap);
}

.ld-trust{
  display:grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 2.75rem);
  align-items:center;
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-top: clamp(2rem, 4vw, 2.75rem);
  border-top: 1px solid var(--ld-line);
}
.ld-trust__photo{
  aspect-ratio: 4 / 3;
  border-radius: var(--ld-radius);
  overflow: hidden;
  background: var(--ld-surface);
}
.ld-trust__photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.ld-trust__photo svg{ width:44px; height:44px; opacity:.45; }
.ld-trust__photo span{
  font-family: var(--ld-font-mono); font-size:.72rem; letter-spacing:.03em;
  text-transform:uppercase; line-height:1.6; max-width:16rem; opacity:.85;
}
.ld-trust__text h2{
  font-family: var(--ld-font-display); font-weight:600; text-transform:uppercase;
  letter-spacing:-.01em; color: var(--ld-navy);
  font-size: clamp(1.4rem, 3vw, 1.9rem); line-height:1.1; margin:0 0 .9rem;
}
.ld-trust__text p{ color: var(--ld-steel); font-size:1rem; line-height:1.65; margin:0; max-width:32rem; }

@media (max-width: 700px){
  .ld-trust{ grid-template-columns: 1fr; }
}

/* Main state — wide desktop: hero 4x1, standard 3x2 */
@media (min-width: 1181px){
  .ld-bento{ grid-template-rows: 150px 150px 108px 108px; }
  .ld-bento > :nth-child(1){ grid-column: 1 / 4;   grid-row: 1 / 3; }
  .ld-bento > :nth-child(2){ grid-column: 4 / 7;   grid-row: 1 / 3; }
  .ld-bento > :nth-child(3){ grid-column: 7 / 10;  grid-row: 1 / 3; }
  .ld-bento > :nth-child(4){ grid-column: 10 / 13; grid-row: 1 / 3; }
  .ld-bento > :nth-child(5){ grid-column: 1 / 5;   grid-row: 3 / 4; }
  .ld-bento > :nth-child(6){ grid-column: 5 / 9;   grid-row: 3 / 4; }
  .ld-bento > :nth-child(7){ grid-column: 9 / 13;  grid-row: 3 / 4; }
  .ld-bento > :nth-child(8){ grid-column: 1 / 5;   grid-row: 4 / 5; }
  .ld-bento > :nth-child(9){ grid-column: 5 / 9;   grid-row: 4 / 5; }
  .ld-bento > :nth-child(10){grid-column: 9 / 13;  grid-row: 4 / 5; }
}

/* Additional intermediate state — medium desktop: hero 2x2, standard stays 3x2 */
@media (min-width: 881px) and (max-width: 1180px){
  .ld-bento{ grid-template-rows: 150px 150px 150px 150px 108px 108px; }
  .ld-bento > :nth-child(1){ grid-column: 1 / 7;   grid-row: 1 / 3; }
  .ld-bento > :nth-child(2){ grid-column: 7 / 13;  grid-row: 1 / 3; }
  .ld-bento > :nth-child(3){ grid-column: 1 / 7;   grid-row: 3 / 5; }
  .ld-bento > :nth-child(4){ grid-column: 7 / 13;  grid-row: 3 / 5; }
  .ld-bento > :nth-child(5){ grid-column: 1 / 5;   grid-row: 5 / 6; }
  .ld-bento > :nth-child(6){ grid-column: 5 / 9;   grid-row: 5 / 6; }
  .ld-bento > :nth-child(7){ grid-column: 9 / 13;  grid-row: 5 / 6; }
  .ld-bento > :nth-child(8){ grid-column: 1 / 5;   grid-row: 6 / 7; }
  .ld-bento > :nth-child(9){ grid-column: 5 / 9;   grid-row: 6 / 7; }
  .ld-bento > :nth-child(10){grid-column: 9 / 13;  grid-row: 6 / 7; }
}

.ld-card{
  position: relative;
  display:flex; flex-direction:column; justify-content:flex-end;
  gap:.4rem;
  padding: 1.15rem 1.3rem;
  background: var(--ld-surface);
  border: 1px solid var(--ld-line);
  border-radius: var(--ld-radius);
  overflow:hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  cursor: pointer;
}
.ld-card:hover, .ld-card:focus-visible{
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(11,42,58,.12);
  border-color: var(--ld-navy);
}

.ld-card__icon{
  color: var(--ld-navy); width:56px; height:56px;
  position:absolute; top: .9rem; right: 1rem;
  display:flex; align-items:center; justify-content:center;
}
.ld-card__icon-img{
  width:100%; height:100%;
  background-color: currentColor;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
}
.ld-card__text{ display:flex; flex-direction:column; min-width:0; }
.ld-card__label{
  display:block;
  font-family: var(--ld-font-display);
  font-weight:600; text-transform:uppercase; letter-spacing:-.015em;
  color: var(--ld-navy); font-size: 1.08rem; line-height:1.15;
  padding-right: 4rem;
}
.ld-card__sub{
  display:block; font-family: var(--ld-font-body); font-weight:400;
  text-transform:none; letter-spacing:normal;
  color: var(--ld-steel); font-size:.78rem; line-height:1.3;
  padding-right: 4rem; margin-top:.3rem;
}

.ld-card--hero{ padding: 1.5rem 1.6rem; }
.ld-card--hero .ld-card__icon{ width:72px; height:72px; }
.ld-card--hero .ld-card__label{ font-size: 1.45rem; font-weight:600; padding-right: 5rem; }
.ld-card--hero .ld-card__sub{ font-size:.85rem; padding-right: 5rem; }
.ld-card--hero::before, .ld-card--hero::after{
  content:''; position:absolute; width:14px; height:14px;
  border-color: var(--ld-coral); opacity:.55; transition: opacity .18s ease;
}
.ld-card--hero::before{ top:10px; left:10px; border-top:1px solid; border-left:1px solid; }
.ld-card--hero::after{ bottom:10px; right:10px; border-bottom:1px solid; border-right:1px solid; }
.ld-card--hero:hover::before, .ld-card--hero:hover::after{ opacity:1; }

.ld-card--std{
  flex-direction: row; align-items: center; gap: 1.1rem;
}
.ld-card--std .ld-card__icon{
  position: static; flex: 0 0 auto;
}
.ld-card--std .ld-card__text{ flex: 1; min-width:0; }
.ld-card--std .ld-card__label{ font-size:.96rem; padding-right:0; }
.ld-card--std .ld-card__sub{ font-size:.72rem; padding-right:0; }

.ld-footer{
  background: var(--ld-footer);
  color: var(--ld-steel-100);
}
.ld-footer__grid{
  max-width: var(--ld-max);
  margin:0 auto;
  padding: clamp(2.5rem, 5vw, 3.5rem) clamp(1rem, 3vw, 2rem) 2rem;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5rem;
}
.ld-footer__col--scope{ grid-column: span 2; }
.ld-footer__col h2{
  font-family: var(--ld-font-mono);
  font-size:.76rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  color: var(--ld-coral); margin: 0 0 1rem;
}
.ld-footer__col h2.ld-footer__subhead{ margin-top: 1.6rem; }
.ld-footer__col ul{ display:flex; flex-direction:column; gap:.6rem; }
.ld-footer__scope-cols{ display:flex; gap: 1.5rem; }
.ld-footer__scope-cols ul{ flex: 1; min-width:0; }
.ld-footer__col a, .ld-link-btn{
  font-size:.9rem; color: var(--ld-steel-100); display:inline-flex; align-items:center; gap:.45rem;
}
.ld-footer__col a:hover, .ld-link-btn:hover{ color: var(--ld-white); }
.ld-footer__col a svg{ width:15px; height:15px; flex:0 0 auto; }
.ld-footer__filesize{ font-size:.78rem; opacity:.7; }
.ld-link-btn{ background:none; border:none; padding:0; margin:0; cursor:pointer; text-align:left; }
#ldFooterHero a{ color: var(--ld-white); font-weight:500; }
#ldFooterHero a:hover{ color: var(--ld-coral); }

address{ font-style:normal; font-size:.9rem; line-height:1.7; margin: 0 0 1.1rem; }
.ld-footer__rfq{
  position:relative;
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.82rem; font-weight:600; letter-spacing:.01em;
  text-transform:uppercase; color: var(--ld-coral);
  margin: 0 0 1.3rem;
  cursor: pointer;
}
.ld-footer__rfq svg{ width:16px; height:16px; flex:0 0 auto; }
.ld-footer__rfq:hover{ color: var(--ld-coral-dark); }
.ld-footer__rfq-tip{
  position:absolute; bottom:calc(100% + 12px); right:0;
  width:290px; max-width:80vw;
  background: var(--ld-surface); color: var(--ld-ink);
  font-family: var(--ld-font-body); font-size:.78rem; font-weight:400;
  text-transform:none; letter-spacing:normal; line-height:1.5; text-align:left;
  padding:1rem 1.1rem; border-radius: var(--ld-radius-sm);
  box-shadow: 0 10px 24px rgba(0,0,0,.28);
  opacity:0; transform:translateY(5px);
  transition: opacity .15s ease, transform .15s ease;
  pointer-events:none; z-index:20;
}
.ld-footer__rfq-tip > strong{ display:block; color: var(--ld-navy); font-weight:600; margin-bottom:.55rem; padding-right:1.4rem; }
.ld-footer__rfq-tip li strong{ color: var(--ld-navy); font-weight:600; }
.ld-footer__rfq-tip ol{ margin:0 0 .7rem; padding-left:1.15rem; }
.ld-footer__rfq-tip li{ margin-bottom:.3rem; }
.ld-footer__rfq-tip li:last-child{ margin-bottom:0; }
.ld-footer__rfq-tip p{ margin:0; font-size:.72rem; color: var(--ld-steel); line-height:1.5; }
.ld-footer__rfq-tip::after{
  content:''; position:absolute; top:100%; right:14px;
  border:6px solid transparent; border-top-color: var(--ld-surface);
}
.ld-footer__rfq-close{
  display:flex; position:absolute; top:.6rem; right:.6rem;
  width:22px; height:22px; border-radius:50%; border:none;
  background: var(--ld-bg); color: var(--ld-steel);
  font-size:1.1rem; line-height:1; cursor:pointer;
  align-items:center; justify-content:center;
}
.ld-footer__rfq.is-open .ld-footer__rfq-tip{
  opacity:1; transform:translateY(0); pointer-events:auto;
}
address a:hover{ color: var(--ld-white); }

.ld-social{ display:flex; gap:.6rem; }
.ld-footer__col .ld-social{ flex-direction: row; }
.ld-social a{
  width:32px; height:32px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; transition: transform .15s ease, opacity .15s ease;
}
.ld-social a img{ width:100%; height:100%; display:block; }
.ld-social a:hover{ transform: translateY(-2px); opacity:.85; }

.ld-partners{ flex-direction:row; flex-wrap:wrap; gap:.5rem; }
.ld-partner-badge{
  font-family: var(--ld-font-mono); font-size:.72rem;
  padding:.4rem .6rem; border:1px dashed var(--ld-line-dark);
  border-radius:6px; color: var(--ld-steel-100);
}
.ld-partners__note{ font-size:.72rem; color: var(--ld-steel-100); opacity:.7; margin:.7rem 0 0; }

.ld-footer__disclaimer{
  border-top:1px solid var(--ld-line-dark);
  padding: 1.1rem clamp(1rem, 3vw, 2rem);
}
.ld-footer__disclaimer p{
  margin:0 auto; max-width: 56rem;
  font-size:.78rem; line-height:1.6; color: var(--ld-steel-100);
}
.ld-footer__bottom{
  border-top:1px solid var(--ld-line-dark);
  padding: 1.1rem clamp(1rem, 3vw, 2rem);
  text-align:center; font-size:.78rem; color: var(--ld-steel-100); opacity:.8;
}

.btn-primary, .btn-ghost{
  border:none; border-radius: var(--ld-radius-sm);
  padding:.6rem 1rem; font-weight:600; font-size:.85rem; cursor:pointer;
}
.btn-primary{ background: var(--ld-coral); color: var(--ld-white); }
.btn-primary:hover{ background: var(--ld-coral-dark); }
.btn-ghost{ background: var(--ld-bg); color: var(--ld-ink); }
.btn-ghost:hover{ background: var(--ld-line); }

@media (max-width: 880px){
  .ld-bento{ grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto; }
  .ld-bento > *{ grid-column: auto !important; grid-row: auto !important; min-height: 150px; }
  .ld-card--hero{ grid-column: 1 / -1 !important; min-height: 165px; }
}

@media (max-width: 700px){
  :root{ --ld-header-h: auto; }
  .ld-header{ position: static; }
  .ld-header__inner{ flex-wrap: wrap; padding: 1.1rem 1rem; row-gap: 1.1rem; }
  .ld-logo{ order: 1; margin: .3rem 0; }
  .ld-logo__img{ display: none; }
  .ld-logo__mobile{ display: block; height: 42px; }
  .ld-header__right{ display: contents; }
  .ld-lang{ order: 2; margin-left: auto; }
  .ld-header__search-group{ order: 3; flex-basis: 100%; width: 100%; }
  .ld-search{ flex: 1 1 auto; width: auto; max-width: none; }
  .ld-cert-badge{ display: none; }

  .ld-categories__panel{
    position: fixed;
    left: 1rem; right: 1rem; transform: none;
    min-width: 0; max-width: none;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
}

@media (min-width: 701px) and (max-width: 880px){
  .ld-footer__grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 2rem;
  }
}

@media (max-width: 700px){
  .ld-footer__grid{ grid-template-columns: 1fr; gap: 2rem 1.5rem; }
  .ld-footer__col--scope{ grid-column: auto; }
  .ld-footer__scope-cols{ flex-direction: column; gap: 1.5rem; }
  .ld-bento{ grid-template-columns: 1fr; }
  .ld-card--hero{ grid-column: 1 / -1 !important; }

  .ld-footer__rfq-tip{
    position: fixed;
    left: 1.2rem; right: 1.2rem; bottom: 1.2rem; top: auto;
    width: auto; max-width: none;
    transform: translateY(8px);
  }
  .ld-footer__rfq.is-open .ld-footer__rfq-tip{
    transform: translateY(0);
  }
  .ld-footer__rfq-tip::after{ display:none; }
}
@media (max-width: 440px){
  .ld-footer__grid{ grid-template-columns: 1fr; }
}
/* ------------------------------------------------------------------ */
/* Level 2 — section page (maker list)                                 */
/* ------------------------------------------------------------------ */

.ld-crumb{
  font-size:.82rem; color: var(--ld-steel); margin-bottom: 1.2rem;
}
.ld-crumb ol{
  display:flex; flex-wrap:wrap; row-gap:.3rem;
  list-style:none; margin:0; padding:0;
}
.ld-crumb li{ display:flex; align-items:center; }
.ld-crumb li + li::before{
  content:"/"; display:inline-block; margin: 0 .5rem;
  color: rgba(47,59,72,.4);
}
.ld-crumb a{ color: var(--ld-steel); text-decoration: none; white-space: nowrap; }
.ld-crumb a:hover{ color: var(--ld-navy); }
.ld-crumb__current{ color: var(--ld-navy); font-weight:500; white-space: nowrap; }

.ld-section-head{ max-width: 46rem; margin-bottom: clamp(1.75rem, 4vw, 2.5rem); }
.ld-section-head__icon{
  color: var(--ld-navy); width:64px; height:64px;
  margin-bottom: 1rem;
}
.ld-section-head__icon-img{
  display:block; width:100%; height:100%;
  background-color: currentColor;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
}
.ld-section-head--with-hero{
  max-width: none; display:flex; align-items:flex-start; justify-content:space-between;
  gap: 2rem; flex-wrap:wrap;
}
.ld-section-head--with-hero .ld-section-head__text{ max-width: 42rem; flex: 1 1 24rem; }
.ld-section-head--with-gallery{
  max-width: none; display:flex; align-items:flex-start; justify-content:space-between;
  gap: 6.75rem; flex-wrap: nowrap;
}
.ld-section-head--with-gallery .ld-section-head__text{ max-width: 42rem; flex: 1 1 22rem; }
@media (max-width: 880px){
  .ld-section-head--with-gallery{ gap: 1.2rem; flex-wrap: wrap; }
}

.ld-part-gallery-wrap{
  position: relative;
  flex: 1 1 auto; min-width: 0; max-width: 28.8rem; /* roughly 4 thumbnails wide -- hard cap so it can never grow to fit every photo and squeeze the text column */
}
.ld-part-gallery{
  display:flex; flex-wrap: nowrap; justify-content: flex-start; gap:.6rem;
  width: 100%;
  overflow-x: auto; overflow-y: hidden;
  height: 7.5rem; /* fits the 6.75rem-tall thumbnail plus scrollbar room */
  align-items: flex-start;
  scroll-snap-type: x mandatory;
}
.ld-part-gallery__thumb{
  flex: 0 0 auto;
  height: 6.75rem; width: auto;
  padding:0; border: 1px solid var(--ld-line);
  border-radius: 4px; overflow:hidden; cursor:pointer; background: var(--ld-card-bg, #fff);
  transition: border-color .15s ease;
  scroll-snap-align: start;
}
.ld-part-gallery__thumb:hover{ border-color: var(--ld-navy); }
.ld-part-gallery__thumb img{ height:100%; width:auto; display:block; }
.ld-part-gallery-scroll{
  position:absolute; top:50%; transform: translateY(-50%);
  width:2rem; height:2rem; z-index:2;
  border:none; border-radius: 50%; background: rgba(3,35,69,.65); font-size:1.4rem; line-height:1; cursor:pointer;
  color: #fff; display:flex; align-items:center; justify-content:center;
}
.ld-part-gallery-scroll:hover{ background: rgba(3,35,69,.85); color: var(--ld-coral); }
.ld-part-gallery-scroll--prev{ left:-.9rem; }
.ld-part-gallery-scroll--next{ right:-.9rem; }

.ld-part-gallery-modal{
  position: fixed; inset:0; z-index: 200;
  display:none; align-items:center; justify-content:center;
}
.ld-part-gallery-modal.is-open{ display:flex; }
.ld-part-gallery-modal__backdrop{
  position:absolute; inset:0; background: rgba(3,35,69,.75);
}
.ld-part-gallery-modal__content{
  position:relative; z-index:1; background: var(--ld-card-bg, #fff);
  border-radius: 6px; padding: 1.2rem; max-width: calc(100vw - 2rem);
  max-height: 90vh; overflow-y: auto;
  display:flex; flex-direction:column; align-items:center; gap:.7rem;
}
.ld-part-gallery-modal__img-wrap{
  position: relative; display:inline-block; line-height:0;
}
.ld-part-gallery-modal__img-wrap img{
  display:block;
  max-width: min(640px, calc(100vw - 4.4rem));
  max-height: min(640px, calc(90vh - 5rem));
  width:auto; height:auto;
  object-fit: contain; border-radius: 4px;
}
.ld-part-gallery-modal__caption{
  margin:0; font-size:.9rem; color: var(--ld-ink); text-align:center;
}
.ld-part-gallery-modal__close{
  position:absolute; top:.5rem; right:.5rem; width:2rem; height:2rem;
  border:none; border-radius: 50%; background: rgba(3,35,69,.65); font-size:1.5rem; line-height:1; cursor:pointer;
  color: #fff;
}
.ld-part-gallery-modal__close:hover{ color: var(--ld-coral); }
.ld-part-gallery-modal__nav{
  position:absolute; top:50%; transform: translateY(-50%);
  width:2.5rem; height:2.5rem; z-index:2;
  border:none; border-radius: 50%; background: rgba(3,35,69,.65); font-size:1.8rem; line-height:1; cursor:pointer;
  color: #fff; display:flex; align-items:center; justify-content:center;
}
.ld-part-gallery-modal__nav:hover{ background: rgba(3,35,69,.85); color: var(--ld-coral); }
.ld-part-gallery-modal__nav--prev{ left:.5rem; }
.ld-part-gallery-modal__nav--next{ right:.5rem; }
.ld-section-head h1{
  font-family: var(--ld-font-display);
  font-weight:600;
  text-transform: uppercase;
  font-size: clamp(2rem, 4.4vw, 3rem);
  line-height:1.08;
  letter-spacing:.005em;
  margin: 0 0 .7rem;
  color: var(--ld-navy);
}
.ld-section-head h1 .ld-accent{ color: var(--ld-coral); }

.ld-section-empty{ font-size:.95rem; color: var(--ld-steel); padding: 1.5rem 0; }

.ld-az-index__label{
  font-family: var(--ld-font-mono); font-size:.72rem; font-weight:400;
  color: var(--ld-steel); text-transform:uppercase; letter-spacing:.05em;
  margin: 0 0 .5rem;
}
.ld-az-index{
  display:flex; flex-wrap:wrap; gap:.35rem;
  margin-bottom: 1.2rem; padding-bottom: 1rem;
  border-bottom: 1px solid var(--ld-line);
}
.ld-az-index a, .ld-az-index span{
  display:flex; align-items:center; justify-content:center;
  width:1.9rem; height:1.9rem;
  font-family: var(--ld-font-mono); font-size:.8rem; font-weight:600;
  border-radius:4px;
  background: var(--ld-surface); border: 1px solid var(--ld-line);
}
.ld-az-index a{
  color: var(--ld-navy); text-decoration:none;
  transition: border-color .15s ease, color .15s ease;
}
.ld-az-index a:hover{ color: var(--ld-coral); border-color: var(--ld-navy); }
.ld-az-index span{
  color: var(--ld-steel); border-color: var(--ld-bg); opacity:.6;
}

.ld-maker-list{ display:flex; flex-direction:column; gap:.75rem; }
.ld-maker-row{ scroll-margin-top: calc(var(--ld-header-h) + 1rem); }

.ld-maker-row{
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas:
    "name  logo arrow"
    "meta  logo arrow"
    "desc  logo arrow";
  column-gap:1.3rem; row-gap:.15rem;
  background: var(--ld-surface);
  border: 1px solid var(--ld-line);
  border-radius: 6px;
  padding: 1.25rem 1.5rem;
  text-decoration:none; color: inherit;
  transition: border-color .15s ease;
}
.ld-maker-row:hover{ border-color: var(--ld-navy); }
.ld-maker-row:hover .ld-maker-row__name{ color: var(--ld-coral); }
.ld-maker-row:hover .ld-maker-row__arrow{ color: var(--ld-coral); }

.ld-maker-row--disabled{
  cursor: default;
}
.ld-maker-row--disabled:hover{ border-color: var(--ld-line); }
.ld-maker-row--disabled:hover .ld-maker-row__name{ color: var(--ld-navy); }

.ld-maker-row__logo{
  grid-area: logo; align-self:center;
  width: 152px; height: 80px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-user-drag: none;
  user-select: none;
}

.ld-maker-row__name{
  grid-area: name; align-self:end;
  font-family: var(--ld-font-display); font-weight:600; font-size:1.4rem;
  color: var(--ld-navy); letter-spacing:-.01em;
  transition: color .15s ease;
  overflow-wrap: break-word;
}
.ld-maker-row__meta{
  grid-area: meta; align-self:start;
  font-family: var(--ld-font-mono); font-size:.72rem; color: var(--ld-bronze-dark);
  text-transform: uppercase; letter-spacing:.03em;
  overflow-wrap: break-word;
}
.ld-maker-row__desc{ grid-area: desc; font-size:.85rem; color: var(--ld-steel); line-height:1.5; max-width:34rem; margin:.25rem 0 0; }

.ld-maker-row__arrow{ grid-area: arrow; align-self:center; color: var(--ld-steel); font-size:1.3rem; transition: color .15s ease; }

/* section_layout.php maker rows, mobile only:
   Row 1: name + founded/city/country on the left, logo+arrow on the right.
   Row 2: description, full width. Placed here (right after the base
   rule) rather than in the earlier mobile media-query blocks, since a
   media query appearing earlier in the file does NOT win against a
   later unconditional rule of equal specificity — source order still
   applies within a media query's own condition. */
@media (max-width: 700px){
  .ld-maker-row{
    grid-template-areas:
      "name logo arrow"
      "meta logo arrow"
      "desc desc desc";
  }
  .ld-maker-row__desc{ margin-top:.5rem; max-width:none; }
  .ld-maker-row__logo{ width: 88px; height: 46px; }
}

/* ------------------------------------------------------------------ */
/* Level 3 — maker page                                                */
/* ------------------------------------------------------------------ */

.ld-maker-hero__logo{
  width:224px; height:140px;
  flex: 0 0 auto;
  background-size: contain; background-repeat: no-repeat; background-position: center;
  -webkit-user-drag: none; user-select: none;
}
.ld-maker-hero__pdf{
  display:inline-flex; flex-direction:column; align-items:flex-start; gap:.4rem;
  width:fit-content; margin-bottom: 2rem;
  text-decoration:none;
}
.ld-maker-hero__pdf:hover .ld-maker-hero__pdf-label{ color: var(--ld-coral); }
.ld-maker-hero__pdf-thumb{
  width:150px; height:auto; border-radius:3px; border: 1px solid var(--ld-line);
  -webkit-user-drag: none; user-select: none;
}
.ld-maker-hero__pdf-label{
  font-size:.78rem; font-weight:600; color: var(--ld-navy);
  transition: color .15s ease;
}

/* Each bearing family: heading + description on the left, an optional
   reference photo on the right, same row — all inside one continuous
   card that also wraps every subgroup heading and table below it, so
   there's no gap where the page's grid texture shows through. */
.ld-bearing-family__head{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:1.5rem; flex-wrap:wrap;
  margin-bottom: 1.25rem;
}
.ld-bearing-family__head-text{ flex:1 1 24rem; max-width:42rem; }
.ld-bearing-family__head-text .ld-models-heading{ margin-top:0; }
.ld-bearing-family__image{
  flex:0 0 auto; width:220px; height:150px; object-fit:cover;
  border-radius:6px; border:1px solid var(--ld-line);
}

@media (max-width: 700px){
  .ld-section-head--with-hero{ flex-direction:column; }
  .ld-section-head--with-hero .ld-section-head__text{ flex: 0 0 auto; max-width:none; }
  .ld-maker-hero__logo{ width:100%; max-width:224px; height:auto; aspect-ratio: 224/140; }
  .ld-bearing-family__image{ width:100%; height:auto; aspect-ratio: 220/150; }
  .ld-maker-hero__pdf{ width:100%; }
}

.ld-models-heading{
  font-family: var(--ld-font-display); font-weight:600; font-size:1.4rem;
  color: var(--ld-navy); text-transform:uppercase; letter-spacing:-.01em;
  margin: 2rem 0 1rem;
}
.ld-series-block > .ld-models-heading:first-child{ margin-top: 0; }

.ld-series-block{
  margin-top: 1.4rem;
  background: var(--ld-surface);
  border: 1px solid var(--ld-line);
  border-radius: 6px;
  padding: 1.25rem 1.5rem;
}
.ld-series-label{
  font-family: var(--ld-font-display); font-weight:600; font-size:1.05rem;
  color: var(--ld-coral); text-transform:uppercase; letter-spacing:.01em;
  margin-bottom:.6rem; padding-bottom:.4rem; border-bottom: 2px solid var(--ld-line);
}
.ld-series-desc{ font-size:.85rem; color: var(--ld-steel); line-height:1.5; margin: 0 0 .8rem; max-width:34rem; }

.ld-bearing-other-lines{ margin-bottom: 2rem; }
.ld-bearing-other-lines__text{ font-size:.9rem; color: var(--ld-ink); line-height:1.7; max-width:48rem; }

.ld-models-not-found{
  margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--ld-line);
  font-size:.9rem; color: var(--ld-steel); max-width:34rem;
}
.ld-model-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap:.7rem; }
.ld-series-card-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (max-width: 880px){
  .ld-series-card-grid{ grid-template-columns: 1fr; }
}
.ld-series-card{
  display:flex; flex-direction:column; gap:.4rem;
  background: var(--ld-surface);
  border: 1px solid var(--ld-line);
  border-radius: 6px;
  padding: 1.25rem 1.5rem;
  text-decoration:none; color: inherit;
  transition: border-color .15s ease;
}
.ld-series-card:hover{ border-color: var(--ld-navy); }
.ld-series-card:hover .ld-series-card__label{ color: var(--ld-coral); }
.ld-series-card__label{
  font-family: var(--ld-font-display); font-weight:600; font-size:1.1rem;
  color: var(--ld-navy); transition: color .15s ease;
}
.ld-series-card__desc{ font-size:.85rem; color: var(--ld-steel); line-height:1.5; margin:0; }
.ld-series-card__count{
  font-family: var(--ld-font-mono); font-size:.72rem; color: var(--ld-bronze-dark);
  text-transform:uppercase; letter-spacing:.03em; margin-top:.3rem;
}

.ld-model-card{
  background: var(--ld-white); border: 1px solid var(--ld-line); border-radius:6px;
  padding:.8rem 1rem; text-decoration:none; color: var(--ld-navy);
  font-family: var(--ld-font-mono); font-weight:500; font-size:.92rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: border-color .15s ease;
}
.ld-model-card:hover{ border-color: var(--ld-navy); color: var(--ld-coral); }

.ld-part-card{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.ld-part-card__ref{
  font-family: var(--ld-font-mono); font-size:.68rem; font-weight:600;
  color: var(--ld-bronze-dark); background: var(--ld-bg);
  border: 1px solid var(--ld-line); border-radius:3px;
  padding:.1rem .4rem; white-space:nowrap;
}

/* Static maker-page catalog display (no per-type links) — RKB's
   bearing families/subgroups/types. Cards are deliberately not
   anchor tags: there's no dimensioned part-number data behind them
   yet, so nothing to link to. */
.ld-bearing-family{
  margin-bottom: 2.5rem;
  background: var(--ld-surface); border: 1px solid var(--ld-line); border-radius: 6px;
  padding: 1.5rem 1.75rem;
}
.ld-bearing-subgroup__heading{
  font-family: var(--ld-font-display); font-weight:600; font-size:1rem;
  color: var(--ld-coral); text-transform:uppercase; letter-spacing:.02em;
  margin: 1.5rem 0 .8rem; padding-bottom:.3rem; border-bottom: 1px solid var(--ld-line);
}
.ld-bearing-table{
  width:100%; border-collapse: collapse; margin-bottom: 1.2rem;
  background: var(--ld-white);
  border: 1px solid var(--ld-line); border-radius: 6px; overflow:hidden;
}
.ld-bearing-table tr:not(:last-child) td{ border-bottom: 1px solid var(--ld-line); }
.ld-bearing-table__code{
  font-family: var(--ld-font-mono); font-weight:600; font-size:.85rem;
  color: var(--ld-navy); white-space:nowrap; vertical-align:top;
  padding:.7rem 1rem; width:1%;
}
.ld-bearing-table__desc{
  font-size:.85rem; color: var(--ld-ink); line-height:1.55;
  padding:.7rem 1rem;
}

@media (max-width: 700px){
  .ld-bearing-table tr{ display: block; }
  .ld-bearing-table tr:not(:last-child){ border-bottom: 1px solid var(--ld-line); }
  .ld-bearing-table tr:not(:last-child) td{ border-bottom: none; }
  .ld-bearing-table__code,
  .ld-bearing-table__desc{
    display: block; width: auto; white-space: normal; padding: .7rem 1rem;
  }
  .ld-bearing-table__code{ padding-bottom: .2rem; }
  .ld-bearing-table__desc{ padding-top: 0; }
}
.ld-part-card:hover .ld-part-card__ref{ border-color: var(--ld-coral); }

.ld-parts-list{
  column-width: calc(var(--part-name-w, 14ch) + var(--part-number-w, 7ch) + 2.3rem);
  column-gap: 2.5rem;
}
.ld-parts-list__row{
  display:flex; justify-content:flex-start; align-items:baseline; gap:.7rem;
  break-inside: avoid;
  padding:.7rem .8rem; border-bottom: 1px solid var(--ld-line);
  font-size:.9rem; color: var(--ld-ink);
}
.ld-parts-list__ref{ font-family: var(--ld-font-mono); color: var(--ld-steel); flex: 0 0 var(--part-ref-w, 4ch); text-align:left; white-space:nowrap; }
.ld-parts-list__name{ color: var(--ld-navy); flex: 1 1 var(--part-name-w, 14ch); min-width: 0; }
.ld-parts-list__number{ font-family: var(--ld-font-mono); color: var(--ld-bronze-dark); flex: 0 0 var(--part-number-w, 7ch); text-align:left; white-space:nowrap; }
.ld-parts-list__category{
  column-span: all; white-space: normal;
  font-family: var(--ld-font-display); font-weight:600; font-size:.8rem;
  color: var(--ld-coral); text-transform:uppercase; letter-spacing:.02em;
  padding:.6rem .8rem; margin-top: .6rem; background: var(--ld-bg);
  border-radius: 4px;
}

.ld-model-specs{
  display: table;
  border: 1px solid var(--ld-line);
  border-radius: 6px;
  background: var(--ld-surface);
  overflow: hidden;
  margin-bottom: 2rem;
}
.ld-model-specs__row{
  display: table-row;
}
.ld-model-specs__label,
.ld-model-specs__value{
  display: table-cell;
  padding: .65rem 1.25rem .65rem 1rem;
  border-bottom: 1px solid var(--ld-line);
  text-align: left;
  vertical-align: baseline;
}
.ld-model-specs__row:last-child .ld-model-specs__label,
.ld-model-specs__row:last-child .ld-model-specs__value{
  border-bottom: none;
}
.ld-model-specs__label{
  font-size:.78rem; color: var(--ld-steel); text-transform:uppercase; letter-spacing:.03em;
  white-space: nowrap;
}
.ld-model-specs__value{
  font-family: var(--ld-font-mono); font-size:.95rem; font-weight:500; color: var(--ld-navy);
}

@media (max-width: 700px){
  .ld-model-specs{ display: block; }
  .ld-model-specs__row{ display: block; padding: .65rem 1rem; border-bottom: 1px solid var(--ld-line); }
  .ld-model-specs__row:last-child{ border-bottom: none; }
  .ld-model-specs__label,
  .ld-model-specs__value{
    display: block; padding: 0; border-bottom: none;
  }
  .ld-model-specs__label{ margin-bottom: .2rem; white-space: normal; overflow-wrap: break-word; }
}

.ld-specs-table{
  width: 100%; border-collapse: collapse;
  border: 1px solid var(--ld-line); border-radius: 6px; overflow: hidden;
  background: var(--ld-surface); margin-bottom: 2rem;
}
.ld-specs-table th,
.ld-specs-table td{
  padding: .65rem 1.25rem .65rem 1rem;
  border-bottom: 1px solid var(--ld-line);
  text-align: left; vertical-align: baseline;
}
.ld-specs-table tbody tr:last-child th,
.ld-specs-table tbody tr:last-child td{ border-bottom: none; }
.ld-specs-table thead th{
  font-size:.78rem; color: var(--ld-steel); text-transform:uppercase; letter-spacing:.03em;
  font-family: var(--ld-font-display); font-weight:600;
  border-bottom: 1px solid var(--ld-line);
}
.ld-specs-table tbody th{
  font-size:.78rem; color: var(--ld-steel); text-transform:uppercase; letter-spacing:.03em;
  white-space: nowrap; font-weight: 500;
}
.ld-specs-table td{
  font-family: var(--ld-font-mono); font-size:.95rem; font-weight:500; color: var(--ld-navy);
}

@media (max-width: 700px){
  .ld-specs-table{ font-size: .85rem; }
  .ld-specs-table th, .ld-specs-table td{ padding: .55rem .75rem; }
}

.ld-series-nav__label{
  font-family: var(--ld-font-display); font-weight:600; font-size:.85rem;
  color: var(--ld-navy); text-transform:uppercase; letter-spacing:.02em;
  margin: 0 0 .6rem;
}
.ld-series-nav__label .ld-accent{ color: var(--ld-coral); }

.ld-series-nav{
  display:flex; flex-wrap:wrap; gap:.6rem;
  margin-bottom: 1.5rem;
}
.ld-series-nav a{
  font-family: var(--ld-font-display); font-weight:600; font-size:.85rem;
  color: var(--ld-navy); text-decoration:none;
  background: var(--ld-surface); border: 1px solid var(--ld-line); border-radius: 999px;
  padding:.45rem 1rem;
  transition: border-color .15s ease, color .15s ease;
}
.ld-series-nav a:hover{ border-color: var(--ld-navy); color: var(--ld-coral); }

.ld-series-section{ scroll-margin-top: calc(var(--ld-header-h) + 1rem); }

.ld-series-subheading{
  font-family: var(--ld-font-display); font-weight:600; font-size:.95rem;
  color: var(--ld-navy); text-transform:uppercase; letter-spacing:.02em;
  margin: 1.4rem 0 .6rem;
}
.ld-series-refs-note{
  font-size:.82rem; color: var(--ld-steel); line-height:1.5; max-width:38rem; margin: 0 0 .8rem;
}

.ld-parts-blocks{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.25rem;
  align-items: start;
}
.ld-parts-blocks .ld-series-block{ margin-top:0; }

.ld-back-to-top{
  position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 90;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--ld-coral); color: var(--ld-white);
  border: none; font-size: 1.2rem; line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(3,35,69,.25);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, background .15s ease;
}
.ld-back-to-top.is-visible{ opacity: 1; visibility: visible; transform: translateY(0); }
.ld-back-to-top:hover{ background: var(--ld-navy); }
@media (max-width: 700px){
  .ld-back-to-top{ right: 1rem; bottom: 1rem; width: 40px; height: 40px; }
}

/* =====================================================================
   LEGAL PAGES (Cookies Policy, and future Legal Notice / Privacy Policy)
   ===================================================================== */
.ld-legal__updated{
  font-size:.85rem; color: var(--ld-steel); margin: .5rem 0 0;
}
.ld-legal{
  max-width: 46rem;
  display: flex; flex-direction: column; gap: 2rem;
}
.ld-legal__section h2{
  font-family: var(--ld-font-display); font-weight:600; font-size: 1.3rem;
  color: var(--ld-navy); margin: 0 0 .6rem; letter-spacing:-.01em;
}
.ld-legal__section p{
  font-size:.95rem; line-height:1.65; color: var(--ld-ink); margin: 0 0 .6rem;
}
.ld-legal__section p:last-child{ margin-bottom:0; }
.ld-legal__section a{
  color: var(--ld-navy); font-weight:600; text-decoration: underline; text-underline-offset: 2px;
}
.ld-legal__section a:hover{ color: var(--ld-coral); }
.ld-legal .ld-link-btn{
  color: var(--ld-navy); font-weight:600; text-decoration: underline; text-underline-offset: 2px;
  display:inline; font-size: inherit; font-family: inherit;
}
.ld-legal .ld-link-btn:hover{ color: var(--ld-coral); }

.ld-about__cta{ padding-top: .5rem; border-top: 1px solid var(--ld-line); }
.ld-about__cta-link{
  display: inline-flex; align-items: center; gap: .5rem;
  font-weight: 600; text-decoration: none !important;
}
.ld-about__cta-link svg{ width:18px; height:18px; flex:0 0 auto; }
.ld-about__cta-link:hover{ color: var(--ld-coral); }
.ld-about__cta-link .ld-footer__filesize{ font-weight:400; }

.ld-legal__table-wrap{
  overflow-x: auto; margin: 0 0 1rem;
  border: 1px solid var(--ld-line); border-radius: var(--ld-radius-sm);
}
.ld-legal__table{
  width:100%; border-collapse: collapse; font-size:.85rem; min-width: 640px;
}
.ld-legal__table th, .ld-legal__table td{
  text-align:left; padding:.65rem .8rem; border-bottom: 1px solid var(--ld-line);
  vertical-align: top;
}
.ld-legal__table thead th{
  font-family: var(--ld-font-display); font-weight:600; font-size:.78rem;
  letter-spacing:.04em; text-transform: uppercase; color: var(--ld-navy);
  background: var(--ld-surface);
}
.ld-legal__table tbody tr:last-child td{ border-bottom:none; }
.ld-legal__table code{
  font-family: var(--ld-font-mono); font-size:.8rem; color: var(--ld-ink);
  background: var(--ld-surface); padding:.1rem .35rem; border-radius:3px;
}
.ld-legal__browser-list{
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.4rem;
  font-size:.9rem; color: var(--ld-ink);
}

/* Search results — Models and Parts as real tables (separate columns
   instead of one run-on line), Makers as a simple single-column list
   since it has nothing else to tabulate. */
.ld-search-group{ margin-bottom: 2rem; }
.ld-search-group h2{
  font-family: var(--ld-font-display); font-weight:600; font-size:1.1rem;
  color: var(--ld-coral); margin: 0 0 .8rem;
}
.ld-search-table{
  display:inline-table; width:fit-content; border-collapse: collapse;
  background: var(--ld-surface);
  border: 1px solid var(--ld-line); border-radius: 6px; overflow:hidden;
}
.ld-search-table thead th{
  text-align:left; padding:.6rem 1rem; font-size:.72rem; font-weight:600;
  color: var(--ld-steel); text-transform:uppercase; letter-spacing:.03em;
  background: var(--ld-bg); border-bottom: 1px solid var(--ld-line);
  white-space: nowrap;
}
.ld-search-table tr:not(:last-child) td{ border-bottom: 1px solid var(--ld-line); }
.ld-search-table td{ padding:.7rem 1rem; font-size:.85rem; vertical-align:top; white-space: nowrap; }
.ld-search-table__primary a{
  color: var(--ld-navy); font-weight:600; text-decoration:none;
}
.ld-search-table__primary a:hover{ color: var(--ld-coral); }
.ld-search-table tbody tr:hover .ld-search-table__primary a{ color: var(--ld-coral); }
.ld-search-table__code{
  font-family: var(--ld-font-mono); color: var(--ld-bronze-dark);
  white-space:nowrap;
}
.ld-search-table__meta{ color: var(--ld-steel); white-space:nowrap; }
.ld-search-pagination{
  display:flex; align-items:center; gap: 1rem;
  margin: .8rem 0 0; font-size:.85rem;
}
.ld-search-pagination a{ color: var(--ld-navy); font-weight:600; text-decoration:none; }
.ld-search-pagination a:hover{ color: var(--ld-coral); }
.ld-search-pagination__status{ color: var(--ld-steel); }
.ld-search-maker-list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:.5rem;
}
.ld-search-maker-list a{
  display:block; padding:.7rem 1rem; font-size:.9rem; font-weight:600;
  color: var(--ld-navy); text-decoration:none;
  background: var(--ld-surface); border: 1px solid var(--ld-line); border-radius:6px;
}
.ld-search-maker-list a:hover{ color: var(--ld-coral); border-color: var(--ld-navy); }
.ld-search-maker-list__section{ font-weight:400; color: var(--ld-steel); }

@media (max-width: 700px){
  .ld-search-table thead{ display:none; }
  .ld-search-table, .ld-search-table tbody, .ld-search-table tr, .ld-search-table td{ display:block; width:100%; }
  .ld-search-table tr{ padding:.7rem 1rem; border-bottom: 1px solid var(--ld-line); }
  .ld-search-table td{ padding:.15rem 0; border-bottom:none !important; white-space:normal; }
}

@media (max-width: 600px){
  .ld-parts-list{ column-width: auto; }
  .ld-parts-list__row{
    flex-direction: column; align-items: flex-start; gap: .15rem;
  }
  .ld-parts-list__ref, .ld-parts-list__name, .ld-parts-list__number{
    flex: 0 0 auto; width: 100%; white-space: normal;
  }
}