:root{color-scheme:light;--ink:#30383d;--muted:#6b7376;--line:#dfe3e1;--paper:#fff;--accent:#f4d742;--green:#453e64;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit}a:focus-visible{outline:3px solid var(--green);outline-offset:4px}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header,main,.site-footer{width:min(100% - 64px,1120px);margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:34px 0;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center}.brand img{display:block;width:170px;height:auto}.language{display:flex;gap:12px;align-items:center;font-size:.88rem;font-weight:650;letter-spacing:.04em}.language a{text-decoration:none;color:#89908d}.language a[aria-current="page"]{color:var(--ink)}.language span{color:#b8bdbc}main{flex:1}.intro{padding:94px 0 96px;max-width:850px}.eyebrow{display:flex;align-items:center;gap:15px;color:var(--green);font-size:.82rem;line-height:1.4;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.eyebrow .line{width:34px;height:3px;background:var(--accent)}h1{font-size:clamp(4.5rem,10vw,8.6rem);line-height:.94;letter-spacing:-.085em;font-weight:700;margin:29px 0 28px}h1 em{font-style:normal;color:var(--green)}.intro-copy{font-size:clamp(1.12rem,2vw,1.38rem);line-height:1.58;color:var(--muted);max-width:520px;margin:0}.locations{padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:20px;border-bottom:1px solid var(--ink)}h2{font-size:1.1rem;line-height:1.3;letter-spacing:-.02em;margin:0}.count{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.location-card{min-height:310px;padding:26px 28px 28px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.location-card:hover{border-color:#b9c7be;transform:translateY(-3px);box-shadow:0 16px 35px #273e3020}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:.83rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.card-number{color:var(--green)}h3{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.055em;margin:42px 0 0}h3 small{display:block;font-size:.55em;font-weight:450;letter-spacing:-.02em;color:var(--muted);margin-top:10px}.card-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:17px;margin-top:auto;padding-top:38px}.book-link{display:inline-flex;align-items:center;gap:20px;background:var(--accent);font-weight:700;text-decoration:none;padding:14px 16px;min-height:49px;font-size:.92rem;transition:background .2s}.book-link:hover{background:#eac92d}.link-icon{font-size:1.15rem;line-height:1}.email-link{font-size:.9rem;color:var(--muted);text-underline-offset:3px}.booking-note{font-size:.88rem;color:var(--muted);line-height:1.55;margin:20px 0 0}.site-footer{border-top:1px solid var(--line);padding:30px 0 28px;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:16px;font-size:.84rem;line-height:1.6;color:var(--muted)}.footer-name{font-weight:700;color:var(--ink)}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer-links a{text-underline-offset:3px}.copyright{grid-column:1/-1;font-size:.77rem;margin-top:24px}.legal-main{padding:64px 0 100px;max-width:850px}.legal-main h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;letter-spacing:-.055em;margin:0 0 6px}.legal-main h2,.legal-main h3{font-size:1.25rem;letter-spacing:-.025em;margin:38px 0 10px;color:var(--ink)}.legal-main h3{line-height:1.3}.legal-main p,.legal-main li{font-size:1rem;line-height:1.75;color:#4e575a}.legal-main p{margin:0 0 14px}.legal-main a{color:var(--green);overflow-wrap:anywhere}.legal-main strong{color:var(--ink)}.legal-subtitle{font-size:.88rem!important;color:var(--muted)!important;margin-bottom:42px!important}[hidden]{display:none!important}@media(max-width:700px){.site-header,main,.site-footer{width:min(100% - 36px,1120px)}.site-header{padding:24px 0}.brand img{width:140px}.intro{padding:72px 0 76px}.eyebrow{font-size:.7rem}h1{font-size:clamp(3.7rem,15vw,6.5rem)}.location-grid{grid-template-columns:1fr;gap:12px}.location-card{min-height:270px;padding:22px}.locations{padding-bottom:72px}.site-footer{grid-template-columns:1fr 1fr}.footer-details{grid-column:1/-1;grid-row:2}.footer-links{grid-column:2;grid-row:1}.copyright{margin-top:15px}.legal-main{padding:48px 0 75px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.location-card,.book-link{transition:none}}

.back-link{font-size:.88rem;color:var(--muted);text-underline-offset:3px}
.intro{padding:58px 0 62px}h1{font-size:clamp(4.2rem,7.2vw,6rem)}
.location-card{min-height:240px}h3{margin-top:26px}.card-bottom{padding-top:25px}
@media(max-width:700px){.intro{padding:62px 0 65px}h1{font-size:clamp(3.65rem,14vw,5.5rem)}}
.home .site-header{border-bottom:0}.home-main{display:flex;align-items:center;justify-content:center;text-align:center;min-height:470px;padding:38px 0 70px}.home-content{width:100%;max-width:860px}.home h1{font-size:clamp(2rem,4.2vw,3.35rem);letter-spacing:-.045em;line-height:1.24;font-weight:600;margin:0 auto 44px;max-width:850px}.location-picker{width:min(100%,420px);margin:0 auto}.location-picker label{display:block;font-size:1.1rem;font-weight:650;margin-bottom:13px}.location-picker select{appearance:none;width:100%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%2330383d' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 18px center;border:1px solid #cbd1ce;border-radius:2px;min-height:52px;padding:0 48px 0 17px;color:var(--ink);font:inherit;font-size:1rem;cursor:pointer}.location-picker select:focus-visible{outline:3px solid var(--green);outline-offset:3px}.home-contact{margin-top:33px}.home-contact h2{font-size:.92rem;letter-spacing:0;margin:0 0 8px;font-weight:700}.home-contact p{font-size:.88rem;line-height:1.8;color:var(--muted);margin:0}.home-contact a{color:var(--ink);text-underline-offset:3px}.home .site-footer{padding-top:25px}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:10;background:#f3d640;color:#252c2e;display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 24px;box-shadow:0 -4px 18px #0000000c}.cookie-banner[hidden]{display:none!important}.cookie-banner p{font-size:.86rem;line-height:1.5;margin:0}.cookie-banner a{font-weight:700;text-underline-offset:2px}.cookie-banner button{background:none;border:0;color:inherit;font-size:1.4rem;line-height:1;cursor:pointer;padding:4px 8px}.cookie-banner button:focus-visible{outline:2px solid var(--ink)}@media(max-width:700px){.home-main{min-height:460px;padding:60px 0 74px}.home h1{font-size:clamp(2rem,9vw,3rem);margin-bottom:36px}.home-contact{margin-top:28px}.cookie-banner{align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 18px}.cookie-banner p{font-size:.8rem}}

.home h1{color:#623060}.home h1 .gradient-word{white-space:nowrap}.home h1 .gradient-word span{color:inherit}
.cookie-banner{background:#30383d;color:#fff;box-shadow:0 -1px 12px #0000001a}.cookie-banner a,.cookie-banner button{color:#fff}

/* Keep the legal details in reading order on phones. */
@media(max-width:700px){
  .site-footer{grid-template-columns:minmax(0,1fr);gap:10px;padding:27px 0 30px}
  .footer-name,.footer-details,.footer-links,.copyright{grid-column:1;grid-row:auto}
  .footer-details{overflow-wrap:anywhere}
  .footer-links{gap:6px;margin-top:5px}
  .footer-links a{overflow-wrap:anywhere}
  .copyright{margin-top:16px}
}

/* A compact, centred notice with room for the close button. */
.cookie-banner{left:16px;right:16px;bottom:16px;width:auto;max-width:580px;margin-inline:auto;display:block;padding:15px 48px 15px 20px;border-radius:10px;text-align:center;box-shadow:0 8px 30px #00000026}
.cookie-banner button{position:absolute;right:10px;top:50%;transform:translateY(-50%)}
@media(max-width:700px){
  .cookie-banner{left:14px;right:14px;bottom:14px;padding:14px 43px 14px 17px}
  .cookie-banner p{font-size:.82rem}
}
