/* V13: desktop-only mega panels; mobile shows deliberately compact subnavigation. */
.mobile-submenu{display:none!important}
@media(min-width:1081px){
 #site-header .about-mega .about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:23px}
 #site-header .about-feature{display:block;position:relative;overflow:hidden;border-radius:16px;min-height:270px;text-decoration:none;color:#fff!important;background:#061827}
 #site-header .about-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
 #site-header .about-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,12,27,.93),rgba(4,20,36,.05) 85%)}
 #site-header .about-feature-caption{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:23px;display:flex;flex-direction:column;gap:8px}
 #site-header .about-feature-caption small{font-size:11px;letter-spacing:.13em;color:#e6c17a}
 #site-header .about-feature-caption strong{font-size:23px;line-height:1.17;color:white}
 #site-header .about-feature-caption span{font-size:13px;color:#dce5ea}
 #site-header .about-mega{width:min(1040px,calc(100vw - 48px))!important}
}
@media(max-width:1080px){
 /* Completely remove all desktop mega content on phones and tablets. */
 #site-header .main-menu .mega-panel,#site-header .main-menu .nav-dropdown.mega-panel,
 #site-header .main-menu .nav-group.open .mega-panel,
 #site-header .main-menu .nav-group.open:hover .mega-panel,
 #site-header .main-menu .nav-group.open:focus-within .mega-panel{display:none!important;visibility:hidden!important;pointer-events:none!important}
 #site-header .main-menu .nav-group .mobile-submenu{display:none!important;width:100%;background:transparent;border-left:2px solid #d9b46d;margin:1px 0 12px 1px;padding:2px 0 3px 15px}
 #site-header .main-menu .nav-group.open .mobile-submenu{display:flex!important;flex-direction:column}
 #site-header .main-menu .mobile-submenu a{color:#dce9f4!important;font-weight:600!important;text-transform:none!important;line-height:1.4;font-size:15px!important;padding:12px 10px!important;text-decoration:none;border-radius:8px;display:block}
 #site-header .main-menu .mobile-submenu a:focus-visible,#site-header .main-menu .mobile-submenu a:hover{background:#ffffff13!important;color:#f6ce81!important;outline-offset:2px}
}


/* V14 intro reception background */
.intro.intro-reception{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(rgba(251,250,247,.88), rgba(251,250,247,.88)),
    url('../images/intro-reception-toronto.png') center center / cover no-repeat;
}
.intro.intro-reception:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.06) 42%, rgba(255,255,255,.14) 100%);
  pointer-events:none;
}
.intro.intro-reception .container{
  position:relative;
  z-index:1;
}
.intro.intro-reception .large{
  color:#314657;
}
.intro.intro-reception .trust-grid{
  background:rgba(255,255,255,.46);
  backdrop-filter: blur(2px);
  border-top:1px solid rgba(18,36,54,.12);
  border-bottom:1px solid rgba(18,36,54,.12);
}
.intro.intro-reception .trust-grid>div{
  border-right:1px solid rgba(18,36,54,.10);
}
@media (max-width:700px){
  .intro.intro-reception{
    background:
      linear-gradient(rgba(251,250,247,.92), rgba(251,250,247,.92)),
      url('../images/intro-reception-toronto.png') 68% center / cover no-repeat;
  }
  .intro.intro-reception .trust-grid{
    background:rgba(255,255,255,.58);
  }
}

/* V15 — refined service photography and legible editorial cards */
#services .service-card{background:#f1eee9;color:#102638;isolation:isolate;border:1px solid rgba(11,37,57,.09);box-shadow:0 14px 34px rgba(12,33,51,.08);min-height:510px}
#services .service-image{opacity:1;background-position:center 48%;filter:saturate(.93)}
#services .service-card::after{background:linear-gradient(0deg,rgba(250,249,246,.98) 0%,rgba(250,249,246,.94) 21%,rgba(250,249,246,.48) 44%,rgba(250,249,246,0) 75%)}
#services .service-copy{color:#102638;padding:35px 38px 37px}
#services .service-copy h3{font-size:clamp(29px,2.7vw,42px);line-height:1.08;margin:12px 0}
#services .service-copy p{color:#354d60;font-size:14px;max-width:390px;padding-right:35px}
#services .round-arrow{right:27px;bottom:30px;width:48px;height:48px;background:rgba(255,255,255,.92);border:1px solid rgba(9,31,48,.22)}
#services .round-arrow:hover{background:#0a2740;color:white}
@media(max-width:700px){#services .service-card{min-height:435px}#services .service-copy{padding:25px}#services .service-image{background-position:57% center}}
