/* R19 — footer composition only.
   Preserve the header/hero, existing page layout and global tokens. */

.footer{
  padding:42px var(--gutter) 30px;
  background:#050606;
}
.footer-inner{
  width:min(var(--max),100%);
  margin:0 auto;
  padding:30px 0 0;
  border-top:1px solid rgba(240,238,232,.12);
  display:grid;
  grid-template-columns:minmax(264px,1fr) minmax(300px,auto) auto;
  column-gap:clamp(24px,3.4vw,62px);
  row-gap:16px;
  align-items:start;
}
.footer-brand{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  min-width:0;
  align-items:center;
  align-self:start;
  gap:12px;
  color:var(--ivory);
  text-decoration:none;
}
.footer .footer-brand .brand-mark{
  color:var(--ivory);
  font-size:26px;
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.12;
}
.footer .footer-brand .brand-rule{
  display:block;
  width:1px;
  height:30px;
  flex:0 0 1px;
  background:rgba(239,234,225,.28);
}
.footer .footer-brand .brand-long{
  display:block;
  margin:0;
  max-width:none;
  color:#a9a296;
  font:500 8.5px/1.45 var(--mono);
  letter-spacing:1.2px;
  white-space:nowrap;
}
.footer-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px 23px;
  padding-top:5px;
  color:#b5b1a9;
  font-size:13px;
  line-height:1.5;
}
.footer-nav a{display:inline-block;padding:1px 0;min-height:24px}
.footer-small{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  padding-top:5px;
  text-align:right;
  color:#a6a198;
  font-size:11.5px;
  line-height:1.5;
}
.footer-small a{display:inline;margin:0;color:#c0b5a5}
.footer-legal{
  box-sizing:border-box;
  width:min(var(--max),100%);
  max-width:var(--max);
  margin:23px auto 0;
  padding:15px 0 0;
  border-top:1px solid rgba(240,238,232,.10);
  display:flex;
  flex-wrap:wrap;
  gap:6px 24px;
  color:#888781;
  font-size:10.5px;
  line-height:1.55;
}
.footer-registered-name,.footer-company-details{display:block}
@media(max-width:1024px){
  .footer-inner{
    grid-template-columns:minmax(0,1fr) auto;
    row-gap:20px;
  }
  .footer-nav{
    grid-column:1/-1;
    grid-row:2;
    justify-content:flex-start;
    padding-top:0;
  }
  .footer-small{
    grid-column:2;
    grid-row:1;
  }
}
@media(max-width:640px){
  .footer{padding:30px 22px 26px}
  .footer-inner{
    grid-template-columns:minmax(0,1fr);
    gap:0;
    padding-top:24px;
  }
  .footer-brand{
    grid-column:1;
    grid-row:1;
    gap:11px;
  }
  .footer .footer-brand .brand-mark{font-size:30px}
  .footer .footer-brand .brand-rule{height:30px}
  .footer .footer-brand .brand-long{
    font-size:8.1px;
    line-height:1.45;
    letter-spacing:1px;
  }
  .footer-nav{
    grid-column:1;
    grid-row:2;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:9px;
    row-gap:10px;
    margin-top:26px;
    padding:0;
    font-size:14.5px;
  }
  .footer-nav a{
    min-height:34px;
    display:flex;
    align-items:center;
    padding:4px 0;
    white-space:nowrap;
  }
  .footer-nav a:nth-child(4){grid-column:1/3}
  .footer-nav a:nth-child(5){grid-column:3}
  .footer-small{
    grid-column:1;
    grid-row:3;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:7px 16px;
    margin-top:25px;
    padding:0;
    font-size:11.5px;
    text-align:left;
  }
  .footer-small a{margin:0}
  .footer-legal{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:17px;
    padding-top:14px;
    font-size:10.5px;
    line-height:1.55;
  }
}
@media(max-width:350px){
  .footer{padding-inline:18px}
  .footer .footer-brand .brand-mark{font-size:27px}
  .footer .footer-brand .brand-long{font-size:7.4px;letter-spacing:.72px}
  .footer-nav{font-size:13.5px}
  .footer-small{font-size:11px}
}
