:root{--navy:#102b40;--blue:#469bbc;--accent:#237996;--text:#173349;--muted:#5a7080;--line:#d6e1e7;--pale:#edf4f6;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.04em}h1{font-size:clamp(34px,3.75vw,54px);font-weight:700}h2{font-size:clamp(31px,2.85vw,41px)}h3{font-size:27px}em{font-style:normal;color:var(--accent)}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 22px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-size:14px;font-weight:700;line-height:1.4;transition:background .15s}.button:hover{background:#21485e}.button:disabled{opacity:.65;cursor:not-allowed}.button-outline{background:transparent;color:var(--navy);border-color:var(--line)}.button-outline:hover{background:var(--pale)}.small{min-height:46px;padding:12px 18px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;font-weight:700;background:none;border:0;padding:0}.eyebrow{font-size:10px;letter-spacing:.17em;line-height:1.6;font-weight:700;margin-bottom:20px}.eyebrow.rule{display:flex;align-items:center;gap:12px}.eyebrow.rule:before{content:'';display:block;background:var(--blue);width:28px;height:2px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:166px;height:auto}.header-inner nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:700}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-block:48px}.hero .intro{color:var(--muted);font-size:17px;line-height:1.8;margin:28px 0 32px}.hero-actions{display:flex;gap:26px;align-items:center}.hero-image{position:relative;overflow:hidden;aspect-ratio:1.34;background:var(--pale)}.hero-image>img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;left:20px;top:20px;background:rgba(255,255,255,.94);font-size:9px;letter-spacing:.13em;padding:10px 12px}.photo-wave{position:absolute;bottom:-1px;left:0;width:100%;height:9%;pointer-events:none}.service-strip{border-block:1px solid var(--line);background:#f6f8f8}.service-strip>.container{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:64px;font-size:13px}.service-strip i{color:var(--blue);font-style:normal}.work-section{padding-block:60px 66px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{font-size:13px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.work-card{border:0;background:none;padding:0;text-align:left;display:block;min-width:0}.work-photo{position:relative;display:block;overflow:hidden;background:var(--pale);aspect-ratio:4/3}.work-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.work-card:hover .work-photo>img{transform:scale(1.025)}.photo-count{position:absolute;bottom:12px;right:12px;background:rgba(16,43,64,.88);color:#fff;font-size:10px;padding:5px 8px;display:flex;align-items:center;gap:8px}.photo-count>span{font-size:16px;line-height:1}.work-caption{padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;line-height:1.4}.work-caption>.icon{width:18px;height:18px;color:var(--accent)}.enquiry-section{background:var(--pale);padding:62px 0}.enquiry-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}.enquiry-copy{padding-top:14px}.enquiry-copy h2{font-size:clamp(34px,3.25vw,48px)}.enquiry-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;margin-top:24px}.direct-contact{margin-top:32px;display:flex;flex-direction:column;gap:12px}.direct-contact>span{font-size:13px;color:var(--muted)}.direct-contact>a{font-size:15px;font-weight:700;display:inline-flex;gap:7px;align-items:center;align-self:start;border-bottom:1px solid #a8c4d0;overflow-wrap:anywhere}.direct-contact .icon{height:16px;width:16px}.enquiry-copy>.local-note{border-top:1px solid var(--line);padding-top:22px;margin-top:44px!important;font-size:13px!important;max-width:240px}.form-card{background:#fff;border:1px solid var(--line);padding:30px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;min-width:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{font-size:12px;font-weight:700;line-height:1.5}.optional{color:var(--muted);font-size:10px;font-weight:400;margin-left:3px}input,textarea,select{color:var(--navy);width:100%;border:1px solid #bccfd9;border-radius:0;padding:11px 12px;min-height:44px;background:#fff;font-size:14px;line-height:1.5}textarea{resize:vertical;min-height:92px}input::placeholder,textarea::placeholder{color:#677e8d;opacity:1;font-size:12px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.field-hint{font-size:11px;line-height:1.5;color:var(--muted)}.contact-help{margin:0 0 8px}.upload-hint{margin:-3px 0 16px}input[type=file]{font-size:10px;padding:8px;overflow:hidden}input[type=file]::file-selector-button{background:var(--pale);border:0;border-right:1px solid var(--line);padding:5px 9px;margin:-1px 6px -1px -1px;color:var(--navy);font-size:11px;cursor:pointer}.field-error,.form-error{font-size:12px;line-height:1.5;color:#9f2431}.form-error{margin-top:14px}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#9f2431}.form-bottom{display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px}.form-bottom p{font-size:10px;max-width:235px;color:var(--muted)}.form-bottom p a{text-decoration:underline}.form-bottom .button{font-size:12px;min-height:46px;white-space:nowrap;gap:14px;padding:12px 16px}.notice{font-size:11px;padding:10px 12px;background:var(--pale);border-left:2px solid var(--blue);color:var(--muted);line-height:1.5;margin-bottom:20px}.photo-previews{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.attachment-preview{position:relative}.attachment-preview img{width:72px;height:64px;object-fit:cover}.attachment-preview button{position:absolute;right:-5px;top:-5px;border:1px solid var(--line);background:white;width:25px;height:25px;border-radius:50%;padding:0;line-height:1}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.success-panel{padding:35px 0}.success-mark{font-size:36px;color:var(--accent)}.success-panel h3{margin:16px 0}.success-panel p{margin:14px 0}.reference{font-weight:700}.site-footer{background:#0b2233;color:white;padding:30px 0 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:24px}.footer-top img{width:140px;height:auto}.footer-top p{font-size:12px;color:#d2e2e9}.footer-top>a:last-child{display:flex;align-items:center;gap:10px;font-size:12px}.footer-bottom{border-top:1px solid #355061;display:flex;justify-content:space-between;padding-top:16px;font-size:10px;color:#bfd0da}.skip-link{position:absolute;left:16px;top:-80px;z-index:500;background:var(--navy);color:white;padding:12px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.gallery-dialog{width:min(1100px,calc(100vw - 48px));max-width:none;border:0;padding:24px;background:#fff;max-height:calc(100dvh - 48px);color:var(--navy)}dialog::backdrop{background:rgba(5,18,28,.86)}.gallery-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:18px}.gallery-head .eyebrow{margin-bottom:6px;font-size:9px}.gallery-head h2{font-size:27px}.icon-button{border:1px solid var(--line);background:white;min-width:42px;height:42px;font-size:28px;padding:0;line-height:1}.gallery-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:12px;align-items:center}.gallery-stage figure{min-width:0;margin:0}.gallery-stage img{width:100%;height:min(58dvh,640px);object-fit:contain;background:#f4f6f7}.gallery-stage figcaption{font-size:12px;color:var(--muted);padding-top:12px;min-height:40px}.gallery-arrow{background:#f1f5f6;border:1px solid var(--line);width:42px;height:52px;font-size:28px}.gallery-bottom{display:flex;align-items:center;gap:20px;margin-top:15px;padding:0 54px}.gallery-bottom>span{white-space:nowrap;font-size:12px}#gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:5px;min-width:0}#gallery-thumbs button{background:none;border:2px solid transparent;padding:2px;flex-shrink:0}#gallery-thumbs button[aria-current=true]{border-color:var(--accent)}#gallery-thumbs img{width:48px;height:40px;object-fit:cover}.privacy-dialog{width:min(550px,calc(100vw - 32px));border:0;padding:28px;color:var(--navy)}.privacy-dialog>.icon-button{float:right;margin-left:10px}.privacy-dialog h2{font-size:28px;margin:10px 0 20px}.privacy-dialog p{margin:15px 0;font-size:14px}.privacy-dialog a{text-decoration:underline;font-size:14px}.privacy-page{max-width:850px;padding-block:55px}.privacy-page h1{margin:20px 0 30px}.privacy-page h2{font-size:25px;margin:32px 0 16px}.privacy-page p{margin:16px 0}.privacy-page .button{margin-top:25px}.not-found{max-width:700px;padding:60px 24px;margin:auto}.not-found p{margin:24px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){.hero{gap:90px}}
@media(max-width:980px){.hero{gap:32px}.hero h1{font-size:40px}.hero .intro{font-size:15px}.container{width:calc(100% - 48px)}.enquiry-grid{gap:32px;grid-template-columns:.8fr 1.2fr}.direct-contact>a{font-size:13px}.form-card{padding:24px}.work-caption{font-size:14px}.form-bottom{align-items:stretch;flex-direction:column;gap:12px}.form-bottom p{max-width:none}.form-bottom .button{align-self:start}}
@media(max-width:700px){html{scroll-padding-top:24px}.container{width:calc(100% - 40px)}.header-inner{min-height:85px;gap:12px}.brand img{width:123px}.header-inner nav{gap:18px}.header-inner .small{font-size:11px;min-height:42px;padding:10px 13px;gap:10px}.header-inner .nav-work{display:none}.hero{grid-template-columns:1fr;gap:27px;padding-block:33px 26px}.hero .eyebrow{font-size:9px;margin-bottom:16px}.hero h1{font-size:40px;line-height:1.09}.hero .intro{font-size:14px;line-height:1.7;margin:18px 0 22px}.hero-actions{gap:23px}.hero-actions .button{font-size:12px;min-height:46px;padding:12px 17px;gap:18px}.hero-actions .text-link{font-size:12px;gap:10px}.hero-image{aspect-ratio:1.36}.image-label{font-size:7px;left:12px;top:12px;padding:8px 10px}.service-strip>.container{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding-block:16px;min-height:0;font-size:11px}.service-strip i{display:none}.service-strip span:before{content:'•';color:var(--blue);margin-right:8px}.work-section{padding-block:36px 40px}.section-heading{display:block;margin-bottom:22px}.section-heading .eyebrow{font-size:9px;margin-bottom:10px}.section-heading h2{font-size:32px}.section-heading>p{font-size:12px;margin-top:13px;line-height:1.6}.section-heading>p br{display:none}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 13px}.work-photo{aspect-ratio:1}.work-caption{font-size:12px;gap:4px;padding-top:9px;align-items:start}.work-caption .icon{width:14px;height:14px}.photo-count{font-size:8px;bottom:7px;right:7px;padding:4px 6px;gap:6px}.photo-count>span{font-size:13px}.enquiry-section{padding:34px 0 40px}.enquiry-grid{grid-template-columns:1fr;gap:28px}.enquiry-copy{padding:0}.enquiry-copy .eyebrow{font-size:9px;margin-bottom:13px}.enquiry-copy h2{font-size:36px}.enquiry-copy h2 br{display:none}.enquiry-copy>p:not(.eyebrow){font-size:13px;margin-top:15px}.enquiry-copy>p br{display:none}.direct-contact{margin-top:20px;gap:7px}.direct-contact>span{font-size:11px}.direct-contact>a{font-size:14px}.enquiry-copy>.local-note{display:none}.form-card{padding:21px 17px}.field-row{gap:12px}.field{margin-bottom:13px}.field label{font-size:11px}.optional{font-size:9px}input,select,textarea{font-size:16px;padding:10px;min-height:44px}input[type=file]{font-size:10px}.field-hint{font-size:10px}.upload-hint{margin-top:0}.form-bottom{gap:13px;padding-top:17px}.form-bottom p{font-size:10px}.form-bottom .button{width:100%;align-self:stretch;min-height:47px}.site-footer{padding:24px 0 17px}.footer-top{gap:20px;padding-bottom:20px}.footer-top img{width:118px}.footer-top>p{display:none}.footer-top>a:last-child{font-size:11px}.footer-bottom{font-size:9px;padding-top:14px}.gallery-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:15px}.gallery-head{margin-bottom:12px;gap:8px}.gallery-head h2{font-size:23px}.gallery-head .eyebrow{font-size:8px}.gallery-stage{grid-template-columns:28px minmax(0,1fr) 28px;gap:5px}.gallery-arrow{width:28px;height:46px}.gallery-stage img{height:48dvh}.gallery-stage figcaption{font-size:10px;min-height:50px}.gallery-bottom{padding:0;gap:10px;margin-top:8px}.gallery-bottom>span{font-size:10px}#gallery-thumbs img{width:38px;height:34px}.privacy-page{padding-block:30px}.privacy-page h1{font-size:36px}}
@media(max-width:360px){.container{width:calc(100% - 30px)}.hero h1{font-size:35px}.field-row{grid-template-columns:1fr}.hero-actions{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.photo-upload-button{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px;border:1px dashed #a9c3d0;background:#f7fafb;color:#173349;font-size:12px}.photo-upload-button:hover{background:#edf4f6}.photo-upload-button span{font-size:19px;line-height:1}

/* Launch-only form simplification. */
.attachment-note{margin:0 0 19px;color:var(--muted);line-height:1.6}.timing-row{max-width:100%}.privacy-page a:not(.button){text-decoration:underline;text-underline-offset:3px}.thank-you-page{max-width:740px;min-height:70vh;padding-block:90px}.thank-you-page p{margin-top:22px}.thank-you-page .button{margin-top:28px}
