PageSourceSearch

https://kces.co.uk/_next/static/immutable/chunks/3g6g9h2aw8b4c.js

js kces.co.uk collected 2026-10-06 20:20:19 UTC 73,441 bytes, 4 lines download raw bytes

1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="55870d5d-4066-a2ac-0e8e-8420218549ec")}catch(e){}}();
2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,654977,e=>{"use strict";var a=e.i(843476),t=e.i(343432),r=e.i(263488),s=e.i(346897),l=e.i(503116),i=e.i(184910),n=e.i(186626),o=e.i(465277),c=e.i(430486);function d({business:e,services:x,formHeading:m,openingHours:h}){return(0,a.jsx)("section",{className:"bg-[var(--color-background)] py-[var(--section-padding-y)]",children:(0,a.jsx)("div",{className:"mx-auto max-w-[80rem] px-6",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-12 lg:grid-cols-3",children:[(0,a.jsx)("div",{className:"lg:col-span-2",children:(0,a.jsxs)(i.ScrollReveal,{children:[(0,a.jsx)("h3",{className:"mb-5 font-[family-name:var(--font-heading)] text-[length:var(--text-h3)] font-[number:var(--weight-heading)] text-[var(--color-text-primary)]",children:m}),(0,a.jsx)(o.ContactForm,{services:x})]})}),(0,a.jsx)("div",{children:(0,a.jsx)(i.ScrollReveal,{children:(0,a.jsxs)("div",{className:"rounded-[var(--radius-lg)] bg-[var(--color-surface)] p-8",children:[(0,a.jsx)(c.DotLabel,{text:"Contact Details"}),(0,a.jsxs)("div",{className:"mt-6 space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary)]",children:(0,a.jsx)(t.Phone,{className:"h-5 w-5 text-[var(--color-primary-foreground)]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[length:var(--text-small)] font-semibold text-[var(--color-text-primary)]",children:"Phone"}),(0,a.jsx)("a",{href:`tel:${e.phone}`,className:"text-[length:var(--text-body)] text-[var(--color-text-secondary)] hover:text-[var(--color-primary-ink)]",children:e.phone})]})]}),e.secondary_phone&&(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary)]",children:(0,a.jsx)(t.Phone,{className:"h-5 w-5 text-[var(--color-primary-foreground)]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[length:var(--text-small)] font-semibold text-[var(--color-text-primary)]",children:"Phone"}),(0,a.jsx)("a",{href:`tel:${e.secondary_phone}`,className:"text-[length:var(--text-body)] text-[var(--color-text-secondary)] hover:text-[var(--color-primary-ink)]",children:e.secondary_phone})]})]}),(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary)]",children:(0,a.jsx)(r.Mail,{className:"h-5 w-5 text-[var(--color-primary-foreground)]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[length:var(--text-small)] font-semibold text-[var(--color-text-primary)]",children:"Email"}),(0,a.jsx)("a",{href:`mailto:${e.email}`,className:"text-[length:var(--text-body)] text-[var(--color-text-secondary)] hover:text-[var(--color-primary-ink)] [overflow-wrap:break-word] [word-break:break-word]",children:(0,a.jsx)(n.BreakableEmail,{email:e.email})})]})]}),e.secondary_email&&(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary)]",children:(0,a.jsx)(r.Mail,{className:"h-5 w-5 text-[var(--color-primary-foreground)]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[length:var(--text-small)] font-semibold text-[var(--color-text-primary)]",children:e.secondary_email_heading||"Email"}),(0,a.jsx)("a",{href:`mailto:${e.secondary_email}`,className:"text-[length:var(--text-body)] text-[var(--color-text-secondary)] hover:text-[var(--color-primary-ink)] [overflow-wrap:break-word] [word-break:break-word]",children:(0,a.jsx)(n.BreakableEmail,{email:e.secondary_email})})]})]}),(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary)]",children:(0,a.jsx)(s.MapPin,{className:"h-5 w-5 text-[var(--color-primary-foreground)]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[length:var(--text-small)] font-semibold text-[var(--color-text-primary)]",children:"Address"}),(0,a.jsx)("p",{className:"text-[length:var(--text-body)] text-[var(--color-text-secondary)]",children:e.address})]})]}),e.secondary_address&&(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary)]",children:(0,a.jsx)(s.MapPin,{className:"h-5 w-5 text-[var(--color-primary-foreground)]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[length:var(--text-small)] font-semibold text-[var(--color-text-primary)]",children:e.secondary_address_heading||"Address"}),(0,a.jsx)("p",{className:"text-[length:var(--text-body)] text-[var(--color-text-secondary)]",children:e.secondary_address})]})]}),h&&h.length>0&&(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary)]",children:(0,a.jsx)(l.Clock,{className:"h-5 w-5 text-[var(--color-primary-foreground)]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[length:var(--text-small)] font-semibold text-[var(--color-text-primary)]",children:"Opening Hours"}),h.map(e=>(0,a.jsxs)("p",{className:"text-[length:var(--text-body)] text-[var(--color-text-secondary)]",children:[e.days,": ",e.hours]},e.days))]})]})]})]})})})]})})})}function x({business:e,services:c,formHeading:d,openingHours:m}){return(0,a.jsx)("section",{className:"bg-[var(--color-background)] py-[var(--section-padding-y)]",children:(0,a.jsxs)("div",{className:"mx-auto max-w-3xl px-6",children:[(0,a.jsx)(i.ScrollReveal,{children:(0,a.jsxs)("div",{className:"mb-10 flex flex-wrap items-center justify-center gap-8 text-center",children:[(0,a.jsxs)("a",{href:`tel:${e.phone}`,className:"flex items-center gap-2 text-[length:var(--text-body)] text-[var(--color-text-secondary)] hover:text-[var(--color-primary-ink)]",children:[(0,a.jsx)(t.Phone,{className:"h-4 w-4 text-[var(--color-primary-ink)]"})," ",e.phone]}
2),e.secondary_phone&&(0,a.jsxs)("a",{href:`tel:${e.secondary_phone}`,className:"flex items-center gap-2 text-[length:var(--text-body)] text-[var(--color-text-secondary)] hover:text-[var(--color-primary-ink)]",children:[(0,a.jsx)(t.Phone,{className:"h-4 w-4 text-[var(--color-primary-ink)]"})," ",e.secondary_phone]}),(0,a.jsxs)("a",{href:`mailto:${e.email}`,className:"flex items-center gap-2 text-[length:var(--text-body)] text-[var(--color-text-secondary)] hover:text-[var(--color-primary-ink)] [overflow-wrap:break-word] [word-break:break-word]",children:[(0,a.jsx)(r.Mail,{className:"h-4 w-4 shrink-0 text-[var(--color-primary-ink)]"})," ",(0,a.jsx)("span",{children:(0,a.jsx)(n.BreakableEmail,{email:e.email})})]}),e.secondary_email&&(0,a.jsxs)("a",{href:`mailto:${e.secondary_email}`,className:"flex items-center gap-2 text-[length:var(--text-body)] text-[var(--color-text-secondary)] hover:text-[var(--color-primary-ink)] [overflow-wrap:break-word] [word-break:break-word]",children:[(0,a.jsx)(r.Mail,{className:"h-4 w-4 shrink-0 text-[var(--color-primary-ink)]"})," ",(0,a.jsxs)("span",{children:[e.secondary_email_heading?`${e.secondary_email_heading}: `:"",(0,a.jsx)(n.BreakableEmail,{email:e.secondary_email})]})]}),(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[length:var(--text-body)] text-[var(--color-text-secondary)]",children:[(0,a.jsx)(s.MapPin,{className:"h-4 w-4 text-[var(--color-primary-ink)]"})," ",e.address]}),e.secondary_address&&(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[length:var(--text-body)] text-[var(--color-text-secondary)]",children:[(0,a.jsx)(s.MapPin,{className:"h-4 w-4 shrink-0 text-[var(--color-primary-ink)]"})," ",(0,a.jsxs)("span",{children:[e.secondary_address_heading?`${e.secondary_address_heading}: `:"",e.secondary_address]})]}),m&&m.length>0&&(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[length:var(--text-body)] text-[var(--color-text-secondary)]",children:[(0,a.jsx)(l.Clock,{className:"h-4 w-4 shrink-0 text-[var(--color-primary-ink)]"}),m.map(e=>`${e.days}: ${e.hours}`).join(" | ")]})]})}),(0,a.jsxs)(i.ScrollReveal,{children:[(0,a.jsx)("h3",{className:"mb-5 font-[family-name:var(--font-heading)] text-[length:var(--text-h3)] font-[number:var(--weight-heading)] text-[var(--color-text-primary)]",children:d}),(0,a.jsx)(o.ContactForm,{services:c})]})]})})}function m({business:e,services:d,formHeading:x,openingHours:h}){return(0,a.jsx)("section",{className:"bg-[var(--color-background)] py-[var(--section-padding-y)]",children:(0,a.jsx)("div",{className:"mx-auto max-w-[80rem] px-6",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-12 lg:grid-cols-2",children:[(0,a.jsx)(i.ScrollReveal,{children:(0,a.jsxs)("div",{className:"rounded-[var(--radius-lg)] bg-[var(--color-surface-dark)] p-10",children:[(0,a.jsx)(c.DotLabel,{text:"Get In Touch"}),(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:"We'd Love to Hear From You"}),(0,a.jsx)("p",{className:"mt-4 text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)]",children:"Whether you have a question about our services or want to discuss your project, we're here to help."}),(0,a.jsxs)("div",{className:"mt-8 space-y-5",children:[(0,a.jsxs)("a",{href:`tel:${e.phone}`,className:"flex items-center gap-3 text-[length:var(--text-body)] text-[var(--color-text-primary)] hover:text-[var(--color-primary)]",children:[(0,a.jsx)(t.Phone,{className:"h-5 w-5 text-[var(--color-primary)]"})," ",e.phone]}),e.secondary_phone&&(0,a.jsxs)("a",{href:`tel:${e.secondary_phone}`,className:"flex items-center gap-3 text-[length:var(--text-body)] text-[var(--color-text-primary)] hover:text-[var(--color-primary)]",children:[(0,a.jsx)(t.Phone,{className:"h-5 w-5 text-[var(--color-primary)]"})," ",e.secondary_phone]}),(0,a.jsxs)("a",{href:`mailto:${e.email}`,className:"flex items-center gap-3 text-[length:var(--text-body)] text-[var(--color-text-primary)] hover:text-[var(--color-primary)] [overflow-wrap:break-word] [word-break:break-word]",children:[(0,a.jsx)(r.Mail,{className:"h-5 w-5 shrink-0 text-[var(--color-primary)]"})," ",(0,a.jsx)("span",{children:(0,a.jsx)(n.BreakableEmail,{email:e.email})})]}),e.secondary_email&&(0,a.jsxs)("a",{href:`mailto:${e.secondary_email}`,className:"flex items-center gap-3 text-[length:var(--text-body)] text-[var(--color-text-primary)] hover:text-[var(--color-primary)] [overflow-wrap:break-word] [word-break:break-word]",children:[(0,a.jsx)(r.Mail,{className:"h-5 w-5 shrink-0 text-[var(--color-primary)]"})," ",(0,a.jsxs)("span",{children:[e.secondary_email_heading?`${e.secondary_email_heading}: `:"",(0,a.jsx)(n.BreakableEmail,{email:e.secondary_email})]})]}),(0,a.jsxs)("span",{className:"flex items-center gap-3 text-[length:var(--text-body)] text-[var(--color-text-primary)]",children:[(0,a.jsx)(s.MapPin,{className:"h-5 w-5 text-[var(--color-primary)]"})," ",e.address]}),e.secondary_address&&(0,a.jsxs)("span",{className:"flex items-center gap-3 text-[length:var(--text-body)] text-[var(--color-text-primary)]",children:[(0,a.jsx)(s.MapPin,{className:"h-5 w-5 shrink-0 text-[var(--color-primary)]"})," ",(0,a.jsxs)("span",{children:[e.secondary_address_heading?`${e.secondary_address_heading}: `:"",e.secondary_address]})]}),h&&h.length>0&&(0,a.jsxs)("div",{className:"flex items-start gap-3 text-[length:var(--text-body)] text-[var(--color-text-primary)]",children:[(0,a.jsx)(l.Clock,{className:"h-5 w-5 shrink-0 text-[var(--color-primary)]"}),(0,a.jsx)("div",{children:h.map(e=>(0,a.jsxs)("p",{children:[e.days,": ",e.hours]},e.days))})]})]})]})}),(0,a.jsxs)(i.ScrollReveal,{children:[(0,a.jsx)("h3",{className:"mb-5 font-[family-name:var
2(--font-heading)] text-[length:var(--text-h3)] font-[number:var(--weight-heading)] text-[var(--color-text-primary)]",children:x}),(0,a.jsx)(o.ContactForm,{services:d})]})]})})})}e.s(["ContactSection",0,function({business:e,services:t,formHeading:r,variant:s="form-with-sidebar",openingHours:l}){return"full-width"===s?(0,a.jsx)(x,{business:e,services:t,formHeading:r,openingHours:l}):"split-equal"===s?(0,a.jsx)(m,{business:e,services:t,formHeading:r,openingHours:l}):(0,a.jsx)(d,{business:e,services:t,formHeading:r,openingHours:l})}])},430486,e=>{"use strict";var a=e.i(843476);e.s(["DotLabel",0,function({text:e,dark:t=!1,centered:r=!1}){return(0,a.jsxs)("div",{className:`mb-3 flex items-center gap-2 ${r?"justify-center":""}`,children:[(0,a.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${t?"bg-[var(--color-primary)]":"bg-[var(--color-primary-ink)]"}`}),(0,a.jsx)("span",{className:`text-[length:var(--text-xs)] font-medium uppercase tracking-[0.15em] ${t?"text-white/70":"text-[var(--color-text-secondary)]"}`,children:e})]})}])},64305,e=>{"use strict";var a=e.i(843476),t=e.i(271645),r=e.i(88653),s=e.i(846932),l=e.i(463059),i=e.i(184910),n=e.i(113719),o=e.i(625991),c=e.i(831387),d=e.i(430486);function x({faqs:e,label:d,heading:m,background:h,spacingDensity:v,styleOverride:g}){let[u,p]=(0,t.useState)(null),{className:f,style:j}=(0,o.sectionBgStyle)(h,g,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${f} ${(0,n.sectionPaddingClass)(v)}`,style:j,children:(0,a.jsxs)("div",{className:"mx-auto max-w-3xl px-6",children:[(0,a.jsx)(i.ScrollReveal,{children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block h-2 w-2 rounded-full bg-[var(--color-primary-ink)]"}),(0,a.jsx)("span",{className:"text-[length:var(--text-xs)] font-medium uppercase tracking-[0.15em] text-[var(--color-text-secondary)]",children:d})]}),(0,a.jsx)("h2",{className:"mt-3 font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:m})]})}),(0,a.jsx)("div",{className:"mt-10 space-y-3",children:e.map((e,t)=>(0,a.jsx)(i.ScrollReveal,{children:(0,a.jsxs)("div",{className:"overflow-hidden rounded-[var(--radius-lg)] bg-[var(--bg-tinted)]",children:[(0,a.jsx)("h3",{children:(0,a.jsxs)("button",{onClick:()=>p(u===t?null:t),className:"flex w-full items-center justify-between px-6 py-5",children:[(0,a.jsx)("span",{className:"text-left text-[length:var(--text-body)] font-[number:var(--weight-subheading)] text-[var(--color-primary-ink)]",children:e.question}),(0,a.jsx)("span",{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary)] text-white transition-transform ${u===t?"rotate-90":""}`,children:(0,a.jsx)(l.ChevronRight,{size:14})})]})}),(0,a.jsx)(r.AnimatePresence,{initial:!1,children:u===t&&(0,a.jsx)(s.motion.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.25,ease:"easeInOut"},className:"overflow-hidden",children:(0,a.jsx)("div",{className:"px-6 pb-5",children:(0,a.jsx)("div",{className:"text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)] [&>p]:mb-3 [&>p:last-child]:mb-0",dangerouslySetInnerHTML:{__html:(0,c.renderContent)(e.answer).html}})})})})]})},e.question))})]})})}function m({faqs:e,label:t,heading:r,background:s,spacingDensity:l,styleOverride:x}){let{className:h,style:v}=(0,o.sectionBgStyle)(s,x,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${h} ${(0,n.sectionPaddingClass)(l)}`,style:v,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(0,a.jsxs)(i.ScrollReveal,{children:[(0,a.jsx)(d.DotLabel,{text:t}),(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:r})]}),(0,a.jsx)(i.ScrollReveal,{children:(0,a.jsx)("div",{className:"mt-10 grid grid-cols-1 gap-x-12 gap-y-8 md:grid-cols-2",children:e.map(e=>(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-[family-name:var
2(--font-heading)] text-[length:var(--text-body)] font-[number:var(--weight-subheading)] text-[var(--color-primary-ink)]",children:e.question}),(0,a.jsx)("div",{className:"mt-2 text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)] [&>p]:mb-3 [&>p:last-child]:mb-0",dangerouslySetInnerHTML:{__html:(0,c.renderContent)(e.answer).html}})]},e.question))})})]})})}function h({faqs:e,label:x,heading:m,background:v,spacingDensity:g,styleOverride:u}){let[p,f]=(0,t.useState)(null),{className:j,style:y}=(0,o.sectionBgStyle)(v,u,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${j} ${(0,n.sectionPaddingClass)(g)}`,style:y,children:(0,a.jsxs)("div",{className:"mx-auto max-w-3xl px-6",children:[(0,a.jsxs)(i.ScrollReveal,{children:[(0,a.jsx)(d.DotLabel,{text:x}),(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:m})]}),(0,a.jsx)("div",{className:"mt-8",children:e.map((e,t)=>(0,a.jsx)(i.ScrollReveal,{children:(0,a.jsxs)("div",{className:"border-b border-[var(--color-border)]",children:[(0,a.jsx)("h3",{children:(0,a.jsxs)("button",{onClick:()=>f(p===t?null:t),className:"flex w-full items-center justify-between py-5 text-left text-[length:var(--text-body)] font-[number:var(--weight-subheading)] text-[var(--color-text-primary)]",children:[e.question,(0,a.jsx)(l.ChevronRight,{size:16,className:`shrink-0 text-[var(--color-primary)] transition-transform ${p===t?"rotate-90":""}`})]})}),(0,a.jsx)(r.AnimatePresence,{initial:!1,children:p===t&&(0,a.jsx)(s.motion.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.25,ease:"easeInOut"},className:"overflow-hidden",children:(0,a.jsx)("div",{className:"pb-5 text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)] [&>p]:mb-3 [&>p:last-child]:mb-0",dangerouslySetInnerHTML:{__html:(0,c.renderContent)(e.answer).html}})})})]})},e.question))})]})})}e.s(["FAQAccordion",0,function({faqs:e,label:t,heading:r,variant:s="accordion-cards",background:l,spacingDensity:i,styleOverride:n}){return"two-column-qa"===s?(0,a.jsx)(m,{faqs:e,label:t,heading:r,background:l,spacingDensity:i,styleOverride:n}):"simple-list"===s?(0,a.jsx)(h,{faqs:e,label:t,heading:r,background:l,spacingDensity:i,styleOverride:n}):(0,a.jsx)(x,{faqs:e,label:t,heading:r,background:l,spacingDensity:i,styleOverride:n})}])},886361,e=>{"use strict";var a=e.i(843476),t=e.i(271645),r=e.i(657688),s=e.i(922606),l=e.i(184910),i=e.i(211290),n=e.i(878756),o=e.i(113719),c=e.i(625991),d=e.i(884421);function x({label:e,active:t,onClick:r}){return(0,a.jsx)("button",{type:"button",onClick:r,"aria-pressed":t,className:`rounded-full border-2 px-5 py-2.5 font-[family-name:var(--font-heading)] text-sm font-semibold transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] ${t?"border-[var(--color-primary)] bg-[var(--color-primary)] text-[var(--color-button-text-primary,white)]":"border-[var(--color-border)] text-[var(--color-text-primary)] hover:border-[var(--color-primary)] hover:text-[var(--color-primary-ink)]"}`,children:e})}function m({images:e,onImageClick:t,imageAspect:i}){return(0,a.jsx)("div",{className:"grid grid-cols-1 gap-[var(--gap-md)] sm:grid-cols-2 lg:grid-cols-3",children:e.map((e,n)=>(0,a.jsx)(l.ScrollReveal,{delay:Math.min(.05*n,.3),children:(0,a.jsxs)("button",{onClick:()=>t(n),className:"group relative block w-full overflow-hidden rounded-[var(--radius-lg)] border border-[var(--color-border)] bg-[var(--color-background)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]",children:[(0,a.jsx)(s.AspectBox,{aspect:i,fallback:"aspect-[4/3]",className:"relative",children:(0,a.jsx)(r.default,{src:e.url,alt:e.alt,fill:!0,sizes:"(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw",quality:75,className:"object-cover transition-transform duration-500 group-hover:scale-105"})}),e.caption&&(0,a.jsx)("div",{className:"px-4 py-3",children:(0,a.jsx)("p",{className:"text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:e.caption})})]})},e.id))})}function h({images:e,onImageClick:t}){let r=e.filter((e,a)=>a%2==0),s=e.filter((e,a)=>a%2==1);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"grid grid-cols-1 gap-[var(--gap-md)] md:hidden",children:e.map((e,r)=>(0,a.jsx)(v,{img:e,originalIdx:r,delay:Math.min(.04*r,.3),onImageClick:t},e.id))}),(0,a.jsxs)("div",{className:"hidden gap-[var(--gap-md)] md:grid md:grid-cols-2",children:[(0,a.jsx)("div",{className:"space-y-[var(--gap-md)]",children:r.map((e,r)=>(0,a.jsx)(v,{img:e,originalIdx:2*r,delay:Math.min(.06*r,.3),onImageClick:t},e.id))}),(0,a.jsx)("div",{className:"space-y-[var(--gap-md)] md:mt-10",children:s.map((e,r)=>(0,a.jsx)(v,{img:e,originalIdx:2*r+1,delay:Math.min(.06*r+.03,.3),onImageClick:t},e.id))})]})]})}function v({img:e,originalIdx:t,delay:s,onImageClick:i}){return(0,a.jsx)(l.ScrollReveal,{delay:s,children:(0,a.jsx)("button",{onClick:()=>i(t),className:"group relative block w-full overflow-hidden rounded-[var(--radius-lg)] border border-[var(--color-border)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]",children:(0,a.jsx)("div",{className:"relative",style:{aspectRatio:`${e.width||4}/${e.height||3}`},children:(0,a.jsx)(r.default,{src:e.url,alt:e.alt,fill:!0,sizes:"(max-width: 768px) 100vw, 50vw",quality:75,className:"object-cover transition-transform duration-500 group-hover:scale-105"})})})})}function g({images:e,onImageClick:t,imageAspect:i}
2){let[n,...o]=e;return(0,a.jsxs)("div",{className:"space-y-[var(--gap-md)]",children:[(0,a.jsx)(l.ScrollReveal,{children:(0,a.jsxs)("button",{onClick:()=>t(0),className:"group relative block w-full overflow-hidden rounded-[var(--radius-lg)] border border-[var(--color-border)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]",children:[(0,a.jsx)("div",{className:"relative aspect-[16/9]",children:(0,a.jsx)(r.default,{src:n.url,alt:n.alt,fill:!0,sizes:"100vw",quality:75,className:"object-cover transition-transform duration-500 group-hover:scale-105"})}),n.caption&&(0,a.jsx)("div",{className:"px-5 py-3",children:(0,a.jsx)("p",{className:"text-[length:var(--text-body)] text-[var(--color-text-secondary)]",children:n.caption})})]})}),o.length>0&&(0,a.jsx)("div",{className:"grid grid-cols-1 gap-[var(--gap-md)] sm:grid-cols-2 lg:grid-cols-3",children:o.map((e,n)=>(0,a.jsx)(l.ScrollReveal,{delay:Math.min(.05*n,.3),children:(0,a.jsx)("button",{onClick:()=>t(n+1),className:"group relative block w-full overflow-hidden rounded-[var(--radius-lg)] border border-[var(--color-border)] bg-[var(--color-background)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]",children:(0,a.jsx)(s.AspectBox,{aspect:i,fallback:"aspect-[4/3]",className:"relative",children:(0,a.jsx)(r.default,{src:e.url,alt:e.alt,fill:!0,sizes:"(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw",quality:75,className:"object-cover transition-transform duration-500 group-hover:scale-105"})})})},e.id))})]})}e.s(["GalleryGrid",0,function({images:e,categories:r,label:s="Gallery",title:v="Our Work",subtitle:u,variant:p="grid",imageAspect:f,initialCount:j=12,loadMoreCount:y=12,background:b,spacingDensity:N,styleOverride:w}){let[k,_]=(0,t.useState)(j),[S,$]=(0,t.useState)(null),[C,R]=(0,t.useState)(null);if(0===e.length)return null;let z=(r??[]).filter(a=>e.some(e=>(e.categories??[]).includes(a.slug))),B=z.length>=2,A=C&&z.some(e=>e.slug===C)?C:null,M=A?e.filter(e=>(e.categories??[]).includes(A)):e,P=M.length>0?M:e,L=null!==A&&M.length>0,H=e=>{R(e),_(j)},I=P.slice(0,k),D=k<P.length,q=P.map(e=>({url:e.url,alt:e.alt,caption:e.caption,width:e.width,height:e.height})),{className:O,style:T}=(0,c.sectionBgStyle)(b,w,"");return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("section",{className:`${O} ${(0,o.sectionPaddingClass)(N)}`,style:T,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(s||v)&&(0,a.jsx)(l.ScrollReveal,{children:(0,a.jsxs)("div",{className:"mb-12 text-center",children:[s&&(0,a.jsx)(i.SectionLabel,{text:s,variant:"light"}),v&&(0,a.jsx)("h2",{className:"mt-4 font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-tight text-[var(--color-heading)]",children:v}),u&&(0,a.jsx)("div",{className:"mx-auto mt-4 max-w-2xl text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)]",dangerouslySetInnerHTML:{__html:(0,d.sanitizeHtml)(u)}})]})}),B&&(0,a.jsx)(l.ScrollReveal,{children:(0,a.jsxs)("div",{className:"mb-10 text-center",children:[(0,a.jsxs)("div",{className:"flex flex-wrap justify-center gap-3",children:[(0,a.jsx)(x,{label:"All",active:null===A,onClick:()=>H(null)}),z.map(e=>(0,a.jsx)(x,{label:e.label,active:A===e.slug,onClick:()=>H(e.slug)},e.slug))]}),L&&(0,a.jsxs)("p",{className:"mt-4 text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:["Showing ",P.length," of ",e.length," photos"]})]})}),"masonry"===p?(0,a.jsx)(h,{images:I,onImageClick:$}):"featured"===p?(0,a.jsx)(g,{images:I,onImageClick:$,imageAspect:f}):(0,a.jsx)(m,{images:I,onImageClick:$,imageAspect:f}),D&&(0,a.jsx)(l.ScrollReveal,{children:(0,a.jsx)("div",{className:"mt-12 text-center",children:(0,a.jsx)("button",{onClick:()=>_(e=>e+y),className:"rounded-[var(--radius-md)] border-2 border-[var(--color-border)] px-8 py-3 font-[family-name:var(--font-heading)] text-sm font-semibold text-[var(--color-text-primary)] transition-colors hover:border-[var(--color-primary)] hover:bg-[var(--color-primary)] hover:text-[var(--color-button-text-primary,white)]",children:"Load More"})})})]})}),null!==S&&(0,a.jsx)(n.Lightbox,{images:q,currentIndex:S,onClose:()=>$(null),onNext:()=>$(e=>(e+1)%P.length),onPrev:()=>$(e=>(e-1+P.length)%P.length)})]})}])},386614,e=>{"use strict";var a=e.i(843476),t=e.i(657688),r=e.i(922606),s=e.i(846932),l=e.i(643531),i=e.i(884421),n=e.i(676525),o=e.i(204298),c=e.i(357025),d=e.i(518853),x=e.i(430486),m=e.i(625991);let h="https://images.unsplash.com/photo-1767429168282-dc38970e8d3d?w=1920&q=80";function v({cta:e,theme:t="dark"}){let r;return r="primary"===e.variant?"wide-primary":"primary-dark"===e.variant?"wide-primary-dark":"dark"===t?"wide-outline":"wide-outline-fill",(0,a.jsx)(n.Button,{href:e.href,variant:r,children:e.text})}function g({label:e,title:r,subtitle:l,ctas:n,backgroundImage:o,styleOverride:c}){let{className:d,style:u}=(0,m.sectionBgStyle)(void 0,c,"bg-[var(--color-background)]");return(0,a.jsx)("section",{"data-hero-content":!0,className:`${d} px-6 pb-8 pt-6 md:px-10 md:pb-12 md:pt-8`,style:u,children:(0,a.jsxs)("div",{className:"relative mx-auto max-w-[84rem] overflow-hidden rounded-[var(--radius-lg)]",style:{minHeight:"65vh"},children:[(0,a.jsx)(s.motion.div,{initial:{scale:1.05,opacity:0}
2,animate:{scale:1,opacity:1},transition:{duration:.8,ease:"easeOut"},className:"absolute inset-0",children:(0,a.jsx)(t.default,{src:o||h,alt:r,fill:!0,className:"object-cover",sizes:"100vw",priority:!0,fetchPriority:"high",quality:85})}),(0,a.jsx)("div",{className:"absolute inset-0 bg-black/45"}),(0,a.jsxs)("div",{className:"relative z-10 flex h-full min-h-[65vh] flex-col items-center justify-center px-6 py-20 text-center",children:[e&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5,delay:.1,ease:"easeOut"},children:(0,a.jsx)(x.DotLabel,{text:e,dark:!0,centered:!0})}),(0,a.jsx)(s.motion.h1,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.6,delay:.2,ease:"easeOut"},className:"max-w-3xl font-[family-name:var(--font-heading)] text-[length:calc(var(--text-hero)*0.88)] font-[number:var(--weight-heading)] leading-[var(--leading-display)] text-white",children:r}),l&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5,delay:.4,ease:"easeOut"},className:"mt-5 max-w-xl text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-white/80",dangerouslySetInnerHTML:{__html:(0,i.sanitizeHtml)(l)}}),n&&n.length>0&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5,delay:.6,ease:"easeOut"},className:"mt-8 flex flex-wrap justify-center gap-4",children:n.map(e=>(0,a.jsx)(v,{cta:e,theme:"dark"},e.href))})]})]})})}function u({imageAspect:e,label:l,title:n,subtitle:o,ctas:c,backgroundImage:h,videoUrl:g,videoPoster:p,videoAspect:f,styleOverride:j}){let{className:y,style:b}=(0,m.sectionBgStyle)(void 0,j,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${y} py-[var(--section-padding-y)]`,style:b,children:(0,a.jsx)("div",{className:"mx-auto max-w-[80rem] px-6",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 items-center gap-10 lg:grid-cols-[55fr_45fr]",children:[(0,a.jsxs)("div",{className:"lg:pr-8",children:[l&&(0,a.jsx)(x.DotLabel,{text:l}),(0,a.jsx)(s.motion.h1,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.1},className:"font-[family-name:var(--font-heading)] text-[length:var(--text-hero)] font-[number:var(--weight-heading)] leading-[var(--leading-display)] text-[var(--color-text-primary)]",children:n}),o&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3},className:"mt-5 max-w-lg text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)]",dangerouslySetInnerHTML:{__html:(0,i.sanitizeHtml)(o)}}),c&&c.length>0&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5,delay:.5},className:"mt-8 flex flex-wrap gap-4",children:c.map(e=>(0,a.jsx)(v,{cta:e,theme:"light"},e.href))})]}),g?(0,a.jsx)(s.motion.div,{initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},transition:{duration:.7,delay:.2},className:"relative lg:mt-12",children:(0,a.jsx)(d.VideoEmbed,{url:g,poster:p??h,aspect:f,title:n})}):h?(0,a.jsx)(r.AspectBox,{as:s.motion.div,aspect:e,fallback:"aspect-[4/5]",className:"relative overflow-hidden rounded-[var(--radius-lg)] lg:mt-12",initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},transition:{duration:.7,delay:.2},children:(0,a.jsx)(t.default,{src:h,alt:n,fill:!0,className:"object-cover",sizes:"(max-width: 1024px) 100vw, 50vw",priority:!0,fetchPriority:"high",quality:85})}):null]})})})}function p({label:e,title:r,subtitle:n,ctas:d,backgroundImage:h,styleOverride:g,usps:u,reviewRating:f,reviewCount:j,showReviewBadge:y=!0,form:b,formHeading:N,formIntro:w,formBackground:k}){let _=null!=u&&u.length>0,S=y&&null!=f&&null!=j&&j>0,$=!!b,C=!!h,{className:R,style:z}=(0,m.sectionBgStyle)(void 0,g,"bg-[var(--color-background)]"),{background:B,textVars:A}=(0,m.splitBgAndTextVars)(z),M=(0,a.jsx)("div",{className:"mx-auto max-w-[80rem] px-6",children:(0,a.jsxs)("div",{className:`grid grid-cols-1 items-center gap-10 ${$?"lg:grid-cols-[55fr_45fr]":""}`,children:[(0,a.jsxs)("div",{className:"lg:pr-8",style:C?void 0:A,children:[e&&(0,a.jsx)(x.DotLabel,{text:e,dark:C}),(0,a.jsx)(s.motion.h1,{initial:{opacity:0,y:20}
2,animate:{opacity:1,y:0},transition:{duration:.6,delay:.1},className:`font-[family-name:var(--font-heading)] text-[length:var(--text-hero)] font-[number:var(--weight-heading)] leading-[var(--leading-display)] ${C?"text-white":"text-[var(--color-text-primary)]"}`,children:r}),n&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3},className:`mt-5 max-w-lg text-[length:var(--text-body)] leading-[var(--leading-relaxed)] ${C?"text-white/80":"text-[var(--color-text-secondary)]"}`,dangerouslySetInnerHTML:{__html:(0,i.sanitizeHtml)(n)}}),d&&d.length>0&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5,delay:.5},className:"mt-8 flex flex-wrap gap-4",children:d.map(e=>(0,a.jsx)(v,{cta:e,theme:C?"dark":"light"},e.href))}),_&&(0,a.jsx)("ul",{className:"mt-8 space-y-2.5",children:u.map(e=>(0,a.jsxs)("li",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(l.Check,{size:16,strokeWidth:3,className:C?"shrink-0 text-white":"shrink-0 text-[var(--color-primary-ink)]"}),(0,a.jsx)("span",{className:`text-[length:var(--text-small)] ${C?"text-white/85":"text-[var(--color-text-secondary)]"}`,children:e})]},e))}),S&&(0,a.jsxs)("div",{className:"mt-8 flex items-center gap-2.5",children:[(0,a.jsx)(o.StarRating,{rating:Math.round(f),size:18}),(0,a.jsxs)("span",{className:`text-[length:var(--text-small)] font-semibold ${C?"text-white":"text-[var(--color-text-primary)]"}`,children:[f.toFixed(1),"/5"]}),(0,a.jsxs)("span",{className:`text-[length:var(--text-small)] ${C?"text-white/70":"text-[var(--color-text-secondary)]"}`,children:["(",j," reviews)"]})]})]}),$&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,delay:.3},className:"relative z-10",children:(0,a.jsx)(c.HeroFormCard,{form:b,background:k,heading:N,intro:w})})]})});return C?(0,a.jsxs)("section",{"data-hero-content":!0,className:"relative py-16 md:py-24",children:[(0,a.jsx)(t.default,{src:h,alt:r,fill:!0,className:"object-cover",sizes:"100vw",priority:!0,fetchPriority:"high",quality:85}),(0,a.jsx)("div",{className:"absolute inset-0 bg-black/45"}),(0,a.jsx)("div",{className:"relative z-10",children:M})]}):(0,a.jsx)("section",{"data-hero-content":!0,className:`${R} py-[var(--section-padding-y)]`,style:B,children:M})}function f({label:e,title:r,subtitle:l,ctas:n,backgroundImage:o,styleOverride:c}){let{className:d,style:g}=(0,m.sectionBgStyle)(void 0,c);return(0,a.jsxs)("section",{"data-hero-content":!0,className:`relative min-h-[60vh] overflow-hidden ${d}`,style:g,children:[(0,a.jsx)(t.default,{src:o||h,alt:r,fill:!0,className:"object-cover",sizes:"100vw",priority:!0,fetchPriority:"high",quality:85}),(0,a.jsx)("div",{className:"absolute inset-0 bg-black/20"}),(0,a.jsx)("div",{className:"relative z-10 mx-auto flex min-h-[60vh] max-w-[80rem] items-center px-6 py-20",children:(0,a.jsxs)(s.motion.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.2},className:"w-full max-w-2xl rounded-[var(--radius-lg)] bg-[var(--color-surface-dark)]/75 px-10 py-14 backdrop-blur-md",children:[e&&(0,a.jsx)(x.DotLabel,{text:e,dark:!0}),(0,a.jsx)("h1",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h1)] font-[number:var(--weight-heading)] leading-[var(--leading-tight)] text-white",children:r}),l&&(0,a.jsx)("div",{className:"mt-4 max-w-lg text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-white/80",dangerouslySetInnerHTML:{__html:(0,i.sanitizeHtml)(l)}}),n&&n.length>0&&(0,a.jsx)("div",{className:"mt-8 flex flex-wrap gap-4",children:n.map(e=>(0,a.jsx)(v,{cta:e,theme:"dark"},e.href))})]})})]})}e.s(["Hero",0,function({label:e,title:t,subtitle:r,ctas:s,variant:l="inset-image",backgroundImage:i,imageAspect:n,videoUrl:o,videoPoster:c,videoAspect:d,styleOverride:x,usps:m,reviewRating:h,reviewCount:v,showReviewBadge:j=!0,form:y,formHeading:b,formIntro:N,formBackground:w}){return"split-form"===l?(0,a.jsx)(p,{label:e,title:t,subtitle:r,ctas:s,backgroundImage:i,styleOverride:x,usps:m,reviewRating:h,reviewCount:v,showReviewBadge:j,form:y,formHeading:b,formIntro:N,formBackgroun
2d:w}):"split-asymmetric"===l?(0,a.jsx)(u,{imageAspect:n,label:e,title:t,subtitle:r,ctas:s,backgroundImage:i,videoUrl:o,videoPoster:c,videoAspect:d,styleOverride:x}):"text-overlay-card"===l?(0,a.jsx)(f,{label:e,title:t,subtitle:r,ctas:s,backgroundImage:i,styleOverride:x}):(0,a.jsx)(g,{label:e,title:t,subtitle:r,ctas:s,backgroundImage:i,styleOverride:x})}])},579072,e=>{"use strict";var a=e.i(843476),t=e.i(657688),r=e.i(922606),s=e.i(846932),l=e.i(430486),i=e.i(625991),n=e.i(884421);function o({label:e,title:c,subtitle:d,image:x,imageAspect:m,styleOverride:h}){let{className:v,style:g}=(0,i.sectionBgStyle)(void 0,h,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${v} pt-8 pb-12 md:pb-16`,style:g,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6 md:grid-cols-[3fr_2fr]",children:[(0,a.jsxs)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5},children:[(0,a.jsx)(l.DotLabel,{text:e}),(0,a.jsx)("h1",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h1)] font-[number:var(--weight-heading)] leading-[var(--leading-tight)] text-[var(--color-text-primary)]",children:c})]}),d&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5,delay:.2},className:"flex items-end",children:(0,a.jsx)("div",{className:"text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)]",dangerouslySetInnerHTML:{__html:(0,n.sanitizeHtml)(d)}})})]}),x&&(0,a.jsx)(r.AspectBox,{as:s.motion.div,aspect:m,fallback:"aspect-[21/9]",className:"relative mt-8 overflow-hidden rounded-[var(--radius-lg)]",initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,delay:.3},children:(0,a.jsx)(t.default,{src:x,alt:c,fill:!0,className:"object-cover",sizes:"(max-width: 768px) 100vw, 80rem",priority:!0,fetchPriority:"high",quality:85})})]})})}function c({label:e,title:l,subtitle:o,image:d,imageAspect:x,styleOverride:m}){let{className:h,style:v}=(0,i.sectionBgStyle)(void 0,m,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${h} py-16`,style:v,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(0,a.jsx)("div",{className:"mx-auto max-w-3xl text-center",children:(0,a.jsxs)(s.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5},children:[(0,a.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block h-2 w-2 rounded-full bg-[var(--color-primary-ink)]"}),(0,a.jsx)("span",{className:"text-[length:var(--text-xs)] font-medium uppercase tracking-[0.15em] text-[var(--color-text-secondary)]",children:e})]}),(0,a.jsx)("h1",{className:"mt-3 font-[family-name:var(--font-heading)] text-[length:var(--text-h1)] font-[number:var(--weight-heading)] leading-[var(--leading-tight)] text-[var(--color-text-primary)]",children:l}),o&&(0,a.jsx)("div",{className:"mt-4 text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)]",dangerouslySetInnerHTML:{__html:(0,n.sanitizeHtml)(o)}})]})}),d&&(0,a.jsx)(r.AspectBox,{as:s.motion.div,aspect:x,fallback:"aspect-[21/9]",className:"relative mt-8 overflow-hidden rounded-[var(--radius-lg)]",initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,delay:.3},children:(0,a.jsx)(t.default,{src:d,alt:l,fill:!0,className:"object-cover",sizes:"(max-width: 768px) 100vw, 80rem",priority:!0,fetchPriority:"high",quality:85})})]})})}function d({label:e,title:t,styleOverride:r}){let{className:s,style:n}=(0,i.sectionBgStyle)(void 0,r,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${s} pb-12 pt-8 md:pb-16`,style:n,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(0,a.jsx)(l.DotLabel,{text:e}),(0,a.jsx)("h1",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h1)] font-[number:var(--weight-heading)] leading-[var(--leading-tight)] text-[var(--color-text-primary)]",children:t})]})})}e.s(["PageHeader",0,function({label:e,title:t,subtitle:r,variant:s="left-aligned",image:l,imageAspect:i,styleOverride:n}){return"centred"===s?(0,a.jsx)(c,{label:e,title:t,subtitle:r,image:l,imageAspect:i,styleOverride:n}):"minimal"===s?(0,a.jsx)(d,{label:e,title:t,styleOverride:n}):(0,a.jsx)(o,{label:e,title:t,subtitle:r,image:l,imageAspect:i,styleOverride:n})}])},205808,e=>{"use strict";var a=e.i(843476),t=e.i(271645),r=e.i(657688),s=e.i(922606),l=e.i(88653),i=e.i(846932),n=e.i(463059),o=e.i(184910),c=e.i(113719),d=e.i(625991),x=e.i(831387),m=e.i(430486);function h({imageAspect:e,stepImageAspect:v,steps:g,label:u,heading:p,background:f,spacingDensity:j,image:y,styleOverride:b}){let[N,w]=(0,t.useState)(0),{className:k,style:_}=(0,d.sectionBgStyle)(f,b,"bg-[var(--color-surface)]");return(0,a.jsx)("section",{className:`${k} ${(0,c.sectionPaddingClass)(j)}`,style:_,children:(0,a.jsx)("div",{className:"mx-auto max-w-[80rem] px-6",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 items-center gap-12 lg:grid-cols-2",children:[y&&(0,a.jsx)(o.ScrollReveal,{children:(0,a.jsx)(s.AspectBox,{aspect:e,fallback:"aspect-[4/5]",className:"relative overflow-hidden rounded-[var(--radius-lg)]",children:(0,a.jsx)(r.default,{src:y,alt:"Our process",fill:!0,className:"object-cover object-center",sizes:"(max-width: 1024px) 100vw, 50vw"})})}),(0,a.jsxs)("div",{children:[(0,a.jsxs)(o.ScrollReveal,{children:[(0,a.jsx)(m.DotLabel,{text:u}
2),(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:p})]}),(0,a.jsx)("div",{className:"mt-8 space-y-0",children:g.map((e,t)=>(0,a.jsx)(o.ScrollReveal,{children:(0,a.jsxs)("div",{className:"border-b border-[var(--color-border)]",children:[(0,a.jsxs)("button",{onClick:()=>w(N===t?null:t),className:"flex w-full items-center justify-between py-5",children:[(0,a.jsxs)("span",{className:"text-left font-[family-name:var(--font-heading)] text-[length:var(--text-body)] font-[number:var(--weight-subheading)] text-[var(--color-text-primary)]",children:[t+1,". ",e.title]}),(0,a.jsx)("span",{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-[var(--color-primary)] text-[var(--color-primary)] transition-transform ${N===t?"rotate-90":""}`,children:(0,a.jsx)(n.ChevronRight,{size:16})})]}),(0,a.jsx)(l.AnimatePresence,{initial:!1,children:N===t&&(0,a.jsxs)(i.motion.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.25,ease:"easeInOut"},className:"overflow-hidden",children:[(0,a.jsx)("div",{className:"pb-5 text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)] [&>p]:mb-2 [&>p:last-child]:mb-0",dangerouslySetInnerHTML:{__html:(0,x.renderContent)(e.text).html}}),e.image&&(0,a.jsx)(s.AspectBox,{aspect:v,fallback:"aspect-[16/9]",className:"relative mb-5 overflow-hidden rounded-[var(--radius-md)]",children:(0,a.jsx)(r.default,{src:e.image,alt:e.title,fill:!0,className:"object-cover",sizes:"(max-width: 1024px) 100vw, 50vw"})})]})})]})},e.title))})]})]})})})}function v({stepImageAspect:e,steps:t,label:l,heading:i}){return(0,a.jsx)("section",{className:"bg-[var(--color-surface-dark)] py-[var(--section-padding-y)]",children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(0,a.jsx)(o.ScrollReveal,{children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)(m.DotLabel,{text:l,dark:!0,centered:!0}),(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-white",children:i})]})}),(0,a.jsx)(o.ScrollReveal,{children:(0,a.jsx)("div",{className:"mt-10 grid grid-cols-1 gap-[var(--gap-md)] md:grid-cols-3",children:t.map((t,l)=>(0,a.jsxs)("div",{className:"rounded-[var(--radius-lg)] bg-white/5 p-8 text-center",children:[(0,a.jsx)("span",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h1)] font-[number:var(--weight-heading)] text-[var(--color-primary)]",children:String(l+1).padStart(2,"0")}),(0,a.jsx)("h3",{className:"mt-2 font-[family-name:var(--font-heading)] text-[length:var(--text-body)] font-[number:var(--weight-subheading)] text-white",children:t.title}),(0,a.jsx)("div",{className:"mt-2 text-[length:var(--text-small)] leading-[var(--leading-normal)] text-white/70 [&>p]:mb-2 [&>p:last-child]:mb-0",dangerouslySetInnerHTML:{__html:(0,x.renderContent)(t.text).html}}),t.image&&(0,a.jsx)(s.AspectBox,{aspect:e,fallback:"aspect-[16/9]",className:"relative mt-4 overflow-hidden rounded-[var(--radius-md)]",children:(0,a.jsx)(r.default,{src:t.image,alt:t.title,fill:!0,className:"object-cover",sizes:"(max-width: 768px) 100vw, 33vw"})})]},t.title))})})]})})}function g({stepImageAspect:e,steps:t,label:l,heading:i,background:n,spacingDensity:h,styleOverride:v}){let{className:u,style:p}=(0,d.sectionBgStyle)(n,v,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${u} ${(0,c.sectionPaddingClass)(h)}`,style:p,children:(0,a.jsxs)("div",{className:"mx-auto max-w-3xl px-6",children:[(0,a.jsxs)(o.ScrollReveal,{children:[(0,a.jsx)(m.DotLabel,{text:l}),(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:i})]}),(0,a.jsxs)("div",{className:"relative mt-10",children:[(0,a.jsx)("div",{className:"absolute left-5 top-0 h-full w-px bg-[var(--color-border)]"}),t.map((t,l)=>(0,a.jsx)(o.ScrollReveal,{children:(0,a.jsxs)("div",{className:"relative mb-10 pl-14 last:mb-0",children:[(0,a.jsx)("div",{className:"absolute left-0 flex h-10 w-10 items-center justify-center rounded-full bg-[var(--color-primary)] text-sm font-bold text-[var(--color-button-text-primary,white)]",children:l+1}
2),(0,a.jsx)("h3",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-body)] font-[number:var(--weight-subheading)] text-[var(--color-text-primary)]",children:t.title}),(0,a.jsx)("div",{className:"mt-2 text-[length:var(--text-body)] leading-[var(--leading-relaxed)] text-[var(--color-text-secondary)] [&>p]:mb-2 [&>p:last-child]:mb-0",dangerouslySetInnerHTML:{__html:(0,x.renderContent)(t.text).html}}),t.image&&(0,a.jsx)(s.AspectBox,{aspect:e,fallback:"aspect-[16/9]",className:"relative mt-4 overflow-hidden rounded-[var(--radius-md)]",children:(0,a.jsx)(r.default,{src:t.image,alt:t.title,fill:!0,className:"object-cover",sizes:"(max-width: 768px) 100vw, 40rem"})})]})},t.title))]})]})})}e.s(["ProcessSteps",0,function({imageAspect:e,stepImageAspect:t,steps:r,label:s,heading:l,variant:i="split-accordion",background:n,spacingDensity:o,image:c,styleOverride:d}){return"numbered-cards"===i?(0,a.jsx)(v,{imageAspect:e,stepImageAspect:t,steps:r,label:s,heading:l}):"vertical-timeline"===i?(0,a.jsx)(g,{imageAspect:e,stepImageAspect:t,steps:r,label:s,heading:l,background:n,spacingDensity:o,styleOverride:d}):(0,a.jsx)(h,{imageAspect:e,stepImageAspect:t,steps:r,label:s,heading:l,background:n,spacingDensity:o,image:c,styleOverride:d})}])},207091,e=>{"use strict";var a=e.i(843476),t=e.i(271645),r=e.i(657688),s=e.i(922606),l=e.i(184910),i=e.i(878756),n=e.i(518853),o=e.i(113719),c=e.i(625991),d=e.i(46845),x=e.i(430486);e.s(["ProjectGallery",0,function({galleryImages:e=[],beforeAfterImages:m=[],label:h,title:v,videoUrl:g,videoPoster:u,videoCaption:p,variant:f="mixed",galleryImageAspect:j,beforeAfterImageAspect:y,background:b,spacingDensity:N,styleOverride:w}){let[k,_]=(0,t.useState)(null),S=e.map(e=>({url:e.url,alt:e.alt||"",caption:e.caption}));if("case-study"===f){let t=e.length>0,f=m.length>0,$=!!g;if(!t&&!f&&!$)return null;let{className:C,style:R}=(0,c.sectionBgStyle)(b,w,"bg-[var(--color-background)]");return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("section",{className:`${C} ${(0,o.sectionPaddingClass)(N)}`,style:R,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(h||v)&&(0,a.jsx)(l.ScrollReveal,{children:(0,a.jsxs)("div",{className:"mb-10",children:[h&&(0,a.jsx)(x.DotLabel,{text:h}),v&&(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:v})]})}),$&&(0,a.jsx)(l.ScrollReveal,{children:(0,a.jsxs)("div",{className:f||t?"mb-12":"",children:[(0,a.jsx)(n.VideoEmbed,{url:g,poster:u,title:p||v}),p&&(0,a.jsx)("p",{className:"mt-3 text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:p})]})}),f&&(0,a.jsx)("div",{className:1===m.length?"mx-auto grid max-w-[38rem] grid-cols-1 gap-[var(--gap-md)]":"grid grid-cols-1 gap-[var(--gap-md)] md:grid-cols-2",children:m.map((e,t)=>(0,a.jsx)(l.ScrollReveal,{delay:Math.min(.05*t,.3),children:(0,a.jsxs)("div",{className:"overflow-hidden rounded-[var(--radius-lg)] border border-[var(--color-border)]",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-[2px]",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("div",{className:"absolute left-2.5 top-2.5 z-10 flex items-center gap-1 rounded-[var(--radius-sm)] bg-black/60 px-2.5 py-1",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-white/60"}),(0,a.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-white",children:"Before"})]}),(0,a.jsx)(s.AspectBox,{aspect:y,fallback:"aspect-[4/3]",className:"relative",children:(0,a.jsx)(r.default,{src:e.before,alt:(0,d.pairHalfAlt)(e,"before"),fill:!0,sizes:"(max-width: 768px) 45vw, 20vw",className:"object-cover"})})]}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("div",{className:"absolute left-2.5 top-2.5 z-10 flex items-center gap-1 rounded-[var(--radius-sm)] bg-[var(--color-primary)] px-2.5 py-1",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-[var(--color-background)]"}),(0,a.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-white",children:"After"})]}),(0,a.jsx)(s.AspectBox,{aspect:y,fallback:"aspect-[4/3]",className:"relative",children:(0,a.jsx)(r.default,{src:e.after,alt:(0,d.pairHalfAlt)(e,"after"),fill:!0,sizes:"(max-width: 768px) 45vw, 20vw",className:"object-cover"})})]})]}),e.caption&&(0,a.jsx)("p",{className:"border-t border-[var(--color-border)] bg-[var(--color-surface)] px-3.5 py-2.5 text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:e.caption})]})},t))}),t&&(0,a.jsx)("div",{className:`grid grid-cols-2 gap-[var(--gap-md)] sm:grid-cols-3 lg:grid-cols-4 ${f||$?"mt-12":""}`,children:e.map((e,t)=>(0,a.jsx)(l.ScrollReveal,{delay:Math.min(.05*t,.3),children:(0,a.jsxs)(s.AspectBox,{as:"button",aspect:j,fallback:"aspect-square",className:"group relative w-full overflow-hidden rounded-[var(--radius-lg)] border border-[var(--color-border)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]",onClick:()=>_(t),children:[(0,a.jsx)(r.default,{src:e.url,alt:e.alt||"",fill:!0,sizes:"(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 25vw",className:"object-cover transition-transform duration-500 group-hover:scale-105"}),(0,a.jsx)("div",{className:"absolute inset-0 bg-black/0 transition-colors duration-300 group-hover:bg-black/20"})]})},t))})]})}),null!==k&&(0,a.jsx)(i.Lightbox,{images:S,currentIndex:k,onClose:()=>_(null),onNext:()=>_(a=>(a+1)%e.length),onPrev:()=>_(a=>(a-1+e.length)%e.length)})]})}let $="before-after"!==f&&e.length>0,C="grid"!==f&&m.length>0,R=!!g;if(!$&&!C&&!R)return null;let{className:z,style:B}=(0,c.sectionBgStyle)(b,w,"bg-[var(--color-background)]");return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("section",{className:`${z} ${(0,o.sectionPaddingClass)(N)}`,style:B,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(h||v)&&(0,a.jsx)(l.ScrollReveal,{children:(0,a.jsxs)("div",{className:"mb-10",children:[h&&(0,a.jsx)(x.DotLabel,{text:h}
2),v&&(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:v})]})}),R&&(0,a.jsx)(l.ScrollReveal,{children:(0,a.jsxs)("div",{className:C||$?"mb-12":"",children:[(0,a.jsx)(n.VideoEmbed,{url:g,poster:u,title:p||v}),p&&(0,a.jsx)("p",{className:"mt-3 text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:p})]})}),C&&(0,a.jsx)("div",{className:"space-y-10",children:m.map((e,t)=>(0,a.jsx)(l.ScrollReveal,{children:(0,a.jsxs)("div",{className:"overflow-hidden rounded-[var(--radius-lg)] border border-[var(--color-border)]",children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-[var(--gap-xs)] sm:grid-cols-2",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("div",{className:"absolute left-4 top-4 z-10 flex items-center gap-1.5 rounded-[var(--radius-sm)] bg-black/60 px-3 py-1",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-white/60"}),(0,a.jsx)("span",{className:"text-[length:var(--text-xs)] font-semibold uppercase tracking-[0.15em] text-white",children:"Before"})]}),(0,a.jsx)(s.AspectBox,{aspect:y,fallback:"aspect-[4/3]",className:"relative",children:(0,a.jsx)(r.default,{src:e.before,alt:e.caption?`Before: ${e.caption}`:"Before",fill:!0,sizes:"(max-width: 640px) 100vw, 50vw",className:"object-cover"})})]}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("div",{className:"absolute left-4 top-4 z-10 flex items-center gap-1.5 rounded-[var(--radius-sm)] bg-[var(--color-primary)] px-3 py-1",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-[var(--color-background)]"}),(0,a.jsx)("span",{className:"text-[length:var(--text-xs)] font-semibold uppercase tracking-[0.15em] text-white",children:"After"})]}),(0,a.jsx)(s.AspectBox,{aspect:y,fallback:"aspect-[4/3]",className:"relative",children:(0,a.jsx)(r.default,{src:e.after,alt:e.caption?`After: ${e.caption}`:"After",fill:!0,sizes:"(max-width: 640px) 100vw, 50vw",className:"object-cover"})})]})]}),e.caption&&(0,a.jsx)("p",{className:"border-t border-[var(--color-border)] bg-[var(--color-surface)] px-5 py-3 text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:e.caption})]})},t))}),$&&(0,a.jsxs)("div",{className:C||R?"mt-12":"",children:[C&&(0,a.jsxs)(l.ScrollReveal,{children:[(0,a.jsx)(x.DotLabel,{text:"Project Gallery"}),(0,a.jsx)("h3",{className:"mb-8 font-[family-name:var(--font-heading)] text-[length:var(--text-h3)] font-[number:var(--weight-heading)] text-[var(--color-text-primary)]",children:"Project Gallery"})]}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-[var(--gap-md)] sm:grid-cols-3 lg:grid-cols-4",children:e.map((e,t)=>(0,a.jsx)(l.ScrollReveal,{delay:Math.min(.05*t,.3),children:(0,a.jsxs)(s.AspectBox,{as:"button",aspect:j,fallback:"aspect-square",className:"group relative w-full overflow-hidden rounded-[var(--radius-lg)] border border-[var(--color-border)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]",onClick:()=>_(t),children:[(0,a.jsx)(r.default,{src:e.url,alt:e.alt||"",fill:!0,sizes:"(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 25vw",className:"object-cover transition-transform duration-500 group-hover:scale-105"}),(0,a.jsx)("div",{className:"absolute inset-0 bg-black/0 transition-colors duration-300 group-hover:bg-black/20"})]})},t))})]})]})}),null!==k&&(0,a.jsx)(i.Lightbox,{images:S,currentIndex:k,onClose:()=>_(null),onNext:()=>_(a=>(a+1)%e.length),onPrev:()=>_(a=>(a-1+e.length)%e.length)})]})}])},759880,e=>{"use strict";var a=e.i(843476),t=e.i(657688),r=e.i(922606),s=e.i(522016),l=e.i(406321),l=l,i=e.i(346897),n=e.i(972520),o=e.i(676525),c=e.i(184910),d=e.i(113719),x=e.i(625991),m=e.i(430486),h=e.i(884421),v=e.i(46845);let g={1:"",2:"sm:grid-cols-2",3:"sm:grid-cols-2 lg:grid-cols-3",4:"sm:grid-cols-2 lg:grid-cols-4"};function u({project:e,serviceNames:i,imageAspect:n}){return(0,a.jsxs)(s.default,{href:`/projects/${e.slug}`,className:"group block",children:[(0,a.jsxs)(r.AspectBox,{aspect:n,fallback:"aspect-[4/3]",className:"relative overflow-hidden rounded-[var(--radius-lg)]",children:[e.featured_image?(0,a.jsx)(t.default,{src:e.featured_image,alt:e.featured_image_alt||e.title,fill:!0,sizes:"(max-width: 640px) 100v
2w, (max-width: 1024px) 50vw, 33vw",className:"object-cover transition-transform duration-500 group-hover:scale-105"}):(0,a.jsx)("div",{className:"h-full w-full bg-[var(--color-surface)]"}),(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-black/10 to-transparent"}),(0,a.jsx)("div",{className:"absolute bottom-3 right-3 flex h-8 w-8 items-center justify-center rounded-full bg-[var(--color-primary)]",children:(0,a.jsx)(l.default,{size:18,className:"text-white"})})]}),(0,a.jsx)("h3",{className:"mt-4 font-[family-name:var(--font-heading)] text-[length:var(--text-h4)] font-[number:var(--weight-subheading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:e.title}),e.location&&(0,a.jsx)("p",{className:"mt-1 text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:e.location}),(0,a.jsx)(p,{names:i.slice(0,3)})]})}function p({names:e,dark:t=!1}){return 0===e.length?null:(0,a.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:e.map(e=>(0,a.jsx)("span",{className:t?"rounded-[var(--radius-sm)] border border-white/30 px-2 py-0.5 text-[length:var(--text-xs)] text-white/80":"rounded-[var(--radius-sm)] border border-[var(--color-border)] px-2 py-0.5 text-[length:var(--text-xs)] text-[var(--color-text-secondary)]",children:e},e))})}function f({projects:e,getServiceNames:i,label:n,title:o,subtitle:v,columns:u,imageAspect:j,background:y,spacingDensity:b,styleOverride:N}){let w=[...e.filter(e=>e.is_featured),...e.filter(e=>!e.is_featured)],k=w[0],_=w.slice(1),S=g[u]||g[3],{className:$,style:C}=(0,x.sectionBgStyle)(y,N,"bg-[var(--color-surface-dark)]");return(0,a.jsx)("section",{className:`${$} ${(0,d.sectionPaddingClass)(b)}`,style:C,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(n||o)&&(0,a.jsx)(c.ScrollReveal,{children:(0,a.jsxs)("div",{className:"mb-10 text-center",children:[n&&(0,a.jsx)(m.DotLabel,{text:n,dark:!0,centered:!0}),o&&(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-white",children:o}),v&&(0,a.jsx)("div",{className:"mx-auto mt-3 max-w-2xl text-[length:var(--text-body)] leading-[var(--leading-normal)] text-white/70",dangerouslySetInnerHTML:{__html:(0,h.sanitizeHtml)(v)}})]})}),k&&(0,a.jsx)(c.ScrollReveal,{children:(0,a.jsx)(s.default,{href:`/projects/${k.slug}`,className:"group block",children:(0,a.jsxs)("div",{className:"relative aspect-[16/7] overflow-hidden rounded-[var(--radius-lg)]",children:[k.featured_image?(0,a.jsx)(t.default,{src:k.featured_image,alt:k.featured_image_alt||k.title,fill:!0,sizes:"100vw",className:"object-cover transition-transform duration-500 group-hover:scale-105"}):(0,a.jsx)("div",{className:"h-full w-full bg-[var(--color-surface)]"}),(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent"}),(0,a.jsxs)("div",{className:"absolute bottom-0 left-0 right-0 p-8",children:[k.is_featured&&(0,a.jsxs)("span",{className:"mb-2 inline-flex items-center gap-1.5 rounded-[var(--radius-sm)] bg-[var(--color-primary)] px-3 py-1 text-[length:var(--text-xs)] font-semibold uppercase tracking-[0.15em] text-white",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-[var(--color-background)]"}),"Featured"]}),(0,a.jsx)("h3",{className:"mt-2 font-[family-name:var(--font-heading)] text-[length:var(--text-h3)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-white",children:k.title}),k.location&&(0,a.jsx)("p",{className:"mt-1 text-[length:var(--text-body)] text-white/80",children:k.location}),(0,a.jsx)(p,{names:i(k.service_ids),dark:!0})]})]})})}),_.length>0&&(0,a.jsx)("div",{className:`-mt-8 relative z-10 grid grid-cols-1 gap-[var(--gap-md)] px-4 md:px-10 ${S}`,children:_.map((e,n)=>(0,a.jsx)(c.ScrollReveal,{delay:Math.min(.1*n,.3),children:(0,a.jsx)(s.default,{href:`/projects/${e.slug}`,className:"group block",children:(0,a.jsxs)("div",{className:"overflow-hidden rounded-[var(--radius-lg)] border border-white/10 bg-[var(--color-background)]",children:[(0,a.jsxs)(r.AspectBox,{aspect:j,fallback:"aspect-[4/3]",className:"relative overflow-hidden",children:[e.featured_image?(0,a.jsx)(t.default,{src:e.featured_image,alt:e.featured_image_alt||e.title,fill:!0,sizes:"(max-width: 640px) 100v
2w, (max-width: 1024px) 50vw, 33vw",className:"object-cover transition-transform duration-500 group-hover:scale-105"}):(0,a.jsx)("div",{className:"h-full w-full bg-[var(--color-surface)]"}),(0,a.jsx)("div",{className:"absolute bottom-3 right-3 flex h-8 w-8 items-center justify-center rounded-full bg-[var(--color-primary)]",children:(0,a.jsx)(l.default,{size:18,className:"text-white"})})]}),(0,a.jsxs)("div",{className:"p-5",children:[(0,a.jsx)("h3",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-body)] font-[number:var(--weight-subheading)] text-[var(--color-text-primary)]",children:e.title}),e.location&&(0,a.jsx)("p",{className:"mt-1 text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:e.location}),(0,a.jsx)(p,{names:i(e.service_ids).slice(0,3)})]})]})})},e.slug))})]})})}function j({projects:e,getServiceNames:t,label:r,title:s,subtitle:l,imageAspect:i,background:n,spacingDensity:o,styleOverride:v}){let g=e.filter((e,a)=>a%2==0),p=e.filter((e,a)=>a%2==1),{className:f,style:y}=(0,x.sectionBgStyle)(n,v,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${f} ${(0,d.sectionPaddingClass)(o)}`,style:y,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(r||s)&&(0,a.jsx)(c.ScrollReveal,{children:(0,a.jsxs)("div",{className:"mb-10",children:[r&&(0,a.jsx)(m.DotLabel,{text:r}),s&&(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:s}),l&&(0,a.jsx)("div",{className:"mt-3 max-w-2xl text-[length:var(--text-body)] leading-[var(--leading-normal)] text-[var(--color-text-secondary)]",dangerouslySetInnerHTML:{__html:(0,h.sanitizeHtml)(l)}})]})}),(0,a.jsx)("div",{className:"grid grid-cols-1 gap-[var(--gap-md)] md:hidden",children:e.map((e,r)=>(0,a.jsx)(c.ScrollReveal,{delay:Math.min(.06*r,.3),children:(0,a.jsx)(u,{project:e,serviceNames:t(e.service_ids),imageAspect:i})},e.slug))}),(0,a.jsxs)("div",{className:"hidden gap-[var(--gap-md)] md:grid md:grid-cols-2",children:[(0,a.jsx)("div",{className:"space-y-[var(--gap-md)]",children:g.map((e,r)=>(0,a.jsx)(c.ScrollReveal,{delay:Math.min(.08*r,.3),children:(0,a.jsx)(u,{project:e,serviceNames:t(e.service_ids),imageAspect:i})},e.slug))}),(0,a.jsx)("div",{className:"space-y-[var(--gap-md)] md:mt-10",children:p.map((e,r)=>(0,a.jsx)(c.ScrollReveal,{delay:Math.min(.08*r+.04,.3),children:(0,a.jsx)(u,{project:e,serviceNames:t(e.service_ids),imageAspect:i})},e.slug))})]})]})})}function y({project:e}){let t=(0,v.formatCompletionDate)(e.completion_date);return e.location||t?(0,a.jsxs)("p",{className:"mt-1 flex flex-wrap items-center gap-1.5 text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:[e.location&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,a.jsx)(i.MapPin,{size:13,className:"shrink-0 opacity-75","aria-hidden":!0}),e.location]}),e.location&&t&&(0,a.jsx)("span",{"aria-hidden":!0,className:"h-[3px] w-[3px] shrink-0 rounded-full bg-current opacity-50"}),t&&(0,a.jsx)("span",{children:t})]}):null}function b({project:e,serviceName:s,imageAspect:l}){return(0,a.jsxs)("div",{className:"grid grid-cols-1 items-center gap-8 md:grid-cols-[1.15fr_1fr] md:gap-14",children:[(0,a.jsx)(r.AspectBox,{aspect:l,fallback:"aspect-[4/3]",className:"relative overflow-hidden rounded-[var(--radius-lg)]",children:e.featured_image?(0,a.jsx)(t.default,{src:e.featured_image,alt:e.featured_image_alt||e.title,fill:!0,sizes:"(max-width: 768px) 100vw, 58vw",className:"object-cover"}):(0,a.jsx)("div",{className:"h-full w-full bg-[var(--color-surface)]"})}),(0,a.jsxs)("div",{children:[s&&(0,a.jsx)(m.DotLabel,{text:s}),(0,a.jsx)("h3",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h3)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:e.title}),(0,a.jsx)("div",{className:"text-[length:var(--text-body)]",children:(0,a.jsx)(y,{project:e})}),(0,a.jsx)(o.Button,{href:`/projects/${e.slug}`,variant:"primary",icon:(0,a.jsx)(n.ArrowRight,{size:16}),className:"mt-6",children:"See this job"})]})]})}function N({project:e,serviceName:l,imageAspect:i,twoUp:n}){return(0,a.jsxs)(s.default,{href:`/projects/${e.slug}`,className:"group block",children:[(0,a.jsx)(r.AspectBox,{aspect:i,fallback:n?"aspect-[3/2]":"aspect-[4/3]",className:"relative overflow-hidden rounded-[var(--radius-lg)]",children:e.featured_image?(0,a.jsx)(t.default,{src:e.featured_image,alt:e.featured_image_alt||e.title,fill:!0,sizes:"(max-width: 640px) 100v
2w, (max-width: 1024px) 50vw, 33vw",className:"object-cover transition-transform duration-500 group-hover:scale-105"}):(0,a.jsx)("div",{className:"h-full w-full bg-[var(--color-surface)]"})}),(0,a.jsxs)("div",{className:"mt-4",children:[l&&(0,a.jsx)(m.DotLabel,{text:l}),(0,a.jsx)("h3",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h4)] font-[number:var(--weight-subheading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:e.title}),(0,a.jsx)(y,{project:e})]})]})}e.s(["ProjectsGrid",0,function({projects:e,services:t=[],label:r,title:s,subtitle:l,variant:i="grid",columns:n=3,imageAspect:o,background:p,spacingDensity:y,styleOverride:w}){if(0===e.length)return null;let k=new Map(t.map(e=>[e.id,e.name]));function _(e){return e.map(e=>k.get(e)).filter(Boolean)}if("showcase"===i){let{panel:t,cards:r}=(0,v.projectsIndexShowcase)(e),{className:s,style:l}=(0,x.sectionBgStyle)(p,w,"bg-[var(--color-background)]"),i=2===r.length?"sm:grid-cols-2":"sm:grid-cols-2 lg:grid-cols-3";return(0,a.jsx)("section",{className:`${s} ${(0,d.sectionPaddingClass)(y)}`,style:l,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[t&&(0,a.jsx)(c.ScrollReveal,{children:(0,a.jsx)(b,{project:t,serviceName:_(t.service_ids)[0],imageAspect:o})}),r.length>0&&(0,a.jsx)(c.ScrollReveal,{delay:.1*!!t,children:(0,a.jsx)("div",{className:`grid grid-cols-1 gap-[var(--gap-md)] ${i} ${t?"mt-14":""}`,children:r.map(e=>(0,a.jsx)(N,{project:e,serviceName:_(e.service_ids)[0],imageAspect:o,twoUp:2===r.length},e.slug))})})]})})}if("featured"===i)return(0,a.jsx)(f,{projects:e,getServiceNames:_,label:r,title:s,subtitle:l,columns:n,imageAspect:o,background:p,spacingDensity:y,styleOverride:w});if("masonry"===i)return(0,a.jsx)(j,{projects:e,getServiceNames:_,label:r,title:s,subtitle:l,imageAspect:o,background:p,spacingDensity:y,styleOverride:w});let S=g[n]||g[3],{className:$,style:C}=(0,x.sectionBgStyle)(p,w,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${$} ${(0,d.sectionPaddingClass)(y)}`,style:C,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(r||s)&&(0,a.jsx)(c.ScrollReveal,{children:(0,a.jsxs)("div",{className:"mb-10",children:[r&&(0,a.jsx)(m.DotLabel,{text:r}),s&&(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:s}),l&&(0,a.jsx)("div",{className:"mt-3 max-w-2xl text-[length:var(--text-body)] leading-[var(--leading-normal)] text-[var(--color-text-secondary)]",dangerouslySetInnerHTML:{__html:(0,h.sanitizeHtml)(l)}})]})}),(0,a.jsx)("div",{className:`grid grid-cols-1 gap-[var(--gap-md)] ${S}`,children:e.map((e,t)=>(0,a.jsx)(c.ScrollReveal,{delay:Math.min(.08*t,.3),children:(0,a.jsx)(u,{project:e,serviceNames:_(e.service_ids),imageAspect:o})},e.slug))})]})})}],759880)},305632,e=>{"use strict";var a=e.i(843476),t=e.i(271645),r=e.i(373375),s=e.i(463059),l=e.i(204298),i=e.i(102500),n=e.i(262052),o=e.i(113719),c=e.i(625991),d=e.i(430486),x=e.i(884421);e.s(["ReviewsSpotlight",0,function({reviews:e,label:m,title:h,rating:v,background:g,spacingDensity:u,styleOverride:p}){let f=e.filter(e=>(e.text??"").replace(/<[^>]*>/g,"").length<=300),j=(f.length>=3?f:e).slice(0,8),[y,b]=(0,t.useState)(0),N=(0,t.useRef)(null);if(0===j.length)return null;let w=j[y]??j[0],k=v?.count??e.length,_=v?.score??e.reduce((e,a)=>e+(a.rating||0),0)/Math.max(e.length,1),S=(0,n.normaliseSource)(function(e){let a=new Map;for(let t of e)t.source&&a.set(t.source,(a.get(t.source)??0)+1);let t="",r=0;for(let[e,s]of a)s>r&&(r=s,t=e);return t}(e)),$=n.SOURCES[S],C=e=>b((e+j.length)%j.length),{className:R,style:z}=(0,c.sectionBgStyle)(g,p,"bg-[var(--color-background)]");return(0,a.jsx)("section",{className:`${R} ${(0,o.sectionPaddingClass)(u)}`,style:z,children:(0,a.jsxs)("div",{className:"mx-auto max-w-[80rem] px-6",children:[(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)(d.DotLabel,{text:m||"Testimonials",centered:!0}
2),(0,a.jsx)("h2",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h2)] font-[number:var(--weight-heading)] leading-[var(--leading-snug)] text-[var(--color-text-primary)]",children:h||"What our clients say"})]}),(0,a.jsxs)("div",{className:"mx-auto mt-10 grid max-w-4xl grid-cols-1 gap-8 rounded-[var(--radius-lg)] bg-[var(--color-card-bg,var(--color-surface))] p-8 shadow-[var(--shadow-md)] md:min-h-[15rem] md:grid-cols-[280px_1fr] md:items-center md:gap-12 md:p-12",onTouchStart:e=>{N.current=e.touches[0].clientX},onTouchEnd:e=>{if(null==N.current)return;let a=e.changedTouches[0].clientX-N.current;Math.abs(a)>40&&C(y+(a<0?1:-1)),N.current=null},"aria-roledescription":"carousel","aria-label":"Customer reviews",children:[(0,a.jsxs)("div",{className:"text-center md:border-r md:border-[var(--color-border)] md:pr-10",children:[$&&(0,a.jsxs)("span",{className:"mb-3 inline-flex items-center gap-2 text-[length:var(--text-small)] font-[number:var(--weight-subheading)] text-[var(--color-text-primary)]",children:[(0,a.jsx)(i.ReviewSourceLogo,{source:S,size:22}),$.name," Reviews"]}),(0,a.jsx)("div",{className:"font-[family-name:var(--font-heading)] text-[3.5rem] font-[number:var(--weight-heading)] leading-none text-[var(--color-text-primary)]",children:_.toFixed(1)}),(0,a.jsx)("div",{className:"mt-2 flex justify-center",children:(0,a.jsx)(l.StarRating,{rating:Math.round(_),size:20})}),(0,a.jsxs)("p",{className:"mt-3 text-[length:var(--text-small)] text-[var(--color-text-secondary)]",children:["Based on ",k," reviews"]})]}),(0,a.jsxs)("div",{"aria-live":"polite",children:[(0,a.jsx)("blockquote",{className:"font-[family-name:var(--font-heading)] text-[length:var(--text-h3)] font-[number:var(--weight-light)] leading-[var(--leading-relaxed)] text-[var(--color-card-text,var(--color-text-primary))]",children:(0,a.jsx)("div",{dangerouslySetInnerHTML:{__html:`&ldquo;${(0,x.sanitizeHtml)(w.text)}&rdquo;`}})}),(0,a.jsxs)("div",{className:"mt-5 font-[family-name:var(--font-heading)] font-[number:var(--weight-subheading)] text-[var(--color-text-primary)]",children:[w.reviewer_name||"Customer",w.location&&(0,a.jsxs)("span",{className:"text-[var(--color-primary-ink)]",children:[" · ",w.location]})]}),j.length>1&&(0,a.jsxs)("div",{className:"mt-6 flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex items-center gap-2",children:j.map((e,t)=>(0,a.jsx)("button",{type:"button","aria-label":`Show review ${t+1} of ${j.length}`,"aria-current":t===y?"true":void 0,onClick:()=>C(t),className:t===y?"h-2.5 w-6 rounded-full bg-[var(--color-primary)] transition-all":"h-2.5 w-2.5 rounded-full bg-[var(--color-border)] transition-all hover:bg-[var(--color-text-muted)]"},t))}),(0,a.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,a.jsx)("button",{type:"button","aria-label":"Previous review",onClick:()=>C(y-1),className:"flex h-10 w-10 items-center justify-center rounded-full border border-[var(--color-border)] text-[var(--color-text-primary)] transition-colors duration-[150ms] ease-[ease] hover:border-[var(--color-text-primary)]",children:(0,a.jsx)(r.ChevronLeft,{size:18})}),(0,a.jsx)("button",{type:"button","aria-label":"Next review",onClick:()=>C(y+1),className:"flex h-10 w-10 items-center justify-center rounded-full border border-[var(--color-border)] text-[var(--color-text-primary)] transition-colors duration-[150ms] ease-[ease] hover:border-[var(--color-text-primary)]",children:(0,a.jsx)(s.ChevronRight,{size:18})})]})]})]})]})]})})}])}]);
3
4//# debugId=55870d5d-4066-a2ac-0e8e-8420218549ec

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.