/* Swire Consulting Group sitewide layout cleanup - May 2026 */
:root{
  --scg-blue:#263A7D;
  --scg-deep:#182752;
  --scg-orange:#F36C21;
  --scg-bg:#F5F6FB;
  --scg-text:#0F172A;
  --scg-muted:#475569;
  --scg-border:rgba(15,23,42,.09);
  --scg-shadow:0 18px 48px rgba(15,23,42,.07);
  --scg-soft-shadow:0 10px 28px rgba(15,23,42,.05);
}
html{overflow-x:hidden;}
body{overflow-x:hidden;background:var(--scg-bg)!important;color:var(--scg-text);}
::selection{background:rgba(243,108,33,.28);color:inherit;}

/* Navigation consistency */
header{background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(15,23,42,.07)!important;}
header .max-w-6xl, header .max-w-7xl{max-width:1120px!important;}
header img{max-height:52px;width:auto;}
header nav a{line-height:1.2;white-space:nowrap;}
header nav{align-items:center;}
@media (min-width:768px) and (max-width:1080px){
  header nav{gap:1rem!important;font-size:.86rem!important;}
  header nav a[href="/contactus"]{padding:.48rem .72rem!important;}
}

/* Page rhythm and containers */
main{background:var(--scg-bg);}
section{scroll-margin-top:92px;}
.max-w-6xl,.max-w-7xl,.container,.shell{max-width:1120px!important;}
.max-w-5xl{max-width:980px!important;}
.max-w-4xl{max-width:860px!important;}
.px-4{padding-left:1.25rem!important;padding-right:1.25rem!important;}
@media (min-width:768px){.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important;}}

/* Typography hierarchy */
h1,h2,h3{letter-spacing:-.035em;}
h1{line-height:1.02!important;}
h2{line-height:1.12!important;}
p{line-height:1.65;}
.text-gray-700,.text-neutral-600,.text-slate-600,.text-slate-700{color:var(--scg-muted)!important;}

/* Cards and panels */
.rounded-\[28px\],.rounded-3xl,.rounded-2xl,.card,.service-card,.team-card,.contact-card,.swire-premium-section,.swire-section-shell,.swire-soft-panel,.soft-panel,.metric-card{
  box-shadow:var(--scg-soft-shadow);
}
.card,.service-card,.team-card,.contact-card,.swire-premium-section,.swire-section-shell,.swire-soft-panel,.soft-panel,.metric-card,
.rounded-3xl.bg-white,.rounded-2xl.bg-white,.rounded-\[28px\].bg-white{
  border-color:var(--scg-border)!important;
}
.card,.soft-panel,.metric-card{height:100%;}

/* Buttons */
a.inline-flex,a.btn-premium,button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;}
a.inline-flex:hover,a.btn-premium:hover,button:hover{transform:translateY(-1px);}

/* Homepage hero cleanup */
body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child .relative.max-w-6xl{
  padding-top:clamp(4.25rem,6vw,5.5rem)!important;
  padding-bottom:clamp(4.25rem,6vw,5.5rem)!important;
}
body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child .grid.gap-10{
  gap:clamp(2.5rem,5vw,4.5rem)!important;
}
body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child h1{
  max-width:650px!important;
  font-size:clamp(3rem,5.2vw,4.85rem)!important;
  line-height:.98!important;
}
body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child h1 + div{
  max-width:570px!important;
  color:rgba(255,255,255,.9)!important;
  font-weight:400!important;
}
body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child h1 + div p{
  margin:0!important;
}
body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child .hero-panel{
  max-width:385px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.07))!important;
  box-shadow:0 22px 54px rgba(15,23,42,.18)!important;
}
body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child .hero-panel a.block{
  border-radius:1rem!important;
  padding:1rem!important;
}

/* Fundrly page balance */
body:has(img[src*="fundrly-white"]) .shell{max-width:1100px!important;}
body:has(img[src*="fundrly-white"]) .hero{padding:clamp(1.75rem,4vw,2.75rem)!important;}
body:has(img[src*="fundrly-white"]) .hero h1{max-width:12ch!important;}
body:has(img[src*="fundrly-white"]) .card.p-8,
body:has(img[src*="fundrly-white"]) .card.p-6{padding:clamp(1.5rem,3vw,2.25rem)!important;}
body:has(img[src*="fundrly-white"]) section.shell{padding-top:2.25rem!important;}

/* Grid neatness */
.grid{min-width:0;}
.grid > *{min-width:0;}
@media (min-width:768px){
  .md\:grid-cols-3 > *,.md\:grid-cols-2 > *,.lg\:grid-cols-3 > *,.lg\:grid-cols-2 > *{height:100%;}
}

/* Logo ticker */
.logo-ticker-wrap{border-top:1px solid var(--scg-border);border-bottom:1px solid var(--scg-border);background:#fff!important;}
.client-logo{max-height:42px;object-fit:contain;filter:saturate(.96);}

/* Footer */
footer{margin-top:0!important;}
footer .container,footer .max-w-6xl,footer .max-w-7xl{max-width:1120px!important;}

/* Cookie control */
#cookie-banner{left:1rem!important;right:1rem!important;bottom:1rem!important;max-width:620px!important;}
a[onclick*="reopenCookieBanner"]{right:1rem!important;bottom:1rem!important;}

/* Mobile clean-up */
@media (max-width:767px){
  header .py-3{padding-top:.65rem!important;padding-bottom:.65rem!important;}
  header img{max-height:44px;}
  main > section{padding-top:2.75rem!important;padding-bottom:2.75rem!important;}
  h1{font-size:clamp(2.35rem,12vw,3.2rem)!important;}
  h2{font-size:clamp(1.8rem,8vw,2.4rem)!important;}
  .rounded-\[28px\],.rounded-3xl{border-radius:1.25rem!important;}
  body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child .relative.max-w-6xl{padding-top:3.5rem!important;padding-bottom:3.5rem!important;}
  body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child h1{font-size:clamp(2.8rem,13vw,3.55rem)!important;}
  body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child .mt-9.grid{grid-template-columns:1fr!important;}
  body:has(main > section:first-child.relative.overflow-hidden.bg-\[\#263A7D\]) main > section:first-child .hero-panel{max-width:none!important;}
}
