/* CALEGAL.NET V34 — refined office address typography and responsive footer. */
/* Each address component stays whole; lines can wrap only at intentional boundaries. */
body.calegal-site .cl34-address{
  font-style:normal;
  font-variant-numeric:tabular-nums;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none;
  letter-spacing:-.015em;
  line-height:1.72;
}
body.calegal-site .cl34-address-part{
  display:inline-block;
  max-width:100%;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  vertical-align:baseline;
}
/* Give office details their own comfortable reading width. */
body.calegal-site .cl15-footer-top{
  grid-template-columns:minmax(0,1.06fr) minmax(0,.81fr) minmax(250px,1fr);
  column-gap:clamp(22px,3vw,44px);
}
body.calegal-site .cl15-footer-office{min-width:0}
body.calegal-site .cl15-footer-office .cl34-footer-address{
  margin:0 0 15px;
  color:#4e6571;
  font-size:13.5px;
  font-weight:480;
  line-height:1.75;
}
body.calegal-site .cl15-footer-office .cl34-footer-address .cl34-address-part{
  display:block;
}
body.calegal-site .cl15-footer-office .cl31-office-phone{margin-bottom:12px}
body.calegal-site .cl15-footer-office .cl15-footer-location{
  line-height:1.65;
  text-underline-offset:3px;
}
body.page-home .cl15-guide-steps .cl34-address,
body.page-home .cl15-contact-cta .cl34-address{
  margin-bottom:12px;
  color:#425e70;
  font-weight:530;
  font-size:14px;
}
/* Tablet: 2-column footer, brand spans width. Single-column on phones. */
@media(max-width:991.98px){
  body.calegal-site .cl15-footer-top{
    grid-template-columns:minmax(0,1fr) minmax(270px,1fr);
    column-gap:30px;
  }
}
@media(max-width:720px){
  body.calegal-site .cl15-footer-top{grid-template-columns:minmax(0,1fr);row-gap:26px}
  body.calegal-site .cl15-footer-office .cl34-footer-address{font-size:14px}
  body.page-home .cl15-contact-cta .cl34-address{font-size:13.5px}
}
@media(max-width:380px){
  body.calegal-site .cl15-footer-office .cl34-footer-address{font-size:13px}
  body.page-home .cl15-guide-steps .cl34-address{font-size:13px}
}

/* Contact page: line-break-safe office address and two matching business cards. */
body.calegal-site .ca-contact-sidecard .cl34-contact-address{
  display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.45em;row-gap:0;
  margin:0 0 5px;color:#244759;font-style:normal;font-size:clamp(13px,1.1vw,15px);
  font-weight:580;line-height:1.7;letter-spacing:-.012em;
}
body.calegal-site .ca-contact-sidecard .cl34-contact-address .cl34-address-part{
  display:inline-block;white-space:nowrap;max-width:100%;
}
body.calegal-site .ca-contact-sidecard .cl34-contact-parking{
  color:#617480;font-size:13px;line-height:1.7;margin:0 0 17px;
}
body.calegal-site .ca-contact-sidecard .cl34-contact-cards{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;
  column-gap:12px;row-gap:14px;width:100%;margin:21px 0 3px;
}
body.calegal-site .ca-contact-sidecard .cl34-contact-card{
  min-width:0;margin:0;padding:9px 9px 11px;background:#fff;
  border:1px solid #e2e8e8;border-radius:9px;
  box-shadow:0 5px 17px rgba(31,54,70,.045);
}
body.calegal-site .ca-contact-sidecard .cl34-contact-card img{
  display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1000/571;
  object-fit:contain;border:1px solid #edf0f1;border-radius:4px;
  cursor:zoom-in;
}
body.calegal-site .ca-contact-sidecard .cl34-contact-card figcaption{
  padding-top:8px;text-align:center;font-size:12px;font-weight:560;
  color:#586f7c;line-height:1.5;
}
@media(max-width:400px){
  body.calegal-site .ca-contact-sidecard .cl34-contact-cards{column-gap:8px}
  body.calegal-site .ca-contact-sidecard .cl34-contact-card{padding:6px 6px 8px}
  body.calegal-site .ca-contact-sidecard .cl34-contact-card figcaption{font-size:11px}
}

/* V34 final refinements: compact header-to-content transition and restrained hero image. */
body.calegal-site .site-header .site-navbar{
  min-height:68px;
  padding-top:7px;
  padding-bottom:7px;
  gap:clamp(10px,1.4vw,19px);
}
body.calegal-site .site-header .site-brand img{height:auto;max-height:57px;object-fit:contain}
body.page-home .site-main{margin-top:0!important;padding-top:0!important}
body.page-home .cl15-hero-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(22px,3.2vw,45px);
  padding-top:clamp(20px,2.4vw,32px);
  padding-bottom:clamp(28px,3.2vw,44px);
}
body.page-home .cl15-hero-visual{
  width:100%;
  max-width:440px;
  max-height:295px;
  aspect-ratio:1.53 / 1;
  justify-self:end;
}
body.page-home .cl16-hero-overlay{padding:clamp(14px,1.6vw,22px)}
body.page-home .cl16-hero-statement{font-size:clamp(20px,1.95vw,27px)}
/* Footer intentionally dark: page content stays bright, end-of-page gains a visual anchor. */
body.calegal-site .cl15-footer{
  background:linear-gradient(135deg,#1a3648 0%,#122a3a 100%)!important;
  color:#e9eef0!important;
  border-top:3px solid #bd9a70!important;
  padding:clamp(40px,4vw,54px) 0 23px;
}
body.calegal-site .cl15-footer-small{color:#d7b68a!important}
body.calegal-site .cl15-footer :is(h2,h3){color:#fff!important}
body.calegal-site .cl15-footer p{color:#d0dce3!important}
body.calegal-site .cl15-footer a{color:#ecf3f6!important}
body.calegal-site .cl15-footer a:hover{color:#f0cb96!important}
body.calegal-site .cl15-footer-office .cl34-footer-address{color:#e1e9ec!important}
body.calegal-site .cl15-footer-office .cl31-office-phone a{color:#fff!important}
body.calegal-site .cl15-footer-bottom{
  border-top:1px solid rgba(240,245,248,.18)!important;
  padding-top:19px;
  margin-top:28px;
}
body.calegal-site .cl15-footer-bottom p{color:#bdced9!important}
body.calegal-site .cl15-footer a:focus-visible{outline-color:#e9c28a!important}
@media(max-width:991.98px){
  body.page-home .cl15-hero-grid{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:22px;padding-bottom:32px}
  body.page-home .cl15-hero-visual{justify-self:start;max-width:min(100%,520px);max-height:290px;aspect-ratio:1.65 / 1}
}
@media(max-width:720px){
  body.calegal-site .site-header .site-navbar{min-height:64px;padding-top:6px;padding-bottom:6px}
  body.page-home .cl15-hero-grid{padding-top:18px;padding-bottom:26px;gap:22px}
  body.page-home .cl15-hero-visual{max-width:100%;max-height:255px;aspect-ratio:1.55 / 1}
  body.calegal-site .cl15-footer{padding-top:38px}
}
@media(max-width:460px){
  body.page-home .cl15-hero-visual{aspect-ratio:1.36 / 1;max-height:255px}
  body.page-home .cl16-hero-statement{font-size:clamp(19px,4.6vw,23px)}
}
