/* IMAC UK site styles */
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/montserrat-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%}
body{margin:0;background:#F5F7FA}
a{color:#001086}
a:hover{color:#D41C00}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px;box-sizing:border-box}
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#E6EAF2 repeating-linear-gradient(135deg,transparent 0 14px,rgba(0,16,134,.05) 14px 28px);color:#5B6573;font:600 12px/1.3 Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-align:center;border-radius:4px}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 26px;border-radius:0;font:600 15px/1 Montserrat,sans-serif;text-decoration:none}
.btn-gold{background:#D41C00;color:#FFFFFF}
.btn-gold:hover{background:#B81800;color:#FFFFFF}
.btn-navy{background:#001086;color:#FFFFFF}
.btn-navy:hover{background:#0019B8;color:#FFFFFF}
.btn-line{border:1.5px solid #001086;color:#001086}
.btn-line:hover{background:#001086;color:#FFFFFF}
.eyebrow{font:600 13px/1.2 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#D41C00}
.card{background:#FFFFFF;border:1px solid #DADCE0;border-radius:4px}
.lift{transition:transform .2s,box-shadow .2s}
.lift:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,10,92,.10)}
body{margin:0}
.hd-nav{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.hd-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;white-space:nowrap;border:0;background:none;font:500 15px/1 Montserrat,sans-serif;color:#1D1E20;text-decoration:none;cursor:pointer;border-radius:4px}
.hd-link:hover{color:#001086;background:#EEF1F8}
.hd-link.is-active{color:#001086;font-weight:600;box-shadow:inset 0 -2px 0 #D41C00;border-radius:0}
.hd-menu a{display:block;padding:9px 0;font:500 15px/1.3 Montserrat,sans-serif;color:#1D1E20;text-decoration:none}
.hd-menu a:hover{color:#D41C00}
.hd-give{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 22px;border-radius:0;background:#D41C00;color:#FFFFFF;font:600 15px/1 Montserrat,sans-serif;text-decoration:none}
.hd-give:hover{background:#B81800;color:#FFFFFF}
.hd-burger{display:none}
.hd-mob-h{margin:18px 0 2px;font:600 12px/1.2 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#D41C00}
.hd-mob{max-height:calc(100vh - 128px);overflow-y:auto;overscroll-behavior:contain}
.hd-mob a{display:block;padding:12px 0;border-bottom:1px solid #DADCE0;font:500 16px/1.3 Montserrat,sans-serif;color:#1D1E20;text-decoration:none}
@media (max-width:1240px){.hd-nav,.hd-desk{display:none}.hd-burger{display:inline-flex}.hd-util-r{display:none !important}}
@media (max-width:359px){.hd-tag{display:none}}
.ft a{color:#C8D0F0;text-decoration:none}
.ft a:hover{color:#FF6A4D}
.ft-col a{display:block;padding:6px 0;font-size:15px}
.ft-h{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#FF6A4D;margin:0 0 14px}
.ft-soc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #2533A0;border-radius:50%}
@media (max-width:700px){.ft-right{align-items:flex-start !important}.ft-right>span{justify-content:flex-start !important}}
@media (max-width:900px){.ft-grid{grid-template-columns:1fr 1fr !important}.ft-cta{flex-direction:column;align-items:flex-start !important}}
@media (max-width:560px){.ft-grid{grid-template-columns:1fr !important}}
.h2{margin:0;font-family:Montserrat,sans-serif;font-weight:700;font-size:36px;line-height:1.18;letter-spacing:-0.01em;color:#001086}
.body{margin:0;font-size:18px;line-height:1.7;color:#3A3D45}
@media (max-width:760px){.ph-art{display:none}.ph-title{font-size:40px !important}}
.body{margin:0;font-size:18px;line-height:1.75;color:#3A3D45}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 24px;border-radius:0;font:600 15px/1 Montserrat,sans-serif;text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 20px;border-radius:0;font:600 14px/1 Montserrat,sans-serif;text-decoration:none}
.legal{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:44px}
.legal section{display:flex;flex-direction:column;gap:14px}
.legal h2{margin:0;font-family:Montserrat,sans-serif;font-weight:700;font-size:26px;line-height:1.25;color:#001086}
.legal h3{margin:8px 0 0;font-family:Montserrat,sans-serif;font-weight:700;font-size:18px;color:#1D1E20}
.legal p,.legal li{margin:0;font-size:17px;line-height:1.7;color:#3A3D45}
.legal ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.legal table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.legal th,.legal td{text-align:left;vertical-align:top;padding:12px 14px;border:1px solid #DADCE0;color:#3A3D45}
.legal th{background:#EEF1F8;color:#001086;font-weight:600}
.legal .tbl{overflow-x:auto}
.legal .note{background:#FFFFFF;border:1px solid #DADCE0;border-left:4px solid #D41C00;border-radius:4px;padding:20px 22px}
/* Premium scroll layer */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(var(--sp,0));background:linear-gradient(90deg,#D41C00,#FF6A4D);z-index:100;pointer-events:none}
header[data-comp="Header"]{position:sticky !important;top:-40px;transition:box-shadow .4s ease,background-color .4s ease}
header[data-comp="Header"].is-scrolled{background:rgba(255,255,255,.92) !important;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 10px 30px rgba(0,10,92,.08)}
.js .reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s);will-change:opacity,transform}
.js .reveal.is-in{opacity:1;transform:none}
.js .img-reveal{clip-path:inset(10% 6% 10% 6%);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s)}
.js .img-reveal.is-in{clip-path:inset(0 0 0 0)}
.js img.px{transform:translate3d(0,var(--py,0px),0) scale(1.12);transition:transform .1s linear}
.px-wrap{overflow:hidden;border-radius:4px}
.btn,.hd-give{transition:transform .35s cubic-bezier(.16,1,.3,1),background-color .25s,box-shadow .35s,color .25s}
.btn:hover,.hd-give:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,10,92,.18)}
.btn svg{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.btn:hover svg{transform:translateX(4px)}
.card{transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .3s}
.card:hover,.js .card.reveal.is-in:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(0,10,92,.10)}
@media (prefers-reduced-motion: reduce){.js .reveal,.js .img-reveal{opacity:1;transform:none;clip-path:none;transition:none}.js img.px{transform:none}.scroll-progress{display:none}}
.skip-link{position:absolute;left:16px;top:-60px;z-index:200;padding:12px 18px;background:#001086;color:#FFFFFF;font:600 15px Montserrat,sans-serif;text-decoration:none;transition:top .2s}
.skip-link:focus{top:12px;color:#FFFFFF}
:focus-visible{outline:2px solid #D41C00;outline-offset:3px}
button:disabled{opacity:.7;cursor:wait}
@media (max-width:900px){.vgrid{grid-template-columns:1fr 1fr !important}.vgrid>button:first-child{grid-column:1 / -1}.yt-short{height:auto !important;aspect-ratio:9 / 16}}
@media (max-width:900px){.g4[style*="max-width: 860px"]{flex:1 1 100% !important;max-width:none !important;width:100%;grid-template-columns:1fr 1fr !important}}
@media (max-width:560px){h1,h2,.h2{overflow-wrap:break-word;hyphens:auto}a[href^="mailto:"]{overflow-wrap:anywhere}}

.to-top{position:fixed;right:20px;bottom:20px;z-index:90;width:52px;height:52px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#D41C00;color:#FFFFFF;cursor:pointer;box-shadow:0 12px 28px rgba(0,10,92,.28);opacity:0;visibility:hidden;transform:translateY(16px) scale(.9);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),visibility .35s,background-color .25s}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:#B81800}
.to-top:focus-visible{outline:3px solid #001086;outline-offset:3px}
@media (max-width:560px){.to-top{right:14px;bottom:14px;width:46px;height:46px}}
@media (prefers-reduced-motion: reduce){.to-top{transition:none}}
.flyer{display:block;border-radius:4px;overflow:hidden;box-shadow:0 10px 26px rgba(0,10,92,.10);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.flyer:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,10,92,.16)}
@media (max-width:900px){.flyers{grid-template-columns:1fr 1fr !important}}
@media (max-width:420px){.flyers{grid-template-columns:1fr !important}}
@media (max-width:560px){footer>div:last-child>div{padding-bottom:96px !important}}
