/* AbreuGold page layer: makes the approved fixed-width page designs fluid and responsive.
   Loaded after each page's own design styles. */
.in{width:100%;max-width:1180px;margin-left:auto;margin-right:auto;box-sizing:border-box}
main *{max-width:100%}
main div{min-width:0}
main img{max-width:100%}
.ct .ck{font-size:11px!important;line-height:1.5!important}.news small{font-size:11px!important}
.serif{font-family:"Source Serif 4",Georgia,serif!important;font-weight:400}
.wh{position:relative}.wh:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,17,31,.5) 0%,rgba(6,17,31,.12) 55%,rgba(6,17,31,0) 100%);pointer-events:none}.whi{position:relative}

/* ---------- tablet ---------- */
@media (max-width:1180px){
  .tabs{width:auto;max-width:900px}
}
@media (max-width:1060px){
  .ics4,.pcg,.s4,.ng,.qc4,.tmg,.tm4,.tr,.ttg{grid-template-columns:repeat(2,1fr)!important}
  .pcx{grid-column:span 2!important}
  .fe,.fg,.ev,.cr,.lt,.sp,.spl,.bl,.cr2,.ph{grid-template-columns:1fr 1fr!important}
  .vhi{grid-template-columns:1fr 300px!important}
  .ag{grid-template-columns:1fr 260px!important;gap:40px!important}
  .cg{grid-template-columns:1fr 1fr!important;gap:30px}
  .tk,.pw,.tmh,.fqw,.ig,.fh2,.uch,.brh,.em,.gfg,.spg{gap:40px!important}
  .phl,.blt,.splt,.crt,.ltt,.spt{padding-left:var(--gut)!important;padding-right:40px!important}
  .ihc{left:var(--gut)!important}
  .ldg{grid-template-columns:1fr 1fr!important}.ldg .ldi{grid-column:1/-1}
  .sh4{grid-template-columns:repeat(2,1fr)!important}.sh1{grid-template-columns:1fr 1fr!important}.sh1l{padding-left:var(--gut)!important;padding-right:40px!important}
  .pg2{grid-template-columns:1fr 260px!important}.pg2 .shr{display:none!important}.upg{grid-template-columns:1fr 280px!important}.upg .vt{display:none}
  .shtp{grid-template-columns:300px 1fr!important}.shtl{grid-template-columns:1fr!important}.aug{grid-template-columns:repeat(2,1fr)!important}
  .c3r{grid-template-columns:repeat(3,1fr)!important}
  .pn{grid-template-columns:280px 1fr!important}
  .sgg{grid-template-columns:1fr!important}
  .st3,.c3,.sbg,.exg{gap:14px!important}
  .g6,.bg6,.cg3,.lig,.cards,.f3,.f3c,.fg2{grid-template-columns:repeat(2,1fr)!important}
}

