/* Holding page shown at intouchfire.co.uk until the full site launches. Built by build.py. */
@font-face{font-family:"Saira";font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/saira-latin.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/public-sans-latin.woff2) format("woff2")}

:root{
--navy-900:#00223f;--navy-800:#002f55;--navy-700:#0a416f;--navy-300:#9bb5cf;--navy-100:#dde6ef;
--red-600:#c41e24;--red-400:#ff6b70;
--ink:#161b21;--ink-soft:#4d5661;--paper:#fff;
--font-display:"Saira","Segoe UI",Arial,sans-serif;
--font-body:"Public Sans","Segoe UI",system-ui,Arial,sans-serif;
--gutter:clamp(24px,6vw,96px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,p,ul,dl,dd{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--red-400);outline-offset:3px;border-radius:2px}

.hold{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(380px,.7fr);min-height:100vh;min-height:100dvh}

/* Left: the message */
.hold-main{display:flex;flex-direction:column;padding:clamp(28px,4vw,48px) var(--gutter)}
.hold-logo img{display:block;height:64px;width:auto}
.hold-body{margin:auto 0;padding:clamp(28px,4.5vh,72px) 0}
.hold h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2.75rem,6.2vw,5.5rem);line-height:.98;letter-spacing:-.02em;color:var(--navy-800);text-wrap:balance;max-width:11ch}
.hold-lead{margin-top:clamp(20px,3vh,32px);font-size:clamp(1.125rem,1.5vw,1.3125rem);line-height:1.55;color:var(--ink-soft);max-width:34em;text-wrap:pretty}
.hold-services{margin-top:clamp(24px,4vh,56px);padding-top:20px;border-top:1px solid var(--navy-100);max-width:44em}
.hold-services h2{font:600 1rem/1.3 var(--font-display);color:var(--navy-800)}
.hold-services ul{margin-top:12px;columns:2;column-gap:40px;color:var(--ink-soft)}
.hold-services li{padding:3px 0;break-inside:avoid}
.hold-foot{font-size:.875rem;color:var(--ink-soft)}

/* Right: how to reach us */
.hold-contact{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(32px,4vw,56px);background:var(--navy-800);color:#fff}
.hold-rings{position:absolute;top:0;right:0;width:min(130%,640px);height:auto;pointer-events:none}
.hold-rings circle{fill:none;stroke:#fff;stroke-opacity:.14;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ring .9s cubic-bezier(.2,.7,.2,1) both}
.hold-rings circle:nth-child(1){animation-delay:.15s}
.hold-rings circle:nth-child(2){animation-delay:.27s}
.hold-rings circle:nth-child(3){animation-delay:.39s;stroke:var(--red-600);stroke-opacity:1;stroke-width:3}
.hold-rings circle:nth-child(4){animation-delay:.51s}
.hold-rings circle:nth-child(5){animation-delay:.63s}
.hold-rings circle:nth-child(6){animation-delay:.75s}
@keyframes ring{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}

.hold-contact dl{position:relative;display:grid;gap:clamp(24px,4vh,40px)}
.hold-contact dt{font-size:.9375rem;color:var(--navy-300);margin-bottom:4px}
.hold-contact dd{font-size:1.125rem;line-height:1.5}
.hold-contact a{color:#fff;text-decoration:underline;text-decoration-color:var(--red-400);text-decoration-thickness:2px;text-underline-offset:5px}
.hold-contact a:hover{text-decoration-color:#fff}
.hold-contact .hold-phone{display:inline-block;font:700 clamp(2.125rem,3.3vw,3rem)/1.1 var(--font-display);letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.hold-contact .hold-phone:hover{color:var(--navy-100)}
.hold-contact address{font-style:normal}
.hold-directions{display:inline-block;margin-top:8px;font-size:1rem}

@media (max-width:900px){
  .hold{grid-template-columns:1fr;min-height:0}
  .hold-main,.hold-body{display:contents}
  .hold-logo,.hold h1,.hold-lead,.hold-services,.hold-foot{margin-left:var(--gutter);margin-right:var(--gutter)}
  .hold-logo{order:1;margin-top:24px}
  .hold-logo img{height:52px}
  .hold h1{order:2;margin-top:48px}
  .hold-lead{order:3;margin-bottom:40px}
  .hold-contact{order:4;padding:56px var(--gutter) 48px}
  .hold-rings{width:min(110%,460px)}
  .hold-services{order:5;margin-top:36px;padding-top:0;border-top:0}
  .hold-foot{order:6;margin-top:28px;margin-bottom:32px}
}
@media (max-width:420px){.hold-services ul{columns:1}}
@media (prefers-reduced-motion:reduce){.hold-rings circle{animation:none}}
