:root{--ink:#111827;--muted:#4d5b6c;--red:#c8101e;--navy:#15395e;--paper:#f5f7fb;--line:#dde3eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,"DejaVu Sans","Noto Sans CJK SC",sans-serif;overflow-wrap:break-word}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:800;line-height:1.14;letter-spacing:-.035em}h1{font-size:clamp(35px,4.1vw,56px);max-width:970px}h2{font-size:clamp(28px,2.8vw,38px);margin-bottom:16px}h3{font-size:19px;line-height:1.25}p{margin-bottom:18px}figure{margin:0}.wrap{width:100%;max-width:1320px;margin-inline:auto;padding-inline:24px}.section-pad{padding-block:65px}.muted{color:var(--muted)}.intro{max-width:800px}.eyebrow{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.10em;margin-bottom:16px;display:flex;gap:10px;align-items:center}.eyebrow::before{content:"";display:inline-block;width:5px;height:17px;background:var(--red);flex-shrink:0}.skip{position:absolute;left:-10000px;top:10px;z-index:100;background:#fff;padding:12px}.skip:focus{left:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}a:focus-visible,button:focus-visible{outline:3px solid #164f8c;outline-offset:4px}.hero a:focus-visible,.service-card:focus-visible,footer a:focus-visible{outline-color:#ffdc88}
header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:76px}.brand{display:inline-flex;white-space:nowrap;font-weight:850;font-size:37px;letter-spacing:-1.8px;line-height:1.15}.brand-k{position:relative;display:inline-block}.brand-k::after{content:"";position:absolute;background:var(--red);width:19px;height:8px;top:8px;right:-2px;transform:rotate(-45deg);border:1px solid #fff}.links{display:flex;gap:28px;align-items:center;justify-content:flex-end}.links>a,.nav-group>a{position:relative;display:inline-flex;align-items:center;min-height:52px;font-size:15px;font-weight:650;white-space:nowrap}.links>a[aria-current=page],.nav-group>a[aria-current=page]{color:var(--red)}.links>a[aria-current=page]::after,.nav-group>a[aria-current=page]::after{content:"";position:absolute;bottom:0;height:3px;left:0;right:0;background:var(--red)}.links a:hover{color:var(--red)}.languages{display:flex;align-items:center;gap:8px;margin-left:34px}.language{border:1px solid #cad2df;border-radius:6px;padding:6px 12px;min-height:40px;display:flex;align-items:center;justify-content:center;font-size:14px}.language.active{background:var(--red);border-color:var(--red);color:white}.menu-toggle{display:none;background:#fff;border:1px solid #c5ced9;color:var(--ink);border-radius:5px;padding:8px 12px;min-height:44px}.nav-group{position:relative;display:flex;align-items:center;gap:0}.submenu-toggle{background:transparent;border:0;color:var(--ink);width:28px;min-height:44px;cursor:pointer}.service-menu{position:absolute;top:100%;left:-16px;background:white;box-shadow:0 14px 30px #11233822;min-width:285px;padding:8px;border:1px solid var(--line);border-radius:6px}.service-menu a{display:block;min-height:44px;padding:10px 12px;font-size:14px}.service-menu a:hover{background:var(--paper)}[hidden]{display:none!important}
.hero{color:#fff;background:linear-gradient(90deg,#19436d 0%,#19436d 44%,rgba(25,67,109,.96) 58%,rgba(25,67,109,.35) 78%,rgba(25,67,109,.08) 100%),url('/assets/auckland.jpg') right center/cover;min-height:400px;display:flex;align-items:center;padding-block:46px}.hero-inner{max-width:900px}.hero .eyebrow{letter-spacing:.13em;margin-bottom:10px}.hero .eyebrow::before{background:#fff}.hero h1{max-width:880px;margin:0 0 16px;font-size:clamp(36px,3.6vw,53px);letter-spacing:-.025em;line-height:1.06}.hero h1>span{display:block}.hero h1 b{color:#ffd1d6;font-weight:inherit}.lead{font-size:20px;line-height:1.45;max-width:790px;margin-bottom:24px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--red);color:#fff;padding:11px 22px;min-height:48px;border-radius:7px;border:1px solid var(--red);font-weight:750;font-size:16px;text-decoration:none;line-height:1.4}.button:hover{background:#a90b17;border-color:#a90b17}.button.outline{background:transparent;color:var(--red);border-color:var(--red)}.button.outline:hover{background:#fff0f1}.button.ghost{background:#ffffff12;color:white;border:1px solid #fff}.button.ghost:hover{background:#ffffff28}
.services-overview{padding-block:22px 32px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service-card{min-width:0;min-height:240px;position:relative;overflow:hidden;border-radius:9px;background:#102336;color:#fff;display:flex;align-items:flex-end;isolation:isolate}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;z-index:-2}.service-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(12,28,45,.48) 35%,rgba(12,28,45,.96) 62%,#0c1c2d);z-index:-1}.card-content{width:100%;padding:66px 20px 18px}.card-content h3{font-size:19px;line-height:1.22;margin-bottom:9px;max-width:260px}.card-content p{font-size:13px;line-height:1.45;margin:0;max-width:255px;padding-right:14px}.card-arrow{position:absolute;right:16px;bottom:14px;font-size:25px;line-height:1}.service-card:hover{box-shadow:0 8px 24px #14293e28}.service-card:hover .card-arrow{transform:translateX(3px)}
.split{display:grid;grid-template-columns:5fr 6fr;align-items:center;gap:55px}.about-section{padding-block:20px 60px}.about-section h1,.about-section h2{max-width:580px}.about-section .muted{line-height:1.48;margin-bottom:18px}.landscape{width:100%;height:250px;object-fit:cover;border-radius:13px;display:block}.about-section:has(h1){padding-top:64px}.about-section:has(h1) .landscape{height:330px}.process-section{background:#fff}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:30px}.step-number{color:var(--red);font-weight:800;font-size:15px;letter-spacing:.1em}.steps article{border-top:2px solid #cbd4df;padding-top:20px}.steps h3{margin:10px 0}.steps p{font-size:14px;margin:0}.project-section p{max-width:780px}.contact-section{background:#eaf0f7}.contact-section p{max-width:800px}.text-link{display:inline-flex;align-items:center;min-height:44px;color:#a80b17;text-decoration:underline;text-underline-offset:4px;font-weight:700}.service-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}.service-detail{background:white;border-radius:10px;overflow:hidden;scroll-margin-top:110px;border:1px solid #dbe2eb}.service-detail img{display:block;width:100%;height:190px;object-fit:cover;object-position:center 20%}.service-detail>div{padding:28px}.service-detail h2{font-size:26px;letter-spacing:-.025em}.service-detail p{color:var(--muted)}main{min-height:calc(100vh - 250px)}footer{background:#102336;color:#dce5ef;padding-block:35px}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;font-size:13px}.footer-inner p{margin:8px 0}.footer-inner small{display:block;max-width:430px;color:#bccada}.footer-brand{font-size:21px;font-weight:800;letter-spacing:.02em}.language-page{min-height:100vh;display:grid;place-items:center;padding:48px 24px;background:linear-gradient(120deg,#eff4fb,#fff)}.language-card{max-width:850px}.language-card h1{font-size:clamp(38px,6vw,70px)}.language-card .button{margin-right:12px;margin-bottom:12px}.note{font-size:13px;color:var(--muted)}.error-page h1{font-size:72px}
@media(max-width:1150px){.links{gap:18px}.languages{margin-left:12px}.brand{font-size:32px}.nav{gap:20px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:230px}.card-content h3{max-width:100%}.card-content p{max-width:90%}.split{gap:30px}.hero h1{font-size:48px}.steps{gap:20px}}
@media(max-width:840px){html{scroll-padding-top:95px}.nav{flex-wrap:wrap;gap:12px;padding-block:14px;min-height:72px}.brand{font-size:29px}.links{width:100%;flex-basis:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:8px;border-top:1px solid var(--line)}.links>a,.nav-group>a{min-height:48px;padding:8px 10px;font-size:16px}.links>a[aria-current=page]::after,.nav-group>a[aria-current=page]::after{height:0}.nav-group{display:flex;flex-wrap:wrap;justify-content:space-between}.nav-group>a{flex:1}.submenu-toggle{width:48px}.service-menu{position:static;flex-basis:100%;box-shadow:none;min-width:0;background:var(--paper);margin-bottom:8px}.languages{margin:12px 0 0;align-self:flex-start}.language{min-width:60px;min-height:44px}.enhanced .menu-toggle{display:inline-flex;align-items:center}.enhanced .links[data-collapsed=true]{display:none}.hero{min-height:400px;padding-block:52px;background-image:linear-gradient(90deg,#19436d 0%,#19436d 42%,rgba(25,67,109,.96) 60%,rgba(25,67,109,.67) 100%),url('/assets/auckland.jpg')}.hero h1{font-size:42px;max-width:650px}.hero-inner{max-width:680px}.lead{font-size:18px}.split{grid-template-columns:1fr;gap:26px}.about-section{padding-block:24px 48px}.landscape{height:270px}.about-section:has(h1){padding-top:45px}.steps{grid-template-columns:1fr 1fr}.footer-inner{flex-direction:column;gap:16px}.section-pad{padding-block:48px}}
@media(max-width:520px){.wrap{padding-inline:20px}.hero{min-height:415px;padding-block:44px}.hero h1{font-size:36px;line-height:1.1;letter-spacing:-.025em}.hero .eyebrow{font-size:12px}.hero h1>span{display:inline}.hero h1>span+span::before{content:" "}.lead{font-size:17px;line-height:1.6;margin-top:18px}.desktop-break{display:none}.hero-actions{gap:10px}.button{font-size:14px;padding:11px 16px;min-height:46px}.cards{grid-template-columns:1fr;gap:14px}.service-card{min-height:225px}.card-content{padding:70px 20px 18px}.card-content h3{font-size:22px;max-width:90%}.card-content p{font-size:14px;max-width:92%}.services-overview{padding-block:18px 28px}.about-section h2{font-size:30px}.landscape{height:210px}.steps,.service-details{grid-template-columns:1fr}.service-detail>div{padding:23px}.service-detail img{height:180px}.service-detail h2{font-size:25px}.section-pad{padding-block:42px}.footer-inner{font-size:12px}.brand{font-size:28px}h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card:hover .card-arrow{transform:none}}
@media(max-width:840px){.links{max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain}}

.service-detail{border-top:3px solid var(--red)}
@media(max-width:1150px){.hero{background-image:linear-gradient(90deg,#19436d 0%,#19436d 42%,rgba(25,67,109,.96) 60%,rgba(25,67,109,.67) 100%),url('/assets/auckland.jpg')}}
@media(max-width:520px){.service-card{min-height:270px}}
@media(max-width:360px){.service-card::before{background:linear-gradient(180deg,transparent 10%,rgba(12,28,45,.70) 25%,rgba(12,28,45,.96) 55%,#0c1c2d)}}
.service-card:focus-visible{outline-color:#164f8c}
.about-section h1{font-size:clamp(34px,3.3vw,46px)}
/* V9: independent service content, company information and locally hosted image archive. */
.contact-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.contact-grid,.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.info-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;min-width:0}.info-panel h2{font-size:25px}.info-panel h3{margin:12px 0 0}.info-panel ul{padding-left:22px;margin-bottom:0}.info-panel li{margin:10px 0;line-height:1.65}.info-panel address{font-style:normal;line-height:1.9;color:var(--muted)}.copy-address{margin-top:18px;background:white;border:1px solid #62738a;border-radius:5px;padding:10px 16px;min-height:44px;color:var(--ink);cursor:pointer}.copy-result{min-height:24px;margin:10px 0 0;font-size:13px}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.detail-headline{font-size:26px;line-height:1.4;max-width:850px}.detail-intro h1{margin-top:24px}.breadcrumb{display:inline-flex;align-items:center;min-height:44px;color:#9e101b;text-decoration:underline;text-underline-offset:4px}.related-services{margin-top:36px}.related-services a{margin-right:24px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}.gallery-card{min-width:0;border-radius:10px;background:white;border:1px solid var(--line);overflow:hidden}.gallery-card>a{position:relative;display:block;background:#e8edf4}.gallery-card img{display:block;width:100%;height:260px;object-fit:contain;background:#e8edf4}.gallery-card figcaption{padding:14px 18px;font-weight:700;font-size:15px}.gallery-open{position:absolute;right:10px;bottom:10px;background:#102336;color:#fff;padding:6px 12px;border-radius:5px;font-size:13px}.gallery-card a:focus-visible{outline-offset:-4px;outline-color:#164f8c}.prose{max-width:900px}.prose h2:not(:first-child){margin-top:28px}dialog{border:0;border-radius:12px;padding:20px;max-width:min(1100px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;color:var(--ink)}dialog::backdrop{background:#071426d9}dialog figure{clear:both;text-align:center}#gallery-large{display:block;max-width:100%;width:auto;max-height:65vh;object-fit:contain;margin:12px auto}#gallery-caption{margin-top:12px;font-weight:700}.gallery-controls{display:flex;justify-content:center;gap:16px;margin-top:16px}.gallery-controls button,.gallery-close{min-height:44px;background:#fff;border:1px solid #60718a;border-radius:5px;padding:10px 18px;color:var(--ink);cursor:pointer}.gallery-close{display:block;margin-left:auto}.footer-inner small a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.gallery-grid,.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.contact-grid,.detail-columns,.gallery-grid,.role-grid{grid-template-columns:1fr}.info-panel{padding:23px}.gallery-card img{height:280px}.detail-headline{font-size:22px}.related-services a{display:flex;margin-right:0}.footer-inner small a{min-height:44px}}
