@font-face{font-family:Archivo Black;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/archivo-black-latin-ext-400-normal.DQAASfvW.woff2)format("woff2"),url(/_astro/archivo-black-latin-ext-400-normal.-j5WRK12.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Black;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/archivo-black-latin-400-normal.BTVu2TQR.woff2)format("woff2"),url(/_astro/archivo-black-latin-400-normal.HW9MwEcM.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent:#4f46e5;--accent-soft:color-mix(in srgb, var(--accent) 10%, white);--ink:#111;--ink-soft:#444;--paper:#fff;--font-display:"Archivo Black", "Arial Black", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter:clamp(1rem, 4vw, 2rem);--max:72rem}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{color-scheme:light}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;font-size:1.0625rem;line-height:1.6}img{max-width:100%}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip-link{background:var(--ink);color:var(--paper);z-index:10;padding:.75rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--gutter)}.container{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin:0;font-weight:400;line-height:1.02}.display-xl{font-size:clamp(2.25rem,7vw,4.25rem)}.display-lg{font-size:clamp(1.75rem,4.5vw,2.75rem)}.display-md{font-size:clamp(1.25rem,2.5vw,1.5rem)}.lead{color:#333;max-width:36em;margin:1.25rem 0 1.75rem;font-size:clamp(1.0625rem,2vw,1.25rem)}.highlight{background:var(--accent);color:#fff;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .15em}.btn{font:inherit;border:2px solid var(--ink);cursor:pointer;padding:.8rem 1.25rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-block}.btn-dark{background:var(--ink);color:#fff}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-outline{color:var(--ink);background:0 0}.btn:hover{box-shadow:4px 4px 0 var(--accent);transform:translate(-2px,-2px)}.btn:disabled{opacity:.6;cursor:wait;box-shadow:none;transform:none}.btn-row{flex-wrap:wrap;gap:.75rem;display:flex}.site-header{border-bottom:2px solid var(--ink)}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-block:1rem;display:flex}.brand{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.375rem;text-decoration:none;display:inline-flex}.logo-mark{flex:none}.nav{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;display:flex}.nav a:not(.btn){font-weight:600;text-decoration:none}.nav a:not(.btn):hover,.nav a[aria-current=page]{text-underline-offset:4px;text-decoration:underline 2px}.nav .btn{padding:.5rem .9rem}.site-footer{background:var(--ink);color:#bbb;font-size:.9rem}.site-footer .container{flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-block:1.25rem;display:flex}.site-footer strong{color:#fff}.site-footer nav{flex-wrap:wrap;gap:1rem;display:flex}.site-footer a{color:#ddd}.footer-legal{color:#999;flex-basis:100%;margin:0;font-size:.8rem}.section{padding-block:clamp(2.5rem,7vw,4.5rem)}.hero{padding-block:clamp(3rem,9vw,6rem);position:relative}.hero:before{content:"";background:var(--accent);width:clamp(8px,1.5vw,14px);position:absolute;inset:0 auto 0 0}.band-dark{background:var(--ink);color:#fff}.band-dark p{color:#ffffffd9;max-width:40em}.cards{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem;display:grid}.card{border:2px solid var(--ink);background:var(--paper);padding:1.5rem}.card h3{margin:0 0 .5rem}.card p{color:var(--ink-soft);margin:0}.card--featured{box-shadow:6px 6px 0 var(--accent)}.cta{border-top:2px solid var(--ink)}.cta p{margin:1rem 0 1.5rem}.prose{max-width:42rem}.prose h2{font-family:var(--font-display);text-transform:uppercase;margin:2rem 0 .5rem;font-size:1.25rem;font-weight:400}.form{gap:1.25rem;max-width:36rem;display:grid}.field{gap:.35rem;display:grid}.field label{font-weight:700}.field .hint{color:var(--ink-soft);font-weight:400}.field input,.field textarea{font:inherit;border:2px solid var(--ink);background:#fff;border-radius:0;width:100%;padding:.7rem .8rem}.field textarea{resize:vertical;min-height:9rem}.field [aria-invalid=true]{border-color:#b91c1c}.field-error{color:#b91c1c;min-height:0;margin:0;font-weight:600}.form-status{margin:0;font-weight:600}.form-success{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--accent);padding:1.25rem;font-weight:600}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.enquiry{max-width:36rem}.booking-choices{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.booking-choice{font:inherit;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;padding:.55rem .8rem;font-weight:700}.booking-choice:hover{box-shadow:3px 3px 0 var(--accent)}.booking-choice[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.booking-chosen{margin:0;font-weight:700}.booking-step{gap:1rem;max-width:36rem;display:grid}.booking-month{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.booking-month h2{text-align:center;margin:0}.booking-nav{min-width:2.75rem;min-height:2.75rem;font-size:1.25rem;line-height:1}.booking-nav:disabled{opacity:.35;cursor:default;box-shadow:none}.booking-grid{border-collapse:separate;border-spacing:.2rem;table-layout:fixed;width:100%}.booking-grid th{color:var(--ink-soft);text-align:center;padding-bottom:.25rem;font-size:.8rem;font-weight:700}.booking-grid td{text-align:center;padding:0}.booking-day{aspect-ratio:1;width:100%;min-height:2.75rem;font:inherit;justify-content:center;align-items:center;display:flex}button.booking-day{border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;padding:0;font-weight:700}button.booking-day:hover{box-shadow:3px 3px 0 var(--accent)}button.booking-day[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.booking-day.is-disabled{color:#767676;cursor:default}.booking-day.is-today{text-underline-offset:3px;text-decoration:underline 2px}.booking-grid+.booking-tz{margin-top:-.5rem}.booking-tz{color:var(--ink-soft);margin:0;font-size:.9rem}.eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 0 .75rem;font-size:.75rem}.eyebrow a{color:inherit}.tags{flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.tags li{border:2px solid var(--ink);padding:.15rem .6rem;font-size:.8rem;font-weight:700}.tags li.accent{background:var(--accent);border-color:var(--accent);color:#fff}.work-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.25rem;display:grid}.work-card{border:2px solid var(--ink);background:var(--paper);flex-direction:column;padding:1.5rem;text-decoration:none;display:flex}.work-card h2,.work-card h3{margin:0 0 .5rem}.work-card p:not(.eyebrow){color:var(--ink-soft);margin:0}.work-card .tags{margin-top:auto;padding-top:1rem}.work-card-more{margin-top:1rem;font-weight:700}.work-card:hover{box-shadow:6px 6px 0 var(--accent);transform:translate(-2px,-2px)}.work-hero .lead{margin-bottom:0}.work-body{max-width:48rem}.work-body h2{font-family:var(--font-display);text-transform:uppercase;margin:2.25rem 0 .6rem;font-size:1.35rem;font-weight:400}.work-body h2:before{content:"";background:var(--accent);width:.7rem;height:.7rem;margin-right:.6rem;display:inline-block}.work-body li{margin-bottom:.4rem}.work-body li::marker{color:var(--accent)}.work-body blockquote{border-left:4px solid var(--accent);margin:1.25rem 0;padding:.25rem 0 .25rem 1rem;font-size:1.1rem;font-weight:400}.work-figure{margin:1.75rem 0}.work-figure svg.fig{width:100%;height:auto;display:block}.work-figure figcaption{color:#555;border-left:3px solid var(--accent);margin-top:.5rem;padding-left:.75rem;font-size:.85rem}.work-body hr{border:0;margin:2.5rem 0 0}.work-body hr+p{background:var(--ink);color:#fff;padding:1.1rem 1.25rem}.work-body hr+p a{color:#fff;background:var(--accent);padding:.1rem .45rem;font-weight:700;text-decoration:none}.selected-work .work-grid{margin-top:1.5rem}.hero--compact{padding-bottom:clamp(1.5rem,3vw,2.25rem)}.section--flush-top{padding-top:clamp(1rem,2vw,1.5rem)}.hero--compact .lead{margin-bottom:0}.work-body>:first-child,.prose>:first-child{margin-top:0}.enquiry h2{margin-bottom:1.25rem}.highlight--line{margin-top:.14em;padding:.06em .15em .02em;display:inline-block}.about-body ul{padding-left:1.2rem}.about-body li{margin-bottom:.5rem}.about-body li::marker{color:var(--accent)}.steps{counter-reset:none;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin:2rem 0;padding:0;list-style:none;display:grid}.steps li{border:2px solid #ffffff59;padding:1.25rem;position:relative}.steps li:first-child{border-color:var(--accent);background:var(--accent)}.steps .step-num{font-family:var(--font-display);letter-spacing:.1em;color:#a5b4fc;margin-bottom:.5rem;font-size:.8rem;display:block}.steps li:first-child .step-num{color:#fff}.steps h3{color:#fff;margin:0 0 .5rem}.steps p{margin:0;font-size:.95rem}.principle{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:clamp(1.1rem,2.5vw,1.5rem);line-height:1.3}