/* ---------- mobile ---------- */
@media (max-width:760px){
  main *{max-width:100%}
  main .in[class*=" "]{padding-left:var(--gut)!important;padding-right:var(--gut)!important}
  main .in{padding-left:var(--gut);padding-right:var(--gut)}

  /* every multi-column grid stacks */
  .ab,.ag,.bg6,.bl,.brh,.c3,.c3r,.cards,.cg,.cg3,.cr,.cr2,.dg,.em,.ev,.exg,.f3,.f3c,.fe,.fg,.fg2,.fh1,.fh2,.flg,.fqw,.fsv,.g6,.gfg,.hero,.ics,.ics4,.ig,.ldg,.lig,.lt,.pcg,.ph,.pn,.pw,.qc4,.qt,.rg,.rng,.rsg,.s4,.sbg,.sgg,.sp,.spg,.spl,.st3,.svg3,.svg2,.tk,.tm4,.tmg,.tmh,.ttg,.uch,.vhi,.ocg{grid-template-columns:1fr!important}
  .ng,.tr,.r2{grid-template-columns:1fr 1fr!important}
  .ab{grid-template-columns:1fr 1fr!important}
  .pcx,.ldg .ldi{grid-column:auto!important}

  /* images: consistent proportions */
  main img{height:auto!important;aspect-ratio:16/10;object-fit:cover}
  .qa img,.au img,.lv img,figure img,.logo img{aspect-ratio:auto!important}
  .qa img{width:110px!important}

  /* type scale */
  main h1{font-size:clamp(34px,10vw,42px)!important;line-height:1.12!important}
  main h2{font-size:clamp(26px,7.4vw,30px)!important;line-height:1.22!important}
  .wh h1{font-size:clamp(42px,12vw,52px)!important}
  .ah b{font-size:clamp(52px,16vw,64px)!important}.ah i{width:200px!important}
  .big{font-size:26px!important;margin:44px 0 22px!important}
  .qt p,.qd p{font-size:20px!important}
  .ng b,.sbg b,.st3 b{font-size:42px!important}

  /* section spacing */
  .sec,.hw,.cr,.rs,.pw,.tmw,.ld,.dk3,.uc,.ex,.sav,.tk,.mi,.cg3,.li,.ag,.pi2,.ins,.nx,.rs2,.at{padding-top:44px!important;padding-bottom:44px!important}
  .cards,.lig,.cg3{gap:36px!important}
  .s4,.f3,.f3c,.svg3,.svg2,.ics,.ics4,.pcg,.g6,.c3{gap:18px!important}
  .ics,.ics4{margin:28px 0 36px!important}
  .fh2{padding-top:36px!important;padding-bottom:20px!important}.s4{padding-top:12px!important;padding-bottom:44px!important}
  .dkb,.nums,div.sb,.xp{margin-left:0!important;margin-right:0!important}
  .dkb{padding:36px 24px!important}.dkb h2{font-size:22px!important}
  div.sb{padding:36px 24px!important;margin-top:44px!important;margin-bottom:44px!important}div.sb p{font-size:18px!important}
  .xp{padding:40px 24px!important;height:auto!important;margin-top:44px!important;margin-bottom:44px!important}
  .nums{margin-top:44px!important}

  /* hero patterns (subpages) */
  .wh{height:auto!important;min-height:52svh;display:flex;align-items:flex-end;padding:0 0 34px}
  .whi{flex-direction:column!important;padding-top:0!important;width:100%}.wr{width:auto!important;margin-top:14px!important}
  .ws{min-height:46svh}
  .ph{height:auto!important}.phl{padding:44px var(--gut) 36px!important}.phl p{width:auto!important}.ph img{height:auto!important;aspect-ratio:4/3}
  .fh1{gap:14px!important;padding-top:32px!important;padding-bottom:22px!important}.fh1 .btn2{margin-top:6px!important}
  .fhi{aspect-ratio:4/3!important}
  .tb{aspect-ratio:16/9!important;margin-top:20px!important}
  .vh{height:auto!important;padding:44px 0 36px}.vhi{height:auto!important;gap:34px!important}
  .vh p{width:auto!important}.ph2{margin:0 auto!important;transform:none!important}
  .vh .bw3,.vh .bo{margin-bottom:8px}
  .vh h1 br{display:none}
  .locs .in{display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px 6px}.locs .in>div{line-height:1.5!important}
  .ih{height:auto!important;padding-top:190px;background-position:center 75%!important}.ihc{position:relative!important;left:auto!important;top:auto!important;width:auto!important;margin:0 var(--gut)!important;padding:26px 22px!important}
  .tabs{margin:24px 0 0!important;justify-content:flex-start!important;overflow-x:auto;width:auto!important;box-shadow:none!important;border-bottom:1px solid #eee}.tabs div{flex:none!important;white-space:nowrap;padding:16px 18px!important}
  .rh{height:auto!important;min-height:calc(100svh - 60px);max-height:820px}
  .ah{height:300px!important}
  .at{padding-top:36px!important;padding-bottom:28px!important}
  .hero{padding:40px 0 44px!important;gap:16px!important}
  .dg{padding-top:10px!important;gap:24px!important}.dg h1{margin-top:4px!important}.dg h4{margin-bottom:28px!important}
  .dw:before{height:200px!important}

  /* split feature blocks */
  .sp img,.spl img,.cr2 img,.lt img,.bl img,.fsv img,.rsg img,.rng img,.ev img,.cr img,.fe img,.fg img{height:auto!important;aspect-ratio:4/3}
  .spt,.splt,.blt,.crt,.ltt{padding:40px var(--gut) 44px!important}
  .spl img,.lt img,.bl img,.cr2 img{order:-1}
  .sp img{order:-1}
  .fp{padding:36px 24px!important}

  /* fixed-height text boxes */
  .band{height:auto!important;padding:44px var(--gut)}
  .bc{flex-direction:column;align-items:flex-start!important;gap:18px;padding:28px 22px!important;width:100%!important}.bc p{font-size:19px!important;width:auto!important}
  .meet{height:auto!important;padding:44px 22px!important;margin-bottom:44px!important}.meet h2{width:auto!important}
  .cl{height:auto!important;padding:40px 22px!important}.cl p{width:auto!important}
  .spc{height:auto!important;min-height:300px;padding:28px 22px!important}.spc p{width:auto!important}
  .qc{height:auto!important;min-height:0;padding-bottom:56px!important}
  .st3 div{height:auto!important;min-height:140px}
  .vb,.vb2{height:auto!important;aspect-ratio:4/5;padding:28px 22px!important}
  .vb h3,.vb2 h3{font-size:24px!important;width:auto!important;left:22px!important;right:22px!important;bottom:56px!important}
  .vb small,.vb2 small{left:22px!important;bottom:24px!important}
  .vb .pl,.vb2 .pl{width:60px!important;height:60px!important}
  .tmi{height:150px!important}.lc .tmi{height:170px!important}
  .qt{gap:22px!important;margin-top:40px!important;padding:0!important}
  .qd{padding:48px var(--gut)!important}.bdg{flex-wrap:wrap;gap:10px!important}
  .tri{flex-direction:column;align-items:stretch!important;gap:16px!important}.tf{width:100%}.tf div{flex:1;width:auto!important}
  .news{padding:26px 22px!important;margin-bottom:56px!important}.nr{flex-direction:column;align-items:stretch!important}
  .ct{padding:36px 0!important}.ct h2,.ct p{width:auto!important}.fr{flex-wrap:wrap}.fd{flex:1 1 100%!important}
  .kqi,.hs,.intro,.ocg,.imp div{width:auto!important}
  .hs{padding:44px var(--gut) 24px!important}
  .fqw{margin-top:56px!important;gap:16px!important}
  .ldi{padding:24px 22px!important}
  .crn{display:none!important}
  .sh1,.sh4,.shsg,.she3,.shtp,.shtl,.shf,.pg2,.upg,.au3,.auf,.aug{grid-template-columns:1fr!important}
  .sh1{height:auto!important}.sh1l{padding:44px var(--gut) 36px!important}.sh1l p{width:auto!important}.sh1 img{height:auto!important;aspect-ratio:4/3}
  .shp,.she,.shv,.shf,.aut,.aug{padding-top:44px!important;padding-bottom:44px!important}.shp h2,.shv h2{width:auto!important}.sh4{gap:26px!important;margin-top:28px!important}
  .shsg div{border-right:0!important;border-bottom:1px solid #23395a;padding:24px 4px!important}.shst small{padding:12px 4px 20px!important}
  .shbi{flex-direction:column;align-items:flex-start!important;gap:14px!important}.shb h3{width:auto!important;font-size:20px!important}
  .she3>div{min-height:0!important}.shtp img{min-height:0!important;aspect-ratio:4/3}.shtpr{padding:28px 22px!important}.shtl{column-gap:0!important}
  .shvb{width:100%!important;height:auto!important;aspect-ratio:4/5}.shvb h3{font-size:24px!important;width:auto!important;left:22px!important;right:22px!important}.shvb small{left:22px!important}
  .shf{gap:18px!important}
  .pg2{gap:30px!important;padding-top:28px!important}.pg2 .shr{display:none!important}.kt2{padding:20px 20px 8px!important}.kt2 p{font-size:17px!important;padding-left:32px!important}
  .sd2 .cta3{position:static!important}.upn{padding:44px 0!important}.upg{gap:26px!important}.upg .vt{display:none}
  .au3{gap:34px!important}.aub{margin-top:30px!important;padding:44px 0!important}.auf{gap:22px!important}.aug{gap:36px!important}
  .st3{margin-bottom:44px!important}
  .imp{padding:44px var(--gut)!important}
  .sv{min-height:0!important;padding-bottom:54px!important}
  .kqi{padding:0 var(--gut)}
  .vd{padding-left:var(--gut);padding-right:var(--gut)}
  .tr div{border-right:0!important;border-bottom:1px solid #e3ddcc;padding:22px 8px!important}.tr div:nth-child(odd){border-right:1px solid #e3ddcc!important}.tr b{font-size:26px!important}
  .ng div{padding:26px 18px!important}.ng div:nth-child(odd){border-right:1px solid #e3ddcc}
  .fl{padding:15px 0!important}
  .flg{column-gap:0!important}
  .pr{padding:28px 22px!important}
  .pn img{aspect-ratio:4/3}
  .sgg{column-gap:0!important}
  .cbox{flex-direction:column}
  .rel img{aspect-ratio:16/9}
  .side{margin-top:10px}
  .ag{gap:30px!important}
  figure{padding:12px!important}
  .fq{font-size:14.5px!important}
  .c3r div b{font-size:17px!important}
  .em,.brh,.uch{padding-top:40px!important;padding-bottom:40px!important;gap:20px!important}
  .bg6{gap:34px!important}
  .exg{gap:12px!important}
  .rc{font-size:17px!important}
  .rg{gap:12px!important}
  .more{padding-bottom:50px!important}
  .tm4,.tmg{gap:16px!important}
}
@media (max-width:340px){
  .ng,.tr{grid-template-columns:1fr!important}
}
