/* V2 catalog: the same green/glass vocabulary as /services, without its
   separate application shell or checkout scripts. */
.catalog-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;}
.catalog-intro .hero-sub{max-width:45ch;}
.catalog-digital-link{display:flex;align-items:center;gap:14px;flex-shrink:0;font-size:14px;color:var(--green-light);}
.catalog-digital-link > span:last-child{display:flex;gap:16px;align-items:center;}
.catalog-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px;}
.catalog-card{
  position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-width:0;
  padding:26px;border:1px solid rgba(190,218,213,.17);border-radius:20px;
  background:linear-gradient(145deg,rgba(23,37,32,.96),rgba(13,17,17,.95));
  box-shadow:0 12px 32px rgba(0,0,0,.12);
  transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease;
}
.catalog-card::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),rgba(74,222,128,.12),transparent 75%);
  transition:opacity .24s ease;
}
.catalog-card-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;}
.catalog-card .ico{width:48px;height:48px;font-size:20px;border-radius:14px;flex-shrink:0;}
.catalog-card .ico-lg{width:60px;height:60px;font-size:26px;}
.catalog-index,.catalog-tag{font:500 11px/1.5 var(--num);letter-spacing:.06em;text-transform:uppercase;color:#a8bbb0;}
.catalog-area-title{font-size:23px;font-weight:750;letter-spacing:-.025em;line-height:1.2;}
.catalog-description{font-size:15px;line-height:1.65;color:#b1bcb6;margin-top:12px;}
.catalog-card-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:26px;font-size:13px;font-weight:650;color:var(--green-light);}
.catalog-card-foot i{transition:transform .24s ease;flex-shrink:0;}
.catalog-heading{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px 48px;margin-bottom:32px;}
.catalog-heading h2{display:flex;align-items:center;gap:18px;}
.catalog-heading .ico{width:56px;height:56px;font-size:22px;flex-shrink:0;}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.catalog-service{min-height:250px;}
.catalog-service .t-h3{font-size:23px;line-height:1.2;}
.catalog-watermark{font-size:55px;color:rgba(130,207,167,.075);transform:rotate(-12deg);}
.catalog-ecosystem{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.catalog-digital{padding:36px;min-height:320px;}
.catalog-digital h3{font-size:clamp(32px,4vw,44px);letter-spacing:-.035em;}
.catalog-bunker{border-color:rgba(120,225,173,.32);background:linear-gradient(145deg,rgba(25,54,38,.96),rgba(13,22,17,.96));}
@media(hover:hover) and (pointer:fine){
  .catalog-card:hover{transform:translateY(-4px);border-color:rgba(120,225,173,.52);box-shadow:0 20px 44px rgba(0,0,0,.22);}
  .catalog-card:hover::before{opacity:1;}
  .catalog-service:hover .catalog-card-foot i,.catalog-digital:hover .catalog-card-foot i{transform:translateX(4px);}
}
.catalog-card:focus-visible{outline:2px solid var(--green-light);outline-offset:4px;border-radius:20px;}
@media(max-width:1000px){
  .catalog-areas,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .catalog-intro{align-items:flex-start;flex-direction:column;gap:24px;}
}
@media(max-width:640px){
  .catalog-hero{padding-bottom:48px;}
  .catalog-areas{gap:12px;margin-top:32px;}
  .catalog-area{padding:18px;border-radius:16px;}
  .catalog-area-title{font-size:20px;}
  .catalog-area .catalog-description{font-size:13px;}
  .catalog-area .catalog-card-top{margin-bottom:20px;gap:8px;}
  .catalog-area .ico{width:40px;height:40px;font-size:17px;}
  .catalog-heading,.catalog-grid,.catalog-ecosystem{grid-template-columns:1fr;}
  .catalog-heading{gap:16px;margin-bottom:26px;}
  .catalog-service{min-height:230px;padding:24px;}
  .catalog-digital{padding:26px;min-height:310px;}
  .catalog-tag{font-size:10px;}
}
@media(prefers-reduced-motion:reduce){
  .catalog-card,.catalog-card::before,.catalog-card-foot i{transition:none;}
  .catalog-card:hover,.catalog-card:hover .catalog-card-foot i{transform:none;}
}
@media(max-width:420px){
  .catalog-areas{grid-template-columns:1fr;}
  .catalog-area{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;row-gap:6px;}
  .catalog-area .catalog-card-top{grid-column:1;grid-row:1 / span 3;align-self:start;margin:0;}
  .catalog-area .catalog-index{display:none;}
  .catalog-area-title,.catalog-area .catalog-description,.catalog-area .catalog-card-foot{grid-column:2;margin:0;}
  .catalog-area .catalog-card-foot{padding-top:8px;}
}

/* A section navigator, not a dialog: no overlay, no focus trap. Native
   anchors keep keyboard navigation and reduced-motion scrolling intact. */
.catalog-dock[hidden]{display:none;}
.catalog-dock{
  position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:75;
  width:calc(100% - 24px);max-width:380px;padding:8px;border-radius:20px;
  transform:translateX(-50%);border:1px solid rgba(120,225,173,.28);
  background:rgba(13,22,18,.94);box-shadow:0 14px 45px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
.catalog-dock-links{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:0;}
.catalog-dock-links a{
  display:flex;align-items:center;justify-content:center;
  min-height:46px;min-width:0;padding:8px 4px;border-radius:13px;border:1px solid transparent;color:#b1bcb6;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.catalog-dock-links i{font-size:18px;}
.catalog-dock-links a[aria-current="location"]{background:rgba(74,222,128,.14);color:var(--green-light);border-color:rgba(120,225,173,.42);}
.catalog-dock-links a:focus-visible{outline:2px solid var(--green-light);outline-offset:1px;}
body.page-catalog:has(.catalog-dock:not([hidden])) .to-top{bottom:calc(90px + env(safe-area-inset-bottom));}
body:has(.svc-nav-mini[open]) .catalog-dock,
body:has(.svc-nav-lang .dd.open) .catalog-dock,
body:has(.modal.open) .catalog-dock{visibility:hidden;pointer-events:none;}
@media(hover:hover){.catalog-dock-links a:hover{color:var(--green-light);background:rgba(74,222,128,.1);}}
@media(prefers-reduced-motion:no-preference){
  @keyframes catalogDockIn{from{opacity:0;transform:translate(-50%,12px);}to{opacity:1;transform:translate(-50%,0);}}
  .catalog-dock:not([hidden]){animation:catalogDockIn .25s ease both;}
}
@media(prefers-reduced-motion:reduce){.catalog-dock-links a{transition:none;}}
