@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--blue:#143d82;--navy:#10264a;--gold:#b99759;--ivory:#f8f5ef;--ink:#23334a;--line:#dfd9ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3976c9;outline-offset:4px}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15;margin:0 0 22px;text-wrap:balance}h1{font-size:clamp(2.5rem,4.5vw,4.4rem)}h2{font-size:clamp(2rem,3.3vw,3rem)}h3{font-size:1.6rem}p{margin:0 0 20px}em{font-weight:500}main{min-height:45vh}.wrap{max-width:1240px;margin:auto;padding-inline:36px}.eyebrow{color:#80612f;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:700;margin-bottom:18px}.header{background:var(--blue);color:white;position:sticky;top:0;z-index:40;box-shadow:0 2px 10px #10264a18}.nav{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:26px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand-logo{width:56px;height:56px;object-fit:contain;border-radius:50%}.brand-wordmark{font:500 1.25rem Georgia,serif;letter-spacing:.035em}.brand-wordmark small{display:block;font:600 .56rem 'DM Sans',sans-serif;letter-spacing:.2em;margin-top:5px}.links{display:flex;align-items:center;gap:17px}.links a{font-size:.8rem;text-decoration:none;white-space:nowrap;padding-block:10px}.links a:hover,.links a[aria-current=page]{text-decoration:underline;text-decoration-color:#d8bc81;text-underline-offset:8px}.links .btn{padding:12px 17px}.toggle{display:none}.header-banner{height:160px;background:url('Images-text-watermark-v4/optimized/bluez-header-banner-fef80-1280.webp') center/cover no-repeat;border-bottom:3px solid var(--gold)}.inner-page .header-banner{height:100px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;background:var(--gold);border:1px solid var(--gold);border-radius:3px;color:#14243c;font-weight:700;font-size:.9rem;text-decoration:none;transition:background .18s,transform .18s;text-align:center}.btn:hover{background:#c7aa73;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:default}.btn.outline{background:transparent;border-color:#8a713e;color:var(--navy)}.text-link{font-weight:600;color:var(--navy);padding-block:12px}.section{padding:64px 0}.section:nth-child(even){background:#fff}.ivory,.service-team-section{background:var(--ivory)!important}.blue{background:var(--navy)!important;color:white}.blue .eyebrow{color:#d5b97f}.pale{background:#e9f0f8}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}.split>*,.team-layout>*{min-width:0}.split>img{width:100%;height:420px;object-fit:cover;border-radius:6px}.hero{padding:48px 0 56px;background:var(--ivory)}.hero .split{gap:52px}.hero h1{margin-bottom:22px}.hero p:not(.eyebrow){max-width:560px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:25px 0 0}.slideshow{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#ece8df;box-shadow:0 14px 35px #10264a19}.slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.slide-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px}.slide-controls button{min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;border-radius:3px;color:var(--navy)}.slide-controls button:hover{background:white}.slide-controls [data-pause]{padding-inline:12px;font-size:.75rem}.slide-count{font-size:.74rem;letter-spacing:.13em;min-width:60px;text-align:center}.slide-caption{display:none}.cards,.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:6px}.card img{height:245px;width:100%;object-fit:cover}.card-body{padding:26px}.card-body h3{margin-bottom:12px}.card-body a{color:var(--blue);font-weight:700;display:inline-block;min-height:44px;padding-block:8px}.section-head{max-width:760px;margin:0 auto 36px;text-align:center}.service{padding:42px 0;border-bottom:1px solid var(--line)}.service:last-child{border-bottom:0;padding-bottom:0}.service .split>img{height:380px;object-fit:contain;background:#eee9df}.service h2{font-size:clamp(1.9rem,2.8vw,2.7rem)}.service ul{padding-left:22px;margin-bottom:25px}.service li{margin-bottom:7px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery a{display:block;overflow:hidden;border-radius:5px;background:#e7e4df}.gallery img{width:100%;height:225px;object-fit:cover;transition:transform .25s}.gallery a:hover img{transform:scale(1.035)}.photo-dialog{padding:52px 18px 18px;border:0;background:var(--navy);border-radius:8px;max-width:95vw;max-height:92dvh}.photo-dialog::backdrop{background:#071426e8}.photo-dialog img{max-height:77dvh;max-width:86vw;object-fit:contain;width:auto}.photo-dialog button{position:absolute;right:12px;top:7px;border:0;background:transparent;color:white;font-size:1rem;padding:8px 12px;min-height:40px}.menu-card{padding:28px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:5px}.menu-card h3{font-size:1.5rem}.menu-card a{font-weight:700;color:var(--blue);display:inline-block;padding-block:10px}.menu-section{padding:52px 0;border-top:1px solid var(--line);scroll-margin-top:100px}.menu-section:nth-child(even){background:#fff}.menu-intro{padding:22px;background:#ece8df;margin:20px 0 28px;border-left:3px solid var(--gold)}.menu-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.menu-group{margin-bottom:16px;border:1px solid var(--line);border-radius:5px;background:white;overflow:hidden}.menu-group summary{padding:19px 22px;cursor:pointer;color:var(--navy);font-family:Georgia,serif;font-size:1.3rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}.menu-group summary::-webkit-details-marker{display:none}.menu-group summary::after{content:'+';font:400 1.5rem Arial}.menu-group[open] summary::after{content:'−'}.menu-group[open] summary{border-bottom:1px solid var(--line)}.menu-group ul{padding:5px 24px 10px 40px}.menu-group li{padding-block:6px}.clients-section{background:var(--ivory)}.clients-intro{max-width:740px}.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.client-card{background:white;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;min-height:215px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.client-card img{width:100%;max-width:220px;height:110px;object-fit:contain}.client-card h2{font:600 .94rem/1.5 'DM Sans',Arial;text-align:center;margin:0}.client-card p{font-size:.85rem;margin:0}.school-symbol{font-size:3rem;color:var(--gold)}.team-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}.team-visual{margin:0;padding:10px;background:white;border:1px solid var(--line)}.team-visual img{width:100%;height:auto}.team-contact{font-weight:600}.team-contact a{display:inline-block;padding-block:5px}.form{min-width:0}.enquiry-card{background:#fff;padding:28px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px}.form label{display:block;font-size:.88rem;font-weight:600;margin:14px 0 6px}.form label:first-child{margin-top:0}.form input,.form select,.form textarea{display:block;width:100%;max-width:100%;min-width:0;padding:12px;border:1px solid #b9c1ca;border-radius:3px;font-size:16px;background:#fff;color:var(--ink);min-height:48px}.form textarea{min-height:130px;resize:vertical}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 14px}.form .notice{margin-bottom:0}.notice{color:#586471;font-size:.84rem;line-height:1.6}.map{width:100%;height:400px;border:0;border-radius:6px;margin-top:16px}.footer{background:var(--navy);color:white;padding:46px 0 30px}.footer h3{margin-bottom:14px}.footer p{margin-bottom:10px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 25px;margin-top:24px}.footer-links a{min-height:44px;padding-block:10px;font-size:.9rem}.footer small{display:block;border-top:1px solid #ffffff25;margin-top:24px;padding-top:20px;color:#cbd2df}.mobile-actions{display:none}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;padding:10px 16px;background:white;color:var(--navy)}.skip-link:focus{top:12px}.page-heading{max-width:1240px;margin:auto;padding:48px 36px 0}.truck-detail{margin:0 auto;max-width:1168px!important;padding-inline:36px}.truck-detail img{width:100%;height:auto;max-height:70vh;object-fit:contain}.truck-detail figcaption{padding-top:14px}.truck-detail+.wrap{margin-top:24px}[hidden]{display:none!important}
@media(max-width:1366px){.nav{min-height:76px}.brand-logo{width:50px;height:50px}.toggle{display:block;color:white;border:1px solid #ffffff70;border-radius:4px;background:transparent;padding:9px 15px;min-height:44px}.links{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 36px 24px;background:var(--blue);max-height:calc(100dvh - 76px);overflow-y:auto;box-shadow:0 10px 18px #10264a30}.links.open{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}.links a{padding:12px;min-height:48px;border-bottom:1px solid #ffffff20;font-size:.95rem}.links .btn{margin-top:8px;grid-column:1/-1}.hero .split{gap:30px}.hero h1{font-size:clamp(2.4rem,4.8vw,3.6rem)}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.cards{gap:16px}.card-body{padding:20px}.card img{height:210px}.split,.team-layout{gap:30px}}
@media(max-width:700px){html{scroll-padding-top:90px}.wrap{padding-inline:20px}.nav{min-height:72px;gap:12px}.brand-logo{width:45px;height:45px}.brand{gap:9px}.brand-wordmark{font-size:1.15rem}.brand-wordmark small{font-size:.48rem}.toggle{font-size:.85rem;padding-inline:12px}.links{padding:12px 20px 22px;max-height:calc(100dvh - 72px)}.links.open{grid-template-columns:1fr}.links a{padding:10px 12px;min-height:44px}.header-banner{height:92px}.inner-page .header-banner{height:64px}.hero{padding:30px 0 36px}.hero .split,.split,.team-layout{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(2.5rem,8.9vw,3.7rem);line-height:1.1;margin-bottom:18px}.hero .eyebrow{font-size:.62rem;letter-spacing:.12em;margin-bottom:15px}.hero p{font-size:.95rem}.hero-actions{gap:18px;margin-top:21px}.hero-actions .btn{padding-inline:18px}.slideshow{aspect-ratio:4/3;box-shadow:0 8px 20px #10264a15}.slide-controls{margin-top:10px}.section{padding:40px 0}.inner-page main h1{font-size:clamp(2.1rem,7.7vw,3rem)}h2{font-size:2rem}h3{font-size:1.5rem}.cards,.menu-grid,.menu-cols{grid-template-columns:1fr;gap:18px}.card img{height:auto;aspect-ratio:3/2}.card-body{padding:22px}.split>img,.service .split>img{height:auto;max-height:420px;object-fit:contain}.service{padding:28px 0}.service h2{font-size:1.9rem}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery img{height:auto;aspect-ratio:1/1}.menu-card{padding:24px}.menu-section{padding:36px 0}.menu-group summary{padding:17px 18px;font-size:1.2rem}.menu-intro{padding:18px}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-card{min-height:175px;padding:16px 12px;gap:14px}.client-card img{height:80px}.client-card h2{font-size:.8rem}.team-layout{gap:25px}.enquiry-card{padding:22px 18px}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.map{height:320px}.footer{padding:36px 0 100px}.footer-links{gap:4px 20px}.mobile-actions{position:fixed;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;z-index:35;background:var(--navy);padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:9px;box-shadow:0 -2px 14px #10264a25}.mobile-actions a{padding:11px 8px;text-align:center;min-height:46px;font-size:.82rem;font-weight:700;text-decoration:none;border:1px solid #cbb27e;border-radius:3px;color:#fff}.mobile-actions a:first-child{background:var(--gold);color:var(--navy)}.page-heading{padding:32px 20px 0}.truck-detail{padding-inline:20px}.photo-dialog{padding:48px 10px 10px;max-width:96vw}.photo-dialog img{max-width:88vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.header,.header-banner,.mobile-actions,.slide-controls,.footer{display:none}body{background:white}details>*{display:block!important}.section,.menu-section{padding:20px 0}}

.actions{max-width:1240px;margin:28px auto 0;padding-inline:36px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}@media(max-width:700px){.actions{padding-inline:20px}}

/* Tablet layouts: portrait and landscape, selected by available screen width. */
@media (min-width:701px) and (max-width:1366px){
 .wrap{padding-inline:32px}
 .header-banner{height:130px}.inner-page .header-banner{height:88px}
 .hero{padding:40px 0 44px}.section{padding:48px 0}
 .hero .split,.split,.team-layout{gap:32px}
 .hero h1{font-size:clamp(2.75rem,4.6vw,3.7rem)}
 .hero-actions{gap:16px}.hero-actions a{min-height:48px}
 .slideshow{aspect-ratio:4/3}.slide-controls button{min-width:48px;min-height:48px}
 .split>img{height:auto;max-height:440px;aspect-ratio:4/3;object-fit:cover}
 .service .split>img{height:auto;aspect-ratio:4/3;object-fit:contain}
 .cards,.menu-grid{gap:20px}.card-body{padding:22px}
 .card img{height:auto;aspect-ratio:3/2}
 .gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .gallery img{height:auto;aspect-ratio:1/1}
 .client-grid{gap:18px}.client-card{padding:20px 16px;min-height:195px}
 .client-card img{height:95px}
 .menu-cols{gap:18px}.menu-group summary{min-height:56px;padding:18px 20px}
 .enquiry-card{padding:26px}.form-actions{flex-direction:column}
 .form-actions .btn{width:100%;min-height:50px}
 .footer-links{gap:8px 22px}.footer-links a{min-height:48px}
 .page-heading{padding:40px 32px 0}.truck-detail,.actions{padding-inline:32px}
 .photo-dialog img{max-height:76dvh;max-width:86vw}
}
@media (min-width:701px) and (max-width:900px){
 .hero .split,.split,.team-layout{grid-template-columns:minmax(0,1fr)}
 .hero h1{font-size:3.5rem;max-width:650px}
 .hero .slideshow{max-width:680px;margin-inline:auto}
 .split>img{max-height:480px;width:100%;aspect-ratio:3/2}
 .cards,.menu-grid,.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cards>.card:last-child:nth-child(odd),.menu-grid>.menu-card:last-child:nth-child(odd){grid-column:1/-1;max-width:calc((100% - 20px)/2);width:100%;justify-self:center}
 .service h2{font-size:2.4rem}.team-visual{max-width:620px;margin-inline:auto}
 .enquiry-card{max-width:720px;width:100%}.menu-cols{grid-template-columns:minmax(0,1fr)}
 .map{height:400px}
}
@media (min-width:901px) and (max-width:1366px){
 .hero .split,.split,.team-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cards,.menu-grid,.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .menu-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
 .map{height:440px}
}
@media (pointer:coarse){.btn,.toggle,.links a,.slide-controls button{min-height:48px}.gallery a:hover img{transform:none}.btn:hover{transform:none}}

/* Keep embedded bottom-left photo watermarks visible at every viewport. */
.card img,.gallery img,.split>img,.service .split>img{object-fit:contain;background:#ece8df}

/* Final cross-device refinements */
html,body{max-width:100%;overflow-x:clip}
.hero .split>*,.cards>*,.menu-grid>*,.client-grid>*,.gallery>*{min-width:0}
.gallery a:focus-visible{outline-offset:3px}
@media(min-width:701px) and (max-width:900px){.hero .split{align-items:start}.hero .slideshow{width:100%}.slide-controls{flex-wrap:wrap}.footer-links{gap:8px 18px}}
@media(max-width:400px){.brand-wordmark{font-size:1rem}.brand-wordmark small{letter-spacing:.12em}.nav{gap:8px}.toggle{padding-inline:9px}.gallery{gap:8px}.client-grid{gap:10px}.slide-controls{gap:8px}}

/* Client reviews and event appreciation */
.client-review-section{margin:0 0 3.5rem;padding:2rem;border-radius:18px;background:#f5f0e6;color:#173254}.client-review-section h2{color:#173254}.review-carousel{min-height:220px;display:grid;align-items:center}.review-slide{margin:0;padding:1.8rem 2rem;background:#fff;border-left:4px solid #b89a58;border-radius:12px;box-shadow:0 8px 25px #172d4a12}.review-slide[hidden]{display:none}.review-slide p{font-size:clamp(1.05rem,2vw,1.4rem);line-height:1.65}.review-slide footer{font-weight:700;color:#42617c;margin-top:1rem}.review-controls{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin:1rem 0 2.4rem}.review-controls button{padding:.65rem 1rem;border:1px solid #c5b78d;background:#fff;border-radius:8px;color:#173254;cursor:pointer}.review-controls button:focus-visible{outline:3px solid #b89a58}.appreciation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.appreciation h2,.appreciation>p{grid-column:1/-1}.appreciation figure{margin:0;background:#fff;padding:.7rem;border-radius:12px}.appreciation img{display:block;width:100%;height:auto;object-fit:contain}.booking-faq details{border-bottom:1px solid #b7b7b7;padding:1rem 0}.booking-faq summary{cursor:pointer;font-weight:700}.booking-faq details p{padding:.6rem 0}.booking-faq .btn{margin-top:1.5rem}@media(max-width:640px){.client-review-section{padding:1rem}.review-slide{padding:1.2rem}.appreciation{grid-template-columns:1fr}}

/* Wedding portfolio: keep both original photographs visible */
.wedding-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;min-width:0}
.wedding-photo-pair img{width:100%;height:350px;object-fit:cover;border-radius:12px;display:block}
.wedding-photo-pair img:nth-child(2){object-position:center 42%}
@media(max-width:720px){.wedding-photo-pair{grid-template-columns:1fr 1fr;gap:8px}.wedding-photo-pair img{height:235px}}
@media(max-width:420px){.wedding-photo-pair img{height:185px}}
.review-submission{margin-top:35px;padding:24px;border:1px solid rgba(187,151,82,.55);border-radius:16px;background:rgba(255,255,255,.06)}
.review-submission form{display:grid;gap:10px;max-width:650px}.review-submission label{font-weight:600;margin-top:7px}
.review-submission input,.review-submission select,.review-submission textarea{width:100%;box-sizing:border-box;border:1px solid #9a9a9a;border-radius:8px;padding:12px;font:inherit;color:#202020;background:white}
.review-submission button{justify-self:start;cursor:pointer}.review-honeypot{position:absolute;left:-9999px;height:1px;overflow:hidden}
.review-stars{color:#d2a447;letter-spacing:2px}.review-slide footer{margin-top:12px}

/* Home wedding photo pairing */
.home-wedding-duo{display:grid;grid-template-columns:1fr 1fr;gap:6px;overflow:hidden;aspect-ratio:1.55}
.home-wedding-duo img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
