@charset "UTF-8";
:root{--blue:#223f92;--ink:#14171d;--muted:#535a65;--line:#dce0e7;--light:#f1f3f7;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);font-size:16px;scroll-behavior:smooth;scroll-padding-top:6rem}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #ecaa2f;outline-offset:5px}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p{line-height:1.7}::selection{background:#c8d6ff}.wrap{width:min(1240px,calc(100% - 6rem));margin-inline:auto}.skip{position:absolute;top:-100px;left:1rem;z-index:20;background:#fff;padding:1rem}.skip:focus{top:1rem}.header{padding:1.5rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.brand{display:inline-flex;flex-direction:column;font-weight:800;font-size:1.3rem;letter-spacing:.015em;white-space:nowrap}.brand b{color:var(--blue)}.brand small{color:var(--blue);font-size:.72rem;letter-spacing:.43em;display:flex;align-items:center;gap:.7rem;margin-top:.2rem}.brand small:before,.brand small:after{content:"";height:2px;background:var(--blue);flex:1}.header nav{display:flex;gap:2.25rem;font-size:.94rem}.header nav a{padding:.7rem 0;border-bottom:2px solid transparent}.header nav a:hover{border-color:var(--blue)}.header-call{font-weight:700;font-size:1rem;display:flex;gap:1.5rem;align-items:center}.header-call span{color:var(--blue);font-size:1.5rem}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:5rem;align-items:center;padding-block:4.25rem 4.75rem}.eyebrow{font-weight:700;font-size:.8rem;letter-spacing:.13em;color:var(--blue);margin-bottom:1.65rem}h1{font-size:clamp(3.5rem,5.6vw,5.5rem);line-height:1.01;letter-spacing:-.065em;font-weight:800}em{font-style:normal;color:var(--blue)}.intro{font-size:1.14rem;max-width:29rem;color:var(--muted);margin-top:1.6rem}.actions{margin-top:2rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;background:var(--blue);color:white;padding:1.1rem 1.25rem;font-size:.94rem;font-weight:700;transition:background .15s}.button:hover{background:#162c70}.text-link{font-weight:700;font-size:.94rem;border-bottom:1px solid;padding:.5rem 0;display:inline-flex;align-items:center;gap:1rem}.text-link:hover{color:var(--blue)}.hero-note{display:flex;align-items:center;gap:1rem;margin-top:2.6rem}.hero-note p{font-size:.84rem;color:var(--muted);line-height:1.6}.note-line{width:3px;height:2.8rem;background:var(--blue);flex-shrink:0}.hero-photo{position:relative;border-radius:2px;isolation:isolate}.hero-photo:before{content:"";position:absolute;z-index:-1;width:38%;height:70%;background:var(--blue);right:-1rem;top:-1rem;transform:skewY(-4deg)}.hero-photo>img{aspect-ratio: .98;object-fit:cover;object-position:center 55%}.hero-photo figcaption{position:absolute;bottom:1.25rem;left:1.25rem;right:1.25rem;background:white;padding:1rem 3rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.45rem}.hero-photo figcaption>span{font-size:.7rem;letter-spacing:.13em;color:var(--muted)}.hero-photo figcaption strong{font-size:.94rem}.hero-photo figcaption a{position:absolute;right:1rem;top:1.2rem;color:var(--blue);font-size:1.8rem}.trade-strip{background:var(--blue);color:white}.trade-strip .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:1.8rem;font-size:clamp(.9rem,1.8vw,1.35rem);font-weight:700;letter-spacing:.15em}.trade-strip i{font-style:normal;color:#9fafe0;font-size:1.8rem;font-weight:400}.section{padding-block:6.25rem}.section-head{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem;align-items:end;margin-bottom:3rem}.section-head>p{max-width:28rem;color:var(--muted);font-size:1.04rem;padding-bottom:.2rem}h2{font-size:clamp(2.25rem,3.5vw,3.5rem);line-height:1.12;letter-spacing:-.045em;font-weight:750}.section-head .eyebrow{margin-bottom:1.1rem}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.services article{padding:2.1rem 2rem 0 0}.services article+article{padding-left:2rem;border-left:1px solid var(--line)}.number{font-size:.84rem;color:var(--blue);font-weight:700}h3{font-size:1.3rem;letter-spacing:-.025em;line-height:1.3}.services h3{margin:1.5rem 0 .8rem}.services p{color:var(--muted);font-size:1rem}.services ul{list-style:none;margin:1.5rem 0 0;padding:0}.services li{padding:.65rem 0;border-top:1px solid var(--line);font-size:.9rem;line-height:1.4}.services li:before{content:"+";color:var(--blue);margin-right:.8rem}.work-section{background:var(--light)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.gallery figure>a{display:block;position:relative;overflow:hidden}.gallery img{aspect-ratio: .92;object-fit:cover;transition:transform .25s}.gallery a:hover img{transform:scale(1.035)}.expand{position:absolute;bottom:1rem;right:1rem;display:grid;place-items:center;background:white;width:2.6rem;height:2.6rem;font-size:1.5rem;color:var(--blue)}.gallery figcaption{padding-top:1.4rem}.gallery figcaption>span{font-size:.73rem;letter-spacing:.1em;color:var(--blue);font-weight:700}.gallery h3{margin:.6rem 0 .4rem}.gallery p{color:var(--muted);font-size:.94rem}.work-footer{margin-top:2.7rem;padding-top:1.6rem;border-top:1px solid #cdd3df;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.work-footer p{color:var(--muted);font-size:.94rem}.contact{background:#121a2c;color:white;position:relative;overflow:hidden}.contact:after{content:"";position:absolute;right:-4rem;top:-4rem;width:4rem;height:25rem;background:#223f92;transform:rotate(35deg);pointer-events:none}.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:5rem}.contact .eyebrow{color:#a8bcff}.contact h2{font-size:clamp(2.1rem,3.4vw,3.1rem)}.contact em{color:#a8bcff}.contact p{color:#bec6d5;max-width:29rem;margin-top:1.5rem}.location{display:block;font-size:.85rem;color:#bec6d5;margin-top:1.6rem}.contact-links{padding-top:2rem;min-width:0}.contact-links>a{display:block;position:relative;padding:1.45rem 2.5rem 1.6rem 0;border-bottom:1px solid #41495b}.contact-links small{font-size:.76rem;letter-spacing:.13em;color:#a8bcff;display:block;margin-bottom:.8rem}.contact-links strong{font-size:clamp(1.6rem,2.4vw,2.4rem);letter-spacing:-.03em}.contact-links strong.email{font-size:clamp(1.05rem,1.7vw,1.6rem);overflow-wrap:anywhere;letter-spacing:-.025em}.contact-links>a>span{position:absolute;right:0;top:2.7rem;font-size:1.8rem;color:#a8bcff}.contact-links>a:hover strong{text-decoration:underline;text-underline-offset:5px}.contact-links p{font-size:.9rem}.footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:2rem}.footer p,.footer>span{font-size:.8rem;color:var(--muted)}.footer .brand{font-size:1rem}.footer .brand small{font-size:.6rem}.mobile-contact{display:none}
.contact-grid{position:relative;z-index:1}
@media(max-width:720px){.contact:after{display:none}}
@media(min-width:1500px){.hero{gap:7rem}}
@media(max-width:1000px){.wrap{width:calc(100% - 4rem)}.header{padding-inline:2rem}.hero{gap:2.5rem}h1{font-size:4rem}.section-head{gap:3rem}.contact-grid{gap:3rem}.services article{padding-right:1.25rem}.services article+article{padding-left:1.25rem}.header nav{gap:1.25rem}.header-call{font-size:.9rem;gap:.75rem}.brand{font-size:1.1rem}.section{padding-block:4.5rem}.hero-photo>img{aspect-ratio:.8}}
@media(max-width:720px){:root{scroll-padding-top:1rem}.wrap{width:calc(100% - 2.5rem)}.header{padding:1.1rem 1.25rem;gap:1rem;flex-wrap:wrap}.header nav{gap:1.4rem;font-size:.85rem}.header-call{display:none}.brand{font-size:1rem}.brand small{font-size:.6rem}.hero{grid-template-columns:1fr;gap:2.6rem;padding-block:2.8rem 2.5rem}.eyebrow{font-size:.73rem;margin-bottom:1.3rem}h1{font-size:clamp(3.25rem,12vw,4.5rem)}.intro{font-size:1.06rem}.actions{gap:1rem;margin-top:1.6rem}.button{font-size:.9rem;padding:1rem}.hero-note{margin-top:1.7rem}.hero-photo{margin-right:.7rem}.hero-photo>img{aspect-ratio:1.25;object-position:center 54%}.trade-strip .wrap{padding-block:1.3rem;font-size:.75rem;letter-spacing:.09em}.trade-strip i{font-size:1.2rem}.section{padding-block:3.75rem}.section-head{grid-template-columns:1fr;gap:1.3rem;margin-bottom:2rem}.section-head>p{font-size:1rem}.services{grid-template-columns:1fr}.services article,.services article+article{padding:1.5rem 0 1.8rem;border-left:0;border-bottom:1px solid var(--line)}.services h3{margin-top:.8rem}.services ul{margin-top:1rem}.services li:last-child{padding-bottom:0}.gallery{grid-template-columns:1fr;gap:2.5rem}.gallery img{aspect-ratio:1.1;object-position:center}.gallery figcaption{padding-top:1rem}.work-footer{align-items:flex-start;flex-direction:column;gap:.6rem}.contact-grid{grid-template-columns:1fr;gap:1.3rem}.contact-links{padding-top:0}.contact-links strong{font-size:2rem}.contact-links strong.email{font-size:1.25rem}.footer{flex-wrap:wrap;gap:1rem;padding-block:1.8rem 6.8rem}.footer>span{width:100%}.footer p{font-size:.75rem}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:1fr 1.2fr;background:white;border-top:1px solid var(--line);padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));gap:.65rem;box-shadow:0 -3px 20px #121a2c0d}.mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:2.9rem;font-size:.9rem;font-weight:700;color:var(--blue);border:1px solid var(--blue)}.mobile-contact a:last-child{background:var(--blue);color:white}}
@media(max-width:380px){.header nav{width:100%;justify-content:space-between}.contact-links strong.email{font-size:1.05rem}.trade-strip .wrap{font-size:.67rem}.hero-photo figcaption strong{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

/* Gallery and enquiries */
.enquiry-cta{margin-top:1.7rem}.page-intro{padding-block:4.5rem 3rem}.page-intro h1{font-size:clamp(3rem,5.3vw,5rem)}.page-intro>p:last-child{max-width:42rem;color:var(--muted);font-size:1.1rem;margin-top:1.5rem}.job-index{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;padding-bottom:4rem}.job-cover{position:relative;aspect-ratio:1.2;overflow:hidden;background:#e4e7ed}.job-cover img{width:100%;height:100%;object-fit:cover}.job-card>div:last-child{padding-top:1.25rem}.job-card .eyebrow{font-size:.7rem;display:block;margin-bottom:.65rem}.job-card h2{font-size:1.25rem;line-height:1.3;letter-spacing:-.025em}.job-card p{font-size:.85rem;color:var(--muted);margin-top:.5rem}.job-card:hover h2{color:var(--blue)}.job-detail{padding-block:4.5rem;border-bottom:1px solid #cdd3df;scroll-margin-top:2rem}.job-detail .section-head{gap:3rem;align-items:start}.job-detail .section-head>div>p:not(.eyebrow){color:var(--muted)}.job-detail .job-date{font-size:.8rem;margin-top:.8rem}.job-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin:2rem 0}.job-photos a{display:block;aspect-ratio:4/3;position:relative;overflow:hidden;background:#ddd}.job-photos img{width:100%;height:100%;object-fit:cover}.job-photos figcaption{font-size:.9rem;margin-top:.8rem;color:var(--muted)}.single-photo{grid-template-columns:minmax(0,36rem)}.single-photo a{aspect-ratio:1.4}.gallery-end{display:flex;align-items:center;justify-content:space-between;gap:2rem}.enquiry-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;padding-bottom:5rem}.enquiry-layout aside{padding-top:1.5rem}.enquiry-layout aside h2{font-size:1.9rem}.enquiry-layout aside p{color:var(--muted);margin:1.1rem 0}.enquiry-layout aside a{display:table;margin-bottom:.8rem}.direct-email{overflow-wrap:anywhere}.enquiry-form{background:var(--light);padding:2rem;display:grid;gap:1.4rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.enquiry-form label{font-size:.95rem;font-weight:700;display:grid;gap:.55rem;align-content:start}.enquiry-form label span{font-weight:400;display:contents}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{border:1px solid #aeb7c6;background:white;border-radius:0;color:var(--ink);font:inherit;font-weight:400;padding:.85rem;width:100%;min-width:0}.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{outline:2px solid var(--blue);outline-offset:2px}.enquiry-form textarea{resize:vertical}.enquiry-form .form-help{font-size:.85rem;color:var(--muted);line-height:1.6}.form-help a{text-decoration:underline}.enquiry-form button{border:0;cursor:pointer;justify-self:start}.thank-you{min-height:60vh}.thank-you .button{margin-top:2rem}
@media(max-width:1000px){.job-index{grid-template-columns:1fr 1fr}.enquiry-layout{gap:2rem;grid-template-columns:1fr 1.4fr}.form-row{grid-template-columns:1fr}}
@media(max-width:720px){.page-intro{padding-block:3rem 2rem}.job-index{gap:1.5rem 1rem}.job-card h2{font-size:1.1rem}.job-card .eyebrow{font-size:.65rem}.job-card .expand{width:2rem;height:2rem;font-size:1.2rem;bottom:.5rem;right:.5rem}.job-detail{padding-block:3rem}.job-detail .section-head{gap:1.2rem}.job-photos{grid-template-columns:1fr;gap:1.7rem}.job-photos a{aspect-ratio:4/3}.gallery-end{align-items:flex-start;flex-direction:column}.enquiry-layout{grid-template-columns:1fr;gap:1.5rem}.enquiry-form{padding:1.3rem}.enquiry-layout aside{padding-top:0}.enquiry-layout aside h2{font-size:1.65rem}.form-row{grid-template-columns:1fr}.direct-email{font-size:.9rem}}
.photo-viewer{border:0;padding:0;background:transparent;color:white;max-width:none;max-height:none;width:min(1100px,calc(100vw - 3rem));overflow:visible}.photo-viewer::backdrop{background:rgba(5,10,20,.94)}.viewer-panel{background:#121a2c;border:1px solid #41495b;box-shadow:0 20px 80px #0008;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(860px,calc(100dvh - 3rem))}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid #41495b}.viewer-header h2{font-size:1.15rem;letter-spacing:0;line-height:1.4}.photo-viewer button{font:inherit;color:white;background:#263552;border:1px solid #61718d;min-height:44px;padding:.65rem 1rem;cursor:pointer;flex-shrink:0}.photo-viewer button:hover{background:#334b7a}.photo-viewer button:focus-visible{outline:3px solid #ecaa2f;outline-offset:3px}.photo-viewer button:disabled{opacity:.35;cursor:default}.photo-viewer [hidden]{display:none!important}.viewer-close span{font-size:1.4rem;margin-left:.5rem}.viewer-stage{min-height:0;display:grid;place-items:center;background:#080c14;overflow:hidden;touch-action:pan-y pinch-zoom}.viewer-image{width:100%;height:100%;min-height:0;object-fit:contain}.viewer-error{padding:2rem;text-align:center}.viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;border-top:1px solid #41495b}.viewer-info{flex:1;text-align:center;min-width:0}.viewer-caption{font-size:1rem;line-height:1.4}.viewer-count{font-size:.85rem;color:#bac7e0;margin-top:.3rem}@media(max-width:600px){.photo-viewer{width:calc(100vw - 1rem)}.viewer-panel{height:calc(100dvh - 1rem)}.viewer-header,.viewer-footer{padding:.75rem;gap:.5rem}.viewer-header h2{font-size:1rem}.photo-viewer button{padding:.6rem .8rem}.viewer-footer button span{display:none}.viewer-caption{font-size:.9rem}.viewer-count{font-size:.8rem}}
