@font-face{font-family:GilroyFallback;src:url('fonts/gilroy-fallback.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:GilroyFallback;src:url('fonts/gilroy-extrabold.woff2') format('woff2');font-weight:700 800;font-display:swap}
@font-face{font-family:Gilroy;src:url('fonts/gilroy-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Gilroy;src:url('fonts/gilroy-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Gilroy;src:url('fonts/gilroy-extrabold.woff2') format('woff2');font-style:normal;font-weight:800;font-display:swap}
:root{font-family:Gilroy,GilroyFallback,Arial,sans-serif;color:#151515;background:#fff;font-synthesis:none;--pink:#f7a4c1;--orange:#e94b29;--blue:#002e6e}*{box-sizing:border-box}body{margin:0}header{padding:18px 3.5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:3px solid var(--pink)}.brand{text-decoration:none;color:inherit;display:block;line-height:0;padding:6px 10px}.brand img{display:block;width:300px;height:auto}.header-label{font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--blue)}main{padding:0 3.5vw 60px}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:38px 0 30px;gap:25px}h1{font-size:clamp(44px,6vw,80px);font-weight:800;letter-spacing:-.035em;line-height:1.12;margin:0}h1 span{color:var(--orange)}.meta{display:flex;flex-direction:column;gap:7px;text-align:right;font-size:16px;line-height:1.5;color:#666;font-weight:400}.meta span:first-child{color:#191919;font-weight:700}.gallery{columns:4;column-gap:14px}.photo{padding:0;display:block;width:100%;border:0;background:#efefef;break-inside:avoid;margin:0 0 14px;cursor:zoom-in;overflow:hidden}.photo img{display:block;width:100%;height:auto;transition:filter .2s}.photo:hover img{filter:brightness(.91)}.photo:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button{font:inherit}footer{border-top:3px solid var(--pink);margin:0 3.5vw;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>img{width:130px;height:auto}footer a{color:var(--blue);text-decoration:none;font-size:16px;font-weight:700}dialog{background:#000;color:#fff;border:0;padding:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#000}.viewer-bar,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;gap:20px;font-size:16px;font-weight:400}.viewer-bar button{background:none;border:0;color:#fff;cursor:pointer;padding:10px;font-size:16px;font-weight:700}.viewer-bar button span{font-size:28px;margin-left:10px}.view-image{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:0 70px}.view-image img{display:block;width:100%;height:100%;object-fit:contain}.nav{position:absolute;top:calc(50% - 26px);border:1px solid #666;background:#181818;color:white;width:48px;height:52px;font-size:36px;cursor:pointer}.previous{left:12px}.next{right:12px}.viewer-bottom{color:#ddd;padding-bottom:18px}.viewer-bottom img{width:110px;height:auto;max-height:62px;object-fit:contain}body.modal-open{overflow:hidden}#status{font-size:16px;color:#666}#status:empty{display:none}@media(min-width:1800px){.gallery{columns:5}}@media(max-width:1000px){.gallery{columns:3}.intro{padding-top:30px}}@media(max-width:650px){header{padding:14px 12px}.brand img{width:200px}.header-label{display:none}main{padding:0 12px 35px}.intro{padding:25px 6px 22px;align-items:flex-start;flex-direction:column;gap:12px}h1{font-size:clamp(40px,10vw,54px)}.meta{font-size:14px;text-align:left;gap:2px}.gallery{columns:2;column-gap:8px}.photo{margin-bottom:8px}.view-image{padding:0 8px}.nav{top:auto;bottom:10px;background:#111b}.viewer-bar,.viewer-bottom{padding:12px 16px}.viewer-bottom img{width:90px}footer{margin:0 18px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.header-contact{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-style:normal;font-size:20px;line-height:1.4;color:#000}.header-contact a{color:inherit;text-decoration:none;white-space:nowrap}.contact-heading{font-weight:800;font-size:24px}.header-contact a:hover{text-decoration:underline}.header-contact a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}@media(max-width:650px){.header-contact{font-size:18px;gap:8px}.contact-heading{font-size:22px}.brand{padding:6px 0}.brand img{width:200px;max-width:100%}}@media(max-width:380px){header{gap:10px}.brand img{width:200px}}

@media(max-width:650px){header{flex-wrap:wrap;gap:16px}.header-contact{margin-left:auto}}

.header-contact .enquiry-link{font-size:18px;font-weight:800;border-bottom:2px solid var(--orange);padding:5px 0 3px;margin-top:3px;white-space:normal;text-align:right}
.enquiry-main{max-width:850px;margin:0 auto;padding:36px 28px 64px}.back-link{display:inline-block;margin-bottom:28px;color:#000;text-decoration:none;font-weight:700}.back-link:hover{text-decoration:underline}.enquiry-main h1{font-size:clamp(36px,5vw,58px)}.enquiry-intro{font-size:20px;line-height:1.6;margin:20px 0 32px}.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:24px}.form-field label{font-size:17px;font-weight:700}.form-field input,.form-field textarea{font:inherit;font-size:18px;line-height:1.5;border:1px solid #888;border-radius:4px;padding:12px;background:#fff;color:#151515;width:100%;min-width:0}.form-field textarea{resize:vertical;min-height:160px}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-hint{font-size:16px;color:#555;line-height:1.5;margin:0}.form-honey{display:none}.form-privacy{font-size:14px;line-height:1.5;color:#555;margin:0 0 24px}.form-privacy a,.enquiry-fallback a{color:inherit}.enquiry-button{display:inline-block;background:#000;color:#fff;border:2px solid #000;border-radius:4px;padding:14px 24px;font-size:18px;font-weight:700;text-decoration:none;cursor:pointer}.enquiry-button:hover{background:#333}.enquiry-button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.enquiry-button:disabled{opacity:.65;cursor:wait}#enquiry-status{font-size:16px;line-height:1.5;color:#9a231a}#enquiry-status:empty{display:none}.enquiry-fallback{font-size:16px;line-height:1.6;margin-top:26px}@media(max-width:650px){.enquiry-main{padding:28px 18px 44px}.form-columns{grid-template-columns:1fr;gap:0}.enquiry-intro{font-size:18px}.header-contact .enquiry-link{font-size:17px}}

.gallery-search{margin:0 0 28px;max-width:950px}.gallery-search label{display:block;font-size:23px;font-weight:800;margin-bottom:12px}.search-row{display:flex;gap:12px;align-items:center}.search-row input{width:100%;min-width:0;border:1px solid #777;border-radius:4px;padding:15px 16px;font:inherit;font-size:18px;color:#151515;background:#fff}.search-row input:focus{outline:2px solid var(--blue);outline-offset:2px}.search-row button{flex-shrink:0;background:none;border:0;text-decoration:underline;padding:12px;cursor:pointer}.gallery-search p{font-size:16px;color:#555;margin:10px 0 16px}.event-filters{display:flex;flex-wrap:wrap;gap:8px}.event-filters button{border:1px solid #bbb;background:white;color:#151515;border-radius:24px;padding:10px 17px;font-size:16px;cursor:pointer}.event-filters button[aria-pressed=true]{background:#151515;color:#fff;border-color:#151515}.event-filters button:hover{border-color:#151515}.event-filters button:focus-visible,.search-row button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}@media(max-width:650px){.gallery-search label{font-size:21px}.search-row{flex-wrap:wrap}.search-row input{font-size:16px}.event-filters button{padding:9px 13px}.gallery-search{margin-bottom:22px}}

/* A compact, centred header and consistent content edges on phones. */
@media(max-width:650px){
 header{flex-direction:column;flex-wrap:nowrap;align-items:center;gap:14px;padding:20px 18px 22px}
 .brand{padding:0;margin:0 auto}
 .brand img{width:180px;max-width:100%;height:auto}
 .header-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;justify-items:center;column-gap:14px;row-gap:8px;width:100%;max-width:360px;margin:0;text-align:center;font-size:17px;line-height:1.5}
 .contact-heading{grid-column:1/-1;font-size:21px}
 .header-contact a{white-space:normal;overflow-wrap:anywhere}
 .header-contact a[href^="mailto:"],.header-contact .enquiry-link{grid-column:1/-1}
 .header-contact .enquiry-link{font-size:16px;line-height:1.5;text-align:center;margin-top:6px;padding:5px 0 4px}
 main{padding:0 18px 35px}
 .intro{padding:26px 0 22px;gap:12px}
 .intro h1{font-size:clamp(32px,9vw,42px);line-height:1.1}
 .meta{font-size:14px;line-height:1.5}
 .gallery-search label{font-size:21px;line-height:1.3}
 .gallery-search p{line-height:1.5}
 .search-row input{padding:13px 12px}
 footer{margin:0 18px}
}
