:root{color-scheme:light;--mode-track:#eaf0f2;--mode-thumb:#fff;--mode-icon:#506572;--mode-active:#846c3b;--mode-border:#a4b5bf}
:root[data-colour-mode=dark]{color-scheme:dark;--paper:#111f29;--white:#172832;--ink:#edf3f3;--muted:#bac8cf;--blue:#adcfe5;--pale:#20333f;--gold:#d6bb82;--line:#425762;--mode-track:#253d4d;--mode-thumb:#c2d9e6;--mode-icon:#b2c8d5;--mode-active:#18354a;--mode-border:#627e90}
.colour-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 76px;width:76px;height:44px;padding:3px 0;border-radius:24px}
.colour-toggle[hidden]{display:none}
.colour-toggle-track{position:relative;display:flex;align-items:center;justify-content:space-around;width:76px;height:36px;border:1px solid var(--mode-border);border-radius:24px;background:var(--mode-track);box-shadow:inset 0 1px 3px #1123310d;transition:background .4s,border-color .4s,box-shadow .25s}
.colour-toggle-thumb{position:absolute;left:3px;top:3px;width:28px;height:28px;background:var(--mode-thumb);border-radius:50%;box-shadow:0 1px 5px #10212d24;transition:transform .48s cubic-bezier(.2,.8,.2,1),background .4s,scale .2s}
.colour-toggle svg{position:relative;width:19px;height:19px;color:var(--mode-icon);transition:color .35s,transform .5s,opacity .35s}
.colour-toggle .colour-sun{color:var(--mode-active);transform:rotate(0)}
.colour-toggle .colour-moon{transform:rotate(-15deg) scale(.9)}
.colour-toggle:hover .colour-toggle-track{box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 10%,transparent)}
.colour-toggle:active .colour-toggle-thumb{scale:.9}
.category-number{color:var(--muted)}
[data-colour-mode=dark] .colour-toggle-thumb{transform:translateX(40px)}
[data-colour-mode=dark] .colour-sun{color:var(--mode-icon);transform:rotate(90deg) scale(.85)}
[data-colour-mode=dark] .colour-moon{color:var(--mode-active);transform:rotate(0) scale(1)}
.desktop-nav{margin-right:clamp(15px,3vw,50px)}
body,.site-header,.site-footer,.categories-section,.enquiry-section,.gallery-filter-area,.mobile-menu,.lightbox,.exit-dialog{transition:background-color .4s,color .4s,border-color .4s}
[data-colour-mode=dark]{scrollbar-color:#8eacbd #172832}
[data-colour-mode=dark] ::-webkit-scrollbar-track{background:#172832}
[data-colour-mode=dark] ::-webkit-scrollbar-thumb{background:#8eacbd;border-color:#172832}
[data-colour-mode=dark] ::selection{background:#3f6279;color:#fff}
[data-colour-mode=dark] :is(a,button,input,select,textarea):focus-visible{outline-color:#c1dcf0}
[data-colour-mode=dark] :is(.site-header,.site-footer){background:var(--white);border-color:var(--line)}
[data-colour-mode=dark] .brand picture{background:#fff;border-radius:4px;padding:2px}
[data-colour-mode=dark] .skip-link:focus{background:var(--ink);color:var(--paper)}
[data-colour-mode=dark] :is(.hero,.categories-section){background:#1a2c38}
[data-colour-mode=dark] :is(.hero-slide.portrait,.intro-image:before,.intro-stage,.category-photo,.gallery-tile){background:var(--pale)}
[data-colour-mode=dark] :is(.hero:not(.is-landscape) h1 em,.intro-copy h2 em,.section-heading h2 em,.page-heading h1 em,.enquiry-section h2 em,.quote-section blockquote){color:#acc7d7}
[data-colour-mode=dark] :is(.category-number,.footer-top>p>span,.footer-bottom,.gallery-meta>span,.lightbox-caption,.field label span){color:var(--muted)}
[data-colour-mode=dark] .enquiry-section{background:#203440}
[data-colour-mode=dark] .button-blue{background:var(--blue);color:#142936}
[data-colour-mode=dark] .button-blue:hover{background:#c9e0ed;color:#142936}
[data-colour-mode=dark] .button-outline:hover{background:var(--ink);color:var(--paper)}
[data-colour-mode=dark] .hero.is-landscape .button-blue{background:#f8f7f3;color:#1b3041}
[data-colour-mode=dark] .hero.is-landscape .button-blue:hover{background:#fff}
[data-colour-mode=dark] .gallery-filters a:hover{background:var(--pale)}
[data-colour-mode=dark] .gallery-filters a[aria-current]{background:var(--ink);color:var(--paper)}
[data-colour-mode=dark] .gallery-zoom{background:#172832ed;color:var(--ink)}
[data-colour-mode=dark] .lightbox{background:#0f1a22}
[data-colour-mode=dark] :is(.field input,.field select,.field textarea){background:#172832;border-color:#6e8796}
[data-colour-mode=dark] :is(.field input,.field textarea)::placeholder{color:#adbdc7}
[data-colour-mode=dark] :is(.field input,.field select,.field textarea):focus{background:#203440;border-color:var(--blue)}
[data-colour-mode=dark] .field-error{color:#ffb4b2}
[data-colour-mode=dark] :is(.field input,.field textarea)[aria-invalid]{border-color:#ffb4b2}
[data-colour-mode=dark] .form-error-summary{background:#3b282d;border-color:#c18285}
[data-colour-mode=dark] .form-success{background:#233c36}
[data-colour-mode=dark] .form-success>.icon{color:#a1d7b2}
[data-colour-mode=dark] .cursor-ring{border-color:#adcfe5aa}
[data-colour-mode=dark] .cursor-ring.over-link{background:#adcfe510}
@media(max-width:1100px){.site-header{gap:20px}.desktop-nav{gap:22px;margin-right:10px}.header-contact{gap:20px}}
@media(min-width:651px) and (max-width:850px){.site-header{gap:12px}.desktop-nav{gap:14px;margin-right:0}.brand-name{font-size:31px}.brand{gap:9px}.header-contact{gap:9px;font-size:10px}}
@media(max-width:650px){.header-contact{display:none}.colour-toggle{margin-left:auto}.menu-toggle{margin-left:0;flex-shrink:0}[data-colour-mode=dark] .hero.is-landscape h1 em{color:#acc7d7}[data-colour-mode=dark] .hero.is-landscape .button-blue{background:var(--blue);color:#142936}[data-colour-mode=dark] .hero.is-landscape .button-blue:hover{background:#c9e0ed}}
@media(max-width:365px){.site-header{gap:10px;padding-inline:20px}.brand-name{font-size:31px}.brand{gap:8px}}
@media(min-width:851px){
  .site-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;column-gap:clamp(18px,2vw,28px);padding-inline:max(clamp(32px,5vw,72px),calc((100% - 1240px)/2))}
  .desktop-nav{justify-self:center;gap:clamp(22px,2.4vw,36px);margin:0}
  .desktop-nav a{font-size:12px;padding:12px 2px;white-space:nowrap}
  .desktop-nav a:after{bottom:5px;left:2px;right:2px}
  .header-contact{justify-content:center;gap:18px;min-height:46px;padding:11px 21px;border:1px solid transparent;border-radius:4px;background:#235d87;color:#fff;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 3px 10px #1830430d;transition:background .2s,box-shadow .2s,transform .2s}
  .header-contact .icon{width:17px;height:17px;transition:transform .2s}
  .header-contact:hover{background:#194361;box-shadow:0 5px 14px #1830431a;transform:translateY(-1px)}
  .header-contact:hover .icon{transform:translate(2px,-2px)}
  [data-colour-mode=dark] .header-contact{background:#adcfe5;color:#142936}
  [data-colour-mode=dark] .header-contact:hover{background:#c9e0ed;color:#142936}
  .colour-toggle{width:64px;min-width:64px;flex-basis:64px;height:44px}
  .colour-toggle-track{width:64px;height:32px}
  .colour-toggle-thumb{width:24px;height:24px}
  .colour-toggle svg{width:16px;height:16px}
  [data-colour-mode=dark] .colour-toggle-thumb{transform:translateX(32px)}
}
@media(min-width:1800px){.site-header{padding-left:max(var(--gutter),calc((100vw - 1500px)/2));padding-right:6.5%}}
@media(prefers-reduced-motion:reduce){.colour-toggle-track,.colour-toggle-thumb,.colour-toggle svg,body,.site-header,.site-footer,.categories-section,.enquiry-section,.gallery-filter-area,.mobile-menu,.lightbox,.exit-dialog{transition:none}}
@media(forced-colors:active){.colour-toggle-track{border-color:ButtonText}.colour-toggle-thumb{background:Highlight}.colour-toggle svg{color:ButtonText}.colour-toggle[aria-checked=false] .colour-sun,.colour-toggle[aria-checked=true] .colour-moon{color:HighlightText}.colour-toggle-thumb,.colour-toggle svg{forced-color-adjust:none}}
