/* Shared header and footer for the redesigned pages and the existing pages */
:root{--icco-royal:#014BAA;--icco-cream:#F8F3F0;--icco-font:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif}
.icco-bar{position:fixed;z-index:9990;left:0;right:0;top:0;height:76px;display:flex;align-items:center;gap:28px;padding:0 clamp(20px,3.33vw,64px);background:var(--icco-royal);color:var(--icco-cream);font:500 17px/1.2 var(--icco-font);box-sizing:border-box}
.icco-bar a{color:inherit!important;text-decoration:none!important}
/* Inside the site: the single-colour logo with its tagline, coloured by the text around it */
.icco-brand{display:block;width:124px;flex:none}
.icco-logo-art{display:block;width:100%;aspect-ratio:600/292;background:currentColor;-webkit-mask:url(../img/logo-full.png) center/contain no-repeat;mask:url(../img/logo-full.png) center/contain no-repeat}
.icco-nav{display:flex;gap:clamp(18px,2.3vw,44px);margin:0 auto}
.icco-nav a:hover{text-decoration:underline!important;text-underline-offset:6px}
.icco-cta{border:2px solid currentColor;padding:.55em 1.2em;border-radius:40px;font-weight:700;font-size:15px;white-space:nowrap}
.icco-menu{display:none;margin-left:auto;background:none!important;border:0!important;color:inherit!important;font:700 16px var(--icco-font);padding:12px 0!important;cursor:pointer;box-shadow:none!important}
.icco-foot{--fu:min(1vw,1.778vh);position:relative;z-index:5;overflow:hidden;background:var(--icco-royal);color:var(--icco-cream);padding:clamp(52px,calc(var(--fu)*5.4),104px) clamp(20px,3.33vw,64px) clamp(22px,calc(var(--fu)*1.8),34px);font:400 clamp(16px,calc(var(--fu)*1.12),21px)/1.4 var(--icco-font);box-sizing:border-box}
.icco-foot *{box-sizing:border-box}
.icco-foot a{color:inherit!important;text-decoration:none}
.icco-foot p{margin:0;color:inherit}
.icco-foot ul{list-style:none;margin:0;padding:0}
.icco-foot li{margin:0;list-style:none}
.icco-foot-loop{position:absolute;right:-6%;bottom:-8%;width:min(92%,1300px);height:auto;aspect-ratio:1200/420;pointer-events:none}
.icco-foot-loop path{stroke:var(--icco-cream);stroke-opacity:.09;stroke-width:34}
.icco-foot-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.35fr);gap:clamp(30px,calc(var(--fu)*3.6),68px)}
.icco-foot-logo{display:block;width:clamp(170px,calc(var(--fu)*15),280px);margin-bottom:clamp(18px,calc(var(--fu)*1.6),30px);color:var(--icco-cream)}
.icco-foot-brand p{max-width:25em;line-height:1.35}
.icco-foot-h{font-weight:700;margin-bottom:clamp(12px,calc(var(--fu)*1.1),20px)!important;padding-bottom:.65em;border-bottom:1.5px solid rgba(248,243,240,.42)}
.icco-foot-col ul{display:grid;gap:.48em}
.icco-foot-col a{position:relative;display:inline-block;font-weight:500}
.icco-foot-col a::after,.icco-foot-base a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.icco-foot-col a:hover::after,.icco-foot-base a:hover::after{transform:scaleX(1)}
.icco-foot-mail{font-size:1.32em;font-weight:700;letter-spacing:-.02em;margin-bottom:.75em;word-break:break-word}
.icco-foot address{font-style:normal;font-size:.9em;line-height:1.35;margin-top:.8em;opacity:.92}
.icco-foot address strong{display:block;font-weight:700}
.icco-foot-base{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 28px;margin-top:clamp(30px,calc(var(--fu)*3.4),64px);padding-top:clamp(14px,calc(var(--fu)*1.2),22px);border-top:1.5px solid rgba(248,243,240,.42);font-size:.86em}
.icco-foot-base ul{display:flex;flex-wrap:wrap;gap:8px clamp(18px,2vw,34px)}
.icco-foot-base a{position:relative;display:inline-block}
.icco-foot-top{font-weight:700}
/* The footer arrives in sequence, and its infinity draws itself */
.icco-fjs .icco-f{opacity:0;transform:translateY(26px)}
.icco-fjs .icco-foot.in .icco-f,.icco-fjs .active .icco-f{opacity:1;transform:none;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * .08s)}
.icco-fjs .icco-foot-loop path{stroke-dasharray:1;stroke-dashoffset:1}
.icco-fjs .icco-foot.in .icco-foot-loop path{stroke-dashoffset:0;transition:stroke-dashoffset 2.2s cubic-bezier(.68,0,.18,1)}
@media (max-width:999px){
  .icco-foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .icco-foot-brand,.icco-foot-contact{grid-column:1/-1}
  .icco-foot-loop{width:170%;right:-50%}
  .icco-foot-base{align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){.icco-foot-col a::after,.icco-foot-base a::after{transition:none}}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
body.admin-bar .icco-bar{top:32px}
@media (max-width:782px){body.admin-bar .icco-bar{top:46px}}
@media (max-width:999px){
  .icco-cta{display:none}
  .icco-menu{display:block;position:relative;z-index:2}
  .icco-brand{position:relative;z-index:2}
  .icco-nav{position:fixed;inset:0;background:var(--icco-royal);flex-direction:column;justify-content:center;gap:16px;padding:0 24px;margin:0;font:500 clamp(32px,9vw,50px)/1.1 var(--icco-font);letter-spacing:-.03em;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .5s cubic-bezier(.68,0,.18,1),visibility 0s .5s}
  .icco-nav.open{visibility:visible;clip-path:inset(0);transition:clip-path .5s cubic-bezier(.68,0,.18,1)}
}
